[Bug]: Backend startup crashes leave desktop blank with no visible error
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and did not find a duplicate of this specific failure.
- I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
- Launch desktop with a backend that fails during startup (observed: a missing SQLite column).
- The backend exits repeatedly before it can serve the renderer.
Expected behavior
Show a backend-independent startup error with the failure reason and a way to retry or open/copy logs.
Actual behavior
Completely black window. Electron DevTools has no useful error; Network shows a failed t3code://app request. Restarting/reinstalling does not explain the failure.
Production serves the initial UI through the backend. DesktopWindow.ts swallows loadURL() rejection and only logs did-fail-load; backend restart handling keeps retrying without a visible terminal failure state. Frontend error handling cannot run because the page never loads.
Related: #9239 reports a Linux credential-store startup stall; this is a confirmed backend process crash on macOS.
Impact
Blocks work completely
Version or commit
0.0.39 and 0.0.40-nightly.20260907.1346
Environment
macOS 26.6.2 (also occurred before the macOS update), Electron desktop.
Logs or stack traces
Error: no such column: branch_pull_request_json
backend child exits with code=1
ECONNREFUSED 127.0.0.1:3773
The database error is a separate cause; this issue concerns the absence of visible diagnostics when startup fails.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/desktop/DesktopWindow.ts, especially the loadURL rejection and did-fail-load handling, then trace the backend restart path that keeps retrying after a crash. Reproduce the failure with a backend that exits during startup and verify that the desktop shows the failure reason, offers retry, and provides a way to open or copy logs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- backend, desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100