Skip to content

Add ~100 pixels of scroll offset when deep linking to unread/linked report action #92152

@melvin-bot

Description

@melvin-bot

Summary

When opening a report at a linked or unread report action (introduced in #90072), the action currently anchors at the very bottom of the chat. Users see what looks like a single new message, miss earlier unread messages above it, and often don't realize there are more until they send a reply (which then triggers a scroll). The experience reads as broken.

A previous attempt to vertically center the action (#90375, addressing #88502) was closed because computing the action's height accurately added significant initial render delay (see margelo thread).

Proposal

Keep deep linking to the oldest unread (or linked) action as today, but after landing, scroll the chat forward by a fixed offset (~100 px) so a sliver of later content is visible underneath the anchored message. This hints "there is more here" without requiring dynamic per-row height measurement, which is what blocked #90375.

Ideally the offset is applied as part of the initial scroll position rather than a deferred second scroll, to avoid a visible flicker.

Acceptance criteria

  • Opening a report with unread messages still scrolls to the oldest unread action / unread marker.
  • The anchored action no longer renders flush against the bottom of the chat — ~100 px of additional content is visible below it (or, when there are no later messages, the bottom is reached as today).
  • No visible flicker on initial render.
  • Verified on web, desktop, iOS, Android, mWeb.

Context

Slack thread: https://expensify.slack.com/archives/C049HHMV9SM/p1779764974326039

Related:

Metadata

Metadata

Assignees

Labels

ImprovementItem broken or needs improvement.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions