Skip to content

v2.1.0

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 03 Oct 06:27
· 60 commits to main since this release

The config command grows a real fullscreen TUI: in-place redraw on the alternate screen, keyboard navigation, a scrollable viewport, and a restrained black/red/white palette. Same four views, same flags, zero new dependencies.

Fullscreen config (new)

  • On a real console, config now opens on the alternate screen and redraws in place: no more scroll-cloning, no Enter-per-key. Every keypress reacts instantly.
  • Navigation: j/k and arrow keys move, Enter selects/opens, Space toggles alerts, 1-5 and L/U/I/A jump straight to a view, Esc/Q goes back or exits. Every view still prints its keys in a visible footer.
  • Scrollable viewport: lists taller than the screen scroll with the selection always visible.
  • Palette: black background, soft-white body, dark-red selection with bright-white text, dim-red borders, light-gray footer. Red is reserved for selection and borders only.
  • TTY gate: fullscreen runs only on a real console. Pipes, scripts, and probes keep the previous line mode untouched, and all flags (--lang, --toggle, --list-alerts, --info) behave exactly as in 2.0.0.
  • Console handling is hand-rolled on stdlib/builtins only (Windows VT modes via kernel32, Node raw mode): modes and cursor are restored on every exit path, including errors.

Same behavior, cleaner inside

  • Language (en/es, applies to the TUI and default notification texts), update (reuses the existing upgrade flow per distribution), info (commands plus npm/repo/Releases links), and alerts (the four default events with triggers, toggleable) all work as in 2.0.0.
  • Internal layout follows one-responsibility-per-file in both runtimes: screen core (palette, frame, keys, console) and per-view files, mirrored Go/JS folder by folder; alert definitions live in exactly one place per runtime.
  • npm metadata fixed: package page now links the GitHub repository, homepage, and issue tracker; README license link points to LICENSE.md (was 404).

What is next

  • 2.2 brings mouse click support (select + activate) on the same fullscreen core.

Upgrade notes

  • npm path: opencode-console-notify upgrade (or your manager's global update). If the registry answers ETARGET right after release day, wait a few minutes and retry: the lightweight latest doc replicates before the full version list.
  • Go path: download the new opencode-notify.exe below and run opencode-notify.exe upgrade (the binary carries a build-pinned plugin copy).
  • Settings persist in console-notify.config.json next to the plugin file; without it everything behaves as in v1.

Install the npm path with your favorite manager (npm, pnpm, yarn or bun):

npm i -g opencode-console-notify
pnpm add -g opencode-console-notify
yarn global add opencode-console-notify
bun add -g opencode-console-notify

Or run once without installing with npx, pnpm dlx or bunx.

opencode-notify.exe rebuilt from main (SHA256 ECCABFF411C796E0F574229A4E9B9C8D718194CAE8C92E475661F7B8E8D0B50D).

Also on the npm registry as opencode-console-notify@2.1.0.

Full changelog in CHANGELOG.md on main.