v2026.05.21.0 — Wear OS dispatch fix, playlist-load feedback, drift CI #58
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Last meaningful-feature release on Flutter. The codebase shifts to bugfix-only after this; v1 Android native rewrite has been planned and will begin on a parallel
android/sibling directory.Player / Wear OS (#472)
audio_handler.dart: splitstop()into_softTeardown()+stop(). The idle timeout now calls_softTeardown— the player stops + display state clears, but the FGS and MediaSessionCompat stay alive across idle. Preserves the Wear OS companion'sMediaControllerbinding across pause cycles so notification + watch transport controls keep working. Previously the user had to unpair/repair the Watch when controls went dead.Playlists (#479)
Tests (#399)
ci-flutter:1.26image ships libsqlite3-dev. 11/11 originally-scoped tests pass plus 3/4 quarantine + widgets_smoke + storage_section. Last quarantine test skipped pending Fable #476 (Riverpod StreamProvider lifecycle in async catch path).Deps + CI
x/crypto,pgx,migrate,pgerrcodebumps;staticcheck S1016collapses 4 struct-literal copies to type conversions.container.image:perci-runners.md(ci-go:1.26 / ci-flutter:3.44); golangci-lint v2 schema; Flutter 3.44 ListTile/ColoredBox strictness wraps.Test plan
MinstrelAudioHandler.pause()and pause the audio (no unpair/repair workaround needed)Generated with Claude Code