FluxTuner 1.0.5
FluxTuner 1.0.5
This release focuses on the FluxTuner Web experience, with a large JavaScript refactor, stronger browser playback handling, improved mobile media controls, cleaner account/admin layouts and updated documentation.
Highlights
- Refactored FluxTuner Web JavaScript from one large entrypoint into focused ES modules.
- Improved Web player state handling for slow, failed, retried and interrupted streams.
- Improved Android and iOS Media Session handoff with stronger metadata, artwork and lifecycle handling.
- Added richer Web player diagnostics for audio state, Media Session metadata and recent playback events.
- Improved first-run setup, request access, password recovery and Admin account form layouts.
- Improved the Player debug panel by clearly separating the current snapshot, recent events and exported logs.
- Added a new FluxTuner TUI theme inspired by the project landing page.
Added
- Focused Web JavaScript modules under
fluxtuner/web/static/js/. - ES module entrypoint for the Web UI.
- Richer Media Session diagnostics for mobile browser behavior.
- Stronger Player debug snapshot/event separation.
- New FluxTuner TUI theme.
- Additional tests for Web modules, dashboard behavior, setup, admin flows, player debug and Media Session handling.
Changed
- Split the former monolithic Web
app.jsinto smaller browser modules. - Hardened Web player state handling for:
- slow streams
- failed streams
- interrupted streams
- retries
- pause/resume transitions
- page visibility changes
- mobile background/lock-screen handoff
- Improved Android lock-screen media metadata and artwork handling.
- Improved iOS media handoff behavior after playback starts.
- Improved first-run setup layout.
- Improved request access layout.
- Improved password recovery layout.
- Improved Admin create/reset user layouts.
- Kept the Admin view stable after user and password-request actions while refreshing dashboard data silently.
- Updated architecture, Web, development, smoke-test and release documentation to reflect the new module structure.
Fixed
- Fixed invalid Web manifest JSON.
- Fixed static JS module packaging in source and wheel distributions.
- Fixed stale JS/module caching behavior for Web assets.
- Fixed login and account recovery feedback visibility.
- Fixed Admin action layout issues on mobile.
- Fixed Player debug UI looking like a split/duplicated log.
- Removed noisy production console output from best-effort playback history recording.
Documentation
- Updated architecture documentation and Mermaid diagrams to reflect:
index.html- ES module
static/app.js - focused modules under
static/js/ - FastAPI routers
- Web helper/action modules
- Media Session and Player debug flow
- Updated the refactor roadmap to mark the Web helper/router and JavaScript module work as completed.
- Updated Web documentation with the no-build ES module structure.
- Updated release and smoke-test docs to validate all Web JavaScript modules.
Validation
Validated with:
python -m compileall -q fluxtuner testsnode --check fluxtuner/web/static/app.jsnode --check fluxtuner/web/static/js/*.jsuv run --extra dev pytest -quv build --sdist --wheel
Manual smoke tested:
- login/logout
- first-run setup
- request access
- password recovery
- dashboard
- search
- favorites
- playlists
- player play/pause/resume/stop/retry
- failed/slow stream handling
- Android lock-screen metadata/artwork
- iOS media handoff after playback starts
- Admin users and password change requests
- Player debug panel
- mobile Admin layout