From 1a3377c6e1403837a1e04d7ba655db8169340f06 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Mon, 2 Nov 2026 20:24:47 +0100 Subject: [PATCH 1/2] fix: keep a linked message's reader still when the message arrives --- components/boot-skeleton/mail-skeleton.tsx | 71 +++++++++++-------- .../viewer-toolbar-over-side-panel.test.tsx | 27 +++++++ components/email/email-viewer.tsx | 11 +-- 3 files changed, 76 insertions(+), 33 deletions(-) diff --git a/components/boot-skeleton/mail-skeleton.tsx b/components/boot-skeleton/mail-skeleton.tsx index ae430177e..0e9c2155b 100644 --- a/components/boot-skeleton/mail-skeleton.tsx +++ b/components/boot-skeleton/mail-skeleton.tsx @@ -400,43 +400,56 @@ function MobileHeaderSkeleton() { * same component): the toolbar, the subject block and the sender block of the * default reader, then the message body's tinted sheet. */ -export function MailMessageSkeleton({ className }: { className?: string }) { +/** + * The reader's top toolbar while a message loads. The loaded reader lifts its + * toolbar above the message row on a tablet or desktop (EmailViewer's + * `liftToolbar`); its loading state draws this there too, so the row below + * doesn't move when the message arrives. + */ +export function MailMessageToolbarSkeleton() { const button = "h-8 w-20 rounded-md"; return ( -