diff --git a/eslint.config.mjs b/eslint.config.mjs
index 35c5cdbca3..3a9f679020 100644
--- a/eslint.config.mjs
+++ b/eslint.config.mjs
@@ -46,6 +46,8 @@ export default [
'**/commitlint.config.js',
// E2E tests
'e2e-tests/**',
+ // SDK scripts — ESM parsed incorrectly by typescript-eslint
+ 'packages/sdk/scripts/**',
],
},
{
diff --git a/packages/superdoc/src/SuperDoc.vue b/packages/superdoc/src/SuperDoc.vue
index 48951fc900..6b1b7cf6c7 100644
--- a/packages/superdoc/src/SuperDoc.vue
+++ b/packages/superdoc/src/SuperDoc.vue
@@ -956,11 +956,13 @@ watch(
},
);
+// Ensure hasInitializedLocations is set when comments arrive (backup for cases
+// where handleDocumentReady hasn't fired yet). Never toggle false→true→false —
+// the virtualized FloatingComments reacts to comment changes via computed properties.
watch(getFloatingComments, () => {
- hasInitializedLocations.value = false;
- nextTick(() => {
+ if (!hasInitializedLocations.value) {
hasInitializedLocations.value = true;
- });
+ }
});
const {
diff --git a/packages/superdoc/src/components/CommentsLayer/FloatingComments.vue b/packages/superdoc/src/components/CommentsLayer/FloatingComments.vue
index 481c3626d1..a55a10cd5c 100644
--- a/packages/superdoc/src/components/CommentsLayer/FloatingComments.vue
+++ b/packages/superdoc/src/components/CommentsLayer/FloatingComments.vue
@@ -1,10 +1,18 @@
+
+
-
-
-
-
-
-