diff --git a/lib/screens/tasks/tasks_list_screen.dart b/lib/screens/tasks/tasks_list_screen.dart index 90719307..052b4f71 100644 --- a/lib/screens/tasks/tasks_list_screen.dart +++ b/lib/screens/tasks/tasks_list_screen.dart @@ -183,6 +183,14 @@ class _TasksListScreenState extends ConsumerState latestAssigneeByTaskId[entry.key] = entry.value.userId; } + // Track ALL assigned users per task (not just latest) for "My Tasks" filtering + final assignedUsersByTaskId = >{}; + for (final a in assignments) { + assignedUsersByTaskId + .putIfAbsent(a.taskId, () => {}) + .add(a.userId); + } + final filteredTasks = _applyTaskFilters( tasks, ticketById: ticketById, @@ -471,7 +479,10 @@ class _TasksListScreenState extends ConsumerState : filteredTasks .where( (t) => - latestAssigneeByTaskId[t.id] == currentUserId, + assignedUsersByTaskId[t.id]?.contains( + currentUserId, + ) ?? + false, ) .toList();