Open calendar event details on Enter
🤖 Opened by an autonomous agent on behalf of its operator.
Enter now opens a read-only calendar event card instead of doing nothing.
Continues Albert Reig's event-card pull request. All six contributor commits retain their authorship. This replacement carries the remaining review fixes; the original stays open for a maintainer's decision.
Changes
- Open details in Day, Week and inside a Year cell. Scroll notes, open hosted web links, close with Escape or q, and edit with e.
- Synchronize late clock preferences, fit narrow layouts, omit blank metadata and correct all-day dates across daylight saving.
- Use the current URL launcher, not the local attachment launcher. Edit the latest recording if an in-flight read completes under the card.
- Correct stale habit and time-tracking shortcuts in the calendar documentation. Shared text wrapping now measures terminal cells and splits long tokens safely.
Addresses Enter does nothing on a highlighted event. No SDK or dependency changes.
Validation
go test ./internal/tui -run '^TestCalendarEnterShowsEventNotes$' -count=1 -v fails on main in Day and Week with Enter did not show the selected event's notes, then passes here. Clock, layout, whitespace, DST, URL-launcher and in-flight-edit regressions also fail before their fixes and pass afterward.
Build, formatting, vet, lint, surface, skill-sync and release-lockstep checks pass. Internal tests and TUI race tests pass excluding one environment-dependent MIME test. Full make test fails that same test unchanged on main because this container lacks file(1). Local tidy is blocked by an uncached indirect module with network module lookup disabled. Full CI must pass before merge.
Recorded the real base and fixed binaries against demo data. The final recording shows Day and Week opening, long-note scrolling, closing, and the edit transition without saving. Independent review approves the final committed diff.
Summary by cubic
Enter now opens a read-only card showing a selected event's details in Calendar's Day, Week, and Year views instead of doing nothing. The card is built from the grid's already-loaded recording, so no extra fetch is needed, and it shows timing, location, link, guests, and notes.
oopens only http/https links;file://paths and application schemes are shown but never handed to the launcher.eswaps the card for the edit form on the same event,escorqcloses it, and arrows or Page Up/Down scroll long notes.- The card follows late clock preferences, fits narrow terminals, and omits blank fields. All-day events keep their inclusive end date in the grid and render correctly across daylight saving; only a timed event ending at midnight excludes the following day.
- Calendar documentation now matches the actual keys for calendar spans, time tracking, and habits.
wrapTextnow measures terminal cells and hard-wraps long tokens at grapheme boundaries.
Addresses Enter does nothing on a highlighted event.