odysseus/static/js/emailLibrary
Alexandre Teixeira c7d1555eea fix(email): resolve memory safety, print rendering, and accounting defects
- Use SpooledTemporaryFile with 32 MiB spool threshold for export ZIP archives
- Add IMAP size preflight via (UID RFC822.SIZE) and cap batch payload at 10 MiB
- Enforce 64 MiB per-message ceiling and fail closed with 500 on corrupted ZIP
- Stream spooled archive chunks with generator cleanup on disconnect/cancellation
- Bypass ZIP creation for single raw EML message downloads
- Memoize account ownership checks per request to eliminate N+1 database queries
- Replace interactive image placeholders in print view with clean text notices
- Strip interactive buttons, icons, and image actions from print document
- Implement partial print success policy printing loaded items and reporting omitted
- Harden print iframe lifecycle with window afterprint listener and fallback timer
- Correct mid-batch exception accounting so exported plus skipped equals requested
- Add executable behavioral tests for limits, mid-batch accounting, and memoization
2026-10-20 11:38:12 +01:00
..
aiReply.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
attachments.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
bodyRender.js refactor(email): split the email library into seven modules 2026-09-30 09:26:34 +02:00
index.js fix(email): resolve memory safety, print rendering, and accounting defects 2026-10-20 11:38:12 +01:00
menus.js fix(email): replace html2pdf with Print / save PDF and harden EML export 2026-10-20 10:14:55 +01:00
reader.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
replyRecipients.js fix: reply-all Cc builder crashes on a non-string To or Cc field (#1700) 2026-06-03 13:37:22 +09:00
settingsPage.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
signatureFold.js Ignore non-string signature fold metadata (#1655) 2026-06-03 14:16:48 +09:00
state.js refactor(email): split the email library into seven modules 2026-09-30 09:26:34 +02:00
unsubscribe.js fix(email): import spinnerModule in the modules that use it 2026-09-30 09:55:39 +02:00
utils.js fix(email): route summaries through shared LLM adapter (#5841) 2026-08-08 23:06:41 +02:00