fix: offer recovery for blank desktop windows

React render failures now show a localized reload page, and renderer crashes offer native reload confirmation. Record renderer and load failures in existing diagnostics without automatic retry loops. Reload may lose unsaved input; the intermittent failure cause remains unconfirmed.

Release note: Recover from desktop rendering failures using a visible Reload action instead of being left without a recovery entry point.
This commit is contained in:
mesalogo
2026-09-15 08:07:08 +08:00
parent d4f1668c9b
commit b755951ecd
10 changed files with 339 additions and 14 deletions
+4
View File
@@ -14,6 +14,7 @@ const DEFAULT_MAXIMUM_RECORDS = 1_000
export const MAXIMUM_PENDING_DESKTOP_DIAGNOSTIC_WRITES = 32
const DIAGNOSTIC_FILE_NAME = 'desktop-diagnostics.ndjson'
const allowedStages = new Set([
'renderer',
'startup',
'create',
'status',
@@ -25,6 +26,8 @@ const allowedStages = new Set([
'disconnect'
])
const allowedCodes = new Set([
'desktop.renderer.gone',
'desktop.renderer.load-failed',
'desktop.startup.failed',
'runtime.operation.failed',
'runtime.run.failed',
@@ -108,6 +111,7 @@ function fixedMessage(
stage: string
): string {
if (component === 'desktop') {
if (stage === 'renderer') return 'Desktop renderer failed'
return 'Desktop startup failed'
}
if (component === 'remote-agent') {