Files
calendula/docs
Jean-Luc Makiola 41593a0e9d fix(calendars): make the Settings toggle the one visibility model (#75)
Reminders never fired for a calendar hidden at system level and nothing hinted
at it: the provider only schedules reminder alarms for Calendars.VISIBLE=1,
while Calendula filtered with its own disabledCalendarIds pref and parsed
isVisibleInSystem without ever using it — two models that could disagree
indefinitely.

Settings → Calendars now writes Calendars.VISIBLE, one calendar per update
(CalendarProvider2 skips its own checkNextAlarm() reschedule for any selection
that isn't _id=), and every display predicate reads isVisibleInSystem. The
drawer's filter sheet stays a purely in-app declutter and still leaves reminders
alone.

With VISIBLE=0 the provider creates no alert rows, so there is nothing left to
suppress: the disabled-calendar gates, SuppressedReminderStore and the re-enable
recovery are gone. A one-shot migration reconciles the retired set with the app's
state winning — enabled in-app and syncing gets shown, disabled gets hidden,
everything else untouched — so the upgrade changes nothing the user sees.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-25 12:44:56 +02:00
..

Documentation map

Where to look for what:

Document What it is
ARCHITECTURE.md Orientation tour: principles, layers, navigation, recurring-write / conflict / reminder pipelines, testing
../CHANGELOG.md Release history (Keep a Changelog, SemVer)
../.planning/ROADMAP.md Living roadmap: shipped milestones, current scope, idea backlog
../.planning/PROJECT.md What the project is, stack, naming, infrastructure
../.planning/REQUIREMENTS.md Requirement checklist per milestone
../.planning/STATE.md Snapshot of where development currently stands
superpowers/specs/ The original design spec (2026-06-08) — historical record, not updated
superpowers/plans/ Per-milestone implementation plans with task checklists — historical record of how each slice was built, including provider lessons learned
../fastlane/metadata/android/ Store metadata (single source of truth): descriptions, title, icon, screenshots (DE + EN). Harvested directly by the official F-Droid repo; transformed into the self-hosted repo layout at release time by ../scripts/fastlane_to_fdroid_localized.sh
../fdroid-metadata/ App-level F-Droid control file (*.yml: Categories, License, links) for the self-hosted repo's fdroid update
fdroid-official/ Draft recipe + notes for publishing to the official F-Droid repo (reproducible build + developer-signed binary)

Conventions: plans and specs under superpowers/ are point-in-time artifacts of the agentic workflow that built each milestone — they get status updates but are never rewritten. The .planning/ files are living documents and should stay current.