0b9bbe1255
add multipart/mixed formatting, base64 line-wrapped encoding to MessageFormatter
2026-03-14 13:32:23 +01:00
968dd91f80
add fetchFullMessage, fetchSection to IMAPClient for MIME attachment retrieval
2026-03-14 13:31:38 +01:00
0a564a05fd
add attachment CRUD to MailStore, wire hasAttachments in Queries
2026-03-14 13:29:58 +01:00
17d47cfddd
add v4_attachment migration: sectionPath on attachment, hasAttachments on message
2026-03-14 13:29:29 +01:00
aac7c7c0af
add MIMEParser: multipart parsing, content decoding, boundary generation
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 12:09:10 +01:00
cd7d39de9e
add RFC 2047 encoded word decoder for MIME filenames
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 12:07:17 +01:00
a3a99e668f
add MIME types: MIMEMessage, MIMEPart, MIMEAttachment, TransferEncoding
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 12:06:32 +01:00
8095000a56
add MIMEParser module target to Package.swift
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 12:06:10 +01:00
f28b44d445
move v0.1 artifacts to DELETE/, fix xcode build, bump calver to 2026.03.14
...
- move backend/, clients/, scripts/ to DELETE/ (v0.1 era, replaced by on-device arch)
- delete feature/v0.1-backend-and-macos branch
- add TaskStore dependency to project.yml
- fix ComposeViewModel deinit concurrency, make toMessageSummary public
- regenerate Xcode project, verify macOS build succeeds
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 10:40:41 +01:00
ac824cd72e
add deferral resurfacing to SyncCoordinator (task 7)
...
Import TaskStore, add optional taskStore property, add resurfaceDeferrals()
that clears expired email deferrals and deferred task deferUntil on each sync.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-14 10:31:00 +01:00
39c0fd40bf
add VTODO parser, formatter, TaskStore file I/O with cache rebuild
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 10:31:00 +01:00
a4f0761f25
add v0.4 models, schema, query extensions for GTD tasks, labels, deferrals
...
New model types: TaskStatus, TaskSummary, LabelInfo, ItemSummary.
GRDB records: TaskRecord, LabelRecord, ItemLabelRecord, DeferralRecord.
Database migrations v3_task, v3_label, v3_deferral with indexes.
MailStore query extensions for labels, item-labels, deferrals, task cache.
TaskStore module wrapping MailStore. Tests for all v3 tables and records.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 10:31:00 +01:00
cf2b463fd3
add ActionQueue: two-phase enqueue, FIFO flush, retry with max 5 attempts
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 05:29:56 +01:00
c38c31bf4d
add dot-stuffing for SMTP DATA command (RFC 5321 §4.5.2)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 05:25:55 +01:00
54ce92e280
add SMTPClient module: connection layer, message formatter, public API, tests
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 05:25:03 +01:00
427f197bb3
add IMAP write operations, special folder role detection
...
Extend IMAPClientProtocol with storeFlags, moveMessage, copyMessage,
expunge, appendMessage, capabilities methods. Implement all six in
IMAPClient actor using NIOIMAPCore typed commands. Add multi-part
command support to IMAPConnection/IMAPCommandRunner for APPEND.
MockIMAPClient tracks all write calls for testing. SyncCoordinator
detects mailbox roles from LIST attributes with name-based fallback.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 05:13:39 +01:00
d659ed67de
add v0.3 schema: smtp fields, mailbox roles, drafts, pending actions, mailstore queries
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-14 05:01:17 +01:00
a75738a79d
add background body prefetch for recent messages (last 30 days)
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 21:34:38 +01:00
21227b3c78
add real IMAPClient actor with NIO connection, command pipeline, envelope parsing
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 21:12:39 +01:00
ec820b2785
add nio connection layer: tls bootstrap, response handler, command runner
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 21:05:44 +01:00
300b583695
add sync coordinator: imap → mailstore pipeline with delta sync
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:32:38 +01:00
ce5c985272
add imap client protocol, types, mock for testing
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:27:20 +01:00
4670612e75
add FTS5 search, thread summaries, reactive observation streams
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:25:18 +01:00
ca3817c683
add thread reconstruction: simplified JWZ with merge support
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:21:15 +01:00
abee491cec
add mailstore CRUD: accounts, mailboxes, messages, threads, flags, body
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:18:59 +01:00
0927d9827d
add mailstore schema: accounts, mailboxes, messages, threads, FTS5
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:16:23 +01:00
f37b287f5e
add models module: shared types for accounts, messages, threads, sync
...
fix Package.swift: remove NIOIMAPCore product reference (only NIOIMAP is exported by swift-nio-imap)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:11:24 +01:00
9c3d02ae45
scaffold MagnumOpusCore swift package with four modules
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-13 18:05:02 +01:00