325f35735747986d54535e9ffbd7985b8849146b
Hiding or showing a calendar on the web sets enabled=false + sidebar_hidden server-side, so the server stops returning that calendar's events entirely. The app only reconciled these per-calendar flags when the filter sheet or the accounts screen happened to be opened — never on launch, resume or the periodic pull. So a calendar re-enabled on the web stayed invisible (still banished locally, and its events weren't in the cache) until a manual sync or relaunch — the "hide it on the web and the app won't bring it back" bug. Add CalendarStore.reconcileCalendarVisibility(api:) which pulls the account lists, updates the banished set from the server's sidebar_hidden flags, and returns whether anything changed. CalendarHostView now runs it (via syncFromServer) on launch, on scenePhase .active, in the periodic loop, and on manual sync — forcing a refetch when the set changed so a re-enabled calendar's events actually reappear without user intervention. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Description
No description provided
Languages
Swift
100%