[PR #649] [MERGED] [Tokio migration] Merge dev and refactor #999

Closed
opened 2026-02-27 20:00:46 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/librespot-org/librespot/pull/649
Author: @Johannesd3
Created: 2/23/2021
Status: Merged
Merged: 2/26/2021
Merged by: @ashthespy

Base: tokio_migrationHead: tokio-migration-refactor-deps


📝 Commits (10+)

  • 52438b1 Use rodio for jackaudio backend
  • aad4dba Merge branch 'dev' into rodiojack-backend
  • 59f87dc Amend conditional compilation to fail on unsupported systems
  • f483075 Merge pull request #548 from Lcchy/rodiojack-backend
  • 34733ba Bump crypto crates
  • 392a12a Fix toggling in SpircCommand::PlayPause
  • 7662bc5 librespot-audio: update librespot-tremor.
  • a173fa7 Remove depreciated error description method
  • 4e0f5e4 Add skip-merge and dry-run options to publish script. Update Cargo.lock.
  • 66566e0 remove errant live code in dry-run of publish.sh

📊 Changes

53 files changed (+1264 additions, -1211 deletions)

View changed files

📝 .github/workflows/test.yml (+1 -0)
📝 .gitignore (+4 -1)
📝 COMPILING.md (+1 -0)
📝 Cargo.lock (+137 -427)
📝 Cargo.toml (+18 -16)
📝 README.md (+4 -1)
📝 audio/Cargo.toml (+8 -8)
📝 audio/src/fetch.rs (+65 -80)
📝 audio/src/lewton_decoder.rs (+19 -24)
📝 audio/src/lib.rs (+83 -21)
📝 audio/src/libvorbis_decoder.rs (+17 -18)
audio/src/passthrough_decoder.rs (+191 -0)
📝 audio/src/range_set.rs (+1 -1)
📝 connect/Cargo.toml (+27 -23)
📝 connect/src/context.rs (+2 -2)
📝 connect/src/discovery.rs (+14 -14)
📝 connect/src/lib.rs (+3 -28)
📝 connect/src/spirc.rs (+34 -30)
📝 core/Cargo.toml (+21 -18)
📝 core/build.rs (+3 -6)

...and 33 more files

📄 Description

In this PR, I merged dev into tokio_migration (sorry, @ashthespy, in case you already merged dev as well), and then I did some refactoring. This looks like very much, but actually it's only a very shallow refactor, mostly trying to reduce the number of dependencies. (Nevertheless, dev and this branch are further diverging, merging will get harder. I hope there aren't too many other PRs in preparation.)

Here are a few things worth noting:

  • Reverted #548 to make merging easier. After merging I reimplemented the functionality, but a little easier and with less code duplication.
  • I hope you're fine with using tokio's channels instead of futures' channels. I had the impression that the tokio channels were created with some of the drawbacks of futures' channels in mind.
  • Move the get_credentials function as I suggested in #596.
  • Remove LinearMap dependency and simply use HashMap. It wasn't clear why it was used at all, but it could be reverted if you know the reason.
  • Update the url dependency (#368)
  • Remove default impl for SessionConfig (it wasn't used, but needed the uuid dependency for librespot-core)
  • #566 used the slightly outdated error-chain, I replaced it by thiserror.

PS: Compare changes except merging


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/librespot-org/librespot/pull/649 **Author:** [@Johannesd3](https://github.com/Johannesd3) **Created:** 2/23/2021 **Status:** ✅ Merged **Merged:** 2/26/2021 **Merged by:** [@ashthespy](https://github.com/ashthespy) **Base:** `tokio_migration` ← **Head:** `tokio-migration-refactor-deps` --- ### 📝 Commits (10+) - [`52438b1`](https://github.com/librespot-org/librespot/commit/52438b1cc2ee48c2e3571eba3f158285bd53d170) Use rodio for jackaudio backend - [`aad4dba`](https://github.com/librespot-org/librespot/commit/aad4dba8a8c8621e9dd81a11aaf1d8f720787620) Merge branch 'dev' into rodiojack-backend - [`59f87dc`](https://github.com/librespot-org/librespot/commit/59f87dcb375b8bb8054cd06396dcf6a1f7018674) Amend conditional compilation to fail on unsupported systems - [`f483075`](https://github.com/librespot-org/librespot/commit/f483075b2cde3e443929873e5abb2f072bac48a3) Merge pull request #548 from Lcchy/rodiojack-backend - [`34733ba`](https://github.com/librespot-org/librespot/commit/34733baa75559bcb2d95496a746cc03506130bf4) Bump crypto crates - [`392a12a`](https://github.com/librespot-org/librespot/commit/392a12af9262dbec25c197f7b4cac37162bdd163) Fix toggling in SpircCommand::PlayPause - [`7662bc5`](https://github.com/librespot-org/librespot/commit/7662bc50649df89f6369e766ec13f425675bbdb3) librespot-audio: update librespot-tremor. - [`a173fa7`](https://github.com/librespot-org/librespot/commit/a173fa7cc5a90e0f9d42150a89018df1b1c76cd4) Remove depreciated error description method - [`4e0f5e4`](https://github.com/librespot-org/librespot/commit/4e0f5e46a556acab2d846116a9806fa955aed731) Add skip-merge and dry-run options to publish script. Update Cargo.lock. - [`66566e0`](https://github.com/librespot-org/librespot/commit/66566e0b26bbc7ec39f23b5275a5869d3b5e421f) remove errant live code in dry-run of publish.sh ### 📊 Changes **53 files changed** (+1264 additions, -1211 deletions) <details> <summary>View changed files</summary> 📝 `.github/workflows/test.yml` (+1 -0) 📝 `.gitignore` (+4 -1) 📝 `COMPILING.md` (+1 -0) 📝 `Cargo.lock` (+137 -427) 📝 `Cargo.toml` (+18 -16) 📝 `README.md` (+4 -1) 📝 `audio/Cargo.toml` (+8 -8) 📝 `audio/src/fetch.rs` (+65 -80) 📝 `audio/src/lewton_decoder.rs` (+19 -24) 📝 `audio/src/lib.rs` (+83 -21) 📝 `audio/src/libvorbis_decoder.rs` (+17 -18) ➕ `audio/src/passthrough_decoder.rs` (+191 -0) 📝 `audio/src/range_set.rs` (+1 -1) 📝 `connect/Cargo.toml` (+27 -23) 📝 `connect/src/context.rs` (+2 -2) 📝 `connect/src/discovery.rs` (+14 -14) 📝 `connect/src/lib.rs` (+3 -28) 📝 `connect/src/spirc.rs` (+34 -30) 📝 `core/Cargo.toml` (+21 -18) 📝 `core/build.rs` (+3 -6) _...and 33 more files_ </details> ### 📄 Description In this PR, I merged dev into tokio_migration (sorry, @ashthespy, in case you already merged dev as well), and then I did some refactoring. This looks like very much, but actually it's only a very shallow refactor, mostly trying to reduce the number of dependencies. (Nevertheless, dev and this branch are further diverging, merging will get harder. I hope there aren't too many other PRs in preparation.) Here are a few things worth noting: * Reverted #548 to make merging easier. After merging I reimplemented the functionality, but a little easier and with less code duplication. * I hope you're fine with using tokio's channels instead of futures' channels. I had the impression that the tokio channels were created with some of the drawbacks of futures' channels in mind. * Move the get_credentials function as I suggested in #596. * Remove `LinearMap` dependency and simply use `HashMap`. It wasn't clear why it was used at all, but it could be reverted if you know the reason. * Update the url dependency (#368) * Remove default impl for `SessionConfig` (it wasn't used, but needed the uuid dependency for librespot-core) * #566 used the slightly outdated `error-chain`, I replaced it by `thiserror`. PS: [Compare changes except merging](https://github.com/librespot-org/librespot/compare/678d177...Johannesd3:tokio-migration-refactor-deps) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 20:00:46 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/librespot#999
No description provided.