Skip to content

sync: upstream 30733ac703 into swaplabs/main - #53

Merged
kiwidream merged 237 commits into
swaplabs/mainfrom
sync/upstream-20261024
Oct 24, 2026
Merged

kiwidream merged 237 commits into
swaplabs/mainfrom
sync/upstream-20261024

Conversation

@kiwidream

@kiwidream kiwidream commented Oct 24, 2026 •

Copy link
Copy Markdown
Files Added Deleted Net
Test 1172 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​16642 $\color{#cf222e}{\Huge{\mathbf{−}}}$​18502 $\color{#cf222e}{\Huge{\mathbf{−}}}$​1860
Prod 1828 $\color{#1a7f37}{\Huge{\mathbf{+}}}$​11174 $\color{#cf222e}{\Huge{\mathbf{−}}}$​182622 $\color{#cf222e}{\Huge{\mathbf{−}}}$​171448

ELI5

Upstream Orca moved forward 236 commits since yesterday's sync (#50). This PR merges them into swaplabs/main. 21 files conflicted with fork changes. Most of them (17) come from upstream's big comment cleanup, which shortened comments that sit next to fork lines; the fork's lines are kept unchanged. Three more fork files needed small fixes that the conflict list did not show. This PR replaces #52 (head main), which could not merge.

What Changed

Upstream range 5d32f372e7..30733ac703, 236 commits (compare). One signed merge commit, c361964f6a (Merge upstream main (30733ac703) into swaplabs/main), on sync/upstream-20261024, cut at the integration head 7d33e616ae.

Conflicts, by fork PR (orca-fork-ops conflicts)

Upstream's comment audit (2847bbe9e81, stablyai#32966) shortened the upstream comment beside a fork line. In each of these files the resolution is upstream's new comment plus the fork's lines, unchanged:

Fork PR Files
#6 (auto-resume) src/main/ai-vault/cached-session-list.ts, session-list-results.ts, session-scan-issues.ts
#10, #16, #27 (update sources, mac self-update, feed tags) src/main/updater-prerelease-feed.ts, updater-release-build-cache.ts, updater-release-builds.ts, updater-release-builds.test.ts, updater.build-channel-selection.test.ts, updater-mac-install.ts
#25 (daemon drain) src/main/daemon/daemon-endpoint-ownership.ts, daemon-out-of-process-launcher.ts, daemon-pty-router.ts, src/main/ipc/pty-management.ts
#30 (host resume) src/main/agent-hooks/server/server-cleanup.ts, server-hydration.ts, server-types.ts
#30, via the past sync resolution 1a247d1c5c src/main/agent-hooks/server/server-remote-envelope-normalization.ts

Details worth knowing:

  • Where the fork rewrote an upstream comment to describe its own behaviour (server-cleanup.ts's preserveResumeIdentity doc, updater-release-builds.ts's resolveTargetBuild doc), the fork's comment stays in place of upstream's shortened or removed one.
  • Where the fork deleted or moved the code a comment sat on, upstream's rewrite of that comment is dropped with the code: updater-prerelease-feed.ts (the fork moved the readiness probes to updater-release-asset-readiness.ts), the protocol-version lookup in pty-management.ts, and the routing comment in daemon-pty-router.ts.
  • session-scan-issues.ts: the fork's added sentence (why the bound is shared) now follows upstream's one-line comment.
  • updater-release-builds.test.ts: the fork's tests sat between upstream's Windows comment and the test it belongs to. Upstream's rewritten comment now sits above that test again.

The other four conflicts:

Fork PR File Upstream change Resolution
#8 (fork build pipeline) .gitignore stablyai#32903 removed the docs/audits allow-list upstream's removal, plus the fork's two docs/reference/swaplabs-*.md lines
#17 (managed-server update help) src/renderer/src/i18n/locales/es.json b9d9dacb008 translated unpackedHelp upstream's translation, plus the fork's managedByDeploymentHelp and howToUpdate keys
#30 (host resume) src/main/agent-hooks/manual-compact-status-cleanup.test.ts stablyai#32991 rewrote the test as one case per cleanup upstream's test, with the fork's expectation ported in: pane cleanup leaves only the retained resume identity (providerSessionOnly), and the late PostCompact revives nothing
#30 (host resume) src/renderer/src/runtime/web-session-terminal-handle-events.ts stablyai#33062 adds incarnationId to the handle update, so a remote pane can re-bind after a host exit upstream's: it carries the same field the fork added (see below)

web-session-terminal-handle-events.ts: upstream stablyai#33062 now does what the fork's lines in this file did. Fork commit 6713337f23 added incarnationId: string | null to WebSessionTerminalHandleUpdate, set to null when unknown, so announceProcessReplacement can tell a replacement process from a re-minted handle. Upstream's field is optional and is present only when the host stamps one. The fork's consumer in remote-runtime-pty-transport.ts already treats an absent value as null: rebindRemoteTerminalHandle defaults it, and announceProcessReplacement checks truthiness. The behaviour is unchanged, and the fork's remote-runtime-pty-transport-process-replacement.test.ts passes. Fork lines this replaces:

  • the type field and both incarnationId: constructions in web-session-terminal-handle-events.ts;
  • the incarnationId: null expectations in web-session-terminal-handle-events.test.ts and web-session-tabs-sync-visibility-collision.test.tsx, which are back to upstream's text.

Breaks the conflict list did not show

Fork PR File Upstream change Fix
#6 (auto-resume) pty-connection/candidate-resume-startup.ts, agent-resume-recovery-install.ts stablyai#31315 stores each agent's permission; resolveTuiAgentLaunchArgs/Env now take the launch-profile settings and the target platform follow the new signature: pass state.settings and the target platform, as upstream's own resume path (agent-account-restart-startup.ts) does. A resumed agent gets the stored permission like every other launch, which matches the fork's documented rule that the pane's configured defaults apply
#3 (unreachable-host removal) src/renderer/src/store/repos/project-removal-outcome.ts stablyai#33024 moved remote-runtime-client-error-classification into src/shared/remote-runtime/ follow the move (import path only)
#10, #16 (update sources, mac self-update) electron.vite.config.ts stablyai#30076 added 4 lines; the clean auto-merge left the file at 302 counted lines (max 300) the fork's two ...SWAPLABS_UPDATE_DEFINES spreads and the renderer comment move into withSwaplabsUpdateDefines in the fork-owned config/build-plugins/swaplabs-update-defines.ts, applied once to electronViteConfig. The fork now adds one counted line here (the import). Both define blocks carry the same keys as before; checked by loading the config

No other fork lines were moved or dropped. For 74 of the 82 files both sides changed, the fork's added and removed lines against upstream are the same before and after the merge. The other 8 are the comment and port cases above.

Some notable upstream changes in the range

Why

Daily upstream sync.

Linked Issue

N/A: daily upstream sync.

Visual Proof

N/A: no UI change of the fork's. The conflicts are in comments, tests, main-process code and the renderer's terminal transport.

Testing

All checks ran on the merge result in the sync worktree, before the commit, except where noted:

  • Install: pnpm install --frozen-lockfile (the lockfile and every package.json equal upstream's).
  • Typecheck: pnpm tc passes after the two fixes above, and again on the committed tree. Before them it failed on exactly those files. A deliberate type error in a scratch file made it fail, which confirms the gate is live.
  • Fork tests: every unit test file the fork adds or changes against upstream, plus orca-runtime.test.ts (it runs the fork's worktree-ps-agent-row-dismissal.spec.ts) and the two handle-event test files: 118 files, 117 pass. The one failure is upstream's repository-project-operations-part-02.spec.ts, because this host's signing wrapper refuses its fixture commit init. With fixture signing off (commit.gpgsign=false), orca-runtime.test.ts passes: 1,497 passed, 3 skipped. The fork's 3 e2e specs were not run. This run came before the electron.vite.config.ts move, so the files that check the build defines (swaplabs-build-workflow-mac-signing, verify-swaplabs-packaging, verify-dev-channel-packaging, release-sources, mac-self-update-public-key; 95 tests) were run again after it, and pass.
  • Touched directories: src/main/agent-hooks, src/main/ai-vault, src/main/daemon, src/main/ipc/pty-management*, src/main/updater*, src/renderer/src/runtime/web-session*, src/renderer/src/components/terminal-pane, src/renderer/src/store/repos, plus electron-vite-output-contract.test.ts and main-entry-facade.test.ts: 1,363 files, 13,634 tests passed. Two sets of failures:
    • 3 upstream bash-wrapper files (bash-prompt-command-composition, repro-13767-shell-ready-marker-lost-to-exec, shell-ready-bash-wrapper; 7 tests) fail the same way on pristine upstream 30733ac703 on this host (bash 5.3.9), so they are not the merge's.
    • pty-subprocess-git-credential-guard.test.ts failed only under that run's GIT_CONFIG_* override and passes without it.
  • Changed-code gate: check-changed-code-quality.mjs with ORCA_SYNC_PR_DIFF_BASE=30733ac703: 0 findings across 328 fork files.
  • Lint and format of everything the merge stages (7,636 code files and 83 others outside cloud/): oxlint passes with both configs, and oxfmt --check reports every matched file formatted. The pre-commit hook then ran normally, and the tree before the commit (3293e86747) equals HEAD^{tree} after it.
  • Catalogs and ratchets: the 7 locale catalogs parse with no duplicate keys. verify:localization-runtime-catalog, -catalog, -catalogs, -extraction, -coverage, verify:rpc-params-catalog, check:max-lines-ratchet and upstream's new check:test-file-runners all pass.
  • Signature: c361964f6a is G from the sync key BF1DD75F888E96080C2453E2D9E158C5D6874235.

AI Disclosure

Prepared by the "Orca upstream sync" automation (Claude Code, Claude Opus 5.5).

Agent skill upstream boundary

  • Not applicable: this PR merges upstream's history; it adds no agent skill.

Notes

orca-fork-ops status for swaplabs/main (7d33e616ae) against upstream 30733ac703, before this merge:

Upstream release tags v1.4.238 and v1.4.239 were copied to the fork.

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

nwparker and others added 30 commits October 23, 2026 07:08
Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
* test: verify independent CLI quoting and screenshot bytes

* test: audit CLI registration and offline hook boundaries

* test: record CLI automation fence review

* test: audit computer CLI dispatch and exported files

* test: record CLI enrollment and emulator contract review

* test: audit file command path and navigation contracts

* test: bracket login shutdown grace and fallback deadlines

* test: keep managed server timeout expectations independent

* test: record Linear CLI input and dispatch review

* test: verify legacy completion dispatch boundary

* test: replace copied config and browser controls

* test: isolate gate refusal from inherited caller identity

* test: exercise real mobile host admission and teardown boundaries

* docs: reconcile audit entrypoints and refresh completed reviews

* test: fix mobile audit React Doctor findings

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…ai#32265)

* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

* chore: shorten remaining CLI root comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

* chore: shorten remaining CLI root comments

* Shorten CLI handler comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…ai#32283)

* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

* chore: shorten remaining CLI root comments

* Shorten CLI handler comments

* Shorten CLI runtime and command specification comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…#32288)

* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

* chore: shorten remaining CLI root comments

* Shorten CLI handler comments

* Shorten CLI runtime and command specification comments

* Shorten top-level main process A–G comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…lyai#32681)

* test: exercise fresh orchestration output and identity fixtures

* test: check brief task values at the current output boundary

* test: observe worker CLI receipts through actual output

* test: reach sender lookup and print real worker wait states

* test: verify retry deadlines and headless recovery admission

* test: audit ACP lifecycle and recorded response boundaries

* test: exercise mobile and CI admission contracts

* test: check cache producers and exact capped output

* test: reconcile upstream audit coverage and cache admission

* docs: align integrated audit record hashes

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…#32290)

* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

* chore: shorten remaining CLI root comments

* Shorten CLI handler comments

* Shorten CLI runtime and command specification comments

* Shorten top-level main process A–G comments

* [comment audit] Shorten main process H–K comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…stablyai#30159) (stablyai#30192)

Co-authored-by: Kelvin Amoaba <97001695+AmoabaKelvin@users.noreply.github.com>
…ai#31503)

Co-authored-by: Jaeyoung22 <89302528+Jaeyoung22@users.noreply.github.com>
Rolls in the 69 missing translations from stablyai#32017 by @lucasrbsouza, preserving the current catalog and his original translated values. Adapted from commits a103b8d and 81befb5.
…tablyai#32777)

* test: audit repository visibility and session-search CLI coverage

* test: verify service identities and public skill-sharing output

* test: verify terminal retry commands and unsuccessful navigation attempts

* test: exercise bulk-close refusal and printed legacy prompt receipts

* test: audit host discovery and agent launch recovery identities

* test: audit ACP replay, lifecycle, and hook delivery coverage

* test: audit automation errors and build artifact guards

* test: audit mobile bridge and bundle lifecycle coverage

* docs: reconcile audit tracker with input-ownership changes

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…#32295)

* chore: shorten process-host comments

* chore: audit CLI parsing and host-routing comments

* chore: remove stale host-selector restriction comment

* chore: shorten remaining CLI root comments

* Shorten CLI handler comments

* Shorten CLI runtime and command specification comments

* Shorten top-level main process A–G comments

* [comment audit] Shorten main process H–K comments

* [comment audit] Shorten main process L–O comments

---------

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…blyai#32838)

* Revert "fix(workspace): show launch actions in empty tab groups (stablyai#32182)"

This reverts commit afe62ef.

* Retire empty-workspace translations removed by revert
* Revert "Show child workspace statuses in the children toggle (stablyai#32224)"

This reverts commit b4ee652.

* Fix revert button styling and retire stale child-toggle translations
OrcaWin and others added 22 commits October 24, 2026 01:22
…ablyai#33088)

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…es load (stablyai#33038)

* fix(native-chat): name workspaces by folder in the resume dialog while workspaces load

On restart the resume dialog opens before the full workspace list loads, so
every row it could not look up showed its raw repo-qualified id. Fall back to
the folder name the id carries, as the status bar and Automations already do.

* fix: distinguish unknown resume workspaces with matching folder names

* refactor: extract resume workspace display derivation

* fix: distinguish resume workspace control names
…osing it (stablyai#33071)

On macOS wake and network online events every remote-runtime socket was
probed with an 8 s deadline and closed on a miss. Relayed or lossy links
still rerouting after a wake lost connections that would have survived.
A miss now re-pings and leaves the socket until the normal 25 s keepalive
window ends; the probe is skipped when data arrived in the last 3 s.
…tablyai#33093)

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…ai#33094)

Client control-socket closes and server heartbeat reaps only reached the
console, which a packaged app never shows. Each control-socket close now
writes a remote-runtime.control-socket-close span (cause, close code,
error code, last keepalive RTT, socket and ready uptime). Each server reap
writes remote-runtime.server-socket-reaped. Both land in the main trace
file that Send app diagnostics collects. Keepalive pongs now measure RTT,
exposed as lastRttMs and lastCloseCause on the shared-control diagnostics.
…i#33098)

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
* fix(editor): enable Lean syntax highlighting

* fix(editor): enable Lean syntax highlighting

Adapt stablyai#31930 onto current main and retain its bundled Lean grammar repair. Register the lazy TextMate provider and cover detection, proof syntax, nested comments, and bounded tokenization.

* test(editor): verify Lean highlighting in the full app

---------

Co-authored-by: Neil <neil@stably.ai>
…lyai#19600)

* fix(agent-hooks): force C numeric locale on POSIX curl timeouts

curl parses --connect-timeout/--max-time with locale-sensitive strtod, so comma-decimal locales reject 0.5 and every hook silently falls into the restart spool.

Fixes stablyai#19578

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(agent-hooks): neutralize LC_ALL before setting LC_NUMERIC=C on POSIX curl

Signed-off-by: siddiqui irshad <mohdirshad1306@gmail.com>

* style(agent-hooks): format scoped curl commands

* test(hooks): expect scoped curl locale in Muse install script

---------

Signed-off-by: siddiqui irshad <mohdirshad1306@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Neil <neil@stably.ai>
…24470)

* fix(dashboard): skip hidden pop-out view transitions

A column change in a hidden Agent Dashboard pop-out started a View
Transition whose ready promise rejects with InvalidStateError. Nothing
observed that promise, so each move became an unhandled rejection.
Skip the transition while the document is hidden, and consume ready
when a transition still starts.

Fixes stablyai#21323

* fix: preserve visible dashboard transition errors

* test(dashboard): preserve unrelated hidden transition errors

---------

Co-authored-by: Neil <neil@stably.ai>
…created (stablyai#33103)

* fix(worktrees): don't prune worktrees the other Git (Windows or WSL) created

On Windows one repo can hold linked worktrees written by both Git for Windows
(link C:/...) and WSL Git (/mnt/c/..., /home/...), e.g. after the project runtime
toggle switched it. Each Git reads the other's links as missing, and the
`git worktree prune` Orca runs after removing a worktree (and before deleting a branch
held by one) deleted those worktrees' metadata, leaving checkouts git no longer knows.
All five prune sites now go through pruneGitWorktrees, which reads the link files first
and refuses (through each site's existing failure path) when any link is foreign to the
Git that would run.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(worktrees): lock the other Git's entries for the prune instead of skipping it

Review: refusing the whole prune broke stale-registration recovery and left branches
undeletable in mixed repos, and reading <cwd>/.git/worktrees missed bare and linked
checkouts. Now the other Git's entries get a marked lock file for the prune (git never
prunes a locked entry; a user's existing lock is kept), the rest prune as before, and
the admin dir comes from rev-parse --git-common-dir once routing is settled.
//server/share links read as Windows Git's.

Co-Authored-By: Claude <noreply@anthropic.com>

* test(worktrees): drop a type assertion from the prune guard test

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(worktrees): serialize guarded prunes per repo and reclaim stale guard locks

Re-review: two prunes in one repo could interleave so the first's unlock let the
second prune the other Git's entry, and a crash between lock and unlock left a lock
read as the user's forever. Prunes now chain per admin dir, and a lock carrying the
guard's own reason is reclaimed.

Co-Authored-By: Claude <noreply@anthropic.com>

* test(worktrees): assert the overlapping prune waits, not only its outcome

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
…rtions (stablyai#33106)

Co-authored-by: OrcaWin <293788423+OrcaWin@users.noreply.github.com>
…ai#32194)

* fix(windows): include registry addon in relocated daemon host

* test(windows): preserve registry path in native-read child script

* fix(ci): match registry gate command to recorded validation
…stablyai#32750)

* fix(terminal): keep xterm parse barriers and the output behind them across a resize

Orca waits for xterm to finish parsing by writing an empty string with a
callback. In xterm 6.1, resize() drains the write queue through
WriteBuffer.flushSync, whose loop stops at a falsy chunk and clears the rest of
the queue. A resize while such a barrier was queued therefore dropped its
callback and every chunk written after it: replay guards and output waits fell
back to their stall timers, and that pane output never reached the screen.

The replay guard, output scheduler and write-pipeline probe now write a
zero-length Uint8Array through writeXtermParseBarrier. It parses as nothing, but
it is a truthy chunk, so the flush keeps going. Test fakes that recognised a
barrier by '' now check for a zero-length write. Regression tests use real
@xterm/headless and fail before the fix.

Fixes stablyai#26950

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* test(terminal): verify parse barriers across installed xterm runtimes

Exercise the existing contributor workaround against both browser and
headless packages through replay waits, scheduler waits and health probes.
Check FIFO callbacks, following bytes, parser tails and no-resize controls.
Register the bounded resize invariant as an experimental reliability gate.

Make terminal test writers accept string or Uint8Array and preserve textual
captures through the existing fixture conversion. Keep the original PR's
production implementation and contributor ancestry unchanged.

* test(terminal): complete byte barriers in unhide restore fixture

---------

Co-authored-by: outof-place <contact@outofplace.space>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
stablyai#33104)

* feat(telemetry): count Windows-drive WSL repos with WSL-made worktrees

The daily wsl_usage_snapshot gains projects_wsl_windows_drive_wsl_worktrees: of the
Windows-drive repos that run Git in WSL, how many have a linked worktree WSL Git made
(a Linux-path link). Git for Windows can't take those over, so the D1c conversion
refuses them; this sizes that class before the bridge is removed. Bucketed count only,
read from the link files with no Git spawned; optional in the schema so older payloads
still validate.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(telemetry): don't count Windows Git's //server/share worktree links as WSL-made

Review: a UNC link starts with '/' too. Reuse the prune guard's classifier, and note
that a repo whose .git is a file reads as having no worktrees (no Git is spawned).

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
Upstream range 5d32f37..30733ac, 236 commits. 21 conflicted
files. 17 come from upstream's comment audit (2847bbe, stablyai#32966),
which shortened comments beside fork lines; each keeps the fork's lines
unchanged next to upstream's new comment.

- Host resume (fork #30): upstream stablyai#32991 rewrote
  manual-compact-status-cleanup.test.ts as one case per cleanup; the
  fork's expectation (pane cleanup leaves only the retained resume
  identity) is ported into it. web-session-terminal-handle-events.ts
  takes upstream stablyai#33062, which now carries the handle's incarnationId,
  instead of the fork's copy of that field; the fork's
  `incarnationId: null` test expectations go with it.
- Auto-resume (fork #6): candidate-resume-startup.ts follows upstream
  stablyai#31315's launch-profile signature and passes the settings and the
  target platform, as upstream's own resume path does.
- Unreachable-host removal (fork #3): project-removal-outcome.ts
  follows upstream's move of remote-runtime-client-error-classification
  into src/shared/remote-runtime/.
- Update sources (fork #8 #10 #16 #17 #27): .gitignore keeps the
  fork's allow-list lines and takes upstream stablyai#32903's removal of
  docs/audits; es.json takes upstream's translation plus the fork's
  keys. electron.vite.config.ts went over max-lines in a clean
  auto-merge, so the fork's define spreads move into
  withSwaplabsUpdateDefines in swaplabs-update-defines.ts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 24, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-24T10:28:20.391695Z c361964 PR opened
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@kiwidream
kiwidream merged commit a1c9ba1 into swaplabs/main Oct 24, 2026
57 of 59 checks passed
@kiwidream

Copy link
Copy Markdown
Author

Post-merge follow-ups from the sync automation:

Other red checks are upstream's own, with no fork lines involved:

  • Mobile verify: mobile-native-chat-merged-snapshot-parity.test.ts timed out after 60 s.
  • Cloud Verify test: cloud/apps/relay relay.blackbox.test.ts got device-resume-confirmed where it expected control-error.
  • PR checks passed: the aggregate gate over the failures above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.