diff --git a/Apps/MagnumOpus/ViewModels/MailViewModel.swift b/Apps/MagnumOpus/ViewModels/MailViewModel.swift index fbeb8da..05abfe8 100644 --- a/Apps/MagnumOpus/ViewModels/MailViewModel.swift +++ b/Apps/MagnumOpus/ViewModels/MailViewModel.swift @@ -121,18 +121,21 @@ final class MailViewModel { ) } + // Set up TaskStore sharing the same database + let taskDir = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0] + .appendingPathComponent("MagnumOpus", isDirectory: true) + .appendingPathComponent(config.id, isDirectory: true) + .appendingPathComponent("tasks", isDirectory: true) + let ts = TaskStore(taskDirectory: taskDir, dbWriter: mailStore.databaseWriter) + taskStore = ts + coordinator = SyncCoordinator( accountConfig: config, imapClient: imapClient, store: mailStore, - actionQueue: queue + actionQueue: queue, + taskStore: ts ) - - // Set up TaskStore sharing the same database - let taskDir = FileManager.default.urls(for: .applicationSupportDirectory, in: .userDomainMask)[0] - .appendingPathComponent("MagnumOpus", isDirectory: true) - .appendingPathComponent("tasks-\(config.id)", isDirectory: true) - taskStore = TaskStore(taskDirectory: taskDir, dbWriter: dbPool) } func loadMailboxes(accountId: String) async { @@ -467,13 +470,6 @@ final class MailViewModel { // MARK: - GTD Triage Actions (unified items) - func deferSelectedItem(until date: Date?) { - guard let store, let accountConfig else { return } - // Find the currently selected item from the items list - // We use the selected thread for emails, or need context for tasks - // For now, work with the first selected item concept - } - func deferItem(_ item: ItemSummary, until date: Date?) { guard let store, let accountConfig else { return } do {