Skip to content

Releases: keefetang/opencode-alert

v0.3.3

Choose a tag to compare

@github-actions github-actions released this 18 May 01:35

No changelog entry found for v0.3.3.

v0.3.2

Choose a tag to compare

@github-actions github-actions released this 16 May 07:41

Added

  • 79 tests across 3 files (config, terminal, notify)
  • CI and publish workflows now run bun test

Changed

  • Strict tsconfig (added noUncheckedIndexedAccess, exactOptionalPropertyTypes, etc.)
  • Standardized .gitignore, switched lockfile from package-lock.json to bun.lock
  • AGENTS.md references shared plugin SDK doc

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 16 May 00:13

Changed

  • Updated @opencode-ai/plugin from ^1.4.3 to ^1.15.0
  • Updated softprops/action-gh-release from v2 to v3 (Node 24 runtime)
  • Updated typescript from 6.0.2 to 6.0.3
  • Updated bun-types from 1.3.12 to 1.3.14

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 15 May 13:03

Added

  • Multi-protocol notification dispatch — routes to OSC 777 (Ghostty, WezTerm, foot, rxvt-unicode), OSC 9 (iTerm2), OSC 99 (Kitty), or Windows toast (Windows Terminal) based on auto-detected terminal
  • tmux passthrough — OSC sequences are wrapped in DCS passthrough when $TMUX is set, alongside existing client TTY resolution
  • Kitty support — OSC 99 with monotonic notification IDs for concurrent notifications
  • iTerm2 support — OSC 9 protocol, detected via TERM_PROGRAM or ITERM_SESSION_ID
  • Windows Terminal support — PowerShell toast notifications with injection-safe escaping
  • soundCommand config option — run a custom shell command alongside built-in sounds (any platform). Also available via OPENCODE_ALERT_SOUND_CMD env var
  • protocol field on terminal database entries — informational, indicates which notification protocol each terminal supports

Changed

  • Notification writes are now non-blocking — replaced writeFileSync with async fs.open/write/close callbacks
  • When no TTY path is resolved, notifications are dropped silently (never writes to stdout — OpenCode owns it)
  • Non-tmux TTY resolution is cached after first call — eliminates repeated execSync("tty") on every notification

Security

  • OSC sanitization now strips all C0/C1 control characters (0x00-0x1F, 0x7F-0x9F), including ST (0x9C) which terminates OSC in 8-bit terminal mode

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 12 Apr 02:15

Removed

  • persistentAlerts config option — the modal dialog (display alert) was a poor substitute for native persistent notifications and appeared as a centered blocking dialog rather than a proper macOS notification

Changed

  • All macOS notifications now use display notification (Notification Centre banners) consistently

How to get persistent notifications on macOS

macOS controls notification style at the system level. To make OpenCode notifications stay on screen until clicked: System Settings → Notifications → Script Editor → Alert style → Alerts.