Skip to content

fix(player): correct buffering state, remember volume and reduce metadata requests - #300

Merged
hoangsvit merged 1 commit into
developfrom
fix/player-reliability-preferences
Oct 18, 2026
Merged

hoangsvit merged 1 commit into
developfrom
fix/player-reliability-preferences

Conversation

@hoangsvit

Copy link
Copy Markdown
Member

When audio buffers, the player previously retained its actual-playing flag. Clear that flag on waiting so animations and shared playback state follow actual playback; a network stalled event only enters buffering when the media lacks future data. Prioritize offline status over a previous stream error.

Persist and safely restore volume/mute before binding volume listeners, without authorizing autoplay or assigning iOS system volume. Skip metadata requests while offline or hidden and idle, while preserving background playback metadata and visible schedule browsing. Cache successful lyrics by media ID with a 20-entry limit; failures remain retryable.

Validation:

  • npm ci --ignore-scripts completed (local Node 24.19.0; repository pins 24.15.0).
  • npm test: 266 passed, including behavioral buffering/stall checks and suspended polling recovery.
  • git diff --check passed.
  • Local Nuxt client/server compilation passed; full prerender is still running. npm run generate is waiting in the existing image-generation pre-step, so the full CI generate check is required before merging.
  • Real iPhone background/lock-screen testing has not been performed.

Updates docs/PROJECT_CONTEXT.md with the playback and preference rules. This PR does not replace the separate security hardening PR #299. Detailed stream error classification remains follow-up work.

@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because the subscription is no longer active. Ask your workspace admin to reactivate the subscription to resume reviews. Manage billing

@coderabbitai

coderabbitai Bot commented Oct 18, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: ePlus-DEV/radio.eplus.dev/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 13919a1f-47ec-48a2-a40c-b394e27046ca

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hoangsvit
hoangsvit merged commit 65842ce into develop Oct 18, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant