Skip to content

Teach card: show the swipe chevrons only while dragging, so they stop flickering - #887

Merged
aaronified merged 7 commits into
mainfrom
fix/teach-chevron-flicker
Oct 29, 2026
Merged

aaronified merged 7 commits into
mainfrom
fix/teach-chevron-flicker

Conversation

@aaronified

Copy link
Copy Markdown
Owner

What this changes

The teach card's swipe chevrons appeared 0.1 s after any touch (a tap on the speaker, a scroll, a stray touch) and hid 0.3 s after release, so each short touch fired a fade-in, wiggle and fade-out: a flicker. Owner, 2026-10-29: yes to this change. They now appear, with the wiggle, only when a horizontal drag starts, stay while dragging, and clear 1 s after the drag ends or is cancelled. A tap, a vertical scroll or the speaker button does not show them. A tap on a hidden chevron still moves the card and shows them for the same second, without a second wiggle.

What I verified

Nothing run locally (CI runs analyze, format and tests). test/teach_swipe_test.dart is new: a tap leaves the chevrons clear, a drag shows them, they clear 1 s after release. Not verified: that test's drag and timing assertions, and the dart format layout of the re-indented build.

Checklist

  • flutter analyze and flutter test pass: left to CI
  • dart format lib test applied: left to CI
  • No new dependency or string literal
  • One concern only
  • Agent assistance disclosed with a Co-Authored-By: trailer

Generated by Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PvtjpBXcvYzPeQPqtMsXwA
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PvtjpBXcvYzPeQPqtMsXwA
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PvtjpBXcvYzPeQPqtMsXwA
The Center under a one-sided Positioned filled the width and set the
chevron mid-card, so a tap in the middle of the card hit it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PvtjpBXcvYzPeQPqtMsXwA
…izer starts

A lone drag recognizer wins the arena on pointer down and calls
onHorizontalDragStart on a plain tap, so a tap on bare card showed them.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PvtjpBXcvYzPeQPqtMsXwA
@aaronified
aaronified merged commit 09ecc6a into main Oct 29, 2026
18 checks passed
@aaronified
aaronified deleted the fix/teach-chevron-flicker branch October 29, 2026 19:00
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.

2 participants