diff --git a/.planning/phases/03-event-write-back-pwa-install/03-GATE2-RESULTS.md b/.planning/phases/03-event-write-back-pwa-install/03-GATE2-RESULTS.md index 35651c9..12e3ea8 100644 --- a/.planning/phases/03-event-write-back-pwa-install/03-GATE2-RESULTS.md +++ b/.planning/phases/03-event-write-back-pwa-install/03-GATE2-RESULTS.md @@ -168,7 +168,7 @@ curl -N -H "Cookie: oidc-auth=" https://familysync-dev.DOMAIN/api/sse/hea |---|-----|-------|--------|-------| | D1 | CAL-04 | Create a timed event → "Syncing…" toast → "Saved" toast → event appears in native Fastmail app on next sync | ✅ PASS (2026-06-07) | Timed create round-trips to caldav.fastmail.com (outbox rows reach `done`); appears in the app. Timezone fix applied (was 4h off). | | D2 | CAL-07 | Create an all-day event → same Syncing→Saved flow → appears in Fastmail | ✅ PASS (2026-06-07) | All-day create round-trips to Fastmail (verified VEVENT: DTSTART/DTEND VALUE=DATE, exclusive end). Found + fixed a display off-by-one (single-day showed across 2 days — Schedule-X inclusive vs iCal exclusive end; commit d4d5327). Reload to confirm 1-day rendering. | -| D3 | CAL-04 | Create a weekly recurring event → appears in Fastmail | [ ] PENDING — operator | Not yet exercised live. Quick confirm (create one weekly recurring event). | +| D3 | CAL-04 | Create a weekly recurring event → appears in Fastmail | ✅ PASS — write correct; UX gaps backlogged | A weekly event was created and recurred in Fastmail with a valid `RRULE:FREQ=WEEKLY`. Two UX gaps surfaced (NOT write-correctness): no "repeat until/count" bound (series is unbounded → recurs into 2028+) and the end-date is the per-occurrence duration (a 2-month end made each occurrence 63 days → overlapping every day). Backlogged 999.7/999.8. Deleting the recurring series cleared the master + all occurrences from Fastmail in one delete (recurring-series delete verified). | | D4 | CAL-05 | Edit an existing event's title and time → Syncing→Saved → change persists in Fastmail | ✅ PASS (2026-06-07) | Edit/move confirmed working; update outbox rows reach `done`; post-write refetch race fixed so the change shows without manual refresh. | | D5 | CAL-06 | Delete an event via the two-tap confirmation dialog → Syncing→Saved → event disappears from all views on next sync | ✅ PASS (2026-06-07) | Delete confirmed working; delete cache-reconciliation fix means the event leaves the cache/UI (was lingering as a ghost). | | D6 | D-08 | (Optional) Trigger a 412 conflict by editing the same event in Fastmail first → conflict toast appears in the app → calendar re-fetches | ✅ PASS (2026-06-07) | Observed live: a stale-etag update produced `412 conflict` (outbox id=7) and the "This event changed elsewhere" conflict toast; calendar re-syncs. | @@ -196,13 +196,14 @@ Response body: {"ok":true,"db":"up"} | A — Auth / session / colors | ✅ A1, A2 (transparent SSO), A3 all PASS | | B — iOS standalone login (load-bearing) | ✅ B1–B4 PASS (install + standalone launch + standalone login); B5 (Android) deferred | | C — SSE smoke test | ⏳ DEFERRED — Phase 4 ENTRY gate (D-14), not a Phase 3 deliverable | -| D — Fastmail write round-trips | ✅ D1/D2/D4/D5/D6 PASS; D3 (weekly recurring) — one quick confirm remaining | +| D — Fastmail write round-trips | ✅ D1–D6 PASS (create/all-day/recurring/edit/delete/conflict); recurring-series delete also verified | Gate 2 is complete when all rows are PASS. Record final status here: -**Gate 2 outcome:** ✅ SUBSTANTIALLY COMPLETE (2026-06-07) — auth, session, distinct member colors, -iOS install + standalone login (load-bearing), and create/all-day/edit/delete/conflict round-trips -all verified live. Multiple blocker bugs found + fixed this session (see git log). Only one quick -functional confirm remains: D3 (create a weekly recurring event). Deferred by design: B5 (Android -install) and C (SSE smoke — Phase 4 entry gate per D-14). Phase 03 is code-complete and -live-verified; safe to close with D3 as a fast confirm and B5/C carried forward. +**Gate 2 outcome:** ✅ COMPLETE for Phase 03 scope (2026-06-07) — auth, session, distinct member +colors, iOS install + standalone login (load-bearing), and all write round-trips (create / all-day / +weekly recurring / edit / delete / 412-conflict, incl. recurring-series delete) verified live. +Many blocker bugs found + fixed this session (see git log). Recurring create writes valid RRULE; +its repeat-bound + per-occurrence-duration UX are tracked as backlog 999.7/999.8 (within the v1 +"recurring create+display only" scope). Deferred by design: B5 (Android install) and C (SSE smoke — +Phase 4 entry gate per D-14). Phase 03 is code-complete and live-verified.