fix(web): retry failed thread loads - #10428
Open
Gigioxx wants to merge 1 commit into
Open
Conversation
Contributor
ApprovabilityVerdict: Would Approve Macroscope's review found this PR approvable — This is a focused thread-loading bug fix: failed subscriptions now show their existing error and can be retried without restarting, while normal loading and dismissible errors remain unchanged. The production changes are localized and supported by client-runtime and sync-phase tests. Not approved because:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
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.
Failed thread subscriptions left web/desktop showing “Loading messages…” even after the runtime recorded an error. Show that error in the existing banner and let Retry refresh the thread atom on the current connection. Keep the thread shell visible and sending blocked while history is missing; cached history and ordinary dismissible session errors keep their existing behavior.
Fixes #10418. Reproduced with an injected subscription failure in an isolated local web client, then verified a failed retry and successful recovery after removing the fault, without restarting the app. This confirms the stuck-loading path, not disk exhaustion as the original trigger. The temporary fault and synthetic data are not included in the diff.
Verification: 67 focused tests pass, including failed-load presentation and mounted-atom recovery with empty/cached history. Web and client-runtime typechecks pass. Scoped lint and React Doctor report existing warnings only. Web and desktop share this view; mobile, provider adapters, contracts, and connection transports are unchanged. Browser verification used the local web client, not a packaged desktop build.
Retry recording: failure persists, then history recovers without restart
Model: GPT-6. Harness: Codex in T3 Code.