Luigit
repositories / dotfiles

dotfiles

bugabingas dorkfiles

owned by admin

quickshell/nuguland/.system/plans/NL-PLAN-0E85CD00-deliver-read-only-caldav-calendar/index.md

Raw
Rendered preview

id: NL-PLAN-0E85CD00 type: plan title: Deliver read-only CalDAV calendar spec: NL-SPEC-9D4A99C2 status: approved

Deliver read-only CalDAV calendar

  1. Parsing and layout core Provide runtime-neutral calendar parsing and multi-day segmentation. Test unfolding, decoding, dates, tasks, malformed input, week wrapping, and lane allocation.
  2. Calendar service interface Own non-secret configuration, status, events, calendars, refresh, setup, self-test, and additive state behind one injected service.
  3. Discovery and fetch Discover event and task calendars with read-only DAV requests. Expand events server-side, leave VTODO unexpanded, and filter dated tasks to the visible window. Keep credentials outside arguments, logs, responses, and persistent configuration.
  4. Lifecycle integration Inject the service through the shell and expose state and refresh IPC. Refresh after configuration load, every 15 minutes, and when the clock popup opens.
  5. Month grid Render the Monday-first 42-day grid with lowercase weekdays, today and spillover treatment, dots, pills, and calendar colors.
  6. Multi-day bands Render week-split segments with reserved lanes and verify deterministic week wrapping.
  7. Agenda and stale state Order today's all-day items and tasks before timed events. Support scrolling, empty state, last-good data, and stale indication.
  8. Setup and keyring handoff Add lowercase URL, username, app-password, and save controls with explicit app-password guidance. Validate fields, store through the keyring boundary, clear transient secret state, and show inline failures safely.
  9. Verification Run parser and service checks. Validate startup, additive IPC, live discovery and fetch, offline behavior, keyring failure, credential non-disclosure, and required screenshots.
---
id: NL-PLAN-0E85CD00
type: plan
title: Deliver read-only CalDAV calendar
spec: NL-SPEC-9D4A99C2
status: approved
---

# Deliver read-only CalDAV calendar

1. **Parsing and layout core**
   Provide runtime-neutral calendar parsing and multi-day segmentation.
   Test unfolding, decoding, dates, tasks, malformed input, week wrapping, and lane allocation.
2. **Calendar service interface**
   Own non-secret configuration, status, events, calendars, refresh, setup, self-test, and additive state behind one injected service.
3. **Discovery and fetch**
   Discover event and task calendars with read-only DAV requests.
   Expand events server-side, leave VTODO unexpanded, and filter dated tasks to the visible window.
   Keep credentials outside arguments, logs, responses, and persistent configuration.
4. **Lifecycle integration**
   Inject the service through the shell and expose state and refresh IPC.
   Refresh after configuration load, every 15 minutes, and when the clock popup opens.
5. **Month grid**
   Render the Monday-first 42-day grid with lowercase weekdays, today and spillover treatment, dots, pills, and calendar colors.
6. **Multi-day bands**
   Render week-split segments with reserved lanes and verify deterministic week wrapping.
7. **Agenda and stale state**
   Order today's all-day items and tasks before timed events.
   Support scrolling, empty state, last-good data, and stale indication.
8. **Setup and keyring handoff**
   Add lowercase URL, username, app-password, and save controls with explicit app-password guidance.
   Validate fields, store through the keyring boundary, clear transient secret state, and show inline failures safely.
9. **Verification**
   Run parser and service checks.
   Validate startup, additive IPC, live discovery and fetch, offline behavior, keyring failure, credential non-disclosure, and required screenshots.