-
Notifications
You must be signed in to change notification settings - Fork 63
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
Refactor preload script to hook into Tidal's actual internal state #404
base: master
Are you sure you want to change the base?
Conversation
Just before the big redux-refactor from TIDAL last year we also had a look at introducing this. Last year the discussion ended with the fact that we should put this behind a toggle to give people the choice of "scraper".
I can work on this when I have a bit of free time again, I don't mind doing all the work mentioned above but that would a few-pronged approach:
Let me know if you want to take this bigger project on or whether I should put it on my own backlog. |
Feel free to make any changes you see fit, I will probably just maintain my own fork as I have very different opinions on code style. |
@ottomated that's ok! The current setup makes merging the PR quite difficult (you've removed a lot of infrastructure in favor of the internal TIDAL naming conventions for example) I'll probably end up rewriting chunks of it but I will make sure to drop credit where it's due. If you ever feel like popping over a PR again because you've added something nice out users can benefit from as well then that would be appreciated. Good luck and have a great weekend 😊 |
Quality Gate passedIssues Measures |
Very nice :3 |
I've reverse-engineered Tidal's internal state and refactored the injected script, which makes it possible to directly subscribe to their Redux store instead of updating on an interval and read the actual data straight from memory instead of from the DOM. This necessitated a lot of changes through the whole app, so feel free to make additional commits if needed.
This also should fix the issue of the API and MPRIS integrations sometimes reporting an outdated value. It should also make it trivial to add seeking and volume support to MPRIS.