uncaughtExceptionMonitor failures are appended to desktop-main.log synchronously, and unhandledRejection reasons (including non-Error values) are appended asynchronously, even when Sentry crash reporting is off. Registering the handlers twice does not double-log.apps/desktop/test/renderer-crash-recovery.test.ts (new)apps/desktop/test/main-process-local-error-logging.test.ts (new)apps/desktop/electron/services/rendererCrashRecovery.ts (extracted decision used by apps/desktop/electron/main.ts; behavior unchanged)These paths landed in the desktop crash fixes (#349) without direct tests. Reloading a window that is already closing, or dropping the only local trace of a main-process failure when crash reporting is disabled, fails closed in production and is easy to regress. The new tests lock both gates.
bun test --isolate on the two new files plus apps/desktop/test/crash-reporting-service.test.ts: 6 passbunx biome check on the touched files: cleanbun run typecheck: cleanSign in to comment.
Update README.md
#125 mobile-fixes ← main
Updated 4 months ago
test: cover crashed-renderer reload and local main-process logs
#352 main ← cursor/missing-test-coverage-6e79
Updated 2 days ago