Commit Graph
1166 Commits
Author SHA1 Message Date
Tomás Romero e4ae8317de perf: reuse reader recovery output 2026-10-08 14:54:22 +00:00
Tomás Romero 550132ee94 perf: skip unused reader recovery text 2026-10-08 14:54:22 +00:00
Tomás Romero c64d4e3dc0 perf: append reader export tokens directly 2026-10-08 14:54:22 +00:00
Tomás Romero c8bfef0c2f perf: retain tokenizer tag atoms 2026-10-08 14:54:22 +00:00
Tomás Romero ea23aff6d3 perf: stream reader HTML escaping 2026-10-08 14:54:22 +00:00
Tomás Romero dd9beb19d3 test: cover deferred composer back 2026-10-08 14:54:22 +00:00
Tomás Romero 92586c2fd1 fix: fit compact preference selectors 2026-10-08 14:54:22 +00:00
Tomás Romero f3e6b1fdc7 Merge pull request #51 from Fneufneu/perf/jmap-mailbox-properties
perf: JMAP Mailbox/get limited to the properties in use
2026-10-08 16:33:40 +02:00
Tomás Romero da0f414db5 fix: CI checks 2026-10-08 13:55:09 +00:00
Tomás Romero bf6d04b2b6 fix: restore CI checks 2026-10-08 13:25:06 +00:00
Tomás Romero 319ea5878b Fix JMAP snoozes 2026-10-08 12:43:22 +00:00
Mickael MaillotandClaude Opus 5.5 05ef9eb0a6 perf: JMAP Mailbox/get limited to the properties in use
Mailbox/get without properties makes the server compute the email and
thread counters of every mailbox, which the client recomputes locally
anyway. On large accounts this made the folder listing take a minute.

Co-Authored-By: Claude Opus 5.5
2026-10-03 09:46:35 +02:00
Mickael MaillotandClaude Opus 5.5 36a1f4a45b perf: progressive JMAP first sync
The first JMAP sync downloaded the headers of every email in the
history window and persisted them in a single final transaction, so a
large mailbox stayed empty until the very end. Each Email/get page is
now committed as soon as it arrives, newest first, while the next page
is being fetched. The email state is still only checkpointed after the
last page, and the full-sync reconciliation runs at that point.

Co-Authored-By: Claude Opus 5.5
2026-10-03 09:46:35 +02:00
Tomás Romero 4c12945ed2 refactor: use SVG selection indicators 2026-09-30 22:11:28 +00:00
Tomás Romero dc73ebb39e chore: tidy lint warnings 2026-09-30 22:11:28 +00:00
Tomás Romero 115ebd8e29 feat: add message appearance 2026-09-30 22:11:28 +00:00
Tomás Romero 52b356a333 perf: reuse streamed attachment cache hashing 2026-09-30 22:11:28 +00:00
Tomás Romero dfb6cd547c perf: stream attachment search expressions 2026-09-30 22:11:28 +00:00
Tomás Romero 5bd33ccec0 perf: append file activity rows directly 2026-09-30 22:11:28 +00:00
Tomás Romero 087720766e perf: stream file operation descriptions 2026-09-30 22:11:28 +00:00
Tomás Romero 3e1d3af3ad perf: parse cached file nodes one row at a time 2026-09-30 22:11:28 +00:00
Tomás Romero 768cca761a perf: borrow cache filenames during sweeping 2026-09-30 22:11:28 +00:00
Tomás Romero 57507cf792 perf: retain only required cache eviction entries 2026-09-30 22:11:28 +00:00
Tomás Romero 657d5dbb17 perf: hash cache identifiers without joining 2026-09-30 22:11:28 +00:00
Tomás Romero ef0f24f999 perf: release spare signature text capacity 2026-09-30 22:11:28 +00:00
Tomás Romero 9bdd75cfa2 perf: decode only retained mailto query values 2026-09-30 22:11:28 +00:00
Tomás Romero 65d7701eb9 perf: reuse decoded mailto bytes 2026-09-30 22:11:28 +00:00
Tomás Romero 48600b715c perf: borrow mailto query keys 2026-09-30 22:11:28 +00:00
Tomás Romero ec811035ab perf: compare unsubscribe schemes without copies 2026-09-30 22:11:28 +00:00
Tomás Romero a1e32da54a perf: own only selected unsubscribe URLs 2026-09-30 22:11:28 +00:00
Tomás Romero 245eb81968 perf: borrow unsubscribe header URIs 2026-09-30 22:11:28 +00:00
Tomás Romero 6d6088039e perf: reserve composed signature output 2026-09-30 22:11:28 +00:00
Tomás Romero 84b36dd43a perf: reuse decoded signature text 2026-09-30 22:11:28 +00:00
Tomás Romero eb93310fef perf: stream signature HTML escaping 2026-09-30 22:11:28 +00:00
Tomás Romero 5472362962 perf: retain only sender verification properties 2026-09-30 22:11:28 +00:00
Tomás Romero 9fa9b5b613 perf: borrow sender authentication result tokens 2026-09-30 22:11:28 +00:00
Tomás Romero 56f92d501c perf: borrow comment-free authentication headers 2026-09-30 22:11:28 +00:00
Tomás Romero 3ddf419d8d perf: stream compose forwarded messages 2026-09-30 22:11:28 +00:00
Tomás Romero 5a0f3d48c3 perf: stream compose reply quotations 2026-09-30 22:11:28 +00:00
Tomás Romero 0293e61429 perf: borrow unchanged compose display names 2026-09-30 22:11:28 +00:00
Tomás Romero 8e3535f274 perf: append compose address lists directly 2026-09-30 22:11:28 +00:00
Tomás Romero 95b801f337 perf: borrow normalized reply deduplication keys 2026-09-30 22:11:28 +00:00
Tomás Romero a79bfa4f99 perf: borrow reply sender identity addresses 2026-09-30 22:11:28 +00:00
Tomás Romero 247d4e1cec perf: borrow reply recipient candidates 2026-09-30 22:11:28 +00:00
Tomás Romero a164450246 fix: preserve mail after collapsing groups 2026-09-30 22:11:28 +00:00
Tomás Romero 8bd1a3ddfa perf: borrow normalized CardDAV element names 2026-09-30 22:11:28 +00:00
Tomás Romero 611acd8ece perf: borrow normalized CalDAV element names 2026-09-30 22:11:28 +00:00
Tomás Romero 05dfa7fa02 perf: copy only retained CardDAV response text 2026-09-30 22:11:28 +00:00
Tomás Romero d84f47d2a7 perf: copy only retained CalDAV response text 2026-09-30 22:11:28 +00:00
Tomás Romero e750695d08 perf: append CardDAV sync tokens directly 2026-09-30 22:11:28 +00:00