@edv4h/usketch-plugin-sync-ywebsocket 1.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAI9E,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAC1D;;;;;;;OAOG;IACH,aAAa,IAAI,gBAAgB,CAAC;IAClC,8EAA8E;IAC9E,SAAS,IAAI,oBAAoB,CAAC;CAClC;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAmE/F"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAI9E,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IAC1D;;;;;;;OAOG;IACH,aAAa,IAAI,gBAAgB,CAAC;IAClC,8EAA8E;IAC9E,SAAS,IAAI,oBAAoB,CAAC;CAClC;AAID,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,qBAAqB,GAAG,oBAAoB,CAgE/F"}
package/dist/plugin.js CHANGED
@@ -4,7 +4,6 @@ import { createYwebsocketSync } from "./yws-sync.js";
4
4
  const UNCONFIRMED_OVERLAY_LAYER_ID = "unconfirmed-shapes-overlay";
5
5
  export function createYwebsocketSyncPlugin(options) {
6
6
  let handle = null;
7
- let unregisterOverlay = null;
8
7
  const plugin = {
9
8
  id: "usketch-plugin-sync-ywebsocket",
10
9
  name: "Realtime Sync (y-websocket)",
@@ -21,20 +20,18 @@ export function createYwebsocketSyncPlugin(options) {
21
20
  fixed: true,
22
21
  render: (renderCtx) => (_jsx(UnconfirmedOverlay, { store: ctx.store, shapes: ctx.shapes, viewport: renderCtx.viewport, syncStatus: overlayHandle.status })),
23
22
  });
24
- unregisterOverlay = () => ctx.layers.unregister(UNCONFIRMED_OVERLAY_LAYER_ID);
25
23
  // When `autoConnect: false`, `connect()` is never called, so awaiting
26
24
  // `whenSynced` here would hang the entire plugin setup chain. Skip it
27
25
  // and let the caller drive connection via `handle.resume()`.
28
26
  if (options.autoConnect !== false) {
29
27
  await handle.whenSynced;
30
28
  }
31
- },
32
- teardown() {
33
- unregisterOverlay?.();
34
- unregisterOverlay = null;
35
- handle?.destroy();
36
- delete globalThis.__usketchSyncStatus;
37
- handle = null;
29
+ return () => {
30
+ ctx.layers.unregister(UNCONFIRMED_OVERLAY_LAYER_ID);
31
+ handle?.destroy();
32
+ delete globalThis.__usketchSyncStatus;
33
+ handle = null;
34
+ };
38
35
  },
39
36
  getWsProvider() {
40
37
  if (!handle) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAgBrD,MAAM,4BAA4B,GAAG,4BAA4B,CAAC;AAElE,MAAM,UAAU,0BAA0B,CAAC,OAA8B;IACxE,IAAI,MAAM,GAAgC,IAAI,CAAC;IAC/C,IAAI,iBAAiB,GAAwB,IAAI,CAAC;IAElD,MAAM,MAAM,GAAyB;QACpC,EAAE,EAAE,gCAAgC;QACpC,IAAI,EAAE,6BAA6B;QAEnC,KAAK,CAAC,KAAK,CAAC,GAAG;YACd,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjD,UAAsC,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;YAE5E,qEAAqE;YACrE,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,aAAa,GAAG,MAAM,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACnB,EAAE,EAAE,4BAA4B;gBAChC,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CACtB,KAAC,kBAAkB,IAClB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,aAAa,CAAC,MAAM,GAC/B,CACF;aACD,CAAC,CAAC;YACH,iBAAiB,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;YAE9E,sEAAsE;YACtE,sEAAsE;YACtE,6DAA6D;YAC7D,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACnC,MAAM,MAAM,CAAC,UAAU,CAAC;YACzB,CAAC;QACF,CAAC;QAED,QAAQ;YACP,iBAAiB,EAAE,EAAE,CAAC;YACtB,iBAAiB,GAAG,IAAI,CAAC;YACzB,MAAM,EAAE,OAAO,EAAE,CAAC;YAClB,OAAQ,UAAsC,CAAC,mBAAmB,CAAC;YACnE,MAAM,GAAG,IAAI,CAAC;QACf,CAAC;QAED,aAAa;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACd,mLAAmL,CACnL,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC,UAAU,CAAC;QAC1B,CAAC;QAED,SAAS;YACR,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACd,2KAA2K,CAC3K,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC;KACD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAgBrD,MAAM,4BAA4B,GAAG,4BAA4B,CAAC;AAElE,MAAM,UAAU,0BAA0B,CAAC,OAA8B;IACxE,IAAI,MAAM,GAAgC,IAAI,CAAC;IAE/C,MAAM,MAAM,GAAyB;QACpC,EAAE,EAAE,gCAAgC;QACpC,IAAI,EAAE,6BAA6B;QAEnC,KAAK,CAAC,KAAK,CAAC,GAAG;YACd,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACjD,UAAsC,CAAC,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;YAE5E,qEAAqE;YACrE,kEAAkE;YAClE,mDAAmD;YACnD,MAAM,aAAa,GAAG,MAAM,CAAC;YAC7B,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACnB,EAAE,EAAE,4BAA4B;gBAChC,KAAK,EAAE,GAAG;gBACV,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CACtB,KAAC,kBAAkB,IAClB,KAAK,EAAE,GAAG,CAAC,KAAK,EAChB,MAAM,EAAE,GAAG,CAAC,MAAM,EAClB,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAC5B,UAAU,EAAE,aAAa,CAAC,MAAM,GAC/B,CACF;aACD,CAAC,CAAC;YAEH,sEAAsE;YACtE,sEAAsE;YACtE,6DAA6D;YAC7D,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBACnC,MAAM,MAAM,CAAC,UAAU,CAAC;YACzB,CAAC;YAED,OAAO,GAAG,EAAE;gBACX,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC;gBACpD,MAAM,EAAE,OAAO,EAAE,CAAC;gBAClB,OAAQ,UAAsC,CAAC,mBAAmB,CAAC;gBACnE,MAAM,GAAG,IAAI,CAAC;YACf,CAAC,CAAC;QACH,CAAC;QAED,aAAa;YACZ,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACd,mLAAmL,CACnL,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC,UAAU,CAAC;QAC1B,CAAC;QAED,SAAS;YACR,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACd,2KAA2K,CAC3K,CAAC;YACH,CAAC;YACD,OAAO,MAAM,CAAC;QACf,CAAC;KACD,CAAC;IAEF,OAAO,MAAM,CAAC;AACf,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { ShapeData } from "@edv4h/usketch-shared";
1
2
  import type { WsConnectionStatus, WsProviderHandle } from "@edv4h/usketch-sync";
2
3
  import type * as Y from "yjs";
3
4
  import type { SyncStatusTracker } from "./sync-status-tracker.js";
@@ -61,6 +62,32 @@ export interface YwebsocketSyncOptions {
61
62
  * In the browser, this is picked up from `globalThis.WebSocket` automatically.
62
63
  */
63
64
  WebSocketPolyfill?: typeof WebSocket;
65
+ /**
66
+ * Per-shape filter applied before writing local store mutations to the Y.Map.
67
+ * Return `false` to opt the shape out of writes: the local store keeps it,
68
+ * but this client neither persists it to the shared document nor broadcasts
69
+ * updates for it.
70
+ *
71
+ * The filter only governs *what this client writes*. It never blocks remote
72
+ * updates flowing back into the local store — the Y.Map observer is read-
73
+ * only and mirrors everything in the shared doc regardless of the filter.
74
+ *
75
+ * Local removals are propagated only for ids actually present in the Y.Map
76
+ * (locally-authored or observed from the shared doc). Removing a shape that
77
+ * was never in the Y.Map is a no-op for the shared doc.
78
+ *
79
+ * If `shouldSync` flips from `true` → `false` for an id this client had
80
+ * previously authored, the stale Y.Map entry is dropped on the next
81
+ * mutation. Remote-origin entries are never evicted this way — they belong
82
+ * to whoever wrote them.
83
+ *
84
+ * Use case: bridging external state (e.g. a tldraw → uSketch migration) into
85
+ * the uSketch store, where some shapes are mirrored read-only and must not
86
+ * be written back to the shared document.
87
+ *
88
+ * Defaults to `() => true` (current behavior).
89
+ */
90
+ shouldSync?: (shape: ShapeData) => boolean;
64
91
  }
65
92
  export interface YwebsocketSyncHandle {
66
93
  /** The Y.Doc being synced. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAChC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACpC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACrC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAE5F;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAE7E;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;IAEZ;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACpC,8BAA8B;IAC9B,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,kEAAkE;IAClE,MAAM,EAAE,iBAAiB,CAAC;IAC1B;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;;OAIG;IACH,UAAU,EAAE,gBAAgB,CAAC;IAE7B,uFAAuF;IACvF,UAAU,IAAI,IAAI,CAAC;IACnB,kEAAkE;IAClE,MAAM,IAAI,IAAI,CAAC;IAEf,oFAAoF;IACpF,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAChC,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACpC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mEAAmE;IACnE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAqB;IACrC,yEAAyE;IACzE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,oBAAoB,KAAK,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAE5F;;;;;OAKG;IACH,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAE7E;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;OAGG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC;IAEZ;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,SAAS,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACpC,8BAA8B;IAC9B,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,kEAAkE;IAClE,MAAM,EAAE,iBAAiB,CAAC;IAC1B;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;;OAIG;IACH,UAAU,EAAE,gBAAgB,CAAC;IAE7B,uFAAuF;IACvF,UAAU,IAAI,IAAI,CAAC;IACnB,kEAAkE;IAClE,MAAM,IAAI,IAAI,CAAC;IAEf,oFAAoF;IACpF,OAAO,IAAI,IAAI,CAAC;CAChB;AAED,YAAY,EAAE,kBAAkB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"yws-sync.d.ts","sourceRoot":"","sources":["../src/yws-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,uBAAuB,CAAC;AAMnE,OAAO,KAAK,EAAwB,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAWpG,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,qBAAqB,GAC5B,oBAAoB,CAqgBtB"}
1
+ {"version":3,"file":"yws-sync.d.ts","sourceRoot":"","sources":["../src/yws-sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,MAAM,uBAAuB,CAAC;AAMnE,OAAO,KAAK,EAAwB,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAWpG,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,qBAAqB,GAC5B,oBAAoB,CAukBtB"}
package/dist/yws-sync.js CHANGED
@@ -6,11 +6,39 @@ function toPlainObject(shape) {
6
6
  return JSON.parse(JSON.stringify(shape));
7
7
  }
8
8
  export function createYwebsocketSync(store, options) {
9
- const { url, roomName, shapesMapKey = "shapes", resolveParams, onCloseCode, idleTimeoutMs = 0, autoConnect = true, doc: providedDoc, WebSocketPolyfill, } = options;
9
+ const { url, roomName, shapesMapKey = "shapes", resolveParams, onCloseCode, idleTimeoutMs = 0, autoConnect = true, doc: providedDoc, WebSocketPolyfill, shouldSync, } = options;
10
10
  const doc = providedDoc ?? new Y.Doc();
11
11
  const ownsDoc = providedDoc === undefined;
12
12
  const shapesMap = doc.getMap(shapesMapKey);
13
13
  const status = new SyncStatusTracker();
14
+ // Two distinct sets, both only allocated when a `shouldSync` filter is in play.
15
+ //
16
+ // `observedIds` tracks every id present in the Y.Map (regardless of who put
17
+ // it there — local mutation we accepted, remote update, or a key inherited
18
+ // from a pre-loaded Y.Doc). It gates `shape:removed`: removals propagate
19
+ // only for ids the shared doc actually has, so a host bridging in foreign
20
+ // shapes (and removing them locally) doesn't scribble unrelated deletes
21
+ // into the shared doc.
22
+ //
23
+ // `locallyAuthoredIds` is the strict subset that this sync instance wrote
24
+ // itself via the local mutation path while `shouldSync` returned true. It
25
+ // gates the "filter flipped true → false" eviction: we drop a stale Y.Map
26
+ // entry only when this instance authored it. Without this split, a remote-
27
+ // origin shape that fails a newly-tightened `shouldSync` would be deleted
28
+ // from the shared doc by us — turning a foreign-but-mirrored update into
29
+ // a destructive write.
30
+ //
31
+ // When no filter is set, both sets are `null` and the gates are disabled.
32
+ const observedIds = shouldSync ? new Set() : null;
33
+ const locallyAuthoredIds = shouldSync ? new Set() : null;
34
+ if (observedIds) {
35
+ // Seed from any keys already in the Y.Doc (e.g. a doc loaded from IndexedDB
36
+ // before this sync handle attached). We don't mark these as locally authored
37
+ // — we have no way to know who wrote them.
38
+ for (const id of shapesMap.keys()) {
39
+ observedIds.add(id);
40
+ }
41
+ }
14
42
  let destroyed = false;
15
43
  let isSyncing = false;
16
44
  let attempt = 0;
@@ -75,23 +103,52 @@ export function createYwebsocketSync(store, options) {
75
103
  case "shape:added":
76
104
  case "shape:updated": {
77
105
  const shape = store.getShape(payload.id);
78
- if (shape) {
79
- const isNew = !shapesMap.has(payload.id);
80
- shapesMap.set(payload.id, toPlainObject(shape));
81
- if (isNew && event.type === "shape:added") {
82
- // Socket open → y-websocket immediately broadcasts this
83
- // shape to the server, so it's effectively confirmed. We
84
- // only flag local adds as "unconfirmed" while the
85
- // connection is down, so the warning shows up exactly
86
- // for offline edits / orphaned IndexedDB state.
87
- const isOnline = currentWsStatus === "connected";
88
- status.noteShapeAdded(payload.id, isOnline ? "remote" : "local");
106
+ if (!shape)
107
+ break;
108
+ if (shouldSync && !shouldSync(shape)) {
109
+ // The host has opted this shape out of sync. We only
110
+ // evict the Y.Map entry when this sync instance had
111
+ // authored it locally (filter previously returned
112
+ // true and we wrote it). For a remote-origin shape
113
+ // that fails a newly-tightened filter, we must NOT
114
+ // delete from the shared doc — that would turn a
115
+ // foreign-but-mirrored update into a destructive
116
+ // write that hits every other client.
117
+ if (locallyAuthoredIds?.has(payload.id)) {
118
+ shapesMap.delete(payload.id);
119
+ locallyAuthoredIds.delete(payload.id);
120
+ observedIds?.delete(payload.id);
121
+ status.noteShapeRemoved(payload.id);
89
122
  }
123
+ break;
124
+ }
125
+ const isNew = !shapesMap.has(payload.id);
126
+ shapesMap.set(payload.id, toPlainObject(shape));
127
+ observedIds?.add(payload.id);
128
+ locallyAuthoredIds?.add(payload.id);
129
+ if (isNew) {
130
+ // "New entry in the Y.Map" — covers both genuine
131
+ // `shape:added` events and the false→true filter flip
132
+ // case where a `shape:updated` is the first write the
133
+ // host has authorized. Without this, the divergence
134
+ // tracker wouldn't know about ids whose first sync
135
+ // arrived via an update event.
136
+ const isOnline = currentWsStatus === "connected";
137
+ status.noteShapeAdded(payload.id, isOnline ? "remote" : "local");
90
138
  }
91
139
  break;
92
140
  }
93
141
  case "shape:removed": {
142
+ // With a filter in play, only forward removals for shapes
143
+ // actually present in the Y.Map. Without this guard, a host
144
+ // bridging in foreign shapes (and removing them locally
145
+ // before they ever reached the shared doc) would scribble
146
+ // unrelated deletes into the shared doc.
147
+ if (observedIds && !observedIds.has(payload.id))
148
+ break;
94
149
  shapesMap.delete(payload.id);
150
+ observedIds?.delete(payload.id);
151
+ locallyAuthoredIds?.delete(payload.id);
95
152
  status.noteShapeRemoved(payload.id);
96
153
  break;
97
154
  }
@@ -138,6 +195,13 @@ export function createYwebsocketSync(store, options) {
138
195
  status.noteShapeAdded(key, "remote");
139
196
  }
140
197
  }
198
+ // Note: only `observedIds` is updated here, not
199
+ // `locallyAuthoredIds`. Remote-origin keys must
200
+ // remain eligible for `shapesMap.delete` on a
201
+ // later local removal, but they were NOT authored
202
+ // locally — so a later `shouldSync` flip to false
203
+ // must not let us evict them from the shared doc.
204
+ observedIds?.add(key);
141
205
  }
142
206
  break;
143
207
  }
@@ -145,6 +209,8 @@ export function createYwebsocketSync(store, options) {
145
209
  if (store.getShape(key)) {
146
210
  store.deleteShape(key);
147
211
  }
212
+ observedIds?.delete(key);
213
+ locallyAuthoredIds?.delete(key);
148
214
  status.noteShapeRemoved(key);
149
215
  break;
150
216
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yws-sync.js","sourceRoot":"","sources":["../src/yws-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yws-sync.js","sourceRoot":"","sources":["../src/yws-sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edv4h/usketch-plugin-sync-ywebsocket",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -15,7 +15,7 @@
15
15
  "y-protocols": "1.0.7",
16
16
  "y-websocket": "^3.0.0",
17
17
  "yjs": "^13.6.0",
18
- "@edv4h/usketch-shared": "2.0.0",
18
+ "@edv4h/usketch-shared": "3.0.0",
19
19
  "@edv4h/usketch-sync": "1.0.0"
20
20
  },
21
21
  "peerDependencies": {