Webview agent pane waits on live daemon requests

TE
2d ago
+174-93

Leo said: “shouldn't be this short. no reason for this. i imagine there's other nonsensical gates like this to remove in the broader app/acpmux”

Webview agent-pane transport requests now remain pending while the WebSocket is open and the daemon is alive. Requests mark visible progress as “Waiting for the agent service”; closed sockets still reject promptly and reconnect retries continue without a terminal cap. The mock supports ?mock&slowDaemon and the regression tests cover a slow but alive daemon.

Gates audited:

GateVerdict
webviews/src/agent-session/acpmux/direct.ts:4280 request deadlinesprogress marker; no wall-clock rejection while socket is open
webviews/src/agent-session/acpmux/direct.ts:3427 reconnect backoffunbounded backoff up to browser timer maximum
webviews/src/agent-session/acpmux/direct.ts:3450 busy retry capremoved for retryable reads; controls still fail busy refusals
webviews/src/agent-session/acpmux/composerDraft.ts:139 5 s write timeoutremoved; web-swap late hold retained for cleanup
webviews/src/agent-session/acpmux/cloudUploads.ts:30 30 s page step timeoutremoved; cancellation remains
webviews/src/agent-session/acpmux/conversation/RepoRecoveryCard.tsx:99 60 s waitremoved; native call owns liveness
webviews/src/agent-session/acpmux/useCloudChatRecovery.ts:47 60 s recovery deadlineremoved; retries continue while active
webviews/src/agent-session/acpmux/peerCloudMachine.ts:16 60-read start capremoved; polling stops on stage change/unmount
webviews/src/agent-session/acpmux/perf.ts:307 10 s next-commit timeoutretained as test/perf observation timeout
webviews/src/agent-session/acpmux/folderTrust.ts:74 1.5 s trust readretained authority fallback; no prompt without an authoritative answer
webviews/src/agent-session/acpmux/composer/attachmentSources.ts:16 1.5 s source attributionretained optional attribution fallback; chips do not wait
webviews/src/agent-session/acpmux/tailCache.ts:66 250 ms host tailretained cache warmup fallback; cold attach is not blocked

Validation: bun test webviews/src/agent-session/acpmux/transportDeadlines.test.ts webviews/src/agent-session/acpmux/requestBudget.test.ts (fleet run after PR creation).

agent-identity footer --repo manaflow-ai/cmux
🤖 Generated with Codex

Agent session: agent session