mirror of
https://github.com/yattee/yattee.git
synced 2026-10-23 13:12:53 +00:00
Fetched account records are staged under the identity the fetch began under, not whichever is current when they arrive — the engine's fetch spans several delegate events and the Apple account can move between them, which would have filed one identity's accounts under another's. Subscription fetches are fenced against context switches, not only against a provider being discarded. Providers are deliberately kept across a switch — each is one account's cache — so an earlier account's fetch could finish afterwards and put its channels on screen while unsubscribes went to the account now selected. The subscriptions view reloads when the *effective* context moves, which a credential arriving, expiring or being rejected does without the stored context changing at all. Feed requests report what they learn about the account, like every other authenticated call: a credential that expired during a feed-only refresh kept looking signed in, and the fallback never engaged. The classification behind that verdict now exists once, on AccountsManager, rather than in each provider.