Say which clock the event dialog is on, and show the start time

Featurekamo-internal
Shipped
August 21, 2026 at 2:31 AM UTC
Author
kamo
Commit
acc6cc4

Four things the composer got wrong, on /calendar and on the lead page alike. The zone was the browser's. That is a fact about the laptop, not about the member: someone whose profile says Eastern and who is working from Denver still books their day in Eastern, and the dialog seeded "3pm Mountain" with nothing on screen to reveal it. New events now compose in the member's own profile zone, resolved through SecurityService's timezone/effective — which has existed since August and had no Next route in front of it, so every call 404'd inside Next and fell back to UTC. The zone is named on the value, under the picker, and beside the date in the header, on the offset actually in force on the event's date rather than today's. The start and end fields sat side by side with an arrow between them and no labels at all, two unannounced boxes sharing the card's width — at that width a datetime-local input has less room than its own contents need, so the reading was clipped. With the card headed "Start time" and the only visible words being the Today / Tomorrow / All-day buttons beside it, nothing on screen said a start time was there to be adjusted. They are stacked full width now, each named, and the card is headed "When". A new event started at the top of the current hour, which is in the past for fifty-nine minutes out of every sixty; the lead page's callback added an hour and kept the odd minutes, offering 4:37pm. Both now use defaultEventStart — an hour out, rounded up to the quarter hour. The default calendar was whatever the service listed first, and the service lists the organisation's shared calendar first on purpose, because that is the right reading order in the sidebar where it is a filter. Here the first entry is also the default, so a new event was published org-wide unless the member noticed and opted out of a decision they never made. The member's own primary calendar leads now, and the shared one carries an "org-wide" badge. The lead callback composer no longer seeds the lead's zone silently; it offers it as a labelled one-tap switch beside the member's own. Its composer context is memoised, which is load-bearing rather than tidy — built inline it was a fresh object every render, so calendars arriving from the network mid-typing reset the dialog and discarded what the member had entered.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing