Skip to content

v1.0.408

Choose a tag to compare

@github-actions github-actions released this 20 Oct 22:31
· 2 commits to main since this release
a5b0e25

Let calendar events have an optional time

Tasks and events can now carry a start time and an optional end time. Untick
"At a set time" and an event is all-day again, as before. Birthdays stay
all-day.

A time is a wall-clock label in the household timezone ("17:00" is 5 PM),
never converted, so a recurring 5 PM stays 5 PM across a DST change. It only
affects display and ordering: overdue is still decided by date.

  • API: time/endTime on create and update. An end time needs a start. On a
    multi-day event it falls on the last day; on a single day it must not
    precede the start, and an end equal to the start is dropped. time: null
    makes an event all-day and clears its end time, and both keys are deleted
    rather than stored as null.
  • Projection: occurrences carry the times, and within a day all-day items
    sort before timed ones, in clock order.
  • Calendar view: grid chips lead with a compact "5pm" when the chip has room
    (a container query keeps a task's title visible in a narrow cell), the
    agenda shows "2:00 PM – 3:00 PM", and the event dialog gets the inputs.
  • Chat tools and Daily News (desk lines, Week Ahead box, email) carry the
    times too.
  • Wall-clock helpers now live in server/wall-clock.ts, so the server-rendered
    Daily News and the frontend share one formatter. Timesheet's formatClock
    and isValidTime come from there.