Skip to content

feat(integrations): scrobble to Last.fm, Libre.fm and ListenBrainz - #192

Open
A-EDev wants to merge 6 commits into
feat/music-trayfrom
feat/scrobbling
Open

A-EDev wants to merge 6 commits into
feat/music-trayfrom
feat/scrobbling

Conversation

@A-EDev

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

Copy link
Copy Markdown
Collaborator

Summary

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

  • A Rust port of Android's scrobbling: Android's listen rules, now playing, love liked songs (off), an offline queue (migration 0020_scrobble_queue.sql) flushed with backoff.
  • Sessions and tokens live in the OS keychain, never in settings, backups or logs. The Last.fm key comes from CI secrets LASTFM_API_KEY/LASTFM_API_SECRET, with an own-key option.

Related issue

Change type

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

Validation

  • pnpm test: 589 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: 820 passed, 0 failed (all sync_* suites included)
  • I smoke-tested the affected desktop behavior. macOS: the Scrobbling section renders. No live account was tested.
  • 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

  • New migration 0020. New dependencies keyring and md-5. CI passes two new secrets that must be set in the repo for Last.fm sign-in.
  • New dependencies: keyring 4, md-5 0.11, reqwest's form feature.
  • No new secrets, private data, telemetry, or broad Tauri permissions were introduced. Two CI secrets are read at build time (LASTFM_API_KEY, LASTFM_API_SECRET); none are committed.
  • 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.
  • 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
@A-EDev A-EDev mentioned this pull request Oct 24, 2026
6 of 15 tasks

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