Repository navigation
fix(slider): reconcile interactions and share track geometry - #334
Open
leoafarias wants to merge 2 commits into
Open
leoafarias wants to merge 2 commits into
leoafarias wants to merge 2 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Removing a slider thumb during a drag can retain an invalid active index and throw
RangeError. Hidden semantics also removed keyboard operation, taps opened two interaction sessions, and pressing a Remix endpoint thumb requested a different value because input used the full hit target instead of the inset painted rail.This change ends the old interaction when thumb/focus topology or interaction configuration changes, preserves the original completion callbacks and last requested values across controlled rebuilds, and keeps surviving external focus nodes attached. Focus and keyboard handling remain mounted when semantics are excluded. Taps finish the existing session. The new geometry-only
NakedSliderTrackmarks the rendered rail for pointer mapping; Remix uses it around its existing painted track.Validation
Validation on Flutter 3.44.0 / Dart 3.12.0:
git diff --checkpass.The regressions cover active/earlier thumb removal (including in-place list mutation), external focus ownership, both axes, RTL/inversion, acceptance/rejection, cancel/disable, exact callback sequences, and painted-center round trips through both fluent and raw styles with varied thumb/track sizes.
Release integration must publish Naked UI with
NakedSliderTrackbefore releasing Remix and raise the actual Naked UI dependency floor. Version/floor alignment remains with the final integration session. This PR changes only slider implementation, tests, and the two package changelogs.CI: 13 checks are green, including the full Flutter suite, contract checks, generated-source validation, CLI/consumer mirrors, Windows, and icons. Vanilla and Fortal fresh-consumer jobs are still running; no failures are reported. Deployment is skipped. No merge is requested.
Checklist
Breaking Change