Skip to content

feat(music): restore the queue, count real listening time and resume long tracks - #188

Open
A-EDev wants to merge 4 commits into
feat/music-immersivefrom
feat/music-continuity
Open

A-EDev wants to merge 4 commits into
feat/music-immersivefrom
feat/music-continuity

Conversation

@A-EDev

@A-EDev A-EDev commented Oct 24, 2026

Copy link
Copy Markdown
Collaborator

Summary

Part 11 of 22 of the music player plan (Android parity). Stacked on feat/music-immersive (PR #187); review and merge in order.

  • The queue, song, position, shuffle order and radio state are saved (migration 0019_music_queue_state.sql) and restored paused on launch. "Restore the last queue" is on by default.
  • History and MusicBrain count the time actually played; no row is written before 1 s, and a short replay keeps the longer listen.
  • Resume long tracks (10 minutes or more), off by default.

Related issue

Change type

  • Bug fix
  • Feature
  • Refactor or maintenance
  • Documentation
  • Build, packaging, or CI

Validation

  • pnpm test: 555 tests passed, 0 failed
  • pnpm build: passed
  • cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check: clean
  • cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --all-features: no new warnings against main (compared at the top of the stack)
  • cargo test --manifest-path src-tauri/Cargo.toml --all-targets --all-features: 787 passed, 0 failed (all sync_* suites included)
  • I smoke-tested the affected desktop behavior. macOS: relaunch restored the last song paused.
  • OS/device: device testing by the owner. The checks above ran on macOS 27 (Apple Silicon MacBook Pro, 120 Hz) in a dev build of the whole stack; Windows and Linux were not run.

Screenshots or recordings

Risk and compatibility

  • Migration 0019 adds music_queue_state and music_resume_positions.
  • No new secrets, private data, telemetry, or broad Tauri permissions were introduced.
  • User-facing documentation was updated where needed (changelog entry in v0.1.0-beta3.txt).
  • Dependency and lockfile changes are intentional and limited to this PR. No dependency changes.
  • Breaking changes and upgrade steps are clearly documented. No breaking changes.

Copilot AI balanced review requested due to automatic review settings October 24, 2026 14:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

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.

2 participants