The page reports its errors and playback timings, and its requests carry a trace (#190)
Nothing the page did in the browser reached the logs: a DeadAir playback failure on the phone was a toast and nothing more. POST /api/client takes page errors, unhandled rejections, hls.js and media errors, the time from play to sound and the length of a stall, and logs them as ev lines under ipx::client, inside the request's span. Only those kinds are taken, the text cut to 500 characters, and the page sends each at most once a minute. The page's API requests send traceparent, a new trace id for each tap or key, and the server's request span takes it as its parent, so one action's requests are one trace in Tempo, the report included. The stub DOM the smoke and native-bridge tests run in gains crypto and performance, which every browser the page runs in has. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -47,7 +47,7 @@ function makeContext(html, script, { media = false } = {}) {
|
||||
};
|
||||
|
||||
const ctx = {
|
||||
document, console,
|
||||
document, console, crypto: require("crypto").webcrypto, performance,
|
||||
window: { isSecureContext: false, addEventListener(){} },
|
||||
localStorage: { getItem: () => null, setItem(){}, removeItem(){} },
|
||||
navigator: { clipboard: undefined, sendBeacon(){}, mediaSession: undefined },
|
||||
|
||||
Reference in New Issue
Block a user