Skip to content

Fix mobile environment labels and conversation navigation - #2838

Merged
DoodleBears merged 7 commits into
mainfrom
codex/2782-environment-identity
Oct 25, 2026
Merged

DoodleBears merged 7 commits into
mainfrom
codex/2782-environment-identity

Conversation

@DoodleBears

@DoodleBears DoodleBears commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Refs #2782 | Follow-up claim

Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491.

Why the change

Make environments easy to distinguish in mobile All lists and restore conversation taps that targeted Expo 58's outer wrapper instead of the app stack.

Special things to note

  • Merge risk: two-way door, revert this patch; medium blast radius, mobile source labels, pairing appearance and shared navigation. Review app-stack targeting, source-qualified Back history and preserving existing custom looks. No Host API, dependency or native binary changes.
  • Validation at bd62dad0bd3b48ed3eb8d2af18e2e7a40755174d: 254 mobile test files passed / 9 skipped; 1,896 tests passed / 11 skipped. Mobile typecheck, source-policy check, release-fragment check and feature-map check passed. The wrapper-stack navigation regression failed twice before the fix; 57 focused navigation tests passed afterward. Expo Web export passed.
  • Focused Android checks passed at bd62dad0bd3b: on the POCO, All Chats and Activity both opened the correct B DM; Back returned to the originating list; only B unread cleared and canonical readback kept the marker on B. Dark/default-size Chats and Activity showed the new source layout/icons. Changing B to a green lab icon updated both lists immediately without reload and left A unchanged. This is not full native acceptance: new pairing defaults, colliding-ID history, iOS, large-text/theme/accessibility and background push remain unqualified. Current head 6ef4eba2f82f4173936e9b40da2bd92b4982c32d integrates main e2cee221a; 87 focused tests, mobile typecheck and repository lint pass after integration; a subsequent formatting-only commit fixes two CLI documentation blank lines brought in by main, and full-repository format check passes. The native navigation regression now follows the existing mobile .tsx test boundary; root and mobile typechecks and its two regression tests pass. The latest main integration resolves the shared connection-test helper conflict and uses its native-module mocks; 15 focused tests and root typecheck pass. CI passed on this exact head: lint/format/typecheck/build, all three affected-test shards, iOS/Android mobile verification and isolated-Host E2E smoke. The aggregate gate passed; docs/native-module/full-suite/real-model jobs were skipped by the change plan. CodeRabbit reported a rate limit, not a fresh review. CI run. That newer integration has not been tested on the phone.

Change outline

- Chat: title + icon / environment name / message preview
+ Chat: title + colored icon + environment name / message preview
- Activity: title + environment text
+ Activity: title + colored environment icon + environment text
- New pairing: same default icon for every environment
+ New pairing: least-used symbol and color among paired environments
+ Re-pairing: retain saved customization
- Conversation NAVIGATE / workspace RESET -> Expo outer __root stack
+ Locate the active app stack containing (tabs) -> dispatch to its key

The environment picker remains editable. Existing pairings are not recolored; once all preset colors are used, new pairings reuse the least-used color. Activity reacts to icon/color edits without reopening the page.

Expo 58 mounts the app under an outer __root stack. The old helper returned success after dispatching to that wrapper, which does not register the conversation routes. The fix finds the owning app stack for local/cloud conversations, workspace resets and removed-source cleanup. Tests retain the native Stack reducer and now include the outer wrapper.

Visual evidence and scope: the real Expo Web export opens the pairing screen, but this browser has no paired environments and reports unsupported expo-file-system; no populated All/Activity comparison is claimed. The shared Android owner captured both lists and verified Chats/Activity taps and Back at bd62dad0bd3b; the Human authorized publishing the two cropped screenshots below. Manual appearance propagation passed; first-pair allocation is covered automatically but remains untested on the phone because both dedicated QA Hosts are already paired. Earlier screenshots in #2795 are not evidence for this patch. Updated two-Host journey.

All Chats — physical Android phone

Environment icon and name share the first line with the Bot/channel title; the message preview occupies the second line.

Android All Chats: colored environment icon and label on the first line

Activity — physical Android phone

B uses a green laboratory icon and A a blue/purple laptop icon. Changing B's appearance updates Chats and Activity without reload.

Android Activity: distinct colored environment icons beside source names

Both captures: POCO / Android 16, dark theme, default text size, Chinese UI; cropped image 1220 × 2582. Tested JavaScript bd62dad0bd3b, batch windows-2795-r3; these are not captures of the later main integration. The floating Tools button is the development overlay. Capture provenance and limits. These are after-state captures; a matched before/after pair was not captured in this batch. QA resources have been released and the phone restored to its preceding development APK, with pairings and app data retained.

Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
@coderabbitai

coderabbitai Bot commented Oct 25, 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 16 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
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 2177152b-ee96-4d9f-8f3e-0e27b875a0cd
Commits

Reviewing files that changed from the base of the PR and between e2cee22 and 6ef4eba.

Files ignored due to path filters: 2
  • .github/pr-screenshots/2838/activity.png is excluded by !**/*.png
  • .github/pr-screenshots/2838/chats.png is excluded by !**/*.png
Files selected for processing: 20
  • .agents/skills/verify-deepseekbot/features/phone-multiple-hosts.md
  • .github/pr-screenshots/2838/README.md
  • apps/mobile/src/host/activity-sources.ts
  • apps/mobile/src/host/host-look.ts
  • apps/mobile/src/host/native-activity-sources.ts
  • apps/mobile/src/ui/chat/conversation-row.tsx
  • apps/mobile/src/ui/chat/source-name.tsx
  • apps/mobile/src/ui/design/host-look.ts
  • apps/mobile/src/ui/shell/activity-feed.tsx
  • apps/mobile/src/ui/shell/channel-navigation.ts
  • apps/mobile/src/ui/shell/cloud-channel-navigation.ts
  • apps/mobile/src/ui/shell/use-pairing.ts
  • apps/mobile/src/ui/shell/workspace-navigation.ts
  • apps/mobile/test/activity-feed.test.ts
  • apps/mobile/test/activity-multiple-hosts.test.tsx
  • apps/mobile/test/app-stack-navigation.test.tsx
  • apps/mobile/test/channel-navigation-harness.tsx
  • apps/mobile/test/conversation-row-layout.test.tsx
  • apps/mobile/test/host-look.test.tsx
  • changes/2782-environment-identity.md
  • 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.

Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
@DoodleBears
DoodleBears marked this pull request as ready for review October 25, 2026 20:25
Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
Issue: #2782

Agent-Task: codex/local/01a172ec-cdb4-7823-bf7d-546549ec6491
@DoodleBears
DoodleBears merged commit 6cc30b5 into main Oct 25, 2026
13 checks passed
@DoodleBears
DoodleBears deleted the codex/2782-environment-identity 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