NewPipe
NewPipe copied to clipboard
OTA Update mechaism (ie. in-app update just for parsing logic)
Checklist
- [x] I checked, but didn't find any duplicates (open OR closed) of this issue in the repo.
- [x] I have read the contribution guidelines given at https://github.com/TeamNewPipe/NewPipe/blob/HEAD/.github/CONTRIBUTING.md.
- [x] This issue contains only one feature request. I will open one issue for every feature I want to request.
Describe the feature you want
Background/Problem: As a user of NewPipe, I noticed that things frequently break, presumably because YouTube updates their page which breaks certain parsing logic (this is only a guess though).
Idea/Suggestion: Is it possible to entirely decouple the parsing logic so that when YouTube updates, someone just updates the parsing logic, rebuilds the tiny parsing code blob, and attaches this to the most recent github release? Then either the user could be prompted to download the new blob when the app launches.
Primary Motivation:
- Speed up the release process for parsing changes
- Make easier / Speed up the user's upgrade process for parsing fixes (in other words, so users don't need to download and install a new apk for these important but small updates).
Since I obviously don't know anything about NewPipe's source code, I apologize if this fundamentally doesn't make sense or wouldn't be feasibly. In either case, I'd love to hear thoughts about this from someone with more knowledge of NewPipe's inner workings.
This was previously discussed in #2045. I'll keep this open so that the team can re-evaluate the suggestion. There's no guarantee that this will still be added though.
Related:-https://github.com/TeamNewPipe/NewPipeExtractor/pull/297
copying over my input from # 8926 :
Problem: (same as above)
- As the youtube always keep on changing something (i guess)
- which makes the newpipe app's yt instance to break (i.e. not play),
- and that requires extractor updates, and hence corresponding hotfix releases
- which take anywhere from some hours to a few days.
Proposed solution: treating extractor Code as data
So, considering all this, it will be nice if
- the newpipe extractor logic - at least for youtube, could somehow be deployed in a "code as data" method;
- meaning that the updated extractor logic could be loaded on the go by the newpipe app
- and it can continue to work as intended.