Skip to content

feat(android): improve iOS UI parity and connection recovery - #12

Open
wookiehangover wants to merge 26 commits into
mainfrom
feat/android-ui-parity
Open

wookiehangover wants to merge 26 commits into
mainfrom
feat/android-ui-parity

Conversation

@wookiehangover

@wookiehangover wookiehangover commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Android’s workspace navigation, conversation controls and recovery screens had diverged from the iOS companion. This draft brings the audited flows closer to the iOS reference and includes the subsequent workspace-list and Intent-menu refinements.

Changes

  • Keep Send available beside Stop; page and collapse questions with whole-row selection; compact queued messages.
  • Add workspace grouping/search and status metadata, compact rows without descriptions, clearer details, left/right edge drawers, Search beside the grouping control and a soft header fade.
  • Use Intent dandelion/close artwork and a reversible menu-button morph, including the grey open state.
  • Improve pairing/trust guidance, reconnect feedback and ownership refresh. Stop retrying WebSocket 401/403 rejection while retaining retry for transient failures.
  • Render inline note tasks, linked status and relation navigation; improve creation choices and transfer confirmation/recovery.
  • Polish Assistant history, settings, agent groups/watched links and terminal controls. Add local terminal names, saved browser previews and workspace script controls that disable offline.
  • Add bounded numbered/wrappable file reading, explicit external PDF-reader access and searchable Git commit files/details.

Reference: iOS 6a814fbb24f70a6870ed9ba94868c4339d4374cd (1.1.9). ios-parity.json records implemented scope and remaining gaps.

Validation

  • ./gradlew build ktlintCheck detekt test :app:assembleDebugAndroidTest passed on final head 7fd6951ed3533b451c2d2d437de1cce6742eac1e.
  • Both IntentLauncherTest cases passed on Android 16, including animation reversal, appearance changes, dismissal and action callbacks; final light/dark captures reviewed.
  • Earlier integrated runs exercised conversation/question controls, notes/tasks, pairing, creation/transfer, workspace details/drawers, files/Git, agents/terminals and browser/script resources.
  • Workspace edge gestures/search and list scrolling/group restoration were checked on the emulator; the fade scenario passed in both themes. These broader device runs preceded the final icon-only change.

Screenshots

Captures use test/demo data on the Android 16 emulator.

State Light Dark
Final Intent menu Intent menu in light theme Intent menu in dark theme
Workspace header fade Workspace header fade in light theme Workspace header fade in dark theme

Remaining verification and scope

Keep this as a draft. Live Tailcat/camera/permission flows, live transfer/script execution, TalkBack/large text, tablets and background behavior still need device checks. The app remains under development.

Deferred: top-level PR browsing, slash-skill catalog integration, full note editing, synchronized terminal names, full code/diff highlighting, in-app accessible PDF extraction, script creation/output/history and host-tab discovery.

Agent-Id: agent-8b9aee76-7bdc-4d92-9460-8a4b8413cf00
Agent-Id: agent-80a680b1-853c-4c77-acd1-1f16a2547b98
Agent-Id: agent-968fb0f7-42ea-49ae-8018-b9daff41d8f4
Agent-Id: agent-8b9aee76-7bdc-4d92-9460-8a4b8413cf00
Agent-Id: agent-25628ca4-6026-4ad5-978c-45514efff063
Agent-Id: agent-8b9aee76-7bdc-4d92-9460-8a4b8413cf00
Agent-Id: agent-ca87ea41-9c43-47c2-92a5-c252e8514d7d
Agent-Id: agent-df1cbbdc-ede0-4b63-b5f2-9b2bbdbdaf1c
Agent-Id: agent-c5cdff93-5d3b-4985-8a28-235dcf07156e
Agent-Id: agent-fe419160-357e-488e-84d1-52b808610f76
Agent-Id: agent-270f7447-ce07-48b5-84a8-56b7476677f4
Agent-Id: agent-df1cbbdc-ede0-4b63-b5f2-9b2bbdbdaf1c
Agent-Id: agent-ca87ea41-9c43-47c2-92a5-c252e8514d7d
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-c5cdff93-5d3b-4985-8a28-235dcf07156e
Agent-Id: agent-c5cdff93-5d3b-4985-8a28-235dcf07156e
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-270f7447-ce07-48b5-84a8-56b7476677f4
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
@wookiehangover
wookiehangover marked this pull request as ready for review November 10, 2026 00:09
Agent-Id: agent-ce8cbd9d-4410-4569-b9ee-af8caa8b0892
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