* fix: guard debounced desktop selection update
Avoid dereferencing a cleared selection from the delayed
macOS metrics callback and add a regression test that
covers the stale-timer path.
* chore: clean up analyzer warnings
Remove redundant default arguments in tests and apply the
missing trailing comma required by the current lint rules.
* fix: long press auto-scroll speed on mobile
When long pressing and dragging on mobile, auto-scroll was too fast
because cursor drag mode used Duration.zero (instant) instead of
animated scrolling, and the proxy rect was a large centered square
triggering in both directions.
- Add AxisDirection.down handling in auto_scroller for directional
proxy rects extending downward from cursor position
- Add cursor drag mode case in scroll_service_widget with direction
detection based on cursor movement relative to last selection
- Include cursor mode in isDragOperation for animated scroll duration
- Pass dragMode in Android long press selectionExtraInfo so scroll
service can detect cursor drag on Android
* fix: correct auto-scroller test for downward scroll rect
* fix: correct auto-scroll direction for left selection handle drag on iOS
When dragging the left selection handle upward, the proxy rect used for
auto-scroll detection was built with offset & Size(1, edgeOffset), which
extends 220px downward from the selection start. This caused the bottom
of the rect to exceed the viewport bottom, triggering a downward scroll
(showing content below) — the opposite of the intended direction.
Fix by using Rect.fromLTWH(offset.dx, offset.dy - edgeOffset, 1, edgeOffset)
so the proxy rect extends upward, only triggering scroll-up when the
handle approaches the top edge of the viewport.
* chore: update iOS minimum deployment target to 13.0
* test: add auto_scroller proxy rect direction tests
Adds regression tests for the left selection handle auto-scroll bug
where the proxy rect incorrectly extended downward, triggering scroll
in the wrong direction. Verifies the rect extends upward from the
handle offset when direction is AxisDirection.up.
* fix: remove unused import in auto_scroller_test
* chore: code review