Skip to content

v1.3.0

Choose a tag to compare

@markuskimius markuskimius released this 15 Sep 02:38
· 26 commits to main since this release

Dialogs: Enter submitted only from a single-line field, so a form ending
in a textarea had no keyboard way out — the OK button, or Tab to it.
ctrl/cmd+Enter now submits from anywhere in the form: a textarea (plain
Enter stays a newline), a select, a section head (which lets the modified
Enter bubble instead of folding), a footer button (whose plain Enter is
the browser's own click, so Enter on Cancel still cancels). The OK button
carries the shortcut as its tooltip, spelt for the platform: ⌘Enter on
Apple platforms, Ctrl+Enter elsewhere. formatShortcut moves from the
menubar to lib/shortcut.js so the dialog can share it; the menubar
re-exports it, so nothing that imported it there changes. An addition to
covered behaviour: a minor.

Two fixes ride along. A tree table configured with expand opened its
rows but left the header's caret closed: the caret was synced when the
header was built, before the snapshot expanded anything, and the
ingestion path never synced it again, nor did a live insert that made
the first parent or a delete that removed the last. render() now syncs
it whenever it paints a new view revision, the one place every data
path lands. And the favicon stayed a red dot after a reconnect on a page
that had no icon link of its own: the outage had added one, and the
recovery removed it, which a tab does not repaint on — it keeps the last
icon it loaded until an href changes. restoreIconHref (lib/connection.js)
points the link at the page's own icon, else at the browser's default
/favicon.ico location, what it was showing before.

Tests: ctrl/cmd+Enter from a textarea, a section head and a footer
button; the OK tooltip; lib/shortcut.js on both platform branches; the
header caret after a snapshot with expand and across a live insert and
delete; restoreIconHref for a page with and without an icon link. The
README describes the dialog keys; CLAUDE.md notes the caret sync point
and stays under 40,000 characters.