Skip to content

Complete configurable selection feedback across clients (#120) - #341

Merged
Jdreioe merged 3 commits into
fix/225-review-cleanupfrom
fix/120-selection-feedback
Oct 23, 2026
Merged

Jdreioe merged 3 commits into
fix/225-review-cleanupfrom
fix/120-selection-feedback

Conversation

@Jdreioe

@Jdreioe Jdreioe commented Oct 23, 2026

Copy link
Copy Markdown
Owner

Summary

Completes #120's selection feedback. Screens and the Typing Screen now share one Android timer; the compact Phrase row also shows feedback. Selection uses static inset black/white rings, leaving focus and dwell feedback visible. Desktop adds the same feedback and a persisted duration under Settings > Access, with 0 disabling it. iOS gets the ring and timer corrections.

select target -> move highlight, replace expiry timer
change duration -> update expiry, clear when disabled
new selection -> old expiry cannot clear it

Closes #120. Stacked on the #225 cleanup; merge that first.

Evidence

  • Before: Android emulator tests failed because disabling feedback retained the active overlay and the expected contrasting inner ring was absent.
    After: both UI tests pass, including selection alongside focus. Shared timing tests pass.
  • Desktop: 51 Rust tests pass, including stale expiry and disabled feedback. Kotlin/Native binding tests pass, including duration clamping and persistence across reopen. Rust formatting passes.
  • iOS was source-reviewed only. This Linux host has no Xcode or iOS Simulator; build/device verification remains necessary. Desktop was tested on Linux, not Windows or macOS.

Merge Danger

Door: two-way

Blast Radius: feedback

No animation or schema migration. Desktop's JSON adds a defaulted duration field. iOS compilation and visual checks are the remaining validation limit.

Show Likely next suggestions above Typing controls with the keyboard (#213)
@Jdreioe
Jdreioe merged commit 9932957 into fix/225-review-cleanup Oct 23, 2026
8 of 9 checks passed
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