Skip to content

Releases: MasuRii/opencode-smart-voice-notify

v1.3.3

19 Feb 09:53
6582fc0

Choose a tag to compare

Major Release: JavaScript to TypeScript Migration

This is a significant milestone release that migrates the entire codebase from JavaScript to TypeScript. This migration brings:

  • Type Safety: Catch errors at compile time instead of runtime
  • Better IDE Support: Improved autocomplete, refactoring, and navigation
  • Enhanced Maintainability: Self-documenting code with explicit types
  • Fewer Bugs: Static analysis catches common mistakes before they reach production

The migration includes full type definitions, strict TypeScript configuration, and comprehensive test coverage (672 tests, 88.99% line coverage).


What's Changed

Features

  • feat: add fallback notifications when session API fails (90f306b)
  • feat: add Windows and Linux focus detection (da5908f)
  • feat: add TypeScript type definitions for plugin architecture (173b351)

Bug Fixes

  • fix: change suppressWhenFocused default to false and remove IDEs from terminal lists (f998746)
  • fix: detect minimized and hidden windows properly (da8f768)
  • fix: prevent sub-agent completions from triggering notifications (96779f6)

Documentation

  • docs(config): synchronize example config descriptions and add inline documentation (b46fc73)
  • docs(config): update focus detection and Edge TTS documentation comments (1dcf1a5)
  • docs: update documentation for cross-platform focus detection (948694c)

Maintenance

  • test(config): add unit tests for config update logic (fe62cd5)
  • chore(revert): revert version to 1.3.3 (45c5736)
  • chore: bump version to 1.3.4 (cf3c2b8)
  • test: add unit tests for sub-session filtering and caching (f4d1a88)
  • chore: remove legacy JavaScript source files (25e25c8)
  • test: convert all tests to TypeScript (10598ad)
  • refactor: convert main plugin entry point to TypeScript (3875e02)
  • refactor: convert utility modules to TypeScript (c8f2458)
  • chore: add TypeScript configuration and build setup (197a056)

Installation

Add to your OpenCode config (~/.config/opencode/opencode.json):

{
  "plugin": ["opencode-smart-voice-notify@1.3.3"]
}

Or install from GitHub:

{
  "plugin": ["github:MasuRii/opencode-smart-voice-notify#v1.3.3"]
}

Full Changelog: v1.3.2...v1.3.3

v1.3.2

07 Feb 14:45

Choose a tag to compare

What's Changed

Bug Fixes

  • fix: debounce rapid session.idle events to prevent duplicate notifications (a7b4033)

Maintenance

  • chore: bump version to 1.3.2 (efc75c3)
  • test: add E2E tests for idle event debouncing (4930c78)

Installation

Add to your OpenCode config (~/.config/opencode/opencode.json):

{
  "plugin": ["opencode-smart-voice-notify@1.3.2"]
}

Or install from GitHub:

{
  "plugin": ["github:MasuRii/opencode-smart-voice-notify#v1.3.2"]
}

Full Changelog: v1.3.1...v1.3.2

v1.3.1

23 Jan 12:05

Choose a tag to compare

What's Changed

Features

  • feat: optimize TTS reminders and improve Edge TTS reliability (baf715e)

Documentation

  • docs: update TTS engine documentation and add LLM guide (42a8d2d)
  • docs: add LLM Instructions section for AI assistants (9c33dfc)
  • docs: update README shields with dynamic badges (e9e8d60)

Maintenance

  • test: update audio call detection and mock helpers (b0c6494)

Installation

Add to your OpenCode config (~/.config/opencode/opencode.json):

{
  "plugin": ["opencode-smart-voice-notify@1.3.1"]
}

Or install from GitHub:

{
  "plugin": ["github:MasuRii/opencode-smart-voice-notify#v1.3.1"]
}

Full Changelog: v1.3.0...v1.3.1

v1.3.0

22 Jan 11:20

Choose a tag to compare

What's Changed

Features

  • feat(ai): derive project name from worktree path for context-aware AI (ee6a79b)
  • feat(ai): add context-aware AI messages with session context (c1e10d9)
  • feat(config): add live config reload and improved disabled state handling (a98905e)
  • feat(notification): implement granular notification control logic (7d4242a)
  • feat(config): add granular notification control configuration (ae3af71)
  • feat(test): add integration tests for cloud APIs (108b44d)
  • feat(test): add .env.example for integration tests (c820400)
  • feat(per-project-sound): integrate per-project sound into playback (8dcb6bf)
  • feat(per-project-sound): create project sound selection logic (680f901)
  • feat(config): add per-project sound configuration options (0fddb5b)
  • feat(sound-theme): integrate sound theme into notification flow (b7d17d9)
  • feat(sound-theme): create sound theme module for custom sound packs (87edef2)
  • feat(config): add sound theme configuration options (3aec40e)
  • feat(webhook): integrate webhook into notification flow (605f1cc)
  • feat(config): add webhook configuration options (d06e0ea)
  • feat(webhook): add Discord webhook integration module (ea48afe)
  • feat(notify): integrate focus detection into notification flow (0f7d2f1)
  • feat(config): add suppressWhenFocused config option for focus detection (f20ddbd)
  • feat(notify): add focus detection module for macOS terminal focus (dfda7bb)
  • feat(notify): add session.error event handler and getErrorMessage helper (41404d7)
  • feat(config): add error notification configuration options (dcd1aba)
  • feat(notify): integrate desktop notifications into main plugin (d65b3ef)
  • feat(config): add desktop notification configuration options (0fece9b)
  • feat(notify): add desktop notification module for cross-platform support (b884c23)
  • feat(initial): initial ralph (dc41b0f)
  • feat(docs): feature initialization (72765b0)

Bug Fixes

  • fix(ci): handle existing versions and tags in release workflow (6402634)
  • fix: cross-platform compatibility for sound theme ordering and AI timeout test (b60f163)
  • fix(tests): skip SAPI reminder test on non-Windows platforms (1eafe9b)
  • fix(tests): skip Windows-only TTS tests on Linux CI (d1e599c)
  • fix(tests): make E2E tests platform-aware for CI compatibility (a48f792)
  • fix(tts): improve error handling with safer null checks (3c4c43e)
  • fix(tests): fix pre-existing test failures (f86828a)
  • fix(config): change forceVolume default to false (28a6f87)

Documentation

  • docs(readme): update forceVolume default and add enableContextAwareAI docs (0b138da)
  • docs(readme): document granular notification control feature (49311b9)
  • docs(readme): update README documentation for completed project (c4d95e2)
  • docs(readme): update readme with all new enhancement features (3f02124)
  • docs(contributing): add contributing guidelines for development and testing (e908b62)
  • docs(readme): add coverage badge and local testing documentation (6132e29)
  • docs(sound-theme): document sound theme feature in readme (7ccf6f8)
  • docs(readme): add webhook documentation and update events table (e7af4cd)
  • docs(readme): add focus detection platform limitations documentation (950cbde)
  • docs(readme): add Linux desktop notification dependency instructions (99a1202)
  • docs: update package description and README configuration section (306dac3)
  • docs: update package description and README configuration section (74c8d19)

Maintenance

  • ci: add manual release workflow with version input (0e53747)
  • chore: lower coverage threshold from 70% to 50% (56a3490)
  • chore(release): bump version to 1.3.0 (9531075)
  • test(ai): update context-aware AI tests for SDK worktree property (3a291bd)
  • test(ai-messages): add unit tests for context-aware AI feature (7f32d09)
  • chore(deps): bump @elevenlabs/elevenlabs-js to 2.32.0 (fd727dd)
  • test(config): add tests for granular notification control (1d495d6)
  • chore(config): update .gitignore configuration (2ce7022)
  • chore(metadata): update project metadata after completion (86eda6b)
  • ci: add github actions test workflow (ef40412)
  • test(e2e): add comprehensive configuration integration tests (6d8a993)
  • test(e2e): add comprehensive tests for intelligent reminder flow (bd1ec65)
  • test(e2e): add comprehensive integration tests for plugin core (2515a25)
  • test(tts): add comprehensive unit tests and fix cross-test pollution (bbfd3ea)
  • test(linux): add unit tests for Linux compatibility module (d300615)
  • test(ai-messages): add unit tests for generateAIMessage and getSmartMessage (16447cd)
  • test(config): add unit tests for loadConfig and migration logic (6675c17)
  • test(config): add comprehensive unit tests for utility functions (e62c923)
  • test(per-project-sound): add unit tests for per-project sound assignment (44f1280)
  • test(webhook): add comprehensive unit tests for webhook module (e7e0102)
  • test(focus): add focus detection unit tests and fix export (80eed38)
  • build(deps): add detect-terminal for focus detection (271631d)
  • test(notify): add unit tests for error handler functionality (a4aa2d2)
  • test(config): add unit tests for desktop notification config fields (29d5a89)
  • test(notify): add unit tests for desktop notification module (4d64dca)
  • build(deps): add node-notifier for desktop notifications (c274d82)
  • test(setup): add test infrastructure preload and mock utilities (839a747)
  • build(test): add bunfig.toml with test runner configuration (00a024e)
  • build(test): add Bun test configuration to package.json (a5e7e04)

Other Changes

  • ✨ feat(config): add OpenAI-compatible TTS configuration documentation and settings (65c9c2b)
  • ✨ feat(config): add OpenAI-compatible TTS configuration documentation and settings (61d34dc)
  • Add OpenAI-compatible TTS engine support (689017c)
  • Add OpenAI-compatible TTS engine support (3e7f64c)
  • 🐛 fix(config): prevent user config values from being overwritten on plugin updates (ea6a8e2)
  • 🐛 fix(config): prevent user config values from being overwritten on plugin updates (6ecdf51)
  • 🐛 fix: resolve AI message generation issues and notification delays (a61258b)
  • 🐛 fix: resolve AI message generation issues and notification delays (f888330)
  • 🔖 chore(release): bump version to 1.2.0 (123c600)
  • 🔖 chore(release): bump version to 1.2.0 (397aa88)
  • ✨ feat: add AI-generated dynamic notification messages (e8d9785)
  • ✨ feat: add AI-generated dynamic notification messages (6d8808b)
  • ✨ feat: add plugin enable/disable master switch and question tool support (b7c0b95)
  • ✨ feat: add plugin enable/disable master switch and question tool support (2350270)
  • ✨ feat: add question tool support for OpenCode SDK v1.1.7+ (94e570d)
  • ✨ feat: add question tool support for OpenCode SDK v1.1.7+ (55385a3)
  • ✨ feat: add permission batching with count-aware TTS messages (5bd5b30)
  • ✨ feat: add permission batching with count-aware TTS messages (aba24e8)
  • 🔖 chore(release): bump version to 1.0.11 (6d71abd)
  • 🔖 chore(release): bump version to 1.0.11 (630fa56)
  • ✨ feat(package): add Bun runtime support and update documentation (4d4b428)
  • ✨ feat(package): add Bun runtime support and update documentation (f1b7538)
  • 🐛 fix(events): add support for OpenCode SDK v1.1.x permission events (e163d54)
  • 🐛 fix(events): add support for OpenCode SDK v1.1.x permission events (c9ff0e0)
  • 🐛 fix(wake): improve monitor wake reliability on Windows (330217d)
  • 🐛 fix(wake): improve monitor wake reliability on Windows (76f4a91)
  • 1.0.9 (35cdffc)
  • ✨ feat(linux): add Linux platform support for audio, volume, and display control (3194f37)
  • 🔖 chore(release): bump version to 1.0.8 (7a952b5)
  • ✨ feat(tts): replace Python edge-tts with native Node.js implementation (2ac9fbd)
  • Update README.md (6e748b0)
  • Update README.md (24d6232)

Installation

Add to your OpenCode config (~/.config/opencode/opencode.json):

{
  "plugin": ["opencode-smart-voice-notify@1.3.0"]
}

Or install from GitHub:

{
  "plugin": ["github:MasuRii/opencode-smart-voice-notify#v1.3.0"]
}

Full Changelog: v1.0.9...v1.3.0