Make Week Ahead calendar import timezone-correct and range-bounded #1212

Closed
opened 2026-08-21 06:27:43 +00:00 by timmy · 0 comments
Owner

Problem

Private Week Ahead calendar import discards ICS TZID parameters, so a 12:00 America/New_York event is treated as 12:00 in every browser timezone. Recurrence expansion also walks from the historical series origin before clipping to the seven review dates, allowing old calendars to freeze mobile devices.

User outcome

Import Google/Outlook calendars with IANA time zones and receive correct local capacity and conflict-free export. Long-running daily/weekly series perform work bounded to the seven-day review range. Unknown zones fail closed without exposing event metadata.

Acceptance tests

  • A 12:00 America/New_York event occupies 09:00 on an America/Los_Angeles device.
  • Daily recurrence retains declared wall time across DST.
  • Unknown TZID disables Apply with count-only diagnostics.
  • Historical daily/weekly series are fast-forwarded to the review window while preserving COUNT/UNTIL/EXDATE/RDATE semantics.
  • Existing floating/UTC behavior and packaged mobile calendar journey remain green.

No historical issue title or recent commit covers ICS TZID parsing or bounded recurrence expansion.

## Problem Private Week Ahead calendar import discards ICS `TZID` parameters, so a 12:00 America/New_York event is treated as 12:00 in every browser timezone. Recurrence expansion also walks from the historical series origin before clipping to the seven review dates, allowing old calendars to freeze mobile devices. ## User outcome Import Google/Outlook calendars with IANA time zones and receive correct local capacity and conflict-free export. Long-running daily/weekly series perform work bounded to the seven-day review range. Unknown zones fail closed without exposing event metadata. ## Acceptance tests - A 12:00 America/New_York event occupies 09:00 on an America/Los_Angeles device. - Daily recurrence retains declared wall time across DST. - Unknown TZID disables Apply with count-only diagnostics. - Historical daily/weekly series are fast-forwarded to the review window while preserving COUNT/UNTIL/EXDATE/RDATE semantics. - Existing floating/UTC behavior and packaged mobile calendar journey remain green. No historical issue title or recent commit covers ICS TZID parsing or bounded recurrence expansion.
timmy self-assigned this 2026-08-21 06:27:43 +00:00
timmy closed this issue 2026-08-21 06:57:17 +00:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: stackchain/stackchain-dashboard#1212
No description provided.