Files
calendula/docs
Jean-Luc Makiola 0b683d374f feat(ics): export — share single event + back up local calendars as .ics
Branch 1 of 2 for v2.7 (the .ics topic). Adds the write side of a
hand-rolled RFC 5545 engine (zero deps, stays on kotlinx-datetime):

- domain/ics: IcsText (escape + 75-octet folding), IcsEvent model,
  IcsWriter.writeCalendar. Timezone rule: all-day VALUE=DATE, one-off
  timed UTC Z, recurring timed TZID-labelled from EVENT_TIMEZONE (no
  VTIMEZONE — import resolves TZID against the OS tz db).
- Single-event share from the detail screen (FileProvider + ACTION_SEND).
- Whole-calendar backup of the writable local calendars to a SAF file
  (Settings -> Calendars -> Export as .ics), one combined VCALENDAR.
- insertEvent now writes Events.UID_2445; legacy rows fall back to a
  stable synthesised UID at export time so a later restore won't dupe.
- EXDATE / RECURRENCE-ID overrides are deliberately skipped this pass
  (documented v1 limit; import will skip them too).

Engine + mapper unit-tested. Import (Branch 2, feat/ics-import) ships in
the same v2.7 release; no tag until both land + on-device review.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 14:27:53 +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
../fdroid-metadata/ F-Droid/fastlane store metadata: descriptions, icon, screenshots (DE + EN)

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.