Skip to content

v1.2.1 — marker hardening

Choose a tag to compare

@dotcomjack dotcomjack released this 07 Aug 00:19
· 9 commits to main since this release

Three defects in the v1.2.0 marker, found by adversarial review of the shipped code.

  • A tab whose title read back empty had its name replaced by a lone marker, and it could never be removed. mark_clear correctly refused to write an empty title but dropped its flag anyway, so no cleanup path could see the glyph, including tabtint sync. A shared-window tab with no usable title now falls back to the (invisible) wash instead: better than a destroyed tab name.
  • rest_window deleted the unread marker even when the strip had failed, killing the retry that failure path exists to enable. Now conditional, so the watcher stays alive and tries again.
  • tab_ctx was measured at 730ms per call against 19 windows because it counted tabs for every window before testing for a match. The lazy form does the same work in ~381ms.

Correction to the v1.2.0 notes: those said one-tab windows "pay no extra round trip". That was wrong. tab_ctx replaces focused_tty, which could bail on "not frontmost" without touching a window at all, so the Stop hook went from two Apple Events to one but the remaining one is more expensive. One event instead of two, not free.