Repository navigation
Conversation
2955c19 to
e7ef248
Compare
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e7ef248b2b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
e7ef248 to
7205990
Compare
7205990 to
9643ff1
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 9643ff1fae
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7bd9413b78
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
925eaca to
3812064
Compare
3812064 to
af9db5f
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: af9db5fc45
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…client (bulk delete, picker, submit, compaction, review hydration, Coder disconnect, messaging settings)
af9db5f to
1e0c92b
Compare
|
@codex review |
|
Codex Review: Didn't find any major issues. Another round soon, please! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Summary
This PR is layer 4b of the reconnect stack (base: #6317). Handlers that show their own offline message now check the live client (
useLiveAPI()). Nothing changes today: the live client equalsuseAPI().apiuntil PR 6. After PR 6,useAPI().apikeeps the last client while Xum reconnects. Without this PR, these handlers would then call the lost connection and show "Not connected to the Xum server. Reconnecting…" fromConnectionLostError(or log an error), instead of their own message.Implementation
ChatInputsend and edit (and the voice input client),ProjectCreateModal(create, clone, add existing),DirectoryPickerModal,ArchivedWorkspacesdelete worktree,WorkspaceMenuBarfork and stop runtime,ProjectSidebarfork and stop runtime,AssistantMessagefork,RetryBarriermanual retry,useResumeStreamProvidersSection(Codex, Mux Gateway, Copilot and Coder logins, custom providers),useMCPOAuthLogin(it now reads the live client itself instead of takingapifrom its 3 callers),OnboardingWizardSplashuseArtifactInteractionssend,McpAppFrametool calls (itsapiRefnow holds the live client)LegacyPlanImportBanner,useBrowserBridgeConnection,ImmersiveReviewViewcopy,useCompactAndRetry(offline it puts the command in the composer),UserMessagestaged downloadapiRefholdersRetryBarrierandAskUserQuestionToolCallauto-retry rollback: skips offline, as it does today whenapiis nullNot changed:
ProvidersSection's unmount cancel ref: offline, the cancel call fails fast and nothing waits for it.useDesktopConnection: its failure path already backs off.Validation
ArtifactsReconnect.test.tsx, both gap modes: Send while offline shows "Xum is reconnecting. Send again once it is back." and sends nothing. Thekept-gapcase fails without this PR.useResumeStream.test.tsx, both gap modes: resume while offline shows "Not connected to server" and calls nothing. Thekept-gapcase fails without this PR.make static-checkandmake crap-checkpass.bun teston the touched folders passes, exceptWorkspaceShell.test.tsx(1 test) andGeneralSection.test.tsx(2 tests). These also fail on origin/main on my host.Risks
Low. Before PR 6 the live client and
useAPI().apiare the same object in every render (API.test.tsxpins this), so every changed handler behaves as before.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high• Cost:$55.49