Repository navigation
chore(release): naked_ui 1.3.0 - #354
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f1b3a97c64
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| void _handleTriggerHover(PointerHoverEvent event) { | ||
| if (!widget.enabled || event.delta == Offset.zero) return; | ||
| AnchoredOverlay.clearItemFocus(context); | ||
| _scheduleHoverOpen(); |
There was a problem hiding this comment.
Preserve the pending submenu-open timer during pointer movement
When the pointer continues moving within a submenu trigger, every hover event calls _scheduleHoverOpen(), which cancels the existing timer and starts another full hoverDelay. Consequently, the submenu never opens while the pointer keeps moving, even after it has remained over the row longer than the configured delay; previously the timer started once on entry. Start the timer on the first qualifying movement without restarting an already-pending open timer, while retaining cancellation when the pointer leaves.
Useful? React with 👍 / 👎.
Releases
naked_ui1.3.0 from the consolidated release stack based onmain. The new caller-owned menu trigger, overlay constraint, and slider track APIs require a minor release.Included changes
openOnTap: false.NakedSliderTrackso input follows an inset painted rail; reconcile thumb/configuration changes and disabled state, retain surviving focus nodes, preserve interaction callback pairs and requested values, and keep keyboard focus when semantics are excluded. Primitive geometry coverage includes horizontal, vertical, RTL, and inverted modes.MediaQuery.disableAnimationsand the platform Reduce Motion setting; preserve modal barrier semantics when transitions are skipped.test/, mark the process-based integration harness VM-only, handle browser-specific radio keyboard behavior and semantics timing, and compare slider callback events numerically across Dart backends.Release files
packages/naked_ui/pubspec.yaml: 1.2.3 → 1.3.0.packages/naked_ui/CHANGELOG.md: combined 1.3.0 features and fixes.registry_source/tool/fortal_parity/check.dart: tested workspace resolution pinned to 1.3.0.Where to look
packages/naked_ui/lib/src/: start withnaked_menu.dart,naked_select.dart,naked_combobox.dart,naked_slider.dart, andnaked_popover.dart.base/overlay_base.dartandutilities/{anchored_overlay,positioning,focus_in_view,reduced_motion}.dart.packages/naked_ui/test/: start with slider geometry/lifecycle tests, menu/select/combobox tests,utilities/focus_in_view_test.dart, and semantics tests.Validation
Pinned Flutter 3.44.0 / Dart 3.12.0. The four Chrome portability failures are fixed: callback events now compare ordered
(String, double)records. The assertions still require exactly one start, change, and end callback in that order, with exact values 20, 40, 40, for both axes and both controlled modes.Commands run before and after from
packages/naked_ui:Chrome uses the VM launcher flags
--no-sandbox --disable-dev-shm-usagethroughCHROME_EXECUTABLE.git diff --checkpassed.f1b3a97: 1,157 VM tests passed, 3 skipped,melos run ci:checkspassed (including docs, Fortal parity, registry/dependency/toolchain contracts), and both full Vanilla/Fortal consumer checks passed, including independent dependency closures, catalog installs, fixture tests, and web builds.943e755f0aacc4f1dc9bc87ffb6b9c27f4b3d29d, including both full preset consumer jobs. Documentation deployment is skipped for pull requests.Tree equivalence
The final tree is #353 at
7da9909d3b31a14b12bb97e619a8b47a36057956plus the expanded/collapsed-semantics correction indocs/components/popover.mdxand the slider lifecycle test portability fix.git diffagainst #353 is limited to those two files. The fix commit abovef1b3a97changes only five lines inpackages/naked_ui/test/src/naked_slider_lifecycle_test.dart; library code is identical to #353. An independently constructed expected tree matches the current tree:5758f028d0c3cb194ca560c2c73271af97594673.Replaces
#317, #322, #330, #335, #347, #344, #349, #350, #334, #338, and #353. These PRs remain open for Leo to decide their disposition.
Remix adapter changes are handled separately in #352; its slider behavior is horizontal LTR/RTL. Vertical and inverted modes belong to NakedSlider.
Open workspace in Conductor