Adding work to a day you forgot to track meant typing its full date.
The Work day field now also takes 09-14 (this year), today, yesterday,
-3 (three days ago) and weekday names like mon or friday (the most
recent one). The editor shows the date it understood next to the field.
The parsing lives in time::format::parse_date, next to parse_time.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
When another date was typed in the segment editor's Work day field, the
segment was filed under that date but its times were still placed around
the original day (usually today). A segment filed under Sep 14 could run
on Sep 24.
The editor now reads the Work day field first and places the typed times
on that day: next to its existing work, or around noon on an empty day.
Moving an existing segment to another work day moves its times with it,
keeping the same clock times.
The test helper also learns <Tab> and <BS>, and a regression test adds
work both from the Days list and by typing another date.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
- segment_editor: type start/end times; the exact moments they mean are
shown live, and invalid edits keep the popup open.
- time_prompt: "I started / paused / ended the day at...".
- copy_menu: every copy preset with a preview of what will be pasted.
- export_dialog, still_working (for sessions left running very long),
help (generated from the key tables) and the `:` command line.
Co-Authored-By: Claude Opus 5.5 <[email protected]>