Repository navigation
fix(mobile): keep organization management reachable from Profile in Personal context - #8454
Conversation
…ersonal context The Profile screen rendered the Organization section only while an organization was the active credit account. Selecting Personal therefore removed the section, and the organization hub has no account control of its own, so organization management was reachable only by switching the credit account back. The section now renders in every credit-account context when the account has memberships. In Personal context its row reads "Select an organization" and opens the existing account picker (the same sheet the Credits card uses); after a choice the section shows the selected organization's Manage/View row, which opens the hub. The row waits for the stored selection to restore, so the chooser never paints before the active organization's row. Accounts with no membership keep the section hidden. The row reuses the existing "Select an organization" key, so no catalog changes were needed. Verified on the Android emulator with a local test account in two organizations: Personal keeps the Organization section, the row opens the picker listing the memberships, and choosing the member-role organization flips the row to View organization and opens its hub.
|
bot: Android emulator evidence for the Profile Organization section, captured on a local dev build with a local test account in two organizations.
The section captures are cropped above and below the changed area; the picker and hub captures are full-screen. |
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThe incremental change moves the Profile Organization section cases into Assumptions: Files Reviewed (5 files)
Previous Review Summary (commit 4b6dd40)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 4b6dd40)Status: No Issues Found | Recommendation: Merge Executive SummaryReviewed the Profile screen Organization section change and its mounted tests; the picker wiring, restore gating, and member/no-membership paths are consistent with the existing account-picker implementation, and no changed-code defect was found. Assumptions: Files Reviewed (4 files)
Reviewed by deepseek-flash-latest · Input: 61.6K · Output: 4.8K · Cached: 514.7K Review guidance: REVIEW.md from base branch |
|
bot: Android emulator run at the pull request head (766440b), on this work VM's local dev stack with a disposable local account that belongs to two organizations (owner of one, member of the other). Steps and observations, in order:
All captures are full-screen, from the local dev build. |









Change
apps/mobile/src/components/profile-screen.tsxrenders the Organization sectionwhenever the signed-in account has memberships, not only while an organization is
the active credit account.
account picker (
useContextPicker, the same sheet the Credits card uses). After achoice, the section shows the selected organization's "Manage organization" /
"View organization" row, which opens the organization hub.
frame before the active organization's row.
boundary.
organization.boundary.selectOrganizationkey, so no catalog or translation updates.
Verification
Mounted tests in
apps/mobile(pnpm exec vitest run src/components/profile-screen):with Personal and both organizations listed and the current account checked; picking
the second organization publishes it and stays on Profile.
Also run:
pnpm typecheck,oxlinton the changed files, and the full mobile vitestsuite.
Android E2E on this VM at head
766440b: local dev stack,omp36emulator,disposable local account in two organizations (owner of one, member of the other).
"Manage organization" with that organization's name.
reads "Select an organization".
choosing the member-role organization stays on Profile and flips the section to
"View organization" with that name, and tapping it opens that organization's hub
(organization seats and the Members row).
no-membership boundary is unchanged.
select row again once the stored selection restores.
Screen captures from that run are published in a comment on this pull request.
Proxy answers
The owner's proxy gave these answers in the owner's place.
Answer: Open the existing account picker
Confidence: 0.72 · Precedent: Keep similar elements consistent across surfaces and do the least work possible: the thought row was asked to match the tool call row, and "do the least amount of work possible, with no drop in quality".
Answer: Stay on Profile
Confidence: 0.55 · Precedent: Do the least work possible with no drop in quality: "skip work that doesn't need to be done".
Answer: Wait for the restore
Confidence: 0.85 · Precedent: Hold all UI work to the best-in-class standard with no layout shift: "CLS is a massive enemy".
Answer: 'Select an organization' only
Confidence: 0.72 · Precedent: Speed and least work: "do the least amount of work possible, with no drop in quality". The existing key is accurate for every role, so no new string is needed.
Answer: Keep 'Select account'
Confidence: 0.70 · Precedent: Speed and least work: "skip work that doesn't need to be done". The sheet still lists Personal plus organizations, so 'Select account' is accurate and the shared hook stays unchanged.