Files
Lucas Berger 982438dc10 style(13-03): apply Prettier formatting across repo
Mechanical reformat — no logic changes. 398 files changed, 19125
insertions(+), 16457 deletions(-). Prettier 3.8.4 with .prettierrc
(singleQuote:true, semi:true, tabWidth:2, trailingComma:all,
printWidth:100). Isolated per D-13-08 for reviewability.
2026-06-11 20:35:18 -04:00

2.1 KiB

Research Questions

Open

RQ-003 — Fastmail calendar API: JMAP vs CalDAV

Question: For the custom app to read AND write the shared family calendar on Fastmail, is JMAP or CalDAV the cleaner integration? Can a scoped Fastmail API token grant calendar read-write without exposing the full account?

Why it matters: The app brokers calendar access for all Apple members via the PWA, so reliable programmatic read-write to the Fastmail calendar is core. JMAP is Fastmail-native and modern; CalDAV is the interoperable standard.

Suggested approach: Check Fastmail JMAP Calendars docs + API token scoping. Confirm event create/update/delete works via token. Compare to CalDAV (sabre-dav style) effort.


Resolved

RQ-001 — Vikunja MariaDB compatibility — SUPERSEDED

Vikunja was dropped from the architecture (lists now live in the custom app's own MariaDB). The MariaDB findings still apply to the custom app itself: use MariaDB 10.6+, set utf8mb4 collation, pin versions before upgrades.


RQ-002 — CalDAV server: Radicale vs Baikal — SUPERSEDED

Both dropped. The shared calendar now lives on Fastmail, not a self-hosted CalDAV server. Rationale: the Fastmail Android app cannot display a self-hosted CalDAV calendar, so Baikal gave the primary (Android/Fastmail) user no native benefit — it only helped Apple members, who are equally served by the PWA. Fastmail-hosted removes a self-hosted service while keeping native access for the Fastmail user and PWA access for everyone.

Original finding (retained for reversibility): if self-hosting the calendar is ever required, Baikal (ckulka/baikal) is the pick over Radicale — Radicale has no native shared-calendar write support.


Calendar host decision — RESOLVED

Self-hosting the calendar data was evaluated and rejected. Fastmail (already paid for) hosts the shared family calendar. Other household members are Apple — they reach it via the PWA (default) or native Apple Calendar over CalDAV (optional).

Email scope — RESOLVED

Out of scope. Members keep existing mail clients unchanged.