Skip to content

feat(client): rename Remote Hosts and scaffold the shared Host Feed - #2511

Merged
DoodleBears merged 3 commits into
mainfrom
codex/2500-host-feed-scaffold
Oct 21, 2026
Merged

DoodleBears merged 3 commits into
mainfrom
codex/2500-host-feed-scaffold

Conversation

@DoodleBears

Copy link
Copy Markdown
Contributor

Requested by Vain.

Why the change

Name browser connections as Remote Hosts and prepare the shared Host Feed so the next slices can reuse one Inbox and authenticated avatar cache / 统一本机与远程的名称,并为后续切片提供共享的收件箱与头像缓存。

Refs #2500; implements Track 0 only, after #2505 and #2506.
Agent claim · codex/local/01a15ebb-a278-7f21-8363-dd343bbf7c0f

Special things to note

  • Merge risk: small blast radius, limited to this browser's Remote Host projection; Host data and device authority stay unchanged. Reverting code is straightforward, but a rollback must copy the renamed browser storage keys back or re-pair. Review migration failure handling, final-subscriber disposal, late image completions and object-URL cleanup. Browser-owned storage remains the existing CLI exemption; the inventory includes its key migration, with no new Host route or setting / 评审重点是旧配对迁移和资源释放;回退须反向复制浏览器存储键或重新配对。
  • Verification: pnpm typecheck, pnpm lint, pnpm format:check, pnpm build and 8 focused Vitest files (138 tests) pass. Two isolated local Windows Hosts: the baseline browser pairs Studio; upgrading preserves the pairing and selected tab, reads humanAttention and channelUnreadCounts through the device gateway (HTTP 200), and opens the remote conversation. Light/dark captures inspected; successful baseline and upgrade drives have zero console warnings/errors. Earlier driver failures and a premature-start 404 were retained separately. No live model call or Human QA is claimed / 双 Host 本地升级路径已验证,未声称模型或人工验收通过。
  • CI test plan: full, because the renamed Client file prevents tracing old importers; no selection rule changed. The handoff reports main failures in workspace-grant-roundtrip.test.ts and client-observer.test.ts from node:sqlite bundling; the focused run does not claim to resolve them. Known gaps: remote chat still has text and attachment names only, without images/cards; Host icon/colour remain per phone; DSH Desktop is unqualified; no two-physical-machine real-tailnet test / 四项缺口保留,Tracks 1–4 在本 PR 合并后启动。

Change outline

RemoteHosts (browser-owned)
  first subscriber → shared HostClient + createInbox({ activity: true })
  roster → device-authenticated image loader → immutable avatars map
  last subscriber / remove → stop Inbox + client, release obsolete image URLs
  old storage keys → remoteHosts.v1 + hostTab.v1 (pairing and selection retained)

computer-sources → remote-hosts; ComputerTabs → HostTabs; locale keys → remoteHosts.*. This Host still uses its existing bridge/store in this slice. The new Inbox/avatar snapshots are scaffolding; their visible row features follow in separate PRs.

Tabs — 1440 × 900 viewport, same paired Hosts, This Host selected; sidebar crop. The machine label becomes This host (Chinese: 本机).

Before, light:

Before: Laptop tab, light

After, light:

After: This host tab, light

Before, dark:

Before: Laptop tab, dark

After, dark:

After: This host tab, dark

Add remote replaces Add computer; Chinese uses 添加远程. The existing dialog and tokens are reused.

Before: Add computer dialog

After: Add remote dialog

Issue: #2500

Agent-Task: codex/local/01a15ebb-a278-7f21-8363-dd343bbf7c0f
Issue: #2500

Agent-Task: codex/local/01a15ebb-a278-7f21-8363-dd343bbf7c0f
Issue: #2500

Agent-Task: codex/local/01a15ebb-a278-7f21-8363-dd343bbf7c0f
@DoodleBears DoodleBears self-assigned this Oct 21, 2026
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 48 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 2 included reviews currently available.

Learn how review limits work.

Review configuration:

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 281fbe89-958d-4dce-b916-0ed5471cf81e
📥 Commits

Reviewing files that changed from the base of the PR and between 2b82975 and 63a2391.

⛔ Files ignored due to path filters: 6
  • .github/pr-screenshots/2500-t0/after-add-light.png is excluded by !**/*.png
  • .github/pr-screenshots/2500-t0/after-dark.png is excluded by !**/*.png
  • .github/pr-screenshots/2500-t0/after-light.png is excluded by !**/*.png
  • .github/pr-screenshots/2500-t0/before-add-light.png is excluded by !**/*.png
  • .github/pr-screenshots/2500-t0/before-dark.png is excluded by !**/*.png
  • .github/pr-screenshots/2500-t0/before-light.png is excluded by !**/*.png
📒 Files selected for processing: 15
  • .agents/skills/dsh-dev/SKILL.md
  • .agents/skills/verify-deepseekbot/features/README.md
  • .agents/skills/verify-deepseekbot/features/remote-hosts.md
  • changes/2500-host-feed.md
  • docs/architecture/botharness-architecture.md
  • packages/client/src/client/bot-sidebar.tsx
  • packages/client/src/client/channel-dock.tsx
  • packages/client/src/client/host-tabs.tsx
  • packages/client/src/client/locale.ts
  • packages/client/src/client/remote-conversation-view.tsx
  • packages/client/src/client/remote-hosts.ts
  • packages/client/test/computer-sources.test.ts
  • packages/client/test/remote-hosts.test.ts
  • scripts/cli-ui-inventory.json
  • scripts/verification-inventory.json
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DoodleBears
DoodleBears merged commit b3728ab into main Oct 21, 2026
12 checks passed
@DoodleBears
DoodleBears deleted the codex/2500-host-feed-scaffold branch October 28, 2026 04:25
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.

1 participant