Skip to content

fix(mobile): announce the selected state in repository and mode pickers - #6763

Merged
iscekic merged 2 commits into
mainfrom
kwf/janitor-mobile-agent-chat-759573b642
Sep 28, 2026
Merged

iscekic merged 2 commits into
mainfrom
kwf/janitor-mobile-agent-chat-759573b642

Conversation

@iscekic

@iscekic iscekic commented Sep 26, 2026 •

Copy link
Copy Markdown
Collaborator

Fix proof

The single-select repository and mode picker rows expose no selected/checked accessibility state, so a screen-reader user cannot tell which repository or mode is currently chosen, unlike the branch, i

Asserted value: apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx. Sense check (model): added line accessibilityState={{ selected: isSelected }} in repo-picker.tsx supplies the missing selected state the claim describes

The scripts were proven on an earlier base, so only the head ran.

Head e68732ceb00a

Head log: backend-assert bbcddcd77ec8 exited 0
$ git diff --unified=0 332f0c033e0781f85b7782c75ee4f2f595a7e2a8 e68732ceb00a8e1191f878cb0ca26c56103c43d6 -- apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx
diff --git a/apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx b/apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx
--- a/apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx
+++ b/apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx
+            const isSelected = bridge.currentValue === `${repo.platform}:${repo.fullName}`;
@@ -188,0 +190 @@ export default function RepoPickerScreen() {
+                accessibilityState={{ selected: isSelected }}
@@ -204,3 +206 @@ export default function RepoPickerScreen() {
-                {bridge.currentValue === `${repo.platform}:${repo.fullName}` ? (
-                  <Check size={18} color={colors.primary} />
-                ) : null}
+                {isSelected ? <Check size={18} color={colors.primary} /> : null}

Changelog for users

  • A screen reader now announces which repository is currently chosen in the repository picker.
  • A screen reader now announces which mode is currently chosen in the mode picker.

Changelog for maintainers

  • Both single-select pickers now expose the selected accessibility state, matching the branch, instance, and profile pickers.
  • The repository row derives selection from the platform and full-name key, so changing that key format must update this comparison.
  • The visible check icon and the announced state now read one shared flag, so they stay aligned.

E2E proof

The single-select repository and mode picker rows expose no selected/checked accessibility state, so a screen-reader user cannot tell which repository or mode is currently chosen, unlike the branch, instance and profile pickers which announce it.

Code trace: apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx:180 changed in a7db6a847417cd02b0a1ada04c53ac875013c178. Sense check (model): The added line accessibilityState={{ selected: isSelected }} on the repo-picker row exposes the selected state the claim says is missing

Changed lines
+            const isSelected = bridge.currentValue === `${repo.platform}:${repo.fullName}`;
+                accessibilityState={{ selected: isSelected }}
-                {bridge.currentValue === `${repo.platform}:${repo.fullName}` ? (
+                {isSelected ? (
Owner request

Fix 1 janitor finding in mobile/agent-chat. Fix every one; the proof covers each.

  1. The single-select repository and mode picker rows expose no selected/checked accessibility state, so a screen-reader user cannot tell which repository or mode is currently chosen, unlike the branch, instance and profile pickers which announce it.
    Trace: apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx:187: The single-select repository and mode picker rows expose no selected/checked accessibility state, so a screen-reader user cannot tell which repository or mode is currently chosen, unlike the branch, instance and profile pickers which announce it. (janitor area freestyle).
    Files: apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx, apps/mobile/src/app/(app)/agent-chat/mode-picker.tsx.

@iscekic iscekic added the kwf-janitor Admitted to the workflow from a janitor finding label Sep 26, 2026
@kilo-code-bot

kilo-code-bot Bot commented Sep 26, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Files Reviewed (2 files)
  • apps/mobile/src/app/(app)/agent-chat/mode-picker.tsx
  • apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx
Previous Review Summary (commit 7c54feb)

Current summary above is authoritative. Previous snapshots are kept for context only.

Previous review (commit 7c54feb)

Status: No Issues Found | Recommendation: Merge

Both pickers now expose accessibilityState={{ selected }} derived from the same comparison that drives the visible check icon, so the announced state and the icon stay aligned; the repository row's isSelected refactor is behavior-preserving.

Files Reviewed (2 files)
  • apps/mobile/src/app/(app)/agent-chat/mode-picker.tsx
  • apps/mobile/src/app/(app)/agent-chat/repo-picker.tsx

Reviewed by deepseek-v4.1-flash · Input: 0 · Output: 0 · Cached: 0

Review guidance: REVIEW.md from base branch main

@iscekic iscekic self-assigned this Sep 26, 2026
@iscekic

iscekic commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator Author

bot: Fixed failing checks in e68732c.

@iscekic iscekic added the human-ready The PR is ready for human review. label Sep 26, 2026
@iscekic iscekic added merge-by-bot and removed human-ready The PR is ready for human review. labels Sep 26, 2026
@iscekic
iscekic marked this pull request as draft September 28, 2026 08:41
@iscekic
iscekic marked this pull request as ready for review September 28, 2026 08:45
@iscekic
iscekic marked this pull request as draft September 28, 2026 08:53
@iscekic
iscekic marked this pull request as ready for review September 28, 2026 09:02
@iscekic
iscekic marked this pull request as draft September 28, 2026 09:06
@iscekic
iscekic marked this pull request as ready for review September 28, 2026 09:11
@iscekic
iscekic marked this pull request as draft September 28, 2026 09:18
@iscekic
iscekic marked this pull request as ready for review September 28, 2026 09:29
@iscekic
iscekic enabled auto-merge (squash) September 28, 2026 21:27
@iscekic
iscekic merged commit 05d877a into main Sep 28, 2026
29 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kwf-janitor Admitted to the workflow from a janitor finding merge-by-bot

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants