chore(ui): surface caught boot errors on the diagnostic panel
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 1m5s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m57s
CI / changes (pull_request) Successful in 2s
CI / unit (pull_request) Has been skipped
CI / integration (pull_request) Has been skipped
CI / ui (pull_request) Successful in 1m5s
CI / conformance (pull_request) Successful in 9s
CI / gate (pull_request) Successful in 0s
CI / deploy (pull_request) Successful in 1m57s
The es2019 + conditional core-js fixes let the module mount on the Chromium 66 in-app WebView, but the lobby then shows a white screen and a generic "something went wrong" toast — a caught error that never reaches window.onerror, so the diagnostic ERRORS panel stayed empty and could not name the cause. Mirror console.error / console.warn into the panel, and add a temporary, mock-gated console.error of the raw error (with stack) in handleError, so the on-device panel shows exactly what threw and whether it is one error or several. Expected: a ReferenceError from the 64-bit FlatBuffers timestamp decode (BigInt, absent on Chrome 66 and not polyfillable by core-js) — to be confirmed on-device before deciding the support floor. Temporary — both hunks revert together with the index.html BOOT-DIAG block.
This commit is contained in:
@@ -283,6 +283,12 @@ export function markChatRead(gameId: string): void {
|
||||
* failure — or anything raised while the app is mid-reconnect — is shown by the "Connecting…"
|
||||
* header indicator (and auto-retried), never a red toast. */
|
||||
export function handleError(err: unknown): void {
|
||||
// TEMP (boot diagnostic): the toast is generic, so route the real caught error to the on-device
|
||||
// BOOT-DIAG panel via console (it mirrors console.error). Mode-gated to keep it out of the mock
|
||||
// e2e. Revert together with the index.html BOOT-DIAG block.
|
||||
if (import.meta.env.MODE !== 'mock') {
|
||||
console.error('[diag] handleError:', err instanceof Error ? err.stack || err.message : err);
|
||||
}
|
||||
const code = err instanceof GatewayError ? err.code : '';
|
||||
if (code === 'session_invalid' || code === 'unauthenticated') {
|
||||
void logout();
|
||||
|
||||
Reference in New Issue
Block a user