Repository navigation
Commit 42eba73
committed
Stop the fling on iOS too, and name its upstream fix
The touch-fling stop skipped iOS through a copy of virtual-core's private
isIOSWebKit() user-agent check: before iOS 27 the write stops the fling
itself, and from 27 virtual-core stops it. That copy could drift from
virtual-core's own check without anyone noticing, and nothing tested the
iOS branch. It is gone: the stop now runs after every touch fling, iOS
included, where it is not needed and costs its two frames. On an iPhone 11
(iOS 26.2) a jump issued 150ms into a fling still lands three times out of
three, and the list holds still through the two hidden frames.
The fix belongs in virtual-core, which already stops a fling before a
command on iOS 27 but not on Android. It is proposed in
TanStack/virtual#1347 (issue
TanStack/virtual#1346); the README now lists
the stop as a stopgap that goes away with that release.
Matching that PR, hiding the overflow is undone in the same task when it
changes the element's client width: a classic scrollbar on a touchscreen
laptop would vanish and reflow the list for two frames. The write then
goes out at once, as before the stop existed. Pinned by a third case in
the touch-fling browser test, a scrollbar that takes layout space, which
fails without the check.1 parent a7bc81d commit 42eba73
3 files changed
Lines changed: 54 additions & 22 deletions
File tree
- src/Blazor.TanStack.VirtualCore/wwwroot
- tests/Blazor.TanStack.VirtualCore.E2E
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
180 | 180 | | |
181 | 181 | | |
182 | 182 | | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
183 | 193 | | |
184 | 194 | | |
185 | 195 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | 52 | | |
58 | 53 | | |
59 | 54 | | |
| |||
485 | 480 | | |
486 | 481 | | |
487 | 482 | | |
488 | | - | |
489 | | - | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
490 | 486 | | |
491 | 487 | | |
492 | | - | |
493 | | - | |
494 | | - | |
495 | | - | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
496 | 495 | | |
497 | 496 | | |
498 | 497 | | |
499 | | - | |
| 498 | + | |
500 | 499 | | |
501 | 500 | | |
502 | 501 | | |
503 | | - | |
504 | | - | |
505 | | - | |
506 | | - | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
507 | 508 | | |
508 | 509 | | |
509 | 510 | | |
510 | 511 | | |
511 | 512 | | |
512 | 513 | | |
513 | | - | |
| 514 | + | |
| 515 | + | |
514 | 516 | | |
515 | 517 | | |
516 | 518 | | |
517 | 519 | | |
518 | 520 | | |
| 521 | + | |
| 522 | + | |
519 | 523 | | |
520 | | - | |
521 | | - | |
522 | | - | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
523 | 531 | | |
524 | 532 | | |
525 | 533 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
224 | | - | |
| 224 | + | |
225 | 225 | | |
226 | 226 | | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
227 | 234 | | |
228 | 235 | | |
229 | 236 | | |
| |||
254 | 261 | | |
255 | 262 | | |
256 | 263 | | |
257 | | - | |
| 264 | + | |
258 | 265 | | |
259 | 266 | | |
260 | 267 | | |
| |||
271 | 278 | | |
272 | 279 | | |
273 | 280 | | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
274 | 288 | | |
275 | 289 | | |
276 | 290 | | |
| |||
0 commit comments