Skip to content

MA-TUI 0.9.3

Choose a tag to compare

@brdweb brdweb released this 18 Sep 00:14
· 6 commits to main since this release
4cd3b22

MA-TUI 0.9.3

This release improves local audio resilience and keeps controller and podcast state accurate when connections fail or listening progress changes.

  • Isolated ALSA underruns and the exact transient snd_pcm_avail_delay I/O error recover without reconnecting when new callbacks prove the stream resumed. Repeated underruns, stalled callbacks and other device failures trigger bounded output recreation, preserving volume, mute and delay and discarding stale audio.
  • Local audio status shows the backend, format, actual callback frames, largest callback gap and underrun/timing-error recovery counts. Optional output_buffer_frames requests 256–8192 frames; omitted values retain backend defaults.
  • HTTP state polling runs every two seconds until the event stream authenticates.
  • Unplayed podcasts reports failed or incomplete episode loading and refreshes on played/unplayed changes.
  • New configurations start local playback at 50% volume. Explicit saved values remain respected.
  • The Arch package declares RTKit as an optional host dependency. Native and Flatpak packages include audio troubleshooting and host scheduling guidance.

Validation includes 156 regular Rust tests, protocol/fault-injection fixtures, real ALSA-null and silent default-output tests, terminal fixtures, and installed Arch/Flatpak checks. Silent Flatpak tests reproduced and recovered the original timing error without reconnecting. Prolonged audible playback, physical disconnect recovery and multi-room synchronization remain unverified.

The application executable was built by GitHub Actions from release commit 4cd3b229a5aefa47f37404a2e5c3e672cdb3fcc3. All quality gates and the dependency advisory audit passed. Native, Arch and Flatpak packages contain that same verified executable; packaging and the Flatpak libsecret helper are built locally. BUILDINFO.json records the source and build origin. RTKit remains a separate optional host package.