From 8b73fd9cd43753b36b3ab3ca5e4dc83a47ea3480 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Mon, 20 Apr 2026 13:04:57 -0500 Subject: fix: add mark all read actions and avoid resending unchanged repo metadata --- Hutch/Views/Home/HomeViewModel.swift | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Hutch/Views/Home/HomeViewModel.swift') diff --git a/Hutch/Views/Home/HomeViewModel.swift b/Hutch/Views/Home/HomeViewModel.swift index 4bd4f32..6016a11 100644 --- a/Hutch/Views/Home/HomeViewModel.swift +++ b/Hutch/Views/Home/HomeViewModel.swift @@ -627,6 +627,20 @@ final class HomeViewModel { persistNeedsAttentionSnapshot() } + func markAllInboxThreadsRead() { + guard !unreadInboxThreads.isEmpty else { return } + + let viewedAt = Date() + for thread in unreadInboxThreads { + InboxReadStateStore.markViewed(max(viewedAt, thread.lastActivityAt), for: thread.id, defaults: defaults) + } + + unreadInboxThreads = [] + unreadInboxThreadCount = 0 + hasUnreadInboxThreads = false + persistNeedsAttentionSnapshot() + } + func markInboxThreadUnread(_ thread: InboxThreadSummary) { InboxReadStateStore.markUnread(for: thread.id, defaults: defaults) if unreadInboxThreads.contains(where: { $0.id == thread.id }) == false { -- cgit v1.2.3