Skip to content

Releases: tqdat410/agentune

v0.1.3

Choose a tag to compare

@tqdat410 tqdat410 released this 22 Mar 11:40

Bug Fixes

  • queue: prevent orphaned suppress count when skip races with natural track finish (ba0eaef)

    When a track finishes naturally at the exact moment skip() is called, an idle-active event could fire during an internal await, clearing mpv's track state while the queue still thought something was playing. This caused suppressNextStopped to increment without a matching stop IPC command, silently swallowing the next track's finish event and freezing auto-advance (stuck at duration 0).

    Fixes:

    • Guard suppressNextStopped + stop on mpv.getCurrentTrack() instead of queue state to prevent orphaned suppress count
    • Add playback generation counter to discard stale handleStopped callbacks after skip/replace/stop-reset

v0.1.2

Choose a tag to compare

@tqdat410 tqdat410 released this 22 Mar 10:12

Bug Fix

fix(audio): resolve skip race condition corrupting track state and breaking auto-next

When skip used prefetched audio, play() set currentTrack before mpv processed the stop IPC command. The stale idle-active: true event then cleared the new track's state, causing:

  • Dashboard showing default (no title/thumbnail) after skip
  • Auto-next permanently broken for the rest of the session

Root Cause

Stop-event suppression lived in QueuePlaybackController (suppressStoppedHandler), which ran after MpvController.handleStoppedEvent() had already corrupted currentTrack.

Fix

Moved suppression into MpvController via a suppressNextStopped() counter. Stale idle-active events are now discarded before they can clear track state.

Full Changelog: v0.1.1...v0.1.2

v0.1.1

Choose a tag to compare

@tqdat410 tqdat410 released this 22 Mar 05:51

agentune v0.1.1

First stable release.

Security Hardening

  • Wrap mpv IPC JSON.parse in try/catch for malformed messages
  • PID validation guard in stop command
  • PID file written with restricted permissions (mode 0o600)
  • SQL injection prevention via table name allowlists in history store
  • MCP session cap (100) with 30min TTL and LRU eviction
  • Replace exec with spawn for URL opening (command injection fix)
  • Content-Security-Policy header on dashboard

Features

  • agentune doctor command for runtime dependency and daemon health checks
  • Process.exit() fix for CLI subcommands to prevent hanging

Install

npm install -g agentune
agentune doctor

Full changelog: v0.1.1-alpha.3...v0.1.1

v0.1.1-alpha.2

v0.1.1-alpha.2 Pre-release
Pre-release

Choose a tag to compare

@tqdat410 tqdat410 released this 21 Mar 15:59

Alpha release