Skip to content

Conversation

@stefanv
Copy link
Member

@stefanv stefanv commented Dec 2, 2025

Timezones can come from the YAML file (timezone: ...), or from the
event start time: 2025-07-15 17:00:00 +00:00

However it is specified, this timezone should be propagated to the RRULE.

This PR is also a bit more strict, failing when the timezone specifier is unrecognized.

Timezones can come from the YAML file (`timezone: ...`), or from the
event start time: `2025-07-15 17:00:00 +00:00`

However it is specified, this timezone should be propagated to the
RRULE.

This PR is also a bit more strict, failing when the timezone specifier
is unrecognized.
@stefanv
Copy link
Member Author

stefanv commented Dec 2, 2025

Needs tests still, but make timezoned events show up in our online calendar.

Not sure whether mixed events (events specified in different timezones) will appear correctly.

@stefanv stefanv added the type: Bug fix Something isn't working label Dec 2, 2025
@stefanv
Copy link
Member Author

stefanv commented Dec 2, 2025

@bsipocz This should be good to go now. Tested with our online calendar, and all looks good.

@bsipocz
Copy link
Member

bsipocz commented Dec 2, 2025

Thank you Stefan!

I also push this back to the test PR in scientific-python/scientific-python.org#782 as I want to double check the generated outputs, not just the widget (as I recall we had issues with both).

@bsipocz
Copy link
Member

bsipocz commented Dec 2, 2025

Unfortunately the defaulting is somewhat buggy, see these two screenshots taken by two different timezone settings on the laptop. Expectation is that all the meetings should be shifted, yet a few are stationary:

Screenshot 2025-12-02 at 10 28 25 Screenshot 2025-12-02 at 10 28 40

@stefanv
Copy link
Member Author

stefanv commented Dec 2, 2025

With this PR, the expectation is:

  • With no timezone specified, events are "floating" (i.e., local to user's browser timezone)
  • Timezone can be set in top-level YAML, or in event, or by using a begin timestamp with +00:00 or similar. This is also reverse order of precedence.

We could make UTC default, but that would be another change.

@stefanv
Copy link
Member Author

stefanv commented Dec 2, 2025

I'm concerned about the SPEC Planning Meeting not shifting. It is specified in UTC (+00:00) format. It may be worth Ctrl-Shift-Reloading, I've noticed that calendar changes don't always take without it.

I'm pretty sure I've tested this case, but let's confirm.

@stefanv
Copy link
Member Author

stefanv commented Dec 2, 2025

Here's the ICS generated for the SP events; looks correct to me (using this PR), selecting UTC:

BEGIN:VCALENDAR
VERSION:2.0
PRODID:ics.py 0.8.0-dev0 - http://git.io/lLljaA
BEGIN:VEVENT
DTSTART:20250715T170000Z
DURATION:PT1H
SUMMARY:Scientific Python Learn & Lectures sites
UID:[email protected]
DESCRIPTION:Discussions around how to organize learning material 
 for\nScientific Python.\n\nMeeting Link: 
 https://berkeley.zoom.us/my/scientificpython\nMeeting notes: 
 https://hackmd.io/zVZtDmAvRduUY5zg0giMkg?both
DTSTAMP:20251202T192943Z
RRULE:FREQ=MONTHLY;BYDAY=3TU;INTERVAL=1
END:VEVENT
BEGIN:VEVENT
DTSTART:20250902T170000Z
DURATION:PT1H
SUMMARY:Scientific Python Tools
UID:[email protected]
DESCRIPTION:Bimonthly community meeting to discuss and work on tools hosted
  and\nmaintained within the Scientific Python Project.\n\nMeeting Link: 
 https://berkeley.zoom.us/my/scientificpython\nMeeting notes: 
 https://hackmd.io/@bsipocz/SP_tools_meeting
DTSTAMP:20251202T192943Z
RRULE:FREQ=MONTHLY;BYDAY=1TU;INTERVAL=2
END:VEVENT
NAME:Scientific Python Community Calls
X-WR-CALNAME:Scientific Python Community Calls
END:VCALENDAR

@bsipocz
Copy link
Member

bsipocz commented Dec 2, 2025

For the floating SPEC meeting I used the format without the timezone info; which was fixed yesterday. So it's a no concern here.

And we also cleared it up outside of github that the floating meetings is an expected behaviour; I consider it's a behavioural bug (I can't imagine a meeting for which we should allow it); but fixing that; I agree; falls beyond the scope for this PR.

@bsipocz bsipocz added this to the 0.3 milestone Dec 2, 2025
Copy link
Member

@bsipocz bsipocz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Changes here look good. Thanks!

@bsipocz bsipocz merged commit b21e9de into main Dec 2, 2025
24 checks passed
@bsipocz bsipocz deleted the infer-timezone-from-event-start branch December 2, 2025 20:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: Bug fix Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants