Let a status flap fence the feed instead of throwing it away

MAC3-R1 from the fix verification: refreshCachesForEffectiveContext purged
on every effective-context move, so the cache the Subscriptions fix meant
to keep was already empty when its keep-path ran. A move under an unchanged
selection now fences the feed cache non-destructively; only a genuine
selection move still purges. Also settles the destination loader's
observer callback onto the main actor without a capture-of-var warning.
This commit is contained in:
Arkadiusz Fal
2026-09-11 21:14:53 +02:00
parent c0d38834a6
commit 40d6f4e71f
2 changed files with 24 additions and 3 deletions

View File

@@ -73,7 +73,7 @@ final class SubscriptionDestinationMembershipLoader {
for name: Notification.Name in [.accountCredentialDidChange, .accountsDidChange, .instancesDidChange] {
observers.append(
NotificationCenter.default.addObserver(forName: name, object: nil, queue: .main) { [weak self] _ in
Task { @MainActor in self?.reload() }
MainActor.assumeIsolated { self?.reload() }
}
)
}