From c8078b73c4097bc5c7b173ed4f7972612bbbcc2d Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Tue, 3 Nov 2026 06:58:25 +0100 Subject: [PATCH] fix: show how many recipients are left out on phones and keep toolbar labels on one line --- .../__tests__/reader-plugin-surfaces.test.tsx | 8 ++++++++ components/email/email-viewer.tsx | 20 +++++++++++++------ components/email/recipient-popover.tsx | 2 +- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/components/email/__tests__/reader-plugin-surfaces.test.tsx b/components/email/__tests__/reader-plugin-surfaces.test.tsx index 27692ac4f..07687a71f 100644 --- a/components/email/__tests__/reader-plugin-surfaces.test.tsx +++ b/components/email/__tests__/reader-plugin-surfaces.test.tsx @@ -425,6 +425,14 @@ describe('reader surfaces in the phone conversation view', () => { }); }); +describe('recipients row', () => { + it('says how many recipients are left out, in the phone row as in the desktop one', () => { + const to = ['a', 'b', 'c', 'd'].map((n) => ({ name: n, email: `${n}@example.com` })); + viewer(textMail('Hola', { to } as Partial)); + expect(screen.getAllByText('more_count')).toHaveLength(2); + }); +}); + describe('reader-actions', () => { it('adds the plugin buttons to the reader toolbar', async () => { act(() => setPluginActions('p', 'Translator', 'reader-actions', [{ id: 'translate', label: 'Translate' }])); diff --git a/components/email/email-viewer.tsx b/components/email/email-viewer.tsx index 19042d1a9..11f1913cb 100644 --- a/components/email/email-viewer.tsx +++ b/components/email/email-viewer.tsx @@ -4346,7 +4346,7 @@ ${printWatermark ? printWatermark.html : ''} title={t('tooltips.archive')} > - {showToolbarLabels && {t('archive')}} + {showToolbarLabels && {t('archive')}} )} {/* Delete */} @@ -4358,7 +4358,7 @@ ${printWatermark ? printWatermark.html : ''} title={t('tooltips.delete')} > - {showToolbarLabels && {t('delete')}} + {showToolbarLabels && {t('delete')}} {/* Move to folder */} {moveTree.length > 0 && onMoveToMailbox && ( @@ -4378,7 +4378,7 @@ ${printWatermark ? printWatermark.html : ''} aria-expanded={moveMenuOpen} > - {showToolbarLabels && {t('move')}} + {showToolbarLabels && {t('move')}}
@@ -4410,7 +4410,7 @@ ${printWatermark ? printWatermark.html : ''} aria-expanded={tagMenuOpen} > - {showToolbarLabels && {t('tag')}} + {showToolbarLabels && {t('tag')}}
@@ -4445,7 +4445,7 @@ ${printWatermark ? printWatermark.html : ''} ) : ( )} - {showToolbarLabels && {isInJunkFolder ? t('spam.not_spam_title') : t('spam.button_title')}} + {showToolbarLabels && {isInJunkFolder ? t('spam.not_spam_title') : t('spam.button_title')}} )} @@ -4467,7 +4467,7 @@ ${printWatermark ? printWatermark.html : ''} > {isUnread ? : } {showToolbarLabels && ( - + {t('read')} {t('unread')} @@ -5157,6 +5157,14 @@ ${printWatermark ? printWatermark.html : ''} <> → {t('recipient_to_prefix')} {renderClickableRecipients(email.to, currentUserEmail, t, handleViewContactSidebar)} + {email.to.length > 2 && ( + + )} )} {email.cc && email.cc.length > 0 && ( diff --git a/components/email/recipient-popover.tsx b/components/email/recipient-popover.tsx index 6be5c80e6..caaf8bc78 100644 --- a/components/email/recipient-popover.tsx +++ b/components/email/recipient-popover.tsx @@ -276,7 +276,7 @@ export function RecipientPopover({ name, email, displayLabel, onViewContact, cla ref={triggerRef} onClick={handleToggle} className={cn( - "text-foreground hover:text-primary hover:underline cursor-pointer transition-colors min-w-0 break-words", + "text-foreground hover:text-primary hover:underline cursor-pointer transition-colors min-w-0 break-words text-start", className )} >