This website requires JavaScript.
c4374b42ea
default to Inbox perspective, show GTD item detail, reduce toolbar
main
Felix Förtsch
2026-03-15 12:56:19 +01:00
3c21a4c461
fix empty detail view on thread select, reduce toolbar overflow
Felix Förtsch
2026-03-15 12:50:19 +01:00
367359abe6
filter thread list by selected mailbox, fix sidebar selection
Felix Förtsch
2026-03-15 12:44:41 +01:00
6bd1163c6c
mark messages as read when selecting a thread
Felix Förtsch
2026-03-15 12:36:57 +01:00
fc90d71021
decode RFC 2047 in To/CC names, convert dates to ISO 8601 for correct sorting
Felix Förtsch
2026-03-15 12:34:10 +01:00
a71f609f3b
decode RFC 2047 subjects/sender names, parse RFC 2822 dates from IMAP envelopes
Felix Förtsch
2026-03-15 12:30:34 +01:00
0c31bdc152
fix insertMessages: use COUNT(*) instead of MessageRecord.fetchOne for existence check
Felix Förtsch
2026-03-15 12:24:32 +01:00
0433ed1f7e
fix double sync race: remove duplicate syncNow calls, add sync guard
Felix Förtsch
2026-03-15 12:22:39 +01:00
df78397870
fix stale IMAP connection: clean up old connection on reconnect, robust disconnect
Felix Förtsch
2026-03-15 12:10:53 +01:00
01605a01ec
fix FK constraint: skip duplicate messages before thread reconstruction
Felix Förtsch
2026-03-15 12:02:55 +01:00
ff91e397e8
fix sync: INSERT OR IGNORE for duplicate messages, fix leaked IMAP continuations
Felix Förtsch
2026-03-15 11:58:29 +01:00
1e39a2bd43
fix offline: remove deadlocking syncShutdownGracefully from deinit, limit flag sync range
Felix Förtsch
2026-03-15 11:44:45 +01:00
d5eaf35665
add attachmentCount to ThreadSummary, paperclip badges in thread and item lists
Felix Förtsch
2026-03-15 11:38:29 +01:00
016c163b75
add attachment chips to message view with download, Quick Look preview
Felix Förtsch
2026-03-15 11:36:05 +01:00
5c547f6faa
add compose attachment UI: file picker, drag-drop, paste, chip strip, send path
Felix Förtsch
2026-03-15 11:33:25 +01:00
868d99e60e
update SMTPClient.send to use formatMultipart when attachments present
Felix Förtsch
2026-03-15 11:27:34 +01:00
1b4556b167
add OutgoingAttachment model, attachments field on OutgoingMessage
Felix Förtsch
2026-03-15 11:26:03 +01:00
1c9e36a970
add attachment UI implementation plan
Felix Förtsch
2026-03-15 11:24:07 +01:00
a3e3618d34
add attachment UI design spec
Felix Förtsch
2026-03-15 10:54:14 +01:00
8c33d4d4a6
fix raw MIME body display, re-parse stale cached bodies, fix minor review items
Felix Förtsch
2026-03-15 10:33:08 +01:00
31ab18cb2a
fix remaining code review issues, add HTML email rendering, charset-aware MIME decoding
Felix Förtsch
2026-03-15 10:05:19 +01:00
10b7cb2fd2
fix code review issues: deferral date format, storeFlags SELECT, event loop leaks, GTD selection tracking
Felix Förtsch
2026-03-14 23:13:46 +01:00
3b82e6cd95
fix IMAPIdleHandler thread safety: pass idleTag via init, clean up event loop group on reconnect
Felix Förtsch
2026-03-14 14:20:53 +01:00
55ec465677
bump periodic sync to 15min (IDLE is fast path), add MIMEParser to app targets
Felix Förtsch
2026-03-14 13:44:41 +01:00
961f87359a
add 25 MB per-file attachment size guard to MessageFormatter
Felix Förtsch
2026-03-14 13:44:09 +01:00
0ba309c525
add attachment download service: fetch section from IMAP, cache to disk
Felix Förtsch
2026-03-14 13:43:11 +01:00
004d1ad027
remove inline body fetch from fetchEnvelopes, bodies now come from MIME-aware prefetchBodies
Felix Förtsch
2026-03-14 13:41:33 +01:00
9a42ae9574
add IDLE monitoring to SyncCoordinator: start/stop with capability check
Felix Förtsch
2026-03-14 13:40:47 +01:00
1cbe09c443
add IMAPIdleClient actor with IDLE loop, reconnect backoff, re-IDLE timer
Felix Förtsch
2026-03-14 13:38:39 +01:00
3ea88f6402
add IMAPIdleHandler: NIO channel handler for IDLE event streaming
Felix Förtsch
2026-03-14 13:37:16 +01:00
858cdf5284
replace prefetchBodies with MIME-aware parsing, store attachments during sync
Felix Förtsch
2026-03-14 13:35:14 +01:00
0b9bbe1255
add multipart/mixed formatting, base64 line-wrapped encoding to MessageFormatter
Felix Förtsch
2026-03-14 13:32:23 +01:00
968dd91f80
add fetchFullMessage, fetchSection to IMAPClient for MIME attachment retrieval
Felix Förtsch
2026-03-14 13:31:38 +01:00
0a564a05fd
add attachment CRUD to MailStore, wire hasAttachments in Queries
Felix Förtsch
2026-03-14 13:29:58 +01:00
17d47cfddd
add v4_attachment migration: sectionPath on attachment, hasAttachments on message
Felix Förtsch
2026-03-14 13:29:29 +01:00
aac7c7c0af
add MIMEParser: multipart parsing, content decoding, boundary generation
Felix Förtsch
2026-03-14 12:09:10 +01:00
cd7d39de9e
add RFC 2047 encoded word decoder for MIME filenames
Felix Förtsch
2026-03-14 12:07:17 +01:00
a3a99e668f
add MIME types: MIMEMessage, MIMEPart, MIMEAttachment, TransferEncoding
Felix Förtsch
2026-03-14 12:06:32 +01:00
8095000a56
add MIMEParser module target to Package.swift
Felix Förtsch
2026-03-14 12:06:10 +01:00
b866c3bb8e
add v0.5 implementation plan: attachments, MIME parsing, IMAP IDLE
Felix Förtsch
2026-03-14 11:54:26 +01:00
f28b44d445
move v0.1 artifacts to DELETE/, fix xcode build, bump calver to 2026.03.14
Felix Förtsch
2026-03-14 10:40:41 +01:00
8f63b1c7c1
fix task store wiring: correct directory path, pass to sync coordinator, remove unused stub
Felix Förtsch
2026-03-14 09:10:08 +01:00
bec9b7eb40
add app UI for GTD triage: perspectives, task creation, defer/label pickers, linked tasks
Felix Förtsch
2026-03-14 09:06:57 +01:00
ac824cd72e
add deferral resurfacing to SyncCoordinator (task 7)
Felix Förtsch
2026-03-14 09:00:14 +01:00
39c0fd40bf
add VTODO parser, formatter, TaskStore file I/O with cache rebuild
Felix Förtsch
2026-03-14 08:58:31 +01:00
a4f0761f25
add v0.4 models, schema, query extensions for GTD tasks, labels, deferrals
Felix Förtsch
2026-03-14 08:51:15 +01:00
18e7ff2c47
fix v0.5 spec: address 14 review issues (MIME, IDLE handler, hasAttachments, etc.)
Felix Förtsch
2026-03-14 10:00:57 +01:00
e85e373914
add v0.5 design spec: attachments (send+receive), IMAP IDLE
Felix Förtsch
2026-03-14 09:57:02 +01:00
1049ca2675
add v0.4 implementation plan: GTD tasks, unified triage, deferrals, labels
Felix Förtsch
2026-03-14 08:33:21 +01:00
2e502cc08b
fix v0.4 spec: address 7 review issues (deferral storage, cache rebuild, key conflict, etc.)
Felix Förtsch
2026-03-14 08:19:19 +01:00
90b679870f
add v0.4 design spec: GTD tasks, unified triage, deferrals, labels
Felix Förtsch
2026-03-14 08:15:55 +01:00
f3da0784b9
wire end-to-end: smtp provider for ActionQueue, actionQueue for SyncCoordinator, body fetch for reply/forward
Felix Förtsch
2026-03-14 06:00:42 +01:00
0bfcf2d610
add triage UI: archive, delete, flag, read/unread, move actions with auto-advance, compose triggers
Felix Förtsch
2026-03-14 05:55:19 +01:00
5c0c5a5bda
add compose flow: ComposeViewModel with draft auto-save, ComposeView with form UI
Felix Förtsch
2026-03-14 05:50:42 +01:00
7d847693d7
extend AutoDiscovery for SMTP, add SMTP fields to account setup UI
Felix Förtsch
2026-03-14 05:32:17 +01:00
cf2b463fd3
add ActionQueue: two-phase enqueue, FIFO flush, retry with max 5 attempts
Felix Förtsch
2026-03-14 05:29:56 +01:00
c38c31bf4d
add dot-stuffing for SMTP DATA command (RFC 5321 §4.5.2)
Felix Förtsch
2026-03-14 05:25:55 +01:00
54ce92e280
add SMTPClient module: connection layer, message formatter, public API, tests
Felix Förtsch
2026-03-14 05:25:03 +01:00
427f197bb3
add IMAP write operations, special folder role detection
Felix Förtsch
2026-03-14 05:12:58 +01:00
d659ed67de
add v0.3 schema: smtp fields, mailbox roles, drafts, pending actions, mailstore queries
Felix Förtsch
2026-03-14 05:01:17 +01:00
8c3f51adb4
fix v0.3 spec: address 11 review issues (concurrency, codable, bcc, folder roles, etc.)
Felix Förtsch
2026-03-13 22:17:49 +01:00
5e1c26aa05
add v0.3 design spec: compose, triage, smtp, action queue
Felix Förtsch
2026-03-13 22:12:47 +01:00
d5661459e4
bump calver to 2026.03.13, v0.2 complete: native swift email client with imap sync, grdb, swiftui
Felix Förtsch
2026-03-13 21:39:29 +01:00
a75738a79d
add background body prefetch for recent messages (last 30 days)
Felix Förtsch
2026-03-13 21:34:38 +01:00
deb4c1d15c
add offline banner, sync status indicators
Felix Förtsch
2026-03-13 21:34:12 +01:00
00b5632f3f
add imap auto-discovery: mozilla ispdb, dns srv fallback
Felix Förtsch
2026-03-13 21:33:37 +01:00
1b8f3b6665
add keychain credential storage, persist account config
Felix Förtsch
2026-03-13 21:25:49 +01:00
74179cb534
add html email rendering with wkwebview, script/tracker blocking
Felix Förtsch
2026-03-13 21:23:15 +01:00
e3159d61e8
add three-column swiftui layout: sidebar, thread list, detail, account setup
Felix Förtsch
2026-03-13 21:23:04 +01:00
6f0ba20d86
add mail, account setup viewmodels with grdb observation
Felix Förtsch
2026-03-13 21:23:00 +01:00
1b915fc9ab
scaffold multi-platform xcode project with xcodegen
Felix Förtsch
2026-03-13 21:17:11 +01:00
21227b3c78
add real IMAPClient actor with NIO connection, command pipeline, envelope parsing
Felix Förtsch
2026-03-13 21:12:39 +01:00
ec820b2785
add nio connection layer: tls bootstrap, response handler, command runner
Felix Förtsch
2026-03-13 21:05:44 +01:00
300b583695
add sync coordinator: imap → mailstore pipeline with delta sync
Felix Förtsch
2026-03-13 18:32:38 +01:00
ce5c985272
add imap client protocol, types, mock for testing
Felix Förtsch
2026-03-13 18:27:20 +01:00
4670612e75
add FTS5 search, thread summaries, reactive observation streams
Felix Förtsch
2026-03-13 18:25:18 +01:00
ca3817c683
add thread reconstruction: simplified JWZ with merge support
Felix Förtsch
2026-03-13 18:21:15 +01:00
abee491cec
add mailstore CRUD: accounts, mailboxes, messages, threads, flags, body
Felix Förtsch
2026-03-13 18:18:59 +01:00
0927d9827d
add mailstore schema: accounts, mailboxes, messages, threads, FTS5
Felix Förtsch
2026-03-13 18:16:23 +01:00
f37b287f5e
add models module: shared types for accounts, messages, threads, sync
Felix Förtsch
2026-03-13 18:11:24 +01:00
9c3d02ae45
scaffold MagnumOpusCore swift package with four modules
Felix Förtsch
2026-03-13 18:05:02 +01:00
a5361e36bd
add .worktrees/ to gitignore for isolated development workspaces
Felix Förtsch
2026-03-13 17:15:05 +01:00
7aa3106be3
refine v0.2 spec after review: fix blockers, clarify ambiguities
Felix Förtsch
2026-03-13 15:59:07 +01:00
1f0f5a188c
add v0.2 native swift email client design spec
Felix Förtsch
2026-03-13 15:54:02 +01:00
1d68d7006a
merge taskjuggler vscode extension into ideas
Felix Förtsch
2026-03-10 17:03:20 +01:00
e9978403c9
add .gitignore, remove tracked .DS_Store, sync-conflict files
Felix Förtsch
2026-03-10 12:43:35 +01:00
5867799de4
support configurable binary paths for mbsync, notmuch env
Felix Förtsch
2026-03-10 12:41:37 +01:00
35f558b323
add dev setup, sync trigger scripts
Felix Förtsch
2026-03-10 12:22:46 +01:00
f4560913c9
connect macos client to sse for live updates
Felix Förtsch
2026-03-10 12:21:57 +01:00
5a878012b7
add three-column layout with sidebar, thread list, detail view
Felix Förtsch
2026-03-10 12:21:49 +01:00
e53a207583
add sse client for real-time backend events
Felix Förtsch
2026-03-10 12:21:42 +01:00
1b24cb721a
add swift api client with model types, json decoding
Felix Förtsch
2026-03-10 12:17:01 +01:00
7bb74654c5
add macos swiftui app project, xcodegen config, initial views
Felix Förtsch
2026-03-10 12:12:52 +01:00
26406a219e
add sync trigger endpoint, wire mbsync → notmuch → cache
Felix Förtsch
2026-03-10 11:57:32 +01:00
6466eb468d
add sync-to-cache pipeline, publish events on new threads
Felix Förtsch
2026-03-10 11:56:23 +01:00
8d52e40f07
add sse event bus, real-time event endpoint
Felix Förtsch
2026-03-10 11:48:32 +01:00
a6b09df0a4
add rest api routes for threads, messages
Felix Förtsch
2026-03-10 11:33:13 +01:00
8b1cb7e07f
add sqlite cache schema, thread/message storage
Felix Förtsch
2026-03-10 11:31:04 +01:00
64e35177f3
add notmuch query service with JSON parsing
Felix Förtsch
2026-03-10 11:28:21 +01:00
e3bd05ca21
add sync orchestrator wrapping mbsync, notmuch
Felix Förtsch
2026-03-10 11:26:11 +01:00