-
Notifications
You must be signed in to change notification settings - Fork 741
feat: Initiate transfer playback via spclient api #1530
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: dev
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements functionality to transfer Spotify playback control to the current device using the spclient transfer API. It adds methods to initiate playback transfers and ensures commands are only executed after connection establishment.
- Adds a
transfer
method toSpClient
that calls the Connect transfer endpoint - Adds a
transfer
method toSpirc
for convenient playback transfer to the current device - Prevents
spirc
commands from executing before connection is established
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.
File | Description |
---|---|
core/src/spclient.rs | Implements transfer method to call spclient transfer API endpoint |
core/src/dealer/protocol/request.rs | Updates TransferOptions to use Option<String> fields and adds serialization support |
connect/src/spirc.rs | Adds connection state tracking, Transfer command, and prevents command execution before connection |
CHANGELOG.md | Documents the new transfer method addition |
35ab803
to
858f6cd
Compare
You want to include this into the any-day-to-be-released-now v0.7.0 or wait until after? |
Let's wait with merging this. I think it's a nice addition but not necessary to get the release out. And btw. thanks for the opinionated work the last days. That made some decisions that were standing out for a while finally resolved :D |
# Conflicts: # connect/src/spirc.rs
transfer
endpoint ofspclient
spirc
to easily transfer the playback to ourselvesspirc
to be executed before connection establishmentDuring checkups at the end I also encountered a warning for
big-num
, which might be a problem sometimes in the future.For context I did run `cargo report future-incompatibilities --id 1` after cargo suggested it:
The following warnings were discovered during the build. These warnings are an indication that the packages contain code that will become an error in a future release of Rust. These warnings typically cover changes to close soundness problems, unintended or undocumented behavior, or critical problems that cannot be fixed in a backwards-compatible fashion, and are not expected to be in wide use.Each warning should contain a link for more information on what the warning
means and how to resolve it.
To solve this problem, you can try the following approaches:
If the issue is not solved by updating the dependencies, a fix has to be
implemented by those dependencies. You can help with that by notifying the
maintainers of this problem (e.g. by creating a bug report) or by proposing a
fix to the maintainers (e.g. by creating a pull request):
cargo report future-incompatibilities --id 1 --package [email protected]
If waiting for an upstream fix is not an option, you can use the
[patch]
section in
Cargo.toml
to use your own version of the dependency. For moreinformation, see:
https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#the-patch-section
The package
num-bigint-dig v0.8.4
currently triggers the following future incompatibility lints:Resolves #1519