From a91efd5de20d04e10a00eea7672d82bd856437b5 Mon Sep 17 00:00:00 2001 From: Trey t Date: Sat, 6 Dec 2025 10:40:17 -0600 Subject: [PATCH] Fix iOS widget showing completed tasks MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Exclude completed_tasks and cancelled_tasks columns when saving tasks to the widget cache. Also use kanban column name to determine overdue status instead of recalculating it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- iosApp/iosApp/Helpers/WidgetDataManager.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/iosApp/iosApp/Helpers/WidgetDataManager.swift b/iosApp/iosApp/Helpers/WidgetDataManager.swift index f30dde3..10e0945 100644 --- a/iosApp/iosApp/Helpers/WidgetDataManager.swift +++ b/iosApp/iosApp/Helpers/WidgetDataManager.swift @@ -50,10 +50,18 @@ final class WidgetDataManager { return } - // Extract tasks from all columns and convert to WidgetTask + // Columns to exclude from widget (these are "done" states) + let excludedColumns = ["completed_tasks", "cancelled_tasks"] + + // Extract tasks from active columns only and convert to WidgetTask var allTasks: [WidgetTask] = [] for column in response.columns { + // Skip completed and cancelled columns + if excludedColumns.contains(column.name) { + continue + } + for task in column.tasks { let widgetTask = WidgetTask( id: Int(task.id), @@ -64,7 +72,7 @@ final class WidgetDataManager { dueDate: task.dueDate, category: task.category?.name ?? "", residenceName: "", // No longer available in API, residence lookup needed - isOverdue: isTaskOverdue(dueDate: task.dueDate, status: task.status?.name) + isOverdue: column.name == "overdue_tasks" ) allTasks.append(widgetTask) }