@lightworkai.official/debug-capture 0.19.8 → 0.19.10
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 +17 -16
- package/dist/index.mjs +22 -21
- package/dist/replayPack.d.ts +56 -3
- package/dist/replayPictures.d.ts +33 -0
- package/dist/types.d.ts +10 -2
- package/dist/ui/chatBubble.d.ts +13 -6
- 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/chatBubble.ts +56 -25
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
|
|
|
@@ -499,8 +515,9 @@ under it is not in the way. `chat: { avoid: false }` turns this off,
|
|
|
499
515
|
also give a page its own place — hidden there, or a corner and a height — by
|
|
500
516
|
its path (ปุ่มแชท › ตำแหน่งปุ่ม); a person who moved the button keeps their
|
|
501
517
|
place, except where it is hidden. The bubble's look is the support desk's to set (0.19.5, its
|
|
502
|
-
ปุ่มแชท settings page): its face, colour and words,
|
|
503
|
-
|
|
518
|
+
ปุ่มแชท settings page): its face, colour and words, and its size (0.19.10:
|
|
519
|
+
44–72 px, 56 until set — the panel and a call's card measured from it), read
|
|
520
|
+
with the first answer; your own `label` in code still wins. A desk can turn the bubble off for every
|
|
504
521
|
host at once. `chat: { show: () => boolean }` decides per person or per page
|
|
505
522
|
(asked before every read; call `refreshSupportChat()` after a sign-in). Your
|
|
506
523
|
own button instead of ours: `openSupportChat()` /
|