Skip to content

fix(web-ui): correct turn rail selection and refine hover feedback - #2687

Merged
kev1n77 merged 1 commit into
GCWing:1.0.0-explorefrom
kev1n77:fmy/ui-sys
Aug 30, 2026
Merged

fix(web-ui): correct turn rail selection and refine hover feedback#2687
kev1n77 merged 1 commit into
GCWing:1.0.0-explorefrom
kev1n77:fmy/ui-sys

Conversation

@kev1n77

@kev1n77 kev1n77 commented Aug 30, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Fix multiple visible turns being highlighted simultaneously and navigation highlighting the wrong turn.
  • Track the visible navigation target as the current turn, including when navigation produces no scroll event.
  • Add compact hover feedback with progressively shorter neighboring markers, capped at 19px.
  • Add regression tests and update interaction verification documentation.

Fixes: N/A

Type and Areas

Type: Bug fix / UI/UX / test / docs

Areas: Web UI / FlowChat

Motivation / Impact

Previously, the current turn was derived from the first visible turn. This could highlight the wrong marker when the preceding turn remained partially visible or multiple short tail turns shared the same clamped scroll position.

The rail now distinguishes current-turn selection, hover preview, and keyboard focus:

  • Only the current turn is highlighted at rest.
  • Hover emphasizes the pointed marker while neighboring markers remain muted and progressively shorten.
  • Leaving restores current-turn highlighting without navigating.
  • Manual scrolling, returning to latest, and switching sessions clear stale navigation selection.

Verification

The following checks passed during implementation. Tests were not rerun while preparing this PR description.

pnpm --dir src/web-ui exec vitest run src/flow_chat/components/modern/FlowChatTurnRail.test.tsx src/flow_chat/components/modern/flowChatTurnRailWindow.test.ts src/flow_chat/components/modern/flowChatVisibleTurns.test.ts src/flow_chat/components/modern/VirtualMessageList.session-boundary.test.tsx

Result: 4 test files and 62 tests passed.

pnpm run check:web
git diff --check

Result: Passed.

Coverage includes navigation-target selection, consecutive navigation without scrolling, user gesture takeover, session switching, hover sizing, touch handling, and reduced-motion behavior.

Manual UI checks and remote scenarios remain unverified. Manual checks are documented in FLOWCHAT_VERIFICATION.md.

Reviewer Notes

  • Does not change transcript scroll positioning, tail reservation, or viewport anchor behavior.
  • Hover widths are 19 / 16 / 13 / 11px; ordinary markers remain 10px.
  • Row heights and hit areas remain fixed during hover.
  • No backend API, persisted data, or migration changes.

Checklist

  • This PR is focused and does not include secrets, temporary prompts, generated scratch files, or unrelated artifacts.
  • Relevant verification is recorded above, or skipped checks are explained.
  • User-facing strings, docs, and locales are updated where applicable.

@kev1n77
kev1n77 merged commit 8bd881f into GCWing:1.0.0-explore Aug 30, 2026
2 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