Skip to content

agent-widgets 0.3.1

Choose a tag to compare

@Surdeddd Surdeddd released this 19 Sep 10:34
· 15 commits to main since this release

Two fixes for problems that shipped in 0.3.0. If you installed with Homebrew, upgrade: aw new did not work there.

brew update && brew upgrade surdeddd/tap/agent-widgets

Fixed

  • aw new behind a symlink. A Homebrew install keeps the engine behind a symlink (opt/agent-widgets/libexec → Cellar/…), and aw new failed there with UNEXPECTED … couldn’t be copied: the created paths were cut at the wrong place once the symlink was resolved. It now works from any install location.
  • Widgets with a running timer settle on the desktop. aw ship and aw dev compared captured frames byte by byte, so a Text(date, style: .timer) or an AWCountdown, which changes every second, never looked still: every window waited its full 30 s and the run ended unverified with SHOT_UNCHANGED although the slot had redrawn within a second. Frames are now compared as pictures: a ticking clock is neither a redraw nor a widget that keeps redrawing, and the same ticking widget is still reported as unchanged. On a real desktop the capture of four sizes went from 120 s to under 7 s.

How it was checked

  • Both bugs are reproduced by tests that fail on 0.3.0: an engine reached through a symlink, and real captures of a dev slot with six live timers.
  • aw new was run against the released 0.3.0 and the fixed build behind the same symlink: exit 1 before, six files created after.
  • 219 engine tests and 69 kit tests, swiftlint --strict clean, CI green. The Homebrew formula test now creates a workspace and a widget instead of only printing the version.