Skip to content

Releases: IbatoLionDev/opencode-console-notify

v3.1.1

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 08 Oct 20:33

v3.1.1

Fixed

  • The npm upgrade no longer prints Node's DEP0190 deprecation warning
    on Windows. The npm shim (.cmd) still needs a shell, so it now
    receives one pre-quoted command string built from constant-only tokens
    instead of an unescaped args array. POSIX behavior is unchanged, and a
    probe asserts the warning stays gone.

Binaries

SHA256 (opencode-notify.exe): DD9C9A0F8669B13B63747681A0AC9CAB6DD2760A8A3BAECF3FF9B952A2DFC8E5
SHA256 (opencode-notify-linux): 1ED6F449D1BD9EEC10AE617E4C43AB2F5FA5810B911DBECABF5AD326AC08C03F

v3.1.0 — Linux has landed

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 08 Oct 19:54

Linux has landed

opencode-console-notify now runs natively on Linux — same plugin events,
same settings, same config TUI (fullscreen included). Zero new
dependencies, on every install path.

What works on Linux

  • Toasts via notify-send (needs libnotify-bin). When the binary is
    missing, notifications are skipped silently and doctor tells you
    exactly what to install.
  • Fullscreen config TUI, identical to Windows: same views, same keys
    (j/k/arrows, Enter, Space, shortcuts), same hover, click and wheel.
    It needs a real console; the mouse needs an xterm-compatible terminal,
    and dumb terminals keep full keyboard support.
  • Line mode on pipes and scripts, with the same flags (--lang,
    --toggle, --list-alerts, --list-events, --list-customs, --info).
  • No registration step: Linux has no notification identity registry,
    so install/uninstall manage the plugin file only.

Four ways to install

Shell, one line (new):

curl -fsSL https://raw.githubusercontent.com/IbatoLionDev/opencode-console-notify/main/install.sh | sh

Supports --plugins-dir, --uninstall and --upgrade, plus a local
checkout path that installs offline with no download.

Go CLI binary (new Linux build):

Download opencode-notify-linux from the assets below and run:

./opencode-notify-linux install

npm / npx (now on Linux too):

npm i -g opencode-console-notify
opencode-console-notify install

PowerShell (Windows, unchanged):

irm https://raw.githubusercontent.com/IbatoLionDev/opencode-console-notify/main/install.ps1 | iex

Verifying your install

opencode-console-notify doctor
opencode-console-notify test

doctor checks the plugin file, the identity and the notifier backend,
and exits non-zero with specifics when something is missing.

Under the hood (3.0.0 + 3.1.0)

  • Per-OS toast backends behind build tags (toast_windows.go,
    toast_linux.go), mirrored in the npm stack.
  • No-op Linux identity with per-OS install/doctor output (Go + JS).
  • Termios raw input plus TIOCGWINSZ size, stdlib only — the whole TUI
    path was already OS-clean, so Linux renders the exact same interface.
  • Screen core and customs flows split by responsibility (Go+JS mirror,
    no file over 200 lines).
  • CI now runs an ubuntu-latest runtime (build, vet, gofmt, tests,
    install.sh smoke, npm smoke) next to windows-latest.

What's next

macOS support (console_darwin.go, native backend, no-op identity) and
rich notification-center actions (buttons, images).

Binaries

SHA256 (opencode-notify.exe): 4A9CB3C6888C925345FAB652535EBF1C303C9FD3274C0EFA57C1CE9DAF8D9202
SHA256 (opencode-notify-linux): 4DB8011FC45C4E5E0CC761C603C7FA52F57CD86185E3C3181B02B7E74354739D

v3.0.0

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 08 Oct 19:17

Added

  • Linux support with the line-mode TUI: notifications via notify-send (silent skip when libnotify-bin is missing, doctor reports it), installs without a registry (the identity is the app name), a fourth install path (install.sh, curl pipe sh), per-OS upgrade and doctor output, and an ubuntu-latest CI runtime covering the Linux install.
  • The fullscreen TUI stays Windows-only for now and arrives on Linux in 3.1.0; Linux consoles run the line mode automatically.
  • Screen core and customs flows split by responsibility in Go+JS mirror; no file over 200 lines. Zero new dependencies.

Binaries

SHA256 (opencode-notify.exe): 55D603B53F6DC3168FCDCAFD58B5F44409D3CE7EAABB9859D2D025F33F47F94F
SHA256 (opencode-notify-linux): 2211453BECA3D826D4E0F2075E6F1A03F676C1F6E55117D0A3D200BAE4F3D043

v2.3.0

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 07 Oct 01:40

Added

  • Fullscreen TUI answers the mouse: left click selects and activates (menu opens, alerts/customs toggle, language sets, event catalog picks), hover moves the red selection without activating, and the wheel scrolls lists.
  • SGR mouse (1000 + 1003 + 1006) turns on with the alternate screen and off on every exit path; keyboard, line mode, pipes and scripts are unchanged. Text prompts swallow mouse reports so hover never aborts typing.
  • Screen core split by responsibility in Go+JS mirror (palette/cursor/mouse/input/picker/line-edit); no file over 200 lines. Zero new dependencies.

exe

SHA256 (opencode-notify.exe): 21DF9673581D6DFD3562EF025FC5267BC9F0939F9B05D8132790F1D618F75F28

v2.2.2

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 06 Oct 05:00

Fixed

  • Custom-notifications text input keeps the cursor inside the TUI input row: a white block tracks the typed text in both runtimes (Go and Node fullscreen) while the hardware cursor stays hidden while typing.
  • Go fullscreen no longer renders as a staircase: newline auto-return stays on, so Go mirrors the Node rendering.

exe

SHA256 (opencode-notify.exe): DFE665C622D6F1615C7D9A25C56B218B72E41D69E7C6CCB1C7430078962D55FB

v2.2.1

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 05 Oct 00:32

Fix release: fullscreen text input types every letter, plus the isolated dev command.

Fixed

  • Text fields swallowed shortcut letters (q/j/k/h) and space: the key parser translated them to control keys before the editor saw them. The parser now preserves the raw char, so letters type inside input while still navigating outside it.
  • Fullscreen text prompts render inside the frame with a visible cursor instead of below it.

Added

  • npm run dev / dev:go runs the repo copy against an isolated .dev-sandbox (bare command opens config); never touches the real install.

opencode-notify.exe rebuilt from main (SHA256 60DD5A743FBFC255FE4DB5A0847B1D69AC7FD77053A5EC0B169E8C7CC90CA37D).

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

Full changelog in CHANGELOG.md on main.

v2.2.0

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 04 Oct 22:24

Custom notifications: bind your own text to any of 48 OpenCode events, manage them from the TUI, toggle them like defaults.

What is new

  • Customs panel: open config, choose Customs. List shows every custom tagged [custom] with its on/off state; Space toggles, A adds, E edits, D deletes (with confirm), C opens the events catalog, Q goes back. Same panel in fullscreen and line mode, English and Spanish.
  • Events catalog: 48 subscribable OpenCode events with one-line descriptions (session, permission, question, message, file, command, todo, TUI, LSP, PTY, VCS, installation, project, workspace, worktree, server, MCP, IDE, plugin, reference). Noisy families (message parts, session status, file watcher, TUI prompt, diagnostics, pty output) carry a [!] warning so you know what may toast often. You pick from the catalog only: OpenCode events cannot be altered.
  • Alerts integration: customs appear under the four defaults tagged [custom] and toggle with the same keys. The plugin fires enabled customs with your title and body, honoring the same child-session rule as defaults.
  • Script flags: config --list-events prints the numbered catalog, config --list-customs prints your customs. Settings migrate silently (schema v2, old files keep working, bad entries are skipped).
  • Zero new dependencies.

Example

Say you want a toast every time a file is edited, reading Edited files:

opencode-console-notify config

Pick Customs, press A, choose event 19 (file.edited), type title Edited files, leave body empty. Back in alerts you will see:

5. Edited files [custom] [on]
   file.edited

From now on every file.edited event toasts Edited files. Disable it any time with Space (or leave it and toggle from scripts later). List everything non-interactively with:

opencode-console-notify config --list-events
opencode-console-notify config --list-customs

Upgrade notes

  • npm path: opencode-console-notify upgrade (or your manager global update). If the registry answers ETARGET right after release day, wait a few minutes and retry.
  • Go path: download the new opencode-notify.exe below and run opencode-notify.exe upgrade.

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 23414CE312A5A0833E0C9729CEFB63FAA6C84434AD97D77B26A8D7BB2353BA3A).

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

Full changelog in CHANGELOG.md on main.

v2.1.2

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 04 Oct 17:31

Patch fix: no more ghost lines when switching fullscreen views.

Fixed

  • Navigating to a shorter view left remnants of the previous one (footer lines and title tails). Every frame now starts with Home plus erase-below, in both runtimes, so the old screen is really gone before drawing.

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

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

Full changelog in CHANGELOG.md on main.

v2.1.1

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 03 Oct 06:59

Patch fix: fullscreen rows now end on the same column.

Fixed

  • The dim detail line measured the ANSI dim code as visible text, so a selected row's background ended 4 cells short (second red line in the alerts view). Padding is now rune-aware in both runtimes, which also keeps accented text (á, é, í, ó, ú, ñ) aligned. Covered by a Go regression test and a JS probe; zero behavior change otherwise.

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

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

Full changelog in CHANGELOG.md on main.

v2.1.0

Choose a tag to compare

@IbatoLionDev IbatoLionDev released this 03 Oct 06:27

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.