You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Mobile: align Android app dialogs and confirmations with OCAT settings #2106
Android application-owned menus and confirmations still use React Native Alert, producing square system dialogs that do not match the accepted OCAT-inspired Settings surfaces. The Human supplied the unpair confirmation as a concrete example.
Scope
Reuse mobile design tokens for a rounded, centered Android dialog surface, backdrop, typography, tonal actions and bounded scrolling at large text sizes.
Route Host menus/unpair, Chats create choices and group member/removal/disband confirmations through one shared app dialog primitive.
Keep iOS presentation and operating-system permission prompts unchanged; preserve explicit destructive confirmation, cancellation/Back behavior, single execution and error handling.
Document the Android app-owned-dialog rule and add focused regression coverage plus actual phone screenshots, cancel/Back checks and a real-IME interaction check where applicable.
Acceptance
Unpair asks for confirmation in the same visual language as Settings; cancel/back/backdrop cannot unpair. No raw native Android Alert remains in app-owned UI. Destructive controls remain explicit, accessibility labels and native large text stay usable, and the PR records platform qualification limits.
Task: codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347 (not a DSH Session)
Issue scope: shared OCAT-style Android application dialog and migration of all current Alert call sites; preserve iOS/system prompts and destructive confirmation semantics. Native phone evidence using the existing reserved lane.
Agent work outcome — Android dialogs ready for visual review
Task: codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347; state: handed-off for Human visual review.
Draft PR fix(mobile): align Android dialogs with OCAT settings #2109, exact head 16c7c9af96803f2dde580328ecabb8aa0098dc10; comparison base ccfcbd17175df2eb019cf5e71b2e038ddd41d14f, current target main 2202bef4d744893fddf66cdd0a6b0c58f710dfb6. PR is mergeable and all required exact-head checks passed. It is not merged.
Host menus/Unpair, Chats creation choices and group member/removal/disband prompts share the rounded Settings surface, rows and pill buttons on Android. iOS system presentation and OS-owned permission prompts remain in place. The Design guide and style guard enforce the shared adapter.
Native Android light/dark ×font1/1.3/2 passed: equal normal/intermediate action columns, stacked large-text actions, minimum48dp controls, nested confirmation, Cancel/Back/backdrop with drawer/pairing retained, Create/group cancellation, actual search IME dismissal and cold reopen. No shared Host/group was destroyed, member removed, chat message sent or pending request answered.
570 mobile tests passed/8 skipped;15 CLI inventory/parity and28 CI-plan tests passed. Root/mobile types, lint, format and changelog passed. A Windows path-separator defect in the inventory check was fixed with a regression test. The native adapter test is isolated as a .tsx test to avoid leaking RN global timer/fetch declarations into Host typechecking.
16 matched pairs and native proof; original-speed and0.5× recordings, same227 frames,21.64s/43.13s. Twelve GitHub image tags rendered; pinned image/video and review-page URLs verified accessible. The explanation is bound to the exact head and checked at1000/380px.
iOS native, TalkBack, actual destructive submission and native refusal injection remain unqualified. Logical tests cover refusal/retry/single execution. The baseline and new development client both emitted duplicate-linking warnings during ADB font changes; Android SDK58 dev client: font-scale changes show duplicate linking warning #2110 tracks that finding separately and the dialog crops disclose it.
The phone is running the new UI and scrcpy remains available. Original font/theme restored, primary Host model audit unchanged, and only this task's own review services are retained under the existing lane.
Agent: Codex; Task: codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347 (not a DSH Session). Branch: codex/2106-android-ocat-dialogs, PR #2109. State: active, resuming after Human feedback. Scope: Material button hierarchy for multi-action dialogs; clear tonal/outlined action surfaces, restrained Cancel, semantic destructive styling, native before/after. #2111 performance work is checkpointed separately and will continue.
Standards review found no blocking code issue; the spec review's stale callback dispatch issue was fixed with request-bound action handlers and regression coverage. Both rounds of main conflicts retained current-main behavior, including cloud invitation choices.
All required checks passed on exact head 6ea4243af2d65445a769fb187eaa4d67ce10b390: static/build, iOS/Android bundles, affected tests, isolated-Host smoke and aggregate. Intentional skipped jobs remain skipped. CodeRabbit was rate-limited and supplied no substantive review; independent Standards/Spec review was completed instead.
Local focused tests and mobile types passed. Original Android evidence retains its source revisions. No new native validation is claimed; current invitation layout, iOS/TalkBack and actual destructive success/failure remain qualification limits recorded in the PR. Earlier broad local Windows related runs were stopped in memory/Git fixtures and are not counted as passes.
State: completed. Issue closed by merge; prior implementation claims were handed off, so no active claim remains for this issue.
Activity
DoodleBears commentedon Oct 17, 2026
Agent work claim
codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347(not a DSH Session)codex/2106-android-ocat-dialogsfix(mobile): keep dialog action columns balanced
test(mobile): expose dialog action bounds for native QA
fix(mobile): constrain dialog actions to equal columns
test(mobile): isolate native dialog types from Host typecheck
docs(qa): capture Android dialog comparisons and cancellation proof
docs(qa): add original-speed and slow dialog review recordings
DoodleBears commentedon Oct 17, 2026
Agent work outcome — Android dialogs ready for visual review
codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347; state: handed-off for Human visual review.16c7c9af96803f2dde580328ecabb8aa0098dc10; comparison baseccfcbd17175df2eb019cf5e71b2e038ddd41d14f, current target main2202bef4d744893fddf66cdd0a6b0c58f710dfb6. PR is mergeable and all required exact-head checks passed. It is not merged..tsxtest to avoid leaking RN global timer/fetch declarations into Host typechecking.DoodleBears commentedon Oct 17, 2026
Agent work claim — action hierarchy follow-up
Agent: Codex; Task:
codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347(not a DSH Session). Branch:codex/2106-android-ocat-dialogs, PR #2109. State: active, resuming after Human feedback. Scope: Material button hierarchy for multi-action dialogs; clear tonal/outlined action surfaces, restrained Cancel, semantic destructive styling, native before/after. #2111 performance work is checkpointed separately and will continue.fix(mobile): clarify Material dialog action hierarchy
fix(mobile): dismiss choice menus without redundant cancel buttons
chore(qa): record color-based dialog actions and dismissal
chore(qa): bind dialog action matrix to its runtime source
DoodleBears commentedon Oct 17, 2026
Agent work outcome — action hierarchy follow-up
codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347(not a DSH Session)9c150b971897104787a26585db3dc8f9bbc659b9DoodleBears commentedon Oct 18, 2026
Agent work claim — PR integration review
codex/local/01a14ecc-2191-78c1-9775-6ce14920a5c2(not a DSH Session)codex/review-2109, updating PR branchcodex/2106-android-ocat-dialogs.merge: integrate main into Android dialogs PR
fix(mobile): bind dialog actions to their request
test(mobile): isolate statistics settings native imports
merge: retain invitation choices in shared Android dialogs
DoodleBears commentedon Oct 18, 2026
Agent work outcome — completed
codex/local/01a14ecc-2191-78c1-9775-6ce14920a5c2(not a DSH Session).b6434c8after the Human requested review and merge if clean.6ea4243af2d65445a769fb187eaa4d67ce10b390: static/build, iOS/Android bundles, affected tests, isolated-Host smoke and aggregate. Intentional skipped jobs remain skipped. CodeRabbit was rate-limited and supplied no substantive review; independent Standards/Spec review was completed instead.fix(mobile): align Android dialogs with OCAT settings (BotHarness#2109)