Repository navigation
feat(client): unify Host settings and device-local appearance - #2564
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters: 16
📒 Files selected for processing: 34
✨ Finishing Touches
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Implementation handoff: head 4d60915 / base 265cb6f. Explicit lease push from remote de4c82e succeeded; remote SHA and PR body readback match. Six feature patches are identical to d080 (range-diff all Actual local checks at d080b8cce7b31f0a932aafa4444286da6e1b3d93 / dd1fc54: frozen ignore-scripts install (child/network 1), 199 tests in 15 focused files (workers 1, no file parallelism), root/mobile typecheck, lint, changed-file format, complete root/Client build and diff check all exit 0. Node 24.21.0 / pnpm 12.4.2 / GOMAXPROCS=2. Four tracked Browser/Computer JS/maps naturally unchanged; no whole-repository format/full suite claimed. A pre-test QA deadline guard incorrectly reparsed UTC, exited 1 without launching tests, and was corrected without changing the window; its diagnostic is retained. Heavy release: 2026-10-22T08:41:40.3803035Z. All 25 recorded PIDs absent; task processes, descendants found through recorded parents and owned listeners empty; ports 47261/47262 not listening. No Host/browser/native/Metro/device resources started this window. Receipts and exact command lists remain in the local task evidence directory. No further heavy work is running or authorized here. Vain's merge-first instruction supersedes the previous draft-only handoff. Supplementary screenshots, Chinese Session diagnosis, This Host/Usage/narrow acceptance and designated Android checks follow merge; none is silently marked passed. Original cancelled run and unattributed Target-closed failure remain retained. R1 Standards 0 hard + 2 P3, Spec 3 P2; R2 static 0/0, original findings addressed, not runtime proof. Original CI 119654677280 evidence-README format failure is preserved, with type/build skipped. The separate upstream #2554 formatting fixes remain owned by the assigned #2552 owner; this branch adds no duplicate patch to those files. Previous-head CI job 119727469578 passed lint and failed only those two upstream format files; skipped type/build remain unverified. The five-panel Chinese HTML explainer is refreshed to this exact base/head using repository code. It is a local handoff artifact, not a publicly hosted GitHub review artifact or runtime evidence. Historical 16 screenshot URLs remain pinned to their original 7c28520 storage commit and 08290 capture source; they do not claim current-head screenshots. Parent owns final CI and merge; no independent CI polling or merge by this implementation thread. |
5116e82 to
de4c82e
Compare
Issue: #2500 Agent-Task: codex/local/01a16195-979b-7853-abdb-4acbf963c95c
Address R1 Spec storage concurrency, failed hydration and CLI expiry findings. Keep early disconnect outcomes unknown and require explicit readback. Rename HostSettings and share strict HostLook membership guards. Issue: #2500 Agent-Task: codex/local/01a16195-979b-7853-abdb-4acbf963c95c
Apply repository formatting after R2 source review; no behavior change. Issue: #2500 Agent-Task: codex/local/01a16195-979b-7853-abdb-4acbf963c95c
Issue: #2500 Agent-Task: codex/local/01a16195-979b-7853-abdb-4acbf963c95c
Issue: #2500 Agent-Task: codex/local/01a16195-979b-7853-abdb-4acbf963c95c
Issue: #2500 Agent-Task: codex/local/01a16195-979b-7853-abdb-4acbf963c95c
de4c82e to
4d60915
Compare
Why the change
Give each Host one recognizable settings dialog, with its icon/name above Appearance, Notifications, Models, Token usage and Storage, instead of a notification hint occupying the sidebar header.
Refs #2500. Requested by Vain; implemented with Codex assistance. Assignee: DoodleBears.
Agent claim · Task:
codex/local/01a16195-979b-7853-abdb-4acbf963c95c.Special things to note
4d6091539a1b30ccc4464ab3c3e9ba465d9d228d, base265cb6f5c995c689a834e6aeea763ac724844ce1. Six feature commits are patch-identical to testedd080b8cce7b31f0a932aafa4444286da6e1b3d93(range-diff: all=). The latest rebase adds 36 upstream files from feat(mobile): swipe Chats rows and create Host sections #2552 for native Chats swipe actions, section creation and the two known shared format fixes. Only the feature index and architecture document overlap; both sides are preserved. Web Client, shared HostLook owner, appearance relay and lock/manifests remain unchanged. The earlier main integration already included Chats layout and native Blob uploads. No additional local checks or build ran after this rebase; final-head integration gates belong to CI. Vain authorized merge first, then supplementary screenshots/runtime and designated Android testing. The coordinating parent owns CI observation and merge.Change outline
host-lookCLI uses the existing appearance relay with explicit Client/Host, stdin patch, expected revision, expiry and refresh. Same-origin Web Locks reread persistence before merging only the requested Host. Read failure blocks writes; unsupported locks refuse safely.All pairs below: 1440 × 900, English, disposable two-Host fixture. Before
8f4e650db551; After production source08290c7192ad. Images are committed separately at7c28520afe41. Background fixture details differ slightly; the remote Host identity is matched.Capture gaps: the initial Usage selector hit a different heading; corrected after-only keyboard navigation showed zero tokens with Memory still loading, so no matched Usage pair is claimed. At 560 px the existing mobile shell unmounted the dialog. The supplementary Chinese tab became blank with
locale subscriber crashed/ unknown or released Session errors, so Chinese and supplementary This Host UI acceptance remain open. Follow-up: activate a Chinese tab in isolated profiles, reproduce remote-offline → Host settings with observe/doctor and console evidence, then cover Usage/narrow/This Host paths in a separately scheduled window. No failed capture is presented as a passed screenshot.Appearance — Light
Before
After
Appearance — Dark
Before
After
Notifications — Light
Before
After
Notifications — Dark
Before
After
Models (preserved) — Light
Before
After
Models (preserved) — Dark
Before
After
Storage (preserved) — Light
Before
After
Storage (preserved) — Dark
Before
After