Summary
server/index.js hardcodes America/Chicago everywhere it stamps a timezone (lines 740, 819, 961, ~996-1010). Anyone outside Central Time gets wrong-time entries when they subscribe to the calendar or import the ICS exports.
Proposed Approach
- Add
timezone TEXT DEFAULT 'America/Chicago' to the users table (migration).
- Profile page gets a timezone picker (use
Intl.supportedValuesOf('timeZone')).
- ICS generators take a
timezone parameter and stamp it per export.
- Per-event timezone stays Central by default for community events (preserves existing behavior for exporters who haven't set their TZ).
- Public
/api/calendar/subscribe continues to use America/Chicago (since it's anonymous), unless query param ?tz= is provided.
Acceptance Criteria
Summary
server/index.jshardcodesAmerica/Chicagoeverywhere it stamps a timezone (lines 740, 819, 961, ~996-1010). Anyone outside Central Time gets wrong-time entries when they subscribe to the calendar or import the ICS exports.Proposed Approach
timezone TEXT DEFAULT 'America/Chicago'to theuserstable (migration).Intl.supportedValuesOf('timeZone')).timezoneparameter and stamp it per export./api/calendar/subscribecontinues to use America/Chicago (since it's anonymous), unless query param?tz=is provided.Acceptance Criteria
?tz=and respects it.