mirror of
https://github.com/Rigellute/spotify-tui.git
synced 2026-04-26 08:05:57 +03:00
[GH-ISSUE #624] Future breaking update of Rspotify #255
Labels
No labels
bug
enhancement
good first issue
help wanted
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/spotify-tui#255
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @marioortizmanero on GitHub (Oct 18, 2020).
Original GitHub issue: https://github.com/Rigellute/spotify-tui/issues/624
Hello!
I'm a maintainer of Rspotify. I picked up this library in July and have made lots of improvements since, with the help of the original maintainer. The library is now much cleaner, more flexible, and more performant. For now, these are the noticeable improvements for the end user:
And we are just at 50% of the changes we intend to make, so it'll be even better. But these kind of improvements require breaking changes. A lot of them, in fact. I wanted to ask the maintainers of this crate (which is one of the most active ones using Rspotify) for help in some discussions relating the future of Rspotify:
Before the new release, we'd like to at least finish these changes, and afterwards we can keep adding new features and prepare for v1.0 in the far future. These include lots of proposals and changes, so don't feel the need to check out each of them. At least a bit of feedback will be useful to us.
@Rigellute commented on GitHub (Feb 27, 2021):
Looking forward to these updates @marioortizmanero @ramsayleung. Going to rely on the power of Rust to guide me in fixing the breaking changes.
@marioortizmanero commented on GitHub (Feb 27, 2021):
I'm very happy with the progress we're making so far! There's still quite a lot to do, but compared to the state the library was last year, so much has been improved already. Meanwhile you can provide us with some opinions on issues we still are discussing how to solve. I'll try to make them as concise as possible because I know the threads are lengthy now. Answer whatever you can/want, I'll send this to more devs.
https://github.com/ramsayleung/rspotify/issues/4 We want to make it possible to have automatically refreshing tokens (not sure how you handle token refreshing right now) and cached tokens. Would you rather have features in the
Cargo.tomlto configure what type of token you want to use (token-refreshingandtoken-cached, for example), or runtime configuration (client.set_cached()andclient.set_refreshing()for example)?The latter would make it possible to use different combinations of tokens in the same program (i.e. a refreshing but not cached one in a part of the program, and a cached but not refreshing in another part), but I'm not sure if that's actually needed. Also unsure if there are more elegant ways of configuring that.
https://github.com/ramsayleung/rspotify/issues/134 How would you rather use optional parameters:
Option:fn endpoint(&self, market: Option<Market>), using it withendpoint(None)orendpoint(Some(Market::FromToken)).fn endpoint<M: Into<Option<Market>>(&self, market: M)so that it can be used asendpoint(Market::FromToken), withoutSome. The downside is that generics will generate2^Ncopies of that function, whereNis the number of combinations for the optional parameters used (many times that'll be 1 anyway).https://github.com/ramsayleung/rspotify/pull/166 We want to add an easier interface to iterate methods with paginated results. Should it be an optional feature? In case the feature is activated, should it replace the original methods, or be added as a new endpoint with the
_streamsuffix? Should it be enabled by default?These are decisions that are quite complicated to take without insight from others, so we'd appreciate any possible help :)
@marioortizmanero commented on GitHub (Oct 18, 2021):
Heads up: the new release is finally out! If you need help please let us know at https://github.com/ramsayleung/rspotify/issues/218