2.2 KiB
2.2 KiB
Iteration 08 Request
- Task: 20260831-105824-plan-code-ui-audit
- Requested by: build from
iterations/07-review.md - Owner: coder
- Status: changes-requested
Required Corrections
- Fix the transient mic-state flaw with explicit user intent. Track whether the user/session mode intentionally wants the mic muted separately from
isMuted, which also reflects interruption-owned hardware state. Public mute actions update user intent after success; successful normal mic enable clears it; text mode still enforces disabled mic. In a new interruption begin operation, decide whether to mute only after awaiting the predecessor, using current sequence/generation/text mode and user-intent state, not a pre-awaitisMutedsnapshot. Ensure begin A → end A/unmute → begin B finishes muted. Add a pure operation-state seam/test if practical. - Replace the finite nested server replacement with one retained worker loop. Every accepted Apply writes
pendingServerURL(latest wins). If no worker is active, start one; while a pending value exists, consume/capture/validate it, disconnect the exact current session, build from that captured config, atomically setsessionandactiveServerURL, then loop again in case a newer value arrived during disconnect. Clear worker/replacing state only after pending is empty. Cover A→B→C semantics through a small coordinator/pure test if practical. - During terminal failure teardown, clear all per-room/session published fields before exposing
.failed:agent,isMuted, user mute intent,micError,models,selectedModel,isReconnecting, interruption ownership/tasks, and other ephemeral connection state. Preserve deliberate durable settings, transcript history, and task history. Restrict inbound control-event application to active connecting/waiting/ready lifecycle states so late failed-room events cannot repopulate stale fields. - Run complete XcodeBuildMCP tests, separate build, source suite-count check, and
git diff --check. Writeiterations/08-implementation.md, update implementation.md/manifest, and do not self-approve.
Scope
- No broad Hope UI implementation, reference-project changes, commits, or dilution of real-device/server-format qualifications.