stellar-drive 1.1.5 → 1.1.6

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.
@@ -206,7 +206,7 @@ function generatePackageJson(opts) {
206
206
  },
207
207
  dependencies: {
208
208
  postgres: '^3.4.0',
209
- 'stellar-drive': '^1.1.5'
209
+ 'stellar-drive': '^1.1.6'
210
210
  },
211
211
  type: 'module'
212
212
  }, null, 2) + '\n');
@@ -110,7 +110,7 @@ export function joinPresence(documentId, isConnected, initialPresence) {
110
110
  export function leavePresence(documentId) {
111
111
  collaboratorsByDocument.delete(documentId);
112
112
  lastCursorUpdate.delete(documentId);
113
- /* Don't delete listeners — they unsubscribe themselves. */
113
+ changeListeners.delete(documentId);
114
114
  }
115
115
  /**
116
116
  * Handle a remote user joining the document.
@@ -1 +1 @@
1
- {"version":3,"file":"awareness.js","sourceRoot":"","sources":["../../src/crdt/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG;IAC1B,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,cAAc;IACzB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,cAAc;IACzB,SAAS,CAAC,aAAa;CACxB,CAAC;AAEF,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,yCAAyC;AACzC,MAAM,uBAAuB,GAAgD,IAAI,GAAG,EAAE,CAAC;AAEvF,qCAAqC;AACrC,MAAM,eAAe,GAAmE,IAAI,GAAG,EAAE,CAAC;AAElG,kEAAkE;AAClE,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;AAExD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,WAAoB,EACpB,eAAqD;IAErD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,mBAAmB,UAAU,+BAA+B,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,2DAA2D;AAC7D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,QAA2B;IAChF,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B;;2DAEuD;IACvD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACtD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEjC,QAAQ,CACN,mBAAmB,UAAU,KAAK,QAAQ,CAAC,IAAI,mBAAmB,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,QAAQ,GAAG,CACpH,CAAC;IACF,eAAe,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,MAAc,EAAE,QAAgB;IACtF,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,mBAAmB,UAAU,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,eAAe,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,MAAe,EAAE,SAAmB;IACnF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC/C,QAAQ,CACN,mBAAmB,UAAU,8BAA8B,GAAG,GAAG,UAAU,QAAQ,MAAM,CAAC,gBAAgB,KAAK,CAChH,CAAC;QACF,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAEtC,oDAAoD;IACpD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,iEAAiE;IACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE;gBACrB,GAAG,KAAK;gBACR,MAAM;gBACN,SAAS;gBACT,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACvC,CAAC,CAAC;YACH,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;IACpC,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,QAAQ,CAAC,mBAAmB,UAAU,KAAK,KAAK,uBAAuB,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,QAAsD;IAEtD,IAAI,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,SAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,SAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE/C,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"awareness.js","sourceRoot":"","sources":["../../src/crdt/awareness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG;IAC1B,SAAS,EAAE,MAAM;IACjB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,cAAc;IACzB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,OAAO;IAClB,SAAS,EAAE,cAAc;IACzB,SAAS,CAAC,aAAa;CACxB,CAAC;AAEF,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,yCAAyC;AACzC,MAAM,uBAAuB,GAAgD,IAAI,GAAG,EAAE,CAAC;AAEvF,qCAAqC;AACrC,MAAM,eAAe,GAAmE,IAAI,GAAG,EAAE,CAAC;AAElG,kEAAkE;AAClE,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;AAExD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAC,MAAc;IACxC,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,gFAAgF;AAChF,8CAA8C;AAC9C,gFAAgF;AAEhF;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAC1B,UAAkB,EAClB,WAAoB,EACpB,eAAqD;IAErD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,QAAQ,CAAC,mBAAmB,UAAU,+BAA+B,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,UAAkB;IAC9C,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC3C,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACpC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACrC,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB,EAAE,QAA2B;IAChF,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B;;2DAEuD;IACvD,MAAM,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;IACtD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEjC,QAAQ,CACN,mBAAmB,UAAU,KAAK,QAAQ,CAAC,IAAI,mBAAmB,QAAQ,CAAC,MAAM,cAAc,QAAQ,CAAC,QAAQ,GAAG,CACpH,CAAC;IACF,eAAe,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,MAAc,EAAE,QAAgB;IACtF,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B,MAAM,GAAG,GAAG,GAAG,MAAM,IAAI,QAAQ,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE1B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,mBAAmB,UAAU,KAAK,QAAQ,CAAC,IAAI,OAAO,CAAC,CAAC;IACnE,CAAC;IACD,eAAe,CAAC,UAAU,CAAC,CAAC;AAC9B,CAAC;AAED,gFAAgF;AAChF,cAAc;AACd,gFAAgF;AAEhF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,UAAkB,EAAE,MAAe,EAAE,SAAmB;IACnF,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,GAAG,GAAG,UAAU,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC/C,QAAQ,CACN,mBAAmB,UAAU,8BAA8B,GAAG,GAAG,UAAU,QAAQ,MAAM,CAAC,gBAAgB,KAAK,CAChH,CAAC;QACF,OAAO;IACT,CAAC;IAED,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAEtC,oDAAoD;IACpD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,iEAAiE;IACjE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAChC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE;gBACrB,GAAG,KAAK;gBACR,MAAM;gBACN,SAAS;gBACT,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACvC,CAAC,CAAC;YACH,eAAe,CAAC,UAAU,CAAC,CAAC;YAC5B,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAAC,UAAkB;IACjD,MAAM,aAAa,GAAG,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,CAAC,aAAa;QAAE,OAAO,EAAE,CAAC;IAE9B,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;IACpC,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,QAAQ,CAAC,mBAAmB,UAAU,KAAK,KAAK,uBAAuB,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,QAAsD;IAEtD,IAAI,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,SAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5B,IAAI,SAAU,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1B,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,SAAS,eAAe,CAAC,UAAkB;IACzC,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE/C,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,4DAA4D;QAC9D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -45,6 +45,8 @@ export declare class CRDTChannel {
45
45
  private pendingUpdates;
46
46
  private debounceTimer;
47
47
  private chunkBuffers;
48
+ /** TTL for incomplete chunk buffers (30 seconds). */
49
+ private static readonly CHUNK_BUFFER_TTL_MS;
48
50
  private reconnectAttempts;
49
51
  private reconnectTimer;
50
52
  private destroyed;
@@ -1 +1 @@
1
- {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/crdt/channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAQzB,OAAO,KAAK,EAMV,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAqCjB;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAgC;IAE/C,iEAAiE;IACjE,OAAO,CAAC,YAAY,CAAiC;IAErD,gCAAgC;IAChC,OAAO,CAAC,gBAAgB,CAAuC;IAE/D,sDAAsD;IACtD,OAAO,CAAC,uBAAuB,CAAuD;IAEtF,4DAA4D;IAC5D,OAAO,CAAC,YAAY,CAAqD;IAGzE,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,aAAa,CAA8C;IAGnE,OAAO,CAAC,YAAY,CAA0E;IAG9F,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,aAAa,CAAsC;gBAGzD,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI;IAahE,+CAA+C;IAC/C,IAAI,eAAe,IAAI,mBAAmB,CAEzC;IAED;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQjE;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC5B;;;;;;;;OAQG;IACH,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAsBzC;;;;;;;OAOG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA8B/B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAyB9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAiCnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAK3B"}
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/crdt/channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAQzB,OAAO,KAAK,EAMV,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAqCjB;;;;;;;GAOG;AACH,qBAAa,WAAW;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,0CAA0C;IAC1C,OAAO,CAAC,OAAO,CAAgC;IAE/C,iEAAiE;IACjE,OAAO,CAAC,YAAY,CAAiC;IAErD,gCAAgC;IAChC,OAAO,CAAC,gBAAgB,CAAuC;IAE/D,sDAAsD;IACtD,OAAO,CAAC,uBAAuB,CAAuD;IAEtF,4DAA4D;IAC5D,OAAO,CAAC,YAAY,CAAqD;IAGzE,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,aAAa,CAA8C;IAGnE,OAAO,CAAC,YAAY,CAGN;IAEd,qDAAqD;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAU;IAGrD,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,aAAa,CAAsC;gBAGzD,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,uBAAuB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI;IAahE,+CAA+C;IAC/C,IAAI,eAAe,IAAI,mBAAmB,CAEzC;IAED;;;;;OAKG;IACH,eAAe,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAQjE;;;;;OAKG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyD3B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsC5B;;;;;;;;OAQG;IACH,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAsBzC;;;;;;;OAOG;IACH,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA8B/B;;;;;OAKG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IA0CnB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IA4BpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;OAEG;IACH,OAAO,CAAC,WAAW;IA6BnB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IA2BzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAK3B"}
@@ -156,8 +156,8 @@ export class CRDTChannel {
156
156
  /* Initiate sync protocol — request missing updates from peers. */
157
157
  this.sendSyncStep1();
158
158
  }
159
- else if (status === 'CHANNEL_ERROR') {
160
- debugWarn(`[CRDT] Channel ${this.channelName} error`);
159
+ else if (status === 'CHANNEL_ERROR' || status === 'TIMED_OUT') {
160
+ debugWarn(`[CRDT] Channel ${this.channelName} ${status.toLowerCase()}`);
161
161
  this.handleDisconnect();
162
162
  }
163
163
  else if (status === 'CLOSED') {
@@ -268,24 +268,34 @@ export class CRDTChannel {
268
268
  * (skip messages from our own device).
269
269
  */
270
270
  handleBroadcastMessage(message) {
271
+ /* Validate message shape — prevent malformed messages from crashing the handler. */
272
+ if (!message || typeof message.type !== 'string' || typeof message.deviceId !== 'string') {
273
+ debugWarn(`[CRDT] Document ${this.documentId}: received malformed broadcast message`);
274
+ return;
275
+ }
271
276
  /* Echo suppression — skip messages from our own device. */
272
277
  if (message.deviceId === this.deviceId) {
273
278
  debugLog(`[CRDT] Document ${this.documentId}: skipped own-device echo (deviceId=${this.deviceId})`);
274
279
  return;
275
280
  }
276
- switch (message.type) {
277
- case 'update':
278
- this.handleRemoteUpdate(message);
279
- break;
280
- case 'sync-step-1':
281
- this.handleSyncStep1(message);
282
- break;
283
- case 'sync-step-2':
284
- this.handleSyncStep2(message);
285
- break;
286
- case 'chunk':
287
- this.handleChunk(message);
288
- break;
281
+ try {
282
+ switch (message.type) {
283
+ case 'update':
284
+ this.handleRemoteUpdate(message);
285
+ break;
286
+ case 'sync-step-1':
287
+ this.handleSyncStep1(message);
288
+ break;
289
+ case 'sync-step-2':
290
+ this.handleSyncStep2(message);
291
+ break;
292
+ case 'chunk':
293
+ this.handleChunk(message);
294
+ break;
295
+ }
296
+ }
297
+ catch (e) {
298
+ debugWarn(`[CRDT] Document ${this.documentId}: error handling broadcast message:`, e);
289
299
  }
290
300
  }
291
301
  /**
@@ -294,7 +304,7 @@ export class CRDTChannel {
294
304
  handleRemoteUpdate(message) {
295
305
  const update = base64ToUint8(message.data);
296
306
  debugLog(`[CRDT] Document ${this.documentId}: received remote update from device ${message.deviceId} (${update.byteLength} bytes)`);
297
- Y.applyUpdate(this.doc, update);
307
+ Y.applyUpdate(this.doc, update, 'remote');
298
308
  }
299
309
  /**
300
310
  * Handle sync-step-1: a peer is requesting missing updates.
@@ -320,7 +330,7 @@ export class CRDTChannel {
320
330
  handleSyncStep2(message) {
321
331
  const update = base64ToUint8(message.update);
322
332
  debugLog(`[CRDT] Document ${this.documentId}: sync-step-2 received from ${message.deviceId} (${update.byteLength} bytes)`);
323
- Y.applyUpdate(this.doc, update);
333
+ Y.applyUpdate(this.doc, update, 'remote');
324
334
  /* Resolve any pending sync waiters. */
325
335
  for (const resolver of this.syncResolvers.values()) {
326
336
  resolver();
@@ -335,9 +345,17 @@ export class CRDTChannel {
335
345
  */
336
346
  handleChunk(message) {
337
347
  const { chunkId, index, total, data } = message;
348
+ /* Expire stale chunk buffers before processing new chunks. */
349
+ const now = Date.now();
350
+ for (const [id, buf] of this.chunkBuffers) {
351
+ if (now - buf.createdAt > CRDTChannel.CHUNK_BUFFER_TTL_MS) {
352
+ debugWarn(`[CRDT] Document ${this.documentId}: expired incomplete chunk buffer ${id}`);
353
+ this.chunkBuffers.delete(id);
354
+ }
355
+ }
338
356
  let buffer = this.chunkBuffers.get(chunkId);
339
357
  if (!buffer) {
340
- buffer = { total, chunks: new Map() };
358
+ buffer = { total, chunks: new Map(), createdAt: now };
341
359
  this.chunkBuffers.set(chunkId, buffer);
342
360
  }
343
361
  buffer.chunks.set(index, data);
@@ -352,7 +370,7 @@ export class CRDTChannel {
352
370
  /* Process as an update message. */
353
371
  const update = base64ToUint8(fullBase64);
354
372
  debugLog(`[CRDT] Document ${this.documentId}: reassembled ${buffer.total} chunks (${update.byteLength} bytes)`);
355
- Y.applyUpdate(this.doc, update);
373
+ Y.applyUpdate(this.doc, update, 'remote');
356
374
  }
357
375
  }
358
376
  // ===========================================================================
@@ -444,6 +462,10 @@ export class CRDTChannel {
444
462
  setupLocalChannel() {
445
463
  if (typeof BroadcastChannel === 'undefined')
446
464
  return;
465
+ /* Close existing channel to prevent duplicate listeners on reconnect. */
466
+ if (this.localChannel) {
467
+ this.localChannel.close();
468
+ }
447
469
  this.localChannel = new BroadcastChannel(this.channelName);
448
470
  this.localChannel.onmessage = (event) => {
449
471
  const message = event.data;
@@ -453,7 +475,7 @@ export class CRDTChannel {
453
475
  /* Apply update from another tab on the same device. */
454
476
  if (message.type === 'update') {
455
477
  const update = base64ToUint8(message.data);
456
- Y.applyUpdate(this.doc, update);
478
+ Y.applyUpdate(this.doc, update, 'remote');
457
479
  }
458
480
  };
459
481
  }
@@ -519,4 +541,6 @@ export class CRDTChannel {
519
541
  this.onConnectionStateChange?.(state);
520
542
  }
521
543
  }
544
+ /** TTL for incomplete chunk buffers (30 seconds). */
545
+ CRDTChannel.CHUNK_BUFFER_TTL_MS = 30000;
522
546
  //# sourceMappingURL=channel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/crdt/channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/crdt/channel.ts"],"names":[],"mappings":"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"}
@@ -45,6 +45,8 @@ export interface CRDTProvider {
45
45
  readonly connectionState: CRDTConnectionState;
46
46
  /** Whether the document has unsaved changes. */
47
47
  readonly isDirty: boolean;
48
+ /** Resolves when network sync (channel join + sync protocol) completes. */
49
+ readonly networkReady: Promise<void>;
48
50
  /** Destroy this provider and release all resources. */
49
51
  destroy(): Promise<void>;
50
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/crdt/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAczB,OAAO,KAAK,EAAE,mBAAmB,EAAsB,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAoB5F;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,uDAAuD;IACvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AA8eD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAuBvB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQvD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAEnF"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/crdt/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAczB,OAAO,KAAK,EAAE,mBAAmB,EAAsB,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAuB5F;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;IAC9C,gDAAgD;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,2EAA2E;IAC3E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,uDAAuD;IACvD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AA6iBD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAgCvB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrE;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAQvD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE9E;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAEnF"}
@@ -46,6 +46,8 @@ import { joinPresence, leavePresence } from './awareness';
46
46
  * 3. Reconnection logic can iterate active providers
47
47
  */
48
48
  const activeProviders = new Map();
49
+ /** Tracks in-flight openDocument init promises for concurrent-safety. */
50
+ const initPromises = new Map();
49
51
  // =============================================================================
50
52
  // CRDTProvider Implementation (internal)
51
53
  // =============================================================================
@@ -76,10 +78,18 @@ class CRDTProviderImpl {
76
78
  this.lastPersistedStateVector = null;
77
79
  /** Guard against concurrent persist operations. */
78
80
  this.persistInProgress = false;
81
+ /** The in-flight persist promise (for awaiting in destroy). */
82
+ this.persistPromise = null;
83
+ /** Guard against concurrent reconnect operations. */
84
+ this.reconnectInProgress = false;
79
85
  /** Whether the current online state is true. */
80
86
  this._isOnline = true;
81
87
  /** Store subscription cleanup function. */
82
88
  this.onlineUnsubscribe = null;
89
+ /** Generation counter for saveToIndexedDB race prevention. */
90
+ this.saveGeneration = 0;
91
+ /** Resolves when network sync (channel join + sync protocol) completes. */
92
+ this.networkReady = Promise.resolve();
83
93
  this.documentId = documentId;
84
94
  this.pageId = pageId;
85
95
  this.offlineEnabled = offlineEnabled;
@@ -111,21 +121,45 @@ class CRDTProviderImpl {
111
121
  });
112
122
  /* Step 1: Load initial state. */
113
123
  await this.loadInitialState();
124
+ if (this.destroyed)
125
+ return;
114
126
  /* Step 2: Wire the update handler. */
115
127
  this.wireUpdateHandler();
116
- /* Step 3: Join the Broadcast channel (if online). */
128
+ /* Step 3: Start periodic Supabase persist timer. */
129
+ this.startPersistTimer();
130
+ /* Record initial state vector for dirty detection. */
131
+ this.lastPersistedStateVector = Y.encodeStateVector(this.doc);
132
+ /* Step 4: Join the Broadcast channel (if online) — background, non-blocking. */
117
133
  if (this._isOnline) {
118
- await this.joinChannel();
119
- /* Step 4: Run sync protocol. */
120
- if (this.channel) {
121
- const peersResponded = await this.channel.waitForSync();
122
- if (!peersResponded) {
123
- /* No peers online — fetch latest state from Supabase if available. */
124
- await this.fetchAndMergeRemoteState();
125
- }
134
+ this.networkReady = this.initNetwork(options).catch((e) => {
135
+ debugWarn(`[CRDT] Document ${this.documentId}: network init failed:`, e);
136
+ });
137
+ }
138
+ else {
139
+ this.networkReady = Promise.resolve();
140
+ }
141
+ debugLog(`[CRDT] Opening document ${this.documentId} (pageId=${this.pageId}, offlineEnabled=${this.offlineEnabled})`);
142
+ }
143
+ /**
144
+ * Initialize network layer (channel + sync + presence) — runs in background.
145
+ */
146
+ async initNetwork(options) {
147
+ await this.joinChannel();
148
+ if (this.destroyed)
149
+ return;
150
+ /* Run sync protocol. */
151
+ if (this.channel) {
152
+ const peersResponded = await this.channel.waitForSync();
153
+ if (this.destroyed)
154
+ return;
155
+ if (!peersResponded) {
156
+ /* No peers online — fetch latest state from Supabase if available. */
157
+ await this.fetchAndMergeRemoteState();
158
+ if (this.destroyed)
159
+ return;
126
160
  }
127
161
  }
128
- /* Step 5: Join presence if initial presence was provided. */
162
+ /* Join presence if initial presence was provided. */
129
163
  if (options.initialPresence) {
130
164
  joinPresence(this.documentId, this.channel?.connectionState === 'connected', {
131
165
  name: options.initialPresence.name,
@@ -137,11 +171,6 @@ class CRDTProviderImpl {
137
171
  avatarUrl: options.initialPresence.avatarUrl
138
172
  });
139
173
  }
140
- /* Step 6: Start periodic Supabase persist timer. */
141
- this.startPersistTimer();
142
- /* Record initial state vector for dirty detection. */
143
- this.lastPersistedStateVector = Y.encodeStateVector(this.doc);
144
- debugLog(`[CRDT] Opening document ${this.documentId} (pageId=${this.pageId}, offlineEnabled=${this.offlineEnabled})`);
145
174
  }
146
175
  // ===========================================================================
147
176
  // State Loading
@@ -160,12 +189,12 @@ class CRDTProviderImpl {
160
189
  if (localRecord) {
161
190
  /* Apply stored full state. */
162
191
  Y.applyUpdate(this.doc, localRecord.state);
163
- /* Replay any pending updates that weren't captured in the last full save. */
192
+ /* Replay any pending updates that weren't captured in the last full save.
193
+ * Use 'load' origin to prevent update handler from re-queuing/re-broadcasting. */
164
194
  const pendingUpdates = await loadPendingUpdates(this.documentId);
165
195
  if (pendingUpdates.length > 0) {
166
- for (const pending of pendingUpdates) {
167
- Y.applyUpdate(this.doc, pending.update);
168
- }
196
+ const merged = Y.mergeUpdates(pendingUpdates.map((p) => p.update));
197
+ Y.applyUpdate(this.doc, merged, 'load');
169
198
  debugLog(`[CRDT] Document ${this.documentId} loaded from IndexedDB (${localRecord.stateSize} bytes, ${pendingUpdates.length} pending updates)`);
170
199
  }
171
200
  else {
@@ -210,8 +239,8 @@ class CRDTProviderImpl {
210
239
  */
211
240
  wireUpdateHandler() {
212
241
  this.updateHandler = (update, origin) => {
213
- /* Skip updates that originated from remote peers (already persisted by them). */
214
- if (origin === 'remote')
242
+ /* Skip updates that originated from remote peers or replayed loads. */
243
+ if (origin === 'remote' || origin === 'load')
215
244
  return;
216
245
  this._isDirty = true;
217
246
  /* 1. Crash-safe: append incremental update to IndexedDB. */
@@ -252,9 +281,11 @@ class CRDTProviderImpl {
252
281
  *
253
282
  * Also clears pending updates since they're now captured in the full state.
254
283
  */
255
- async saveToIndexedDB() {
256
- if (this.destroyed)
284
+ async saveToIndexedDB(force = false) {
285
+ if (!force && this.destroyed)
257
286
  return;
287
+ /* Record generation before snapshot — only clear updates that existed before this save. */
288
+ const gen = ++this.saveGeneration;
258
289
  const state = Y.encodeStateAsUpdate(this.doc);
259
290
  const stateVector = Y.encodeStateVector(this.doc);
260
291
  const record = {
@@ -273,7 +304,10 @@ class CRDTProviderImpl {
273
304
  record.lastPersistedAt = existing.lastPersistedAt;
274
305
  }
275
306
  await saveDocumentState(record);
276
- await clearPendingUpdates(this.documentId);
307
+ /* Only clear pending updates if no new save was triggered while we were writing. */
308
+ if (gen === this.saveGeneration) {
309
+ await clearPendingUpdates(this.documentId);
310
+ }
277
311
  }
278
312
  // ===========================================================================
279
313
  // Supabase Persistence Timer
@@ -289,42 +323,53 @@ class CRDTProviderImpl {
289
323
  }
290
324
  /**
291
325
  * Attempt to persist the document to Supabase if it's dirty and online.
326
+ *
327
+ * @returns `true` if persist succeeded, `false` if skipped or failed.
292
328
  */
293
- async tryPersistToSupabase() {
294
- if (this.destroyed || !this._isOnline || !this._isDirty)
295
- return;
329
+ tryPersistToSupabase(force = false) {
330
+ if (!force && this.destroyed)
331
+ return Promise.resolve(false);
332
+ if (!this._isOnline || !this._isDirty)
333
+ return Promise.resolve(false);
296
334
  /* Check if state has actually changed since last persist. */
297
335
  const currentStateVector = Y.encodeStateVector(this.doc);
298
336
  if (this.lastPersistedStateVector &&
299
337
  arraysEqual(currentStateVector, this.lastPersistedStateVector)) {
300
338
  debugLog(`[CRDT] Document ${this.documentId}: Supabase persist skipped (not dirty)`);
301
- return;
339
+ return Promise.resolve(false);
302
340
  }
303
341
  /* Guard against concurrent persists. */
304
342
  if (this.persistInProgress) {
305
343
  debugLog(`[CRDT] Document ${this.documentId}: persist already in progress, skipping`);
306
- return;
344
+ return Promise.resolve(false);
307
345
  }
308
346
  this.persistInProgress = true;
309
- try {
310
- await persistDocument(this.documentId, this.doc);
311
- this.lastPersistedStateVector = currentStateVector;
312
- this._isDirty = false;
313
- /* Update local record's lastPersistedAt. */
314
- if (this.offlineEnabled) {
315
- const existing = await loadDocumentState(this.documentId);
316
- if (existing) {
317
- existing.lastPersistedAt = new Date().toISOString();
318
- await saveDocumentState(existing);
347
+ const promise = (async () => {
348
+ try {
349
+ await persistDocument(this.documentId, this.doc);
350
+ this.lastPersistedStateVector = currentStateVector;
351
+ this._isDirty = false;
352
+ /* Update local record's lastPersistedAt. */
353
+ if (this.offlineEnabled) {
354
+ const existing = await loadDocumentState(this.documentId);
355
+ if (existing) {
356
+ existing.lastPersistedAt = new Date().toISOString();
357
+ await saveDocumentState(existing);
358
+ }
319
359
  }
360
+ return true;
320
361
  }
321
- }
322
- catch (e) {
323
- debugWarn(`[CRDT] Document ${this.documentId}: Supabase persist failed:`, e);
324
- }
325
- finally {
326
- this.persistInProgress = false;
327
- }
362
+ catch (e) {
363
+ debugWarn(`[CRDT] Document ${this.documentId}: Supabase persist failed:`, e);
364
+ return false;
365
+ }
366
+ finally {
367
+ this.persistInProgress = false;
368
+ this.persistPromise = null;
369
+ }
370
+ })();
371
+ this.persistPromise = promise.then(() => { });
372
+ return promise;
328
373
  }
329
374
  // ===========================================================================
330
375
  // Channel Management
@@ -348,36 +393,49 @@ class CRDTProviderImpl {
348
393
  * and persists the merged state to Supabase.
349
394
  */
350
395
  async handleReconnect() {
351
- debugLog(`[CRDT] Document ${this.documentId}: reconnecting after coming online`);
352
- /* Merge any pending updates accumulated while offline. */
353
- const pendingUpdates = await loadPendingUpdates(this.documentId);
354
- if (pendingUpdates.length > 0) {
355
- debugLog(`[CRDT] Document ${this.documentId}: merging ${pendingUpdates.length} pending updates after reconnect`);
356
- for (const pending of pendingUpdates) {
357
- Y.applyUpdate(this.doc, pending.update);
358
- }
359
- }
360
- /* Rejoin Broadcast channel. */
361
- if (this.channel) {
362
- await this.channel.leave();
396
+ /* Guard against concurrent reconnects. */
397
+ if (this.reconnectInProgress) {
398
+ debugLog(`[CRDT] Document ${this.documentId}: reconnect already in progress, skipping`);
399
+ return;
363
400
  }
364
- await this.joinChannel();
365
- /* Run sync protocol. */
366
- if (this.channel) {
367
- const peersResponded = await this.channel.waitForSync();
368
- if (!peersResponded) {
369
- await this.fetchAndMergeRemoteState();
401
+ this.reconnectInProgress = true;
402
+ try {
403
+ debugLog(`[CRDT] Document ${this.documentId}: reconnecting after coming online`);
404
+ /* Merge any pending updates accumulated while offline.
405
+ * Use 'load' origin so the update handler doesn't re-queue or re-broadcast them. */
406
+ const pendingUpdates = await loadPendingUpdates(this.documentId);
407
+ if (pendingUpdates.length > 0) {
408
+ debugLog(`[CRDT] Document ${this.documentId}: merging ${pendingUpdates.length} pending updates after reconnect`);
409
+ const merged = Y.mergeUpdates(pendingUpdates.map((p) => p.update));
410
+ Y.applyUpdate(this.doc, merged, 'load');
411
+ }
412
+ /* Rejoin Broadcast channel. */
413
+ if (this.channel) {
414
+ await this.channel.leave();
370
415
  }
416
+ await this.joinChannel();
417
+ /* Run sync protocol. */
418
+ if (this.channel) {
419
+ const peersResponded = await this.channel.waitForSync();
420
+ if (!peersResponded) {
421
+ await this.fetchAndMergeRemoteState();
422
+ }
423
+ }
424
+ /* Broadcast our pending updates to peers. */
425
+ const state = Y.encodeStateAsUpdate(this.doc);
426
+ this.channel?.broadcastUpdate(state);
427
+ /* Immediately persist merged state to Supabase. */
428
+ this._isDirty = true;
429
+ const persisted = await this.tryPersistToSupabase();
430
+ /* Only clear pending updates if persist succeeded. */
431
+ if (persisted) {
432
+ await clearPendingUpdates(this.documentId);
433
+ }
434
+ debugLog(`[CRDT] Document ${this.documentId}: reconnection sync complete, state size ${state.byteLength} bytes`);
435
+ }
436
+ finally {
437
+ this.reconnectInProgress = false;
371
438
  }
372
- /* Broadcast our pending updates to peers. */
373
- const state = Y.encodeStateAsUpdate(this.doc);
374
- this.channel?.broadcastUpdate(state);
375
- /* Immediately persist merged state to Supabase. */
376
- this._isDirty = true;
377
- await this.tryPersistToSupabase();
378
- /* Clear pending updates (now captured in full state). */
379
- await clearPendingUpdates(this.documentId);
380
- debugLog(`[CRDT] Document ${this.documentId}: reconnection sync complete, state size ${state.byteLength} bytes`);
381
439
  }
382
440
  // ===========================================================================
383
441
  // Destruction
@@ -411,11 +469,15 @@ class CRDTProviderImpl {
411
469
  }
412
470
  /* Save final state to IndexedDB. */
413
471
  if (this.offlineEnabled) {
414
- await this.saveToIndexedDB();
472
+ await this.saveToIndexedDB(true);
473
+ }
474
+ /* Await any in-flight persist before final persist attempt. */
475
+ if (this.persistPromise) {
476
+ await this.persistPromise;
415
477
  }
416
- /* Persist to Supabase if online and dirty. */
478
+ /* Persist to Supabase if online and dirty (force=true bypasses destroyed check). */
417
479
  if (this._isOnline && this._isDirty) {
418
- await this.tryPersistToSupabase();
480
+ await this.tryPersistToSupabase(true);
419
481
  }
420
482
  /* Leave presence. */
421
483
  leavePresence(this.documentId);
@@ -476,19 +538,29 @@ export async function openDocument(documentId, pageId, options = {}) {
476
538
  const existing = activeProviders.get(documentId);
477
539
  if (existing)
478
540
  return existing;
541
+ /* If init is already in-flight for this document, await the same promise. */
542
+ const inflight = initPromises.get(documentId);
543
+ if (inflight)
544
+ return inflight;
479
545
  /* Create and initialize a new provider. */
480
546
  const provider = new CRDTProviderImpl(documentId, pageId, options.offlineEnabled ?? false);
481
547
  activeProviders.set(documentId, provider);
482
- try {
483
- await provider.init(options);
484
- }
485
- catch (e) {
486
- /* Clean up on initialization failure. */
487
- activeProviders.delete(documentId);
488
- provider.doc.destroy();
489
- throw e;
490
- }
491
- return provider;
548
+ const promise = (async () => {
549
+ try {
550
+ await provider.init(options);
551
+ return provider;
552
+ }
553
+ catch (e) {
554
+ /* Clean up on initialization failure — use provider.destroy() to release all resources. */
555
+ await provider.destroy();
556
+ throw e;
557
+ }
558
+ finally {
559
+ initPromises.delete(documentId);
560
+ }
561
+ })();
562
+ initPromises.set(documentId, promise);
563
+ return promise;
492
564
  }
493
565
  /**
494
566
  * Close a specific CRDT document.
@@ -514,9 +586,9 @@ export async function closeAllDocuments() {
514
586
  const count = activeProviders.size;
515
587
  if (count === 0)
516
588
  return;
517
- debugLog(`[CRDT] All documents closed (count=${count})`);
518
589
  const promises = Array.from(activeProviders.values()).map((p) => p.destroy());
519
590
  await Promise.allSettled(promises);
591
+ debugLog(`[CRDT] All documents closed (count=${count})`);
520
592
  }
521
593
  /**
522
594
  * Get the active provider for a document, if open.
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/crdt/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/crdt/provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stellar-drive",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",