Skip to content

Mobile: align Android app dialogs and confirmations with OCAT settings #2106

Closed

Description

@DoodleBears

Problem

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.

Activity

  1. DoodleBears commented on Oct 17, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim

    • Agent: Codex
    • 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.
    • Branch: codex/2106-android-ocat-dialogs
    • Started: 2026-10-17 UTC
    • State: active
  2. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 17, 2026
  3. DoodleBears commented on Oct 17, 2026

    @DoodleBears
    ContributorAuthor

    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.
  4. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 17, 2026
  5. DoodleBears commented on Oct 17, 2026

    @DoodleBears
    ContributorAuthor

    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.

  6. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 17, 2026
  7. DoodleBears commented on Oct 17, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — action hierarchy follow-up

    • Agent: Codex
    • Task: codex/local/01a145e7-8579-7ec3-b958-d3bef00fc347 (not a DSH Session)
    • State: handed-off for Human visual QA
    • PR/head: fix(mobile): align Android dialogs with OCAT settings #2109 / 9c150b971897104787a26585db3dc8f9bbc659b9
    • Delivered: tonal choice buttons/icons, danger fills, no button outlines, no redundant menu Cancel; Back/backdrop close choices, explicit dangerous confirmations retain Cancel.
    • Proof:571mobile/8skipped, types/lint/format, required exact-head CIgreen. Native six appearance/font cases,48dp reachability, backdrop/Back, Customize destination and retained pairing. Final pinned images/HTML aid in PR; earlier videos retain earlier visual identity. No native destructive operation submitted.
    • Remaining: Human visual acceptance, iOS/TalkBack/native destructive failure paths. PR remains draft/unmerged. Navigation responsiveness work continues separately in Mobile: immediate navigation feedback and asynchronous cached page content #2111 with the same assigned phone lane.
  8. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 17, 2026
  9. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    Agent work claim — PR integration review

    • Agent: Codex
    • Task: codex/local/01a14ecc-2191-78c1-9775-6ce14920a5c2 (not a DSH Session)
    • Issue scope: review fix(mobile): align Android dialogs with OCAT settings #2109, resolve additive main conflicts, validate integration and merge if clean, as requested by the Human.
    • Branch: codex/review-2109, updating PR branch codex/2106-android-ocat-dialogs.
    • State: active; prior implementation task handed off for Human review.
  10. added
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 18, 2026
  11. DoodleBears commented on Oct 18, 2026

    @DoodleBears
    ContributorAuthor

    Agent work outcome — completed

    • Task: codex/local/01a14ecc-2191-78c1-9775-6ce14920a5c2 (not a DSH Session).
    • PR fix(mobile): align Android dialogs with OCAT settings #2109 merged as b6434c8 after the Human requested review and merge if clean.
    • 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.
  12. removed
    agent:activeOne or more coding-agent tasks currently claim this issue; see claim comments for task IDs
    on Oct 18, 2026
  13. added a commit that references this issue on Oct 18, 2026
    b6434c8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions