diff --git a/src/components/email/ThreadMessageCard.tsx b/src/components/email/ThreadMessageCard.tsx index 6fd10d7e..51c822ac 100644 --- a/src/components/email/ThreadMessageCard.tsx +++ b/src/components/email/ThreadMessageCard.tsx @@ -10,6 +10,7 @@ import SenderAvatar from '../SenderAvatar'; import { MessageContent, type MessageContentProps } from './MessageContent'; import { emailDisplayDate, formatHeaderDate, formatHeaderTime } from '../../lib/email-date'; import { singleLine } from '../../lib/single-line'; +import { cleanPreview } from '../../lib/preview-text'; import { useSenderWarning } from './use-sender-warning'; interface Props extends MessageContentProps { @@ -58,7 +59,7 @@ export function ThreadMessageCard({ {email.hasAttachment && } {formatHeaderDate(date, locale)} {formatHeaderTime(date, timeFormat, locale)} - {singleLine(email.preview)} + {singleLine(cleanPreview(email.preview))} {starred && } diff --git a/src/lib/__tests__/preview-text.test.ts b/src/lib/__tests__/preview-text.test.ts new file mode 100644 index 00000000..2acc9fda --- /dev/null +++ b/src/lib/__tests__/preview-text.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it } from 'vitest'; +import fs from 'node:fs'; +import path from 'node:path'; +import { cleanPreview, stripEmphasisMarkers, stripLeadingCss } from '../preview-text'; + +// Copied from the webmail (lib/__tests__/preview-leading-css.test.ts), plus +// the check that the list rows use it (#1136). + +// Some servers build a message preview from its HTML without skipping the +//