librespot icon indicating copy to clipboard operation
librespot copied to clipboard

feat: Initiate transfer playback via spclient api

Open photovoltex opened this issue 4 months ago • 2 comments

  • adds a method to invoke the transfer endpoint of spclient
  • adds a method to spirc to easily transfer the playback to ourselves
  • prevent commands of spirc to be executed before connection establishment

During 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):

  • 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 more information, 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:

warning: macro vec is private --> /home/photovoltex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:490:22 | 490 | BigUint::new(vec![1]) | ^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #120192 https://github.com/rust-lang/rust/issues/120192

warning: macro vec is private --> /home/photovoltex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2005:9 | 2005 | vec![0] | ^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #120192 https://github.com/rust-lang/rust/issues/120192

warning: macro vec is private --> /home/photovoltex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2027:16 | 2027 | return vec![b'0']; | ^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #120192 https://github.com/rust-lang/rust/issues/120192

warning: macro vec is private --> /home/photovoltex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/biguint.rs:2313:13 | 2313 | vec![0] | ^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #120192 https://github.com/rust-lang/rust/issues/120192

warning: macro vec is private --> /home/photovoltex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/prime.rs:138:22 | 138 | let mut moduli = vec![BigUint::zero(); prime_limit]; | ^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #120192 https://github.com/rust-lang/rust/issues/120192

warning: macro vec is private --> /home/photovoltex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/num-bigint-dig-0.8.4/src/bigrand.rs:319:25 | 319 | let mut bytes = vec![0u8; bytes_len]; | ^^^ | = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! = note: for more information, see issue #120192 https://github.com/rust-lang/rust/issues/120192

Resolves #1519

photovoltex avatar Aug 09 '25 19:08 photovoltex

You want to include this into the any-day-to-be-released-now v0.7.0 or wait until after?

roderickvd avatar Aug 13 '25 22:08 roderickvd

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

photovoltex avatar Aug 14 '25 06:08 photovoltex