@brass-build/client 0.1.0 → 0.3.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.
Files changed (213) hide show
  1. package/AGENTS.md +72 -63
  2. package/CHANGELOG.md +97 -0
  3. package/README.md +325 -235
  4. package/dist/auth-flow.d.ts +10 -1
  5. package/dist/auth-flow.d.ts.map +1 -1
  6. package/dist/auth-flow.js +64 -20
  7. package/dist/auth-flow.js.map +1 -1
  8. package/dist/client.d.ts +4 -0
  9. package/dist/client.d.ts.map +1 -1
  10. package/dist/client.js +245 -76
  11. package/dist/client.js.map +1 -1
  12. package/dist/document-checkpoints.d.ts +1 -0
  13. package/dist/document-checkpoints.d.ts.map +1 -1
  14. package/dist/document-checkpoints.js +27 -0
  15. package/dist/document-checkpoints.js.map +1 -1
  16. package/dist/document-engine.d.ts +4 -0
  17. package/dist/document-engine.d.ts.map +1 -0
  18. package/dist/document-engine.js +9 -0
  19. package/dist/document-engine.js.map +1 -0
  20. package/dist/document-signals.d.ts +31 -1
  21. package/dist/document-signals.d.ts.map +1 -1
  22. package/dist/document-signals.js +59 -0
  23. package/dist/document-signals.js.map +1 -1
  24. package/dist/document-streams.d.ts +8 -1
  25. package/dist/document-streams.d.ts.map +1 -1
  26. package/dist/document-streams.js +79 -8
  27. package/dist/document-streams.js.map +1 -1
  28. package/dist/document-thumbnail-capture.d.ts +20 -0
  29. package/dist/document-thumbnail-capture.d.ts.map +1 -1
  30. package/dist/document-thumbnail-capture.js +247 -9
  31. package/dist/document-thumbnail-capture.js.map +1 -1
  32. package/dist/documents-namespace.d.ts.map +1 -1
  33. package/dist/documents-namespace.js +22 -3
  34. package/dist/documents-namespace.js.map +1 -1
  35. package/dist/documents.d.ts +49 -16
  36. package/dist/documents.d.ts.map +1 -1
  37. package/dist/documents.js +981 -237
  38. package/dist/documents.js.map +1 -1
  39. package/dist/embed-protocol.d.ts +3 -0
  40. package/dist/embed-protocol.d.ts.map +1 -0
  41. package/dist/embed-protocol.js +26 -0
  42. package/dist/embed-protocol.js.map +1 -0
  43. package/dist/emitter.d.ts.map +1 -1
  44. package/dist/emitter.js +8 -1
  45. package/dist/emitter.js.map +1 -1
  46. package/dist/export-guest.d.ts.map +1 -1
  47. package/dist/export-guest.js +14 -6
  48. package/dist/export-guest.js.map +1 -1
  49. package/dist/fetch-deadline.d.ts +22 -0
  50. package/dist/fetch-deadline.d.ts.map +1 -0
  51. package/dist/fetch-deadline.js +96 -0
  52. package/dist/fetch-deadline.js.map +1 -0
  53. package/dist/fetch-retry.d.ts +1 -0
  54. package/dist/fetch-retry.d.ts.map +1 -1
  55. package/dist/fetch-retry.js +12 -5
  56. package/dist/fetch-retry.js.map +1 -1
  57. package/dist/handle-types.d.ts +150 -0
  58. package/dist/handle-types.d.ts.map +1 -0
  59. package/dist/handle-types.js +8 -0
  60. package/dist/handle-types.js.map +1 -0
  61. package/dist/handles.d.ts +48 -48
  62. package/dist/handles.d.ts.map +1 -1
  63. package/dist/handles.js +3122 -501
  64. package/dist/handles.js.map +1 -1
  65. package/dist/hosted-runtime.d.ts.map +1 -1
  66. package/dist/hosted-runtime.js +8 -12
  67. package/dist/hosted-runtime.js.map +1 -1
  68. package/dist/hosted-ui.d.ts +0 -1
  69. package/dist/hosted-ui.d.ts.map +1 -1
  70. package/dist/hosted-ui.js +29 -24
  71. package/dist/hosted-ui.js.map +1 -1
  72. package/dist/importer.d.ts.map +1 -1
  73. package/dist/importer.js +204 -8
  74. package/dist/importer.js.map +1 -1
  75. package/dist/index.d.ts +10 -10
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +11 -2
  78. package/dist/index.js.map +1 -1
  79. package/dist/internal.d.ts +2 -1
  80. package/dist/internal.d.ts.map +1 -1
  81. package/dist/internal.js +1 -0
  82. package/dist/internal.js.map +1 -1
  83. package/dist/join-coverage.d.ts +12 -0
  84. package/dist/join-coverage.d.ts.map +1 -0
  85. package/dist/join-coverage.js +37 -0
  86. package/dist/join-coverage.js.map +1 -0
  87. package/dist/jwt.d.ts.map +1 -1
  88. package/dist/jwt.js +5 -1
  89. package/dist/jwt.js.map +1 -1
  90. package/dist/launch-context.js +2 -2
  91. package/dist/launch-context.js.map +1 -1
  92. package/dist/mutate-batching.d.ts +25 -2
  93. package/dist/mutate-batching.d.ts.map +1 -1
  94. package/dist/mutate-batching.js +57 -10
  95. package/dist/mutate-batching.js.map +1 -1
  96. package/dist/open-document.d.ts +30 -1
  97. package/dist/open-document.d.ts.map +1 -1
  98. package/dist/open-document.js +1905 -322
  99. package/dist/open-document.js.map +1 -1
  100. package/dist/presence.d.ts +28 -0
  101. package/dist/presence.d.ts.map +1 -1
  102. package/dist/presence.js +149 -7
  103. package/dist/presence.js.map +1 -1
  104. package/dist/record-paging.d.ts +335 -71
  105. package/dist/record-paging.d.ts.map +1 -1
  106. package/dist/record-paging.js +590 -127
  107. package/dist/record-paging.js.map +1 -1
  108. package/dist/selection-persistence.d.ts.map +1 -1
  109. package/dist/selection-persistence.js +11 -1
  110. package/dist/selection-persistence.js.map +1 -1
  111. package/dist/serializer.d.ts +30 -1
  112. package/dist/serializer.d.ts.map +1 -1
  113. package/dist/session-persistence.d.ts.map +1 -1
  114. package/dist/session-persistence.js +9 -8
  115. package/dist/session-persistence.js.map +1 -1
  116. package/dist/session-toolbar.d.ts +0 -1
  117. package/dist/session-toolbar.d.ts.map +1 -1
  118. package/dist/session-toolbar.js +356 -83
  119. package/dist/session-toolbar.js.map +1 -1
  120. package/dist/session.d.ts.map +1 -1
  121. package/dist/session.js +87 -18
  122. package/dist/session.js.map +1 -1
  123. package/dist/tail-ops.d.ts +14 -4
  124. package/dist/tail-ops.d.ts.map +1 -1
  125. package/dist/tail-ops.js +75 -15
  126. package/dist/tail-ops.js.map +1 -1
  127. package/dist/topic-lifecycle.d.ts +4 -0
  128. package/dist/topic-lifecycle.d.ts.map +1 -1
  129. package/dist/topic-lifecycle.js +25 -1
  130. package/dist/topic-lifecycle.js.map +1 -1
  131. package/dist/types.d.ts +47 -1
  132. package/dist/types.d.ts.map +1 -1
  133. package/dist/undo.d.ts +2 -3
  134. package/dist/undo.d.ts.map +1 -1
  135. package/dist/undo.js +11 -0
  136. package/dist/undo.js.map +1 -1
  137. package/dist/unload-guard.d.ts +5 -0
  138. package/dist/unload-guard.d.ts.map +1 -0
  139. package/dist/unload-guard.js +88 -0
  140. package/dist/unload-guard.js.map +1 -0
  141. package/dist/version-bar.d.ts +4 -3
  142. package/dist/version-bar.d.ts.map +1 -1
  143. package/dist/version-bar.js +162 -20
  144. package/dist/version-bar.js.map +1 -1
  145. package/dist/version.d.ts +2 -2
  146. package/dist/version.js +1 -1
  147. package/dist/vite.d.ts +18 -2
  148. package/dist/vite.d.ts.map +1 -1
  149. package/dist/vite.js +133 -8
  150. package/dist/vite.js.map +1 -1
  151. package/dist/when-saved.d.ts +2 -0
  152. package/dist/when-saved.d.ts.map +1 -0
  153. package/dist/when-saved.js +70 -0
  154. package/dist/when-saved.js.map +1 -0
  155. package/dist/ws-client.d.ts +27 -3
  156. package/dist/ws-client.d.ts.map +1 -1
  157. package/dist/ws-client.js +408 -89
  158. package/dist/ws-client.js.map +1 -1
  159. package/dist/ws-frame-limit.d.ts.map +1 -1
  160. package/dist/ws-frame-limit.js +23 -17
  161. package/dist/ws-frame-limit.js.map +1 -1
  162. package/docs/app-manifest.md +7 -8
  163. package/docs/custom-chrome.md +21 -22
  164. package/docs/hosted-ui-advanced.md +14 -17
  165. package/docs/imported-documents.md +53 -197
  166. package/docs/presence.md +45 -21
  167. package/docs/schemas.md +12 -17
  168. package/docs/streams.md +55 -57
  169. package/package.json +4 -3
  170. package/src/auth-flow.ts +90 -23
  171. package/src/client.ts +262 -80
  172. package/src/document-checkpoints.ts +30 -0
  173. package/src/document-engine.ts +15 -0
  174. package/src/document-signals.ts +120 -8
  175. package/src/document-streams.ts +95 -9
  176. package/src/document-thumbnail-capture.ts +253 -9
  177. package/src/documents-namespace.ts +38 -13
  178. package/src/documents.ts +1103 -290
  179. package/src/embed-protocol.ts +25 -0
  180. package/src/emitter.ts +8 -1
  181. package/src/export-guest.ts +15 -9
  182. package/src/fetch-deadline.ts +119 -0
  183. package/src/fetch-retry.ts +14 -5
  184. package/src/handle-types.ts +303 -0
  185. package/src/handles.ts +3407 -683
  186. package/src/hosted-runtime.ts +8 -12
  187. package/src/hosted-ui.ts +28 -32
  188. package/src/importer.ts +216 -8
  189. package/src/index.ts +29 -18
  190. package/src/internal.ts +7 -0
  191. package/src/join-coverage.ts +42 -0
  192. package/src/jwt.ts +8 -1
  193. package/src/launch-context.ts +2 -2
  194. package/src/mutate-batching.ts +60 -11
  195. package/src/open-document.ts +2441 -502
  196. package/src/presence.ts +210 -11
  197. package/src/record-paging.ts +686 -137
  198. package/src/selection-persistence.ts +10 -1
  199. package/src/serializer.ts +33 -1
  200. package/src/session-persistence.ts +9 -8
  201. package/src/session-toolbar.ts +387 -89
  202. package/src/session.ts +91 -17
  203. package/src/tail-ops.ts +76 -10
  204. package/src/topic-lifecycle.ts +31 -1
  205. package/src/types.ts +56 -4
  206. package/src/undo.ts +13 -5
  207. package/src/unload-guard.ts +91 -0
  208. package/src/version-bar.ts +183 -26
  209. package/src/version.ts +1 -1
  210. package/src/vite.ts +175 -10
  211. package/src/when-saved.ts +66 -0
  212. package/src/ws-client.ts +461 -92
  213. package/src/ws-frame-limit.ts +23 -17
@@ -8,6 +8,7 @@ export declare function fitWithinMaxEdge(width: number, height: number, maxEdge:
8
8
  export interface ThumbnailCaptureHost {
9
9
  isCaptureAllowed(): boolean;
10
10
  isAttached(): boolean;
11
+ onCaptured?(): void;
11
12
  }
12
13
  export declare class ThumbnailCapture {
13
14
  private readonly host;
@@ -15,11 +16,30 @@ export declare class ThumbnailCapture {
15
16
  private _timer;
16
17
  private _warnedFor;
17
18
  private _uploader;
19
+ private _seedTimer;
20
+ private _seedHeld;
21
+ private _seedLast;
22
+ private _seedRepeats;
23
+ private _seedSamplesLeft;
24
+ private _seedCaptures;
25
+ private _seedOwed;
26
+ private _uploaded;
27
+ private _warnedCaptureFailure;
28
+ private _detachLifecycle;
18
29
  constructor(host: ThumbnailCaptureHost);
19
30
  useCanvas(source: CanvasSource): () => void;
20
31
  setUploader(uploader: ThumbnailUploader | null): void;
21
32
  schedule(): void;
33
+ armSeed(): void;
34
+ private _attachLifecycle;
35
+ private _flushPending;
22
36
  cancel(): void;
37
+ destroy(): void;
38
+ private _stopSeed;
39
+ private _sampleSeed;
40
+ private _takeSeed;
41
+ private _fingerprint;
42
+ private _resolveCanvas;
23
43
  private _capture;
24
44
  private _downscale;
25
45
  private _warnIfWebglContextWillProduceBlankCapture;
@@ -1 +1 @@
1
- {"version":3,"file":"document-thumbnail-capture.d.ts","sourceRoot":"","sources":["../src/document-thumbnail-capture.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,IAAI,CAAC,CAAC;AAoBnB,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAWpD;AAED,MAAM,WAAW,oBAAoB;IAInC,gBAAgB,IAAI,OAAO,CAAC;IAG5B,UAAU,IAAI,OAAO,CAAC;CACvB;AAED,qBAAa,gBAAgB;IAYf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVjC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA8C;IAG5D,OAAO,CAAC,UAAU,CAAkC;IAIpD,OAAO,CAAC,SAAS,CAAkC;gBAEtB,IAAI,EAAE,oBAAoB;IAKvD,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI;IAY3C,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAMrD,QAAQ,IAAI,IAAI;IAUhB,MAAM,IAAI,IAAI;YAOA,QAAQ;IAkCtB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,0CAA0C;CAyBnD"}
1
+ {"version":3,"file":"document-thumbnail-capture.d.ts","sourceRoot":"","sources":["../src/document-thumbnail-capture.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,YAAY,GACpB,iBAAiB,GACjB,CAAC,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC;AAErC,MAAM,MAAM,iBAAiB,GAAG,CAC9B,KAAK,EAAE,IAAI,EACX,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,KACX,OAAO,CAAC,IAAI,CAAC,CAAC;AAoCnB,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAWpD;AAED,MAAM,WAAW,oBAAoB;IAInC,gBAAgB,IAAI,OAAO,CAAC;IAG5B,UAAU,IAAI,OAAO,CAAC;IAGtB,UAAU,CAAC,IAAI,IAAI,CAAC;CACrB;AAED,qBAAa,gBAAgB;IAgCf,OAAO,CAAC,QAAQ,CAAC,IAAI;IA9BjC,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA8C;IAG5D,OAAO,CAAC,UAAU,CAAkC;IAIpD,OAAO,CAAC,SAAS,CAAkC;IAInD,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,aAAa,CAAK;IAG1B,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,SAAS,CAAS;IAG1B,OAAO,CAAC,qBAAqB,CAAS;IAEtC,OAAO,CAAC,gBAAgB,CAA6B;gBAExB,IAAI,EAAE,oBAAoB;IAKvD,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI;IAmB3C,WAAW,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI;IAMrD,QAAQ,IAAI,IAAI;IAuBhB,OAAO,IAAI,IAAI;IAkBf,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,aAAa;IAmBrB,MAAM,IAAI,IAAI;IAad,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,WAAW;IA0CnB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,YAAY;IA2BpB,OAAO,CAAC,cAAc;YAKR,QAAQ;IA4CtB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,0CAA0C;CAyBnD"}
@@ -1,9 +1,31 @@
1
- // Document thumbnail auto-capture: screenshots a registered canvas after each
2
- // local edit settles and uploads it as the thumbnail. One debounce timer, an
3
- // injected uploader, and a one-shot WebGL diagnostic.
1
+ // Document thumbnail auto-capture: screenshots a registered canvas and uploads
2
+ // it as the thumbnail.
3
+ //
4
+ // The edit trigger debounces a capture after each local commit, so a
5
+ // continuous drag uploads once when it settles. The seed trigger covers a
6
+ // document whose picture is older than its content: an import writes no local
7
+ // commit on the reader's client, and a document nobody has edited yet has none
8
+ // at all. It samples the canvas and uploads the frame it settles on, because
9
+ // the drawn-but-wrong empty editor is on screen from the first frame (measured
10
+ // on the deployed DXF editor: grid at ~0.4s, drawing 0.8s to 4.2s after the
11
+ // records land), so neither blankness nor a fixed delay separates the two.
4
12
  // Debounce window: a screenshot is taken this long after the last local edit,
5
13
  // so a continuous drag uploads once when it settles, not once per frame.
6
14
  const THUMBNAIL_CAPTURE_DEBOUNCE_MS = 1500;
15
+ // Seed watch: sample interval, equal samples that count as settled, give-up
16
+ // bound, and captures per watch. The window is a bound rather than a wait,
17
+ // since the watch ends as soon as it has what it needs; what it sizes is how
18
+ // long a document nothing has drawn yet stays worth sampling. A cold
19
+ // environment (first load of the bundle, first parse, a slow machine) has been
20
+ // measured taking over twenty seconds to draw a 150 KB DXF.
21
+ const SEED_SAMPLE_MS = 500;
22
+ const SEED_WINDOW_MS = 120_000;
23
+ const SEED_SETTLED_SAMPLES = 2;
24
+ const SEED_MAX_CAPTURES = 2;
25
+ // Edge of the square the fingerprint downsamples to. Small enough that a
26
+ // sample costs nothing on the render thread, large enough that a drawing does
27
+ // not average away into the background it sits on.
28
+ const FINGERPRINT_EDGE = 64;
7
29
  // Longest-edge cap (device pixels) for an uploaded thumbnail: a generous
8
30
  // product ceiling, an upper bound on the size any Brass surface sensibly
9
31
  // paints a thumbnail at with retina headroom. The largest surface (the
@@ -41,6 +63,26 @@ export class ThumbnailCapture {
41
63
  // offline / test path, where the canvas is tracked but never captured, so
42
64
  // apps can register one early without hitting the server in tests.
43
65
  _uploader = null;
66
+ // Seed-watch state: the interval, the fingerprint the watch will not upload,
67
+ // the last sample and how many times it has repeated, the sample budget, and
68
+ // how many frames the watch has captured.
69
+ _seedTimer = null;
70
+ _seedHeld = null;
71
+ _seedLast = null;
72
+ _seedRepeats = 0;
73
+ _seedSamplesLeft = 0;
74
+ _seedCaptures = 0;
75
+ // A seed was owed while no canvas was registered, so an app that builds its
76
+ // renderer after it has the content still gets one.
77
+ _seedOwed = false;
78
+ // Whether this instance has landed an upload. Decides whether an edit may
79
+ // supersede a seed watch, and nothing else.
80
+ _uploaded = false;
81
+ // A failed upload has been reported, so a document the server keeps
82
+ // refusing warns once rather than once per edit.
83
+ _warnedCaptureFailure = false;
84
+ // Detaches the page-lifecycle listeners while a canvas is registered.
85
+ _detachLifecycle = null;
44
86
  constructor(host) {
45
87
  this.host = host;
46
88
  }
@@ -51,9 +93,16 @@ export class ThumbnailCapture {
51
93
  this._canvas = source;
52
94
  // A re-register gets one more chance to surface the missing-buffer warn.
53
95
  this._warnedFor = null;
96
+ this._attachLifecycle();
97
+ if (this._seedOwed) {
98
+ this._seedOwed = false;
99
+ this.armSeed();
100
+ }
54
101
  return () => {
55
102
  if (this._canvas === source) {
56
103
  this._canvas = null;
104
+ this._detachLifecycle?.();
105
+ this._detachLifecycle = null;
57
106
  this.cancel();
58
107
  }
59
108
  };
@@ -66,6 +115,16 @@ export class ThumbnailCapture {
66
115
  schedule() {
67
116
  if (this._canvas === null)
68
117
  return;
118
+ // An edit supersedes a seed watch once the document HAS a picture: the
119
+ // person is drawing, so the debounce owns it from here and a second upload
120
+ // of the same moment costs a second snapshot seal. Until then the watch
121
+ // runs on, because an edit is often the reader's last act before they
122
+ // leave, and cancelling on it hands the document's only chance at a
123
+ // picture to a debounce that has to outlive the tab.
124
+ if (this._uploaded) {
125
+ this._stopSeed();
126
+ this._seedOwed = false;
127
+ }
69
128
  if (this._timer !== null)
70
129
  clearTimeout(this._timer);
71
130
  this._timer = setTimeout(() => {
@@ -73,21 +132,190 @@ export class ThumbnailCapture {
73
132
  void this._capture();
74
133
  }, THUMBNAIL_CAPTURE_DEBOUNCE_MS);
75
134
  }
135
+ // Called when the document's picture is older than its content: at open, and
136
+ // again whenever content arrives with no local commit behind it. Arming a
137
+ // running watch refreshes its budget, so a burst of arriving ops is one
138
+ // watch that outlives the burst.
139
+ armSeed() {
140
+ const el = this._resolveCanvas();
141
+ if (el === null) {
142
+ this._seedOwed = true;
143
+ return;
144
+ }
145
+ this._seedSamplesLeft = Math.ceil(SEED_WINDOW_MS / SEED_SAMPLE_MS);
146
+ if (this._seedTimer !== null)
147
+ return;
148
+ this._seedHeld = null;
149
+ this._seedLast = null;
150
+ this._seedRepeats = 0;
151
+ this._seedCaptures = 0;
152
+ this._seedTimer = setInterval(() => this._sampleSeed(), SEED_SAMPLE_MS);
153
+ }
154
+ // A page going away is a deadline: take the frame now rather than waiting
155
+ // out a debounce the tab will not survive. `visibilitychange` covers the
156
+ // tab switch as well, which is the case with room for the upload to finish.
157
+ _attachLifecycle() {
158
+ if (this._detachLifecycle !== null)
159
+ return;
160
+ if (typeof document === 'undefined' || typeof window === 'undefined') {
161
+ return;
162
+ }
163
+ const onHidden = () => {
164
+ if (document.visibilityState === 'visible')
165
+ return;
166
+ this._flushPending();
167
+ };
168
+ const onPageHide = () => this._flushPending();
169
+ document.addEventListener('visibilitychange', onHidden);
170
+ window.addEventListener('pagehide', onPageHide);
171
+ this._detachLifecycle = () => {
172
+ document.removeEventListener('visibilitychange', onHidden);
173
+ window.removeEventListener('pagehide', onPageHide);
174
+ };
175
+ }
176
+ _flushPending() {
177
+ if (this._timer !== null) {
178
+ clearTimeout(this._timer);
179
+ this._timer = null;
180
+ void this._capture();
181
+ return;
182
+ }
183
+ // A watch holding a frame it has not uploaded takes it, for the same
184
+ // reason its own deadline does: this frame beats no frame.
185
+ if (this._seedTimer !== null &&
186
+ this._seedLast !== null &&
187
+ this._seedLast !== this._seedHeld) {
188
+ this._takeSeed(this._seedLast);
189
+ }
190
+ }
76
191
  // Cancel a pending capture (canvas unregistered / suspend / close).
77
192
  cancel() {
78
193
  if (this._timer !== null) {
79
194
  clearTimeout(this._timer);
80
195
  this._timer = null;
81
196
  }
197
+ this._stopSeed();
82
198
  }
83
- async _capture() {
84
- if (!this.host.isCaptureAllowed())
199
+ // Release for good. The page-lifecycle listeners are held on `document` and
200
+ // `window` rather than on anything the Document owns, so cancelling the
201
+ // timers does not reach them: without this they outlive every closed
202
+ // document, each retaining its uploader closure and firing on every tab
203
+ // switch for the life of the page.
204
+ destroy() {
205
+ this.cancel();
206
+ this._detachLifecycle?.();
207
+ this._detachLifecycle = null;
208
+ this._canvas = null;
209
+ this._seedOwed = false;
210
+ }
211
+ _stopSeed() {
212
+ if (this._seedTimer !== null) {
213
+ clearInterval(this._seedTimer);
214
+ this._seedTimer = null;
215
+ }
216
+ this._seedHeld = null;
217
+ this._seedLast = null;
218
+ this._seedRepeats = 0;
219
+ }
220
+ _sampleSeed() {
221
+ if (!this.host.isCaptureAllowed()) {
222
+ this._stopSeed();
223
+ return;
224
+ }
225
+ const el = this._resolveCanvas();
226
+ if (el === null) {
227
+ this._stopSeed();
228
+ this._seedOwed = true;
85
229
  return;
230
+ }
231
+ const now = this._fingerprint(el);
232
+ this._seedSamplesLeft -= 1;
233
+ // A canvas with no layout yet is not a frame, so it neither settles nor
234
+ // counts against the budget's meaning; the watch just waits for one.
235
+ if (now === null) {
236
+ if (this._seedSamplesLeft <= 0)
237
+ this._stopSeed();
238
+ return;
239
+ }
240
+ if (now !== this._seedHeld) {
241
+ if (now === this._seedLast)
242
+ this._seedRepeats += 1;
243
+ else
244
+ this._seedRepeats = 0;
245
+ this._seedLast = now;
246
+ if (this._seedRepeats >= SEED_SETTLED_SAMPLES - 1) {
247
+ this._takeSeed(now);
248
+ return;
249
+ }
250
+ }
251
+ if (this._seedSamplesLeft <= 0) {
252
+ // Still redrawing at the deadline: the latest frame is a truer picture
253
+ // of the document than no picture, and a further wait has no end.
254
+ const moved = this._seedLast !== null && this._seedLast !== this._seedHeld;
255
+ if (moved)
256
+ this._takeSeed(this._seedLast);
257
+ else
258
+ this._stopSeed();
259
+ }
260
+ }
261
+ // Upload a settled frame. The first one is a picture of the document, or of
262
+ // the editor about to draw it: an app that mounts its canvas before it has
263
+ // drawn holds an empty grid for as long as the drawing takes. So the watch
264
+ // stays on for a second settle, which lands at the same version and
265
+ // overwrites the first. A third is an app redrawing on its own.
266
+ _takeSeed(frame) {
267
+ this._seedHeld = frame;
268
+ this._seedRepeats = 0;
269
+ this._seedCaptures += 1;
270
+ if (this._seedCaptures >= SEED_MAX_CAPTURES || this._seedSamplesLeft <= 0) {
271
+ this._stopSeed();
272
+ }
273
+ void this._capture();
274
+ }
275
+ // A cheap perceptual fingerprint: the canvas downsampled into a small square
276
+ // and folded into a string. It reads through the same front buffer `toBlob`
277
+ // does, so a canvas the capture would read blank fingerprints blank too and
278
+ // the watch expires instead of uploading it.
279
+ _fingerprint(el) {
280
+ // A canvas the page has not laid out yet (the browser's 1x1 default until
281
+ // the app sizes it) carries no frame to compare.
282
+ if (el.width <= 1 || el.height <= 1)
283
+ return null;
284
+ try {
285
+ const off = document.createElement('canvas');
286
+ off.width = FINGERPRINT_EDGE;
287
+ off.height = FINGERPRINT_EDGE;
288
+ const ctx = off.getContext('2d', { willReadFrequently: true });
289
+ if (!ctx)
290
+ return 'unreadable';
291
+ ctx.drawImage(el, 0, 0, FINGERPRINT_EDGE, FINGERPRINT_EDGE);
292
+ const { data } = ctx.getImageData(0, 0, FINGERPRINT_EDGE, FINGERPRINT_EDGE);
293
+ let h1 = 0x811c9dc5;
294
+ let h2 = 0x01000193;
295
+ for (let i = 0; i < data.length; i += 4) {
296
+ const px = (data[i] << 24) | (data[i + 1] << 16) | (data[i + 2] << 8) | data[i + 3];
297
+ h1 = Math.imul(h1 ^ px, 0x01000193);
298
+ h2 = Math.imul(h2 + px, 0x85ebca6b) ^ (h2 >>> 13);
299
+ }
300
+ return `${h1 >>> 0}:${h2 >>> 0}`;
301
+ }
302
+ catch {
303
+ // A tainted canvas throws here exactly as it would in the capture, so
304
+ // treating every read as the same value expires the watch.
305
+ return 'unreadable';
306
+ }
307
+ }
308
+ _resolveCanvas() {
86
309
  if (this._canvas === null)
310
+ return null;
311
+ return typeof this._canvas === 'function' ? this._canvas() : this._canvas;
312
+ }
313
+ async _capture() {
314
+ if (!this.host.isCaptureAllowed())
87
315
  return;
88
316
  if (this._uploader === null)
89
317
  return;
90
- const el = typeof this._canvas === 'function' ? this._canvas() : this._canvas;
318
+ const el = this._resolveCanvas();
91
319
  if (!el)
92
320
  return;
93
321
  this._warnIfWebglContextWillProduceBlankCapture(el);
@@ -105,10 +333,20 @@ export class ThumbnailCapture {
105
333
  if (!this.host.isAttached())
106
334
  return;
107
335
  await this._uploader(image, target.width, target.height);
336
+ this._uploaded = true;
337
+ this.host.onCaptured?.();
108
338
  }
109
- catch {
110
- // Best-effort: rate-limit rejection, lack of write access, or a
111
- // transient failure is swallowed; the next local edit reschedules.
339
+ catch (err) {
340
+ // Best-effort: a rate-limit rejection, a lack of write access, or a
341
+ // transient failure leaves the document on its last picture, and the
342
+ // next edit or arrival reschedules. Reported once, because the refusals
343
+ // that persist (no write access, an oversized image) are otherwise
344
+ // indistinguishable from a capture that never ran.
345
+ if (!this._warnedCaptureFailure) {
346
+ this._warnedCaptureFailure = true;
347
+ console.warn('@brass-build/client: uploading the document thumbnail failed: ' +
348
+ (err instanceof Error ? err.message : String(err)));
349
+ }
112
350
  }
113
351
  }
114
352
  // Redraw an oversized canvas into an offscreen 2D canvas at the capped
@@ -1 +1 @@
1
- {"version":3,"file":"document-thumbnail-capture.js","sourceRoot":"","sources":["../src/document-thumbnail-capture.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,6EAA6E;AAC7E,sDAAsD;AActD,8EAA8E;AAC9E,yEAAyE;AACzE,MAAM,6BAA6B,GAAG,IAAI,CAAC;AAE3C,yEAAyE;AACzE,yEAAyE;AACzE,uEAAuE;AACvE,8EAA8E;AAC9E,2EAA2E;AAC3E,6EAA6E;AAC7E,oEAAoE;AACpE,mDAAmD;AACnD,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAEvC,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,oEAAoE;AACpE,MAAM,UAAU,gBAAgB,CAC9B,KAAa,EACb,MAAc,EACd,OAAe;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;QACpE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;IAChC,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC7C,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QAC/C,MAAM,EAAE,IAAI;KACb,CAAC;AACJ,CAAC;AAYD,MAAM,OAAO,gBAAgB;IAYE;IAX7B,2EAA2E;IACnE,OAAO,GAAwB,IAAI,CAAC;IACpC,MAAM,GAAyC,IAAI,CAAC;IAC5D,yEAAyE;IACzE,sEAAsE;IAC9D,UAAU,GAA6B,IAAI,CAAC;IACpD,yEAAyE;IACzE,0EAA0E;IAC1E,mEAAmE;IAC3D,SAAS,GAA6B,IAAI,CAAC;IAEnD,YAA6B,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAAG,CAAC;IAE3D,6EAA6E;IAC7E,oEAAoE;IACpE,2EAA2E;IAC3E,SAAS,CAAC,MAAoB;QAC5B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,yEAAyE;QACzE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;gBAC5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,QAAkC;QAC5C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAED,4EAA4E;IAC5E,6CAA6C;IAC7C,QAAQ;QACN,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAClC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,EAAE,6BAA6B,CAAC,CAAC;IACpC,CAAC;IAED,oEAAoE;IACpE,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAAE,OAAO;QAC1C,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAClC,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO;QACpC,MAAM,EAAE,GACN,OAAO,IAAI,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QACrE,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,gBAAgB,CAC7B,EAAE,CAAC,KAAK,EACR,EAAE,CAAC,MAAM,EACT,0BAA0B,CAC3B,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,MAAM,KAAK,GAAG,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,IAAI;wBAAE,OAAO,CAAC,IAAI,CAAC,CAAC;;wBACnB,MAAM,CAAC,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBACxE,CAAC,EAAE,WAAW,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAAE,OAAO;YACpC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC3D,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;YAChE,mEAAmE;QACrE,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,wEAAwE;IACxE,yEAAyE;IACzE,4EAA4E;IAC5E,oCAAoC;IAC5B,UAAU,CAChB,EAAqB,EACrB,MAAyC;QAEzC,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC7C,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,kDAAkD;IAClD,wEAAwE;IACxE,oEAAoE;IACpE,kEAAkE;IAClE,2EAA2E;IACnE,0CAA0C,CAChD,EAAqB;QAErB,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE;YAAE,OAAO;QACnC,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,UAAU;YAAE,OAAO;QAChD,IAAI,EAAE,GAA0D,IAAI,CAAC;QACrE,IAAI,CAAC;YACH,EAAE;gBACC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAmC;oBACzD,EAAE,CAAC,UAAU,CAAC,OAAO,CAAkC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO;QACT,CAAC;QACD,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC,oBAAoB,EAAE,CAAC;QAC7C,IAAI,UAAU,IAAI,UAAU,CAAC,qBAAqB,KAAK,KAAK,EAAE,CAAC;YAC7D,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CACV,oEAAoE;gBAClE,mEAAmE;gBACnE,mEAAmE;gBACnE,mEAAmE,CACtE,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"document-thumbnail-capture.js","sourceRoot":"","sources":["../src/document-thumbnail-capture.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"documents-namespace.d.ts","sourceRoot":"","sources":["../src/documents-namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents-namespace.d.ts","sourceRoot":"","sources":["../src/documents-namespace.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,17 @@
1
1
  // SDK surface: `Brass.documents.*`. The metadata surface: get /
2
- // thumbnails / branches. The editable surface (snapshot + ops +
3
- // mutate) is the `Document` runtime class via `Brass.openDocumentById`
4
- // / `Brass.createDocument`. Access-granting is hosted-only (the share
2
+ // thumbnails. The editable surface (snapshot + ops + mutate) is the
3
+ // `Document` runtime class via `Brass.openDocumentById` /
4
+ // `Brass.createDocument`. Access-granting is hosted-only (the share
5
5
  // dialog), not a programmatic method here.
6
6
  import { createApiFetch } from './api-fetch.js';
7
7
  import { BrassError } from './errors.js';
8
8
  export function createDocumentsNamespace(opts) {
9
9
  const apiFetch = createApiFetch(opts);
10
+ // Identifies THIS client to the import claim, so two tabs of one app
11
+ // signed in as one user are two claimants and only one of them imports.
12
+ // Minted once per namespace, so re-claiming from this client refreshes
13
+ // its own claim rather than taking a second one.
14
+ const importClientId = randomToken();
10
15
  return {
11
16
  get(docId) {
12
17
  return apiFetch({
@@ -111,6 +116,9 @@ export function createDocumentsNamespace(opts) {
111
116
  const body = {};
112
117
  if (input?.message !== undefined)
113
118
  body.message = input.message;
119
+ if (input?.bytes !== undefined) {
120
+ body.content_base64 = bytesToBase64(input.bytes);
121
+ }
114
122
  const res = await apiFetch({
115
123
  method: 'POST',
116
124
  path: `/documents/${encodeURIComponent(docId)}/drive-sync/push`,
@@ -131,12 +139,14 @@ export function createDocumentsNamespace(opts) {
131
139
  return apiFetch({
132
140
  method: 'POST',
133
141
  path: `/documents/${encodeURIComponent(docId)}/import-claim`,
142
+ body: { client_id: importClientId },
134
143
  });
135
144
  },
136
145
  completeImport(docId) {
137
146
  return apiFetch({
138
147
  method: 'POST',
139
148
  path: `/documents/${encodeURIComponent(docId)}/import-complete`,
149
+ body: { client_id: importClientId },
140
150
  });
141
151
  },
142
152
  async getThumbnail(docId, options) {
@@ -154,6 +164,15 @@ export function createDocumentsNamespace(opts) {
154
164
  },
155
165
  };
156
166
  }
167
+ function randomToken() {
168
+ const g = globalThis;
169
+ if (g.crypto?.randomUUID)
170
+ return g.crypto.randomUUID();
171
+ let s = '';
172
+ for (let i = 0; i < 32; i++)
173
+ s += Math.floor(Math.random() * 16).toString(16);
174
+ return s;
175
+ }
157
176
  // Reads `SetThumbnailInput.image` into base64 plus a resolved MIME
158
177
  // type. A `Blob` carries its own `type` (canvas `toBlob` sets it);
159
178
  // raw `ArrayBuffer` / `Uint8Array` bytes need an explicit
@@ -1 +1 @@
1
- {"version":3,"file":"documents-namespace.js","sourceRoot":"","sources":["../src/documents-namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"documents-namespace.js","sourceRoot":"","sources":["../src/documents-namespace.ts"],"names":[],"mappings":"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"}