feat: name dragged/exported .eml files as "date (from-to) subject" with ASCII-only chars

This commit is contained in:
Linus Rath
2026-05-22 14:28:36 +02:00
parent 0245ec67e1
commit 8bcb487442
3 changed files with 51 additions and 37 deletions
+2 -2
View File
@@ -3,6 +3,7 @@
import { useState, useEffect, useLayoutEffect, useMemo, useRef, useCallback } from "react";
import DOMPurify from "dompurify";
import { Email, ContactCard, Mailbox } from "@/lib/jmap/types";
import { emailExportFilename } from "@/lib/email-filename";
import { EMAIL_IFRAME_SANITIZE_CONFIG, collapseBlockedImageContainers, escapeHtml, plainTextToSafeHtml, sanitizeEmailHtml, sanitizePlainTextRenderedHtml } from "@/lib/email-sanitization";
import { hasMeaningfulHtmlBody } from "@/lib/signature-utils";
import { Button } from "@/components/ui/button";
@@ -3056,8 +3057,7 @@ export function EmailViewer({
const handleExportEmail = async () => {
if (!email?.blobId || !client) return;
try {
const subject = (email.subject || 'email').replace(/[<>:"/\\|?*]+/g, '_').slice(0, 100);
await client.downloadBlob(email.blobId, `${subject}.eml`, 'message/rfc822');
await client.downloadBlob(email.blobId, emailExportFilename(email), 'message/rfc822');
} catch {
toast.error(tNotifications('export_email_error'));
}