@lightworkai.official/debug-capture 0.19.7 → 0.19.9

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.
package/README.md CHANGED
@@ -146,10 +146,9 @@ replays exist to see exactly what happened:
146
146
  (passwords stay masked — that floor is rrweb's).
147
147
  - `recordCanvas: true` records what canvases show — a PDF viewer, a signature
148
148
  pad, a chart — as a WebP frame up to once a second whenever the picture
149
- changed, encoded in a worker. It is the one thing that can make a replay
150
- large: over `maxBytes`, the canvas frames are dropped first and the rest of
151
- the replay still goes (`context.replay.canvasDropped`). `{ fps, quality }`
152
- tunes it.
149
+ changed, encoded in a worker. Safari cannot make WebP and hands back PNG,
150
+ several times the size. It is the one thing that can make a replay large;
151
+ see the size cap below for what happens then. `{ fps, quality }` tunes it.
153
152
  - URLs in links and images go through the same redaction as the network log
154
153
  (`token`, `signature`, `code`, …), and nothing that could run travels:
155
154
  inline handlers (`on*`), `javascript:` URLs and `srcdoc` are dropped from
@@ -161,9 +160,26 @@ Whether an app records at all is the host's decision, made once in config.
161
160
 
162
161
  On the way out it is gzipped in the browser (about ten to one) and attached
163
162
  as `session-replay.json.gz`, its own file beside the screenshot and the
164
- bundle, capped at `maxBytes` (4 MB): a report always files, with or without
165
- its replay, and the ticket says which (`context.replay` — the length, or
166
- `omitted: "too-large" | "empty"`). The support host keeps replays for
163
+ bundle, capped at `maxBytes` (4 MB). Over the cap a report still carries a
164
+ recording, giving up the least it can, one step at a time until it fits:
165
+
166
+ 1. Safari's PNG canvas pictures are saved again as JPEG, the opaque ones
167
+ only (a transparent layer would play back as a solid box);
168
+ 2. canvas pictures are kept from the latest moment that fits, the earlier
169
+ ones left out (`canvasDropped`), then all of them;
170
+ 3. large pictures embedded in the page — a `data:` image, an inlined font —
171
+ are swapped for an empty one (`picturesDropped`);
172
+ 4. the oldest part goes: the recording is kept in stretches that each start
173
+ from a full picture of the page, and the newest that fit are sent
174
+ (`recordedSeconds`, the whole length);
175
+ 5. the latest stretch from its start, as far as fits (`endsEarlySeconds`,
176
+ how long before the report it stops);
177
+ 6. long text and styles are shortened (`simplified`).
178
+
179
+ The desk says under the player what was left out. Only a page whose one
180
+ picture is over the cap after all of that — millions of elements — goes
181
+ without (`omitted: "too-large"`); a host that records nothing sends
182
+ `omitted: "empty"`. The support host keeps replays for
167
183
  `REPLAY_RETENTION_DAYS` (30) and shows them to the desk only — never on the
168
184
  reporter's own ticket page, never through the MCP tools.
169
185
 
@@ -491,8 +507,9 @@ the ring card says จากแชทกับทีมงาน instead of a ti
491
507
  opens their chat. Your page's own floating controls come first (0.19.6): a
492
508
  toolbar, a FAB, a bottom bar, a sticky action bar, or a control that stays put
493
509
  on a page that does not scroll is never covered — the button takes the nearest
494
- free place, up its own side or in the other corner when that is nearer than a
495
- long climb, and back where it was once that is free again (0.19.7). Content that scrolls
510
+ free place: up its own side, just inside a toolbar that runs up the edge
511
+ (0.19.8), or in the other corner when that is nearer; and back where it was once
512
+ that is free again (0.19.7). A greyed-out (disabled) button counts too (0.19.8). Content that scrolls
496
513
  under it is not in the way. `chat: { avoid: false }` turns this off,
497
514
  `avoid: ".my-dock"` names a piece of your page it would not see. The desk can
498
515
  also give a page its own place — hidden there, or a corner and a height — by