Commit 16dd548
The cooperative replacement path re-anchors a removed viewport-top row to
its nearest surviving OLD-order neighbor (+1, -1, +2, ...), and G3c gave
the synchronous reorder/refilter reset paths the same semantics through
resolveSyncAnchorRef. The incremental journal path, however, still called
restoreAnchorRequest with exact-only resolution: a journaled
applyTransaction that removed the anchored row fell straight to
globalScroll(viewport.scrollTop).
User-visible in a narrow window: one journaled transaction removing the
viewport-top row AND other rows above it makes the journal path keep the
pixel scroll (content jumps) where the replacement path holds the
neighbor - and the SAME logical transaction can reach either path
nondeterministically (journal overflow, an active replacement, or a
misaligned revision all reroute to replacement).
The searchOldNeighbors parameter is deleted rather than flipped: every
synchronous publish now resolves through the same ladder - exact ref
first (O(1), the common case), neighbor search only when the anchored row
is gone; "reorder" structurally never engages it since the row set is
unchanged. The old comment's "pinned behavior" claim was unbacked - no
test pinned the fall-to-global; the new test pins the neighbor semantics
against a forced-replacement oracle instead.
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
1 parent 9e163bf commit 16dd548
2 files changed
Lines changed: 93 additions & 9 deletions
Lines changed: 83 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4399 | 4399 | | |
4400 | 4400 | | |
4401 | 4401 | | |
| 4402 | + | |
| 4403 | + | |
| 4404 | + | |
| 4405 | + | |
| 4406 | + | |
| 4407 | + | |
| 4408 | + | |
| 4409 | + | |
| 4410 | + | |
| 4411 | + | |
| 4412 | + | |
| 4413 | + | |
| 4414 | + | |
| 4415 | + | |
| 4416 | + | |
| 4417 | + | |
| 4418 | + | |
| 4419 | + | |
| 4420 | + | |
| 4421 | + | |
| 4422 | + | |
| 4423 | + | |
| 4424 | + | |
| 4425 | + | |
| 4426 | + | |
| 4427 | + | |
| 4428 | + | |
| 4429 | + | |
| 4430 | + | |
| 4431 | + | |
| 4432 | + | |
| 4433 | + | |
| 4434 | + | |
| 4435 | + | |
| 4436 | + | |
| 4437 | + | |
| 4438 | + | |
| 4439 | + | |
| 4440 | + | |
| 4441 | + | |
| 4442 | + | |
| 4443 | + | |
| 4444 | + | |
| 4445 | + | |
| 4446 | + | |
| 4447 | + | |
| 4448 | + | |
| 4449 | + | |
| 4450 | + | |
| 4451 | + | |
| 4452 | + | |
| 4453 | + | |
| 4454 | + | |
| 4455 | + | |
| 4456 | + | |
| 4457 | + | |
| 4458 | + | |
| 4459 | + | |
| 4460 | + | |
| 4461 | + | |
| 4462 | + | |
| 4463 | + | |
| 4464 | + | |
| 4465 | + | |
| 4466 | + | |
| 4467 | + | |
| 4468 | + | |
| 4469 | + | |
| 4470 | + | |
| 4471 | + | |
| 4472 | + | |
| 4473 | + | |
| 4474 | + | |
| 4475 | + | |
| 4476 | + | |
| 4477 | + | |
| 4478 | + | |
| 4479 | + | |
| 4480 | + | |
| 4481 | + | |
| 4482 | + | |
| 4483 | + | |
| 4484 | + | |
4402 | 4485 | | |
4403 | 4486 | | |
4404 | 4487 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1992 | 1992 | | |
1993 | 1993 | | |
1994 | 1994 | | |
1995 | | - | |
1996 | | - | |
1997 | | - | |
1998 | | - | |
1999 | | - | |
2000 | 1995 | | |
2001 | 1996 | | |
2002 | | - | |
2003 | | - | |
2004 | | - | |
| 1997 | + | |
| 1998 | + | |
| 1999 | + | |
| 2000 | + | |
| 2001 | + | |
| 2002 | + | |
| 2003 | + | |
| 2004 | + | |
| 2005 | + | |
2005 | 2006 | | |
2006 | 2007 | | |
2007 | 2008 | | |
| |||
2113 | 2114 | | |
2114 | 2115 | | |
2115 | 2116 | | |
2116 | | - | |
| 2117 | + | |
2117 | 2118 | | |
2118 | 2119 | | |
2119 | 2120 | | |
| |||
0 commit comments