@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 +26 -9
- package/dist/debug-capture.js +16 -16
- package/dist/index.mjs +23 -23
- package/dist/replayPack.d.ts +56 -3
- package/dist/replayPictures.d.ts +33 -0
- package/dist/types.d.ts +10 -2
- package/dist/ui/bubblePlace.d.ts +29 -29
- package/package.json +1 -1
- package/src/replayPack.ts +369 -44
- package/src/replayPictures.ts +200 -0
- package/src/submit.ts +1 -1
- package/src/types.ts +14 -2
- package/src/ui/bubblePlace.ts +76 -35
- package/src/ui/chatBubble.ts +34 -28
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.
|
|
150
|
-
|
|
151
|
-
the
|
|
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)
|
|
165
|
-
|
|
166
|
-
|
|
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
|
|
495
|
-
|
|
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
|