Repository navigation
Conversation
kev1n77
force-pushed
the
codex/acp-session-startup-feedback
branch
from
November 5, 2026 02:27
8c208d5 to
10fbd82
Compare
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
Creating an external ACP conversation closes the menu and waits for the agent process to initialize before opening a session. Its lifecycle was recorded as silent notifications, so both the wait and startup failures could look like a failed click. Show persistent startup feedback with a spinner, expose the actual failure with a retry action, and coalesce duplicate creation requests within the same device activation and workspace.
Share the initial model/options and slash-command metadata read on newer hosts. This removes a duplicate RPC and metadata drain during concurrent first-load requests. Add phase timing logs for persistence, transport startup, initialize, session setup and metadata loading; no end-to-end latency reduction has been measured.
Type and Areas
Type: bug fix / UI / performance
Areas: Web UI ACP lifecycle, ACP client metadata response and diagnostics, locales, focused tests and verification guides.
Motivation / Impact
availableCommandsfield advertises combined-read support; older hosts retain the commands endpoint fallback, including when the combined result is an empty list.Verification
After rebasing onto
upstream/mainat6518444112:pnpm run lint:web— passed, 0 errors (18 existing warnings).node scripts/run-vitest.mjs run --maxWorkers=50% src/flow_chat/components/ModelSelectorAcpMode.test.tsx src/app/layout/AcpSessionNotifications.test.tsx src/flow_chat/hooks/useAcpSlashCommands.test.ts(from src/web-ui) — 42 tests passed, including same-device reactivation and cross-device stale-result protection.pnpm --dir src/web-ui run test:run src/app/layout/AcpSessionNotifications.test.tsx src/flow_chat/services/FlowChatManager.test.ts src/infrastructure/api/service-api/ACPClientAPI.test.ts src/flow_chat/components/ModelSelectorAcpMode.test.tsx src/flow_chat/hooks/useAcpSlashCommands.test.ts src/app/layout/WindowResizeLayout.test.tsx— 6 files, 100 tests passed.pnpm run i18n:audit— passed with zero warnings.git diff --check upstream/main...HEAD— passed.pnpm run check:web— blocked by four existing typography violations inDeviceWorkspaceSections.scssandSceneBar.scss. Both files are identical to upstream/main and outside this PR.pnpm --dir src/web-ui exec tsc --noEmit --pretty false— blocked by three existing missing@/generated/apidiagnostics inwebsocket-adapter.tsandConfigAPI.ts.cargo test -p openbitfun-acp --no-default-features --features client,openbitfun-core/git --lib client::session_options::tests— 10 tests passed before rebase, including legacy payload round-trip coverage. The post-rebase rerun was stopped while waiting for the build lock held by an active desktop development build; that development process was left running.Reviewer Notes
The single change commit is rebased onto current upstream/main. Conflict resolution retains main's WindowResizeLayout and its updated session-tab guide alongside the ACP changes.
DOM/API fixtures cover delayed startup, errors, retry, duplicate creation, old-host responses and simulated SSH/Peer identities. Native WebView rendering, live provider cold-start timing, and live Remote Workspace, Remote Control, Peer Device Mode and Detached Dispatch scenarios have not been exercised. Existing remote command capability declarations remain unchanged.
No persisted session/config migration is required; rollback is a normal revert. English, Simplified Chinese and Traditional Chinese strings are included.
Checklist