Skip to content

fix(desktop): classify timeline prepends so history loads don't bump unread#1416

Open
wesbillman wants to merge 1 commit into
mainfrom
pinky/e2e-scroll-contract
Open

fix(desktop): classify timeline prepends so history loads don't bump unread#1416
wesbillman wants to merge 1 commit into
mainfrom
pinky/e2e-scroll-contract

Conversation

@wesbillman

@wesbillman wesbillman commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • classify timeline message deltas by membership (classifyTimelineMessageDelta) so older-history prepends are distinct from latest-message appends
  • use that prepend classification in useAnchoredScroll so older history does not increment the new-message affordance

Rebased on main; the earlier persona-env-vars.spec.ts hardening was dropped because main already landed an equivalent selectDropdownOption helper in #1396.

Validation

  • cd desktop && pnpm build
  • cd desktop && node --import ./test-loader.mjs --experimental-strip-types --test src/features/messages/lib/timelineSnapshot.test.mjs (44/44)
  • cd desktop && pnpm exec playwright test --project=smoke tests/e2e/scroll-history.spec.ts -g "older-history prepend keeps" --repeat-each=5

Note: the "older-history prepend keeps the reading row fixed" spec is flaky locally on unmodified origin/main as well (2/5 failures there vs 1/5 on this branch, timeout in initial waitForFunction), so that flake is pre-existing and not addressed here.

@wesbillman wesbillman force-pushed the pinky/e2e-scroll-contract branch from 6e9119b to 5deaeb6 Compare July 1, 2026 00:38
…unread

Treat timeline prepends as a distinct message delta so older-history pages do
not look like new unread arrivals when the newest row is unchanged.

Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
@wesbillman wesbillman force-pushed the pinky/e2e-scroll-contract branch from 5deaeb6 to 5350f04 Compare July 1, 2026 22:44
@wesbillman wesbillman changed the title fix(desktop): harden e2e scroll and persona menu checks fix(desktop): classify timeline prepends so history loads don't bump unread Jul 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant