Keep slow dev renderer startup recoverable - #3536
Open
augmentcode[bot] wants to merge 2 commits into
Open
augmentcode[bot] wants to merge 2 commits into
augmentcode[bot] wants to merge 2 commits into
Conversation
Contributor
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
sawka
marked this pull request as ready for review
October 2, 2026 00:26
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The five-second development timeout rejected
initializeTabbefore it could sendwave-init. A late rendererreadyIPC still resolved the original handshake, but startup had already been abandoned, leaving a hidden/blank renderer.initPromiseandwaveReadyPromise; reveal the window/DevTools and continue waiting instead of treating slowness as fatal.A larger fixed timeout would only move the race. A live renderer that never signals readiness still remains pending with diagnostics available; automatic crash recovery and production timeouts are outside this fix.
The final diff is one production-source file, +39/-20 lines. The oversized 212-line mocked Electron test harness was removed following review; it was disproportionate to this change. The main-process fix is byte-for-byte unchanged from the version verified in Electron.
Validation
task electron:linuxquickdev, ascodespace, with isolated app data and sandbox intact: naturally crossed the diagnostic threshold at 19.923s, sent normalwave-initat 20.128s, and completed thewave-readywait at 20.332s. Vite was ready at 13.840s; mapped-window timing was not treated as app readiness.printf 'WAVE_RUNTIME_OK\n', producing the marker and returning a prompt. No runtime delay injection was needed.task check:ts: 17 existing errors in three preview fixture files. A read-only compiler comparison against the exact unchanged main-process source produced identical diagnostics; the fix adds none.git diff --check: passed, including after removal of the test harness. Confirmed the runtime-verified main-process source did not change in that follow-up.Original investigation, tradeoffs, checks, and timing report · Rendered app screenshot · Terminal verification screenshot
Cosmos evidence links require VFS permissions. The linked report is a historical record of the original local-validation stage, including the test harness subsequently removed; this PR description reflects the final scope. Raw runtime logs are not uploaded. The upstream first-load delay remains unproven. Other operating systems, production packaging, and the full test suite were not run.