Skip to content

fix(dashboard): Keep mobile conversations at latest - #1549

Open
sentry-junior[bot] wants to merge 4 commits into
mainfrom
fix/mobile-conversation-bottom-follow
Open

fix(dashboard): Keep mobile conversations at latest#1549
sentry-junior[bot] wants to merge 4 commits into
mainfrom
fix/mobile-conversation-bottom-follow

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

Keep mobile conversations pinned to the latest message, and keep the composer at the bottom above the pending queue.

What changed

  • Pin the transcript when a new latest message arrives on mobile
  • Pin again when the pending mailbox grows or the queue expands/collapses
  • Keep the composer outside the queue scroller so a large queue cannot push the input off-screen
  • Anchor the reply footer to the bottom of the conversation shell so expand does not leave a dead zone under the composer
  • Observe transcript scroll-root resizes so footer growth still keeps follow mode pinned

Desktop follow behavior stays unchanged.

Verified

  • typecheck, lint, targeted unit tests, package build
  • mobile visual QA on the tall mock conversation: open, expand queue, send while expanded, scroll up + send

Requested by PDPM.

--

View Junior Session [Sentry]

Co-Authored-By: Pierre Massat <pierre.massat@sentry.io>
@vercel

vercel Bot commented Aug 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
junior-docs Ready Ready Preview Aug 14, 2026 5:46am

Request Review

@github-actions

github-actions Bot commented Aug 14, 2026

Copy link
Copy Markdown

Dashboard visual evidence

Mode: path-selected
Selected: conversations, conversation-detail, component-gallery

Triggered by:

  • packages/junior-dashboard/e2e/conversations.spec.ts
  • packages/junior-dashboard/package.json
  • packages/junior-dashboard/src/client/conversations/ConversationMeta.tsx
  • packages/junior-dashboard/src/client/conversations/ConversationPage.tsx
  • packages/junior-dashboard/src/client/conversations/ConversationSidebar.tsx
  • packages/junior-dashboard/src/client/conversations/PendingMailboxStack.tsx
  • packages/junior-dashboard/src/client/conversations/transcriptBottomPinning.ts
  • packages/junior-dashboard/src/mock-reporting/fixtures.ts

Conversations · desktop

Conversations · desktop

Conversations · mobile

Conversations · mobile

Conversation detail · desktop

Conversation detail · desktop

Conversation detail · mobile

Conversation detail · mobile

Component gallery · desktop

Component gallery · desktop

Full-page screenshots from the mock dashboard. Not a pixel-diff gate.

Pin the transcript when the pending stack resizes, keep the composer
outside the queue scroller, and anchor the reply footer to the bottom
of the mobile conversation shell.

Co-Authored-By: Pierre Massat <pierre.massat@sentry.io>
@phacops
phacops marked this pull request as ready for review August 14, 2026 01:55
@github-actions github-actions Bot added the risk: low PR risk score: low label Aug 14, 2026
Comment thread packages/junior-dashboard/src/client/conversations/transcriptBottomPinning.ts Outdated
@phacops
phacops enabled auto-merge (squash) August 14, 2026 03:30
…on-bottom-follow

# Conflicts:
#	packages/junior-dashboard/src/client/conversations/ConversationPage.tsx
#	packages/junior-dashboard/src/client/conversations/PendingMailboxStack.tsx

Co-Authored-By: Pierre Massat <pierre.massat@sentry.io>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

There are 2 total unresolved issues (including 1 from previous review).

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 665e194. Configure here.

<div
aria-label="Conversation transcript"
className="min-h-0 overflow-y-auto overscroll-contain px-3 pb-3 md:px-7 md:pb-5"
className="min-h-0 flex-1 overflow-y-auto overscroll-contain px-3 pb-3 md:px-7 md:pb-5"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Transcript can collapse on desktop

Low Severity

Replacing the grid minmax(7rem, 1fr) transcript row with a flex-1 min-h-0 sibling lets the reply footer consume the whole shell when the pending queue is tall. Desktop removes the footer max-h, so an expanded mailbox can shrink the transcript to zero.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 665e194. Configure here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed in bec29a9.

Restored the page shell to grid-rows-[minmax(7rem,1fr)_minmax(0,auto)], so the transcript keeps a minimum row and a tall queue cannot collapse it on desktop. The sticky composer/footer layout from main remains.

Gate mobile always-follow on live mode, and restore the grid shell so a
tall queue cannot collapse the transcript on desktop.

Co-Authored-By: PDPM <pierre.massat@sentry.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk: low PR risk score: low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants