fix(reliability): review round 2 — boot-path logging, latch leaks, layout backup - #56
Merged
Conversation
…yout backup Items 1-6 from the post-0.0.50 review: 1. The last two console-only boot-path failure sinks now go through log_client: useStudioInit''s init catch (the choke point for EVERY overlay init failure) and Canvas reloadLayout''s catch. No startup failure is console-only anymore. 2. keepalive.rs / displaywatch.rs: reset RESPAWN_PENDING when the run_on_main_thread dispatch itself fails — a stuck flag would have silently disabled recovery for the rest of the process. 3. displaywatch.rs: RegisterClassW / CreateWindowExW failures now log a warn instead of bailing silently (a dead watcher looked identical to a healthy one). 4. log_client caps client-supplied strings (message 4096 chars, component 64, char-safe truncation; pure seam + test) so a buggy render loop can''t churn the 1 MiB log rotation. 5. backup_layout command: when the frontend fails to PARSE widgets.json it backs the file up (widgets.json.bad-<epoch-ms>, newest 3 kept — pure prune seam + test) BEFORE the in-memory default layout can be saved over whatever was hand-recoverable. Wired from both parse sites, once per session; invoke-failures (nothing readable to copy) skip the backup. 6. recreateMain retries once (2s) on a transient layout-read failure before leaving main down — studio-close is the only recreate attempt while secondaries keep windows alive, so a single hiccup used to strand the primary until the next layout edit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Items 1–6 from the post-0.0.50 review:
Verified: `cargo test` 202 (2 new) / `clippy` / `fmt` clean; `tsc`, oxfmt+oxlint (0 warnings), 2769 unit tests, build.
🤖 Generated with Claude Code