push-ylznkvqnsqlv #133

Merged
eric merged 22 commits from push-ylznkvqnsqlv into main 2026-09-13 15:44:08 +02:00
Owner
No description provided.
eric added 22 commits 2026-09-13 15:43:20 +02:00
Introduces logic for rebasing local cover routes into absolute URLs, gated by the `pmoserver` feature flag. This includes adding functions for route identification and implementing synchronous wrappers for asynchronous proxy operations, and updating the data model to store the transformed cover URI.
This change updates the track registration logic to utilize permanent IDs instead of raw cache PKs, employing lazy loading and a unified permanent-id route mechanism for audio URL generation.
This change implements security measures to block device protocols on the SSO port and improves server robustness by correctly handling host header mismatches and logging warnings about potential reverse proxy misconfigurations.
This change introduces a bidirectional WebSocket streaming protocol, separating client logic and implementing new sinks for FLAC frame integrity. It includes a complete binary toy server example for testing the protocol, along with necessary dependency updates and internal module structures.
Introduce the `pmoplayercore` package, including necessary dependencies for FLAC decoding, the `DecodedAudio` data model, and a streaming decoder implementation. Includes a test example for WebSocket audio decoding.
Adds support for a web-based FLAC streaming demonstration using Web Audio and WASM. Introduces new decoding functions, a `WebDecodedAudio` data model, and necessary configuration changes for the web target.
Adds the demonstration flow for the web demo, including the build process for WASM, server management, and necessary prerequisites for running the application in a browser.
Adds support for real-time FLAC decoding in the web demo using Claxon and Web Audio API. This includes implementing per-frame decoding logic, introducing a PCM queue processor for chunk management, and adding a test to validate that frames can be decoded independently of each other.
Introduces the PcmQueueProcessor class to manage PCM chunks, handle control commands, and manage queue underflow. This includes setting up a dual-protocol WebSocket server and associated client logic for testing playback functionality.
This commit introduces dynamic audio context creation and queue management for improved playback accuracy. It also updates the toy server to serialize and send track metadata upon connection.
Adds support for volume and mute commands across the client and server. This includes updating server command recognition and input validation, and implementing the playback logic for gain and mute status within the queue processor.
Refactors dependencies, locks specific versions for networking and audio crates, and introduces new sink modules for Ogg/FLAC and WebSocket streaming support.
Introduces the WebSocket sink, refines shared context handling, and defines the streaming protocol structure for FLAC and OGG formats. This includes adding a new `direct_flac_sink` module and enforcing a single-client model for all sinks.
This commit introduces several new sink modules for audio streaming, including WebSocket and direct FLAC sinks. It also updates project dependencies across the board, including multimedia handling libraries, asynchronous runtimes, and serialization tools. The streaming sink implementation includes logic for dynamic sample rate initialization, PCM conversion, and handling synchronization markers for broadcast control.
Configures project dependencies, including Axum and reqwest, for streaming features. Adds a new example demonstrating a toy WebSocket server that validates the FLAC audio pipeline implementation.
Refactor the media renderer to support WebSocket transport, introducing a concrete `BrowserAdapter` for device interaction.

This change establishes the server-side streaming architecture, defining instance management APIs, pipeline setup, and WebSocket communication protocols for audio streaming and control. New API endpoints are registered for instance registration, state reporting, and playback control.
This commit introduces support for WebAssembly audio playback, updates the core player services for robust WebSocket handling and state management, adds PCM chunk processing capabilities, and updates the build configuration for WASM compilation.
This commit introduces fixes for issues related to playback state transitions, ensuring proper `TrackBoundary` signaling when moving from Idle to Playing. It also implements robust error handling and flux discontinuity checks within the stream sinks, particularly around encoder restart operations.
Introduces new HTML templates and CSS variables to support Large, Narrow, and E-ink display formats. Implements client-side logic for sheet management, track queue display, and responsive styling adjustments based on screen constraints.
Introduces support for three distinct visual looks, including E-Ink mode, and adds new components for control, queue management, and seeking functionality. Refactors UI components for responsive layout and visual styling.
Refactors the logic for synchronizing tabs with renderers, ensuring the correct tab is active based on URL parameters. This includes introducing new functions for filtering available renderers and modifying synchronization triggers to ensure updates occur when necessary. Also includes visual testing configuration updates and minor UI fixes.
Update dependency version and implement multi-stage Docker build
All checks were successful
Release / create-release (push) Successful in 11s
07abf88d29
This commit updates the project dependency version and introduces a multi-stage Docker build strategy for creating a minimal runtime image. It also defines comprehensive build scripts for the web application, including support for WebAssembly compilation.
eric merged commit 9bde5c6fee into main 2026-09-13 15:44:08 +02:00
eric deleted branch push-ylznkvqnsqlv 2026-09-13 15:44:12 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
eric/pmomusic!133
No description provided.