Files
nocal/docs/ROADMAP.md
Bernardo Magri 88d370bf99 feat: add calendar visibility picker
Derive session calendars from event metadata and apply one visibility contract to month rendering, appointment focus, and search without filtering persistence writes.

Add keyboard picker coverage, full-model save regression tests, documentation, warning-clean builds, sanitizer verification, and live PTY terminal restoration checks.
2026-07-18 09:01:27 +01:00

2.3 KiB

Roadmap

Foundation — current milestone

  • C++20 domain model and deterministic six-week month layout
  • Responsive, theme-native ANSI month view with keyboard navigation
  • Appointment focus, dense-day traversal, and full-frame detail reader
  • Validated add/edit/delete forms with confirmation and failure rollback
  • Guarded atomic .ics persistence, advisory locking, and round-trip tests
  • Bounded session undo/redo, exact external-change detection, and backup recovery
  • Windowed recurrence expansion, EXDATE, IANA TZID, and multi-day segment cues
  • Occurrence-aware appointment search with exact result-to-grid navigation
  • Session calendar toggles shared by month rendering, focus, and search
  • Meson build, Nix development shell, desktop entry, and Hyprland launcher
  • Seeded sample data when explicitly requested, never silent data mutation

0.1 — complete local calendar

  • Advanced recurrence editing, RDATE/overrides, and embedded VTIMEZONE support
  • Agenda view, import/export, configurable week start
  • Screen-reader-friendly linear view and full Unicode display-width handling

0.2 — durable cache and provider boundary

  • SQLite WAL cache and migration framework
  • Background job queue, immutable UI snapshots, observable sync status
  • Secret Service credentials and OAuth callback helper
  • Generic SyncProvider contract plus a fake provider test suite

0.3 — CalDAV

  • Discovery and incremental sync for Nextcloud and standards-compliant servers
  • ETag-aware writes, offline mutation queue, conflict UI
  • TLS and failure-path integration tests

0.4 — hosted providers

  • Google Calendar adapter with incremental synchronization
  • Microsoft 365 adapter over Microsoft Graph delta queries
  • Account/calendar management UI and per-calendar ANSI identity

1.0 — distribution quality

  • Stable configuration/data format and documented recovery procedures
  • Nomarchy package, Hyprland defaults, man page, shell completions
  • Performance budgets exercised against large and adversarial calendars
  • Fuzzed iCalendar parser, accessibility review, translations

Quality gates

Every milestone requires clean warning-enabled builds, unit and integration tests, sanitizer runs, terminal-state recovery after signals/errors, no network access without explicit account setup, and no loss of unknown calendar data.