diag(mobile): instrument slide frame-timing + render cost + load-older scroll to find the real jank

Re-add /api/dbg + a frame-gap/long-task probe over the chat-open slide, the innerHTML render time, and
before/after scroll for load-older — to measure on-device where the jank actually is (main-thread block
vs compositor) instead of guessing. Temporary; removed once fixed.
Build marker -> 2026-07-19-batch122.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-19 00:00:28 +05:30
parent 529bc26cb5
commit d02d8976d3
2 changed files with 29 additions and 2 deletions
+7
View File
@@ -1004,6 +1004,13 @@ try {
} catch (_) {}
route('GET', '/api/build', (req, res) => json(res, 200, { build: APP_BUILD }));
// TEMP perf/debug sink — the app POSTs slide frame-timing + scroll state so we diagnose jank from the
// server log (docker logs bizgaze-support) with real device numbers. Remove once the slide/scroll settle.
route('POST', '/api/dbg', async (req, res) => {
try { const b = await readBody(req); console.log('[MDBG]', JSON.stringify(b)); } catch (_) {}
json(res, 200, { ok: true });
});
// Mint a LiveKit join token for the signed-in user + a specific room (the 6-digit meeting code).
// The room-membership/host authorization already happens over the meeting WebSocket; this only
// hands the client a media-plane credential scoped to that room and its own identity.