polymorphicshade / Tubular

A fork of NewPipe that implements SponsorBlock and ReturnYouTubeDislike.
GNU General Public License v3.0
1.33k stars 35 forks source link

NewPipe v0.27.1 is out #108

Closed danielwerg closed 3 weeks ago

danielwerg commented 3 weeks ago

NewPipe v0.27.1 is out which includes fix for https://github.com/TeamNewPipe/NewPipe/issues/11255

107 #106 #105 #101 #100 #98 #97

https://github.com/TeamNewPipe/NewPipe/releases/tag/v0.27.1

rjdg14 commented 3 weeks ago

Are the intermittent 403 errors that have occured for the past few weeks in the middle of random videos, which 0.27.1 does not seem to fix, related to the change YouTube made that broke playback completely the other day (which it does fix), or are they two unrelated issues?

Until the periodic 403 errors in the middle of videos are fixed, the best way to ensure you'll be able to watch a video flawlessly seems to be to skip to a point past 0:59 seconds, and if the video continues playing normally then it shouldn't have any playback issues for the duration of the NewPipe session meaning you can rewind back to the start. If it results in the error then closing/reopening the app and selecting the video from your history should allow it to play normally.

thecommitteduser commented 3 weeks ago

Please push update to F-Droid repository please.

shane-kerr commented 3 weeks ago

If you use F-Droid and want the updated version you can add the NewPipe upstream repository:

https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/

You'll have to uninstall the F-Droid version due to incompatible signatures, and re-install (I lost all of my bookmarked playlist and downloads don't show up in NewPipe, although downloads are not deleted - so consider whether you would rather wait).

thecommitteduser commented 3 weeks ago

If you use F-Droid and want the updated version you can add the NewPipe upstream repository:

https://newpipe.net/FAQ/tutorials/install-add-fdroid-repo/

You'll have to uninstall the F-Droid version due to incompatible signatures, and re-install (I lost all of my bookmarked playlist and downloads don't show up in NewPipe, although downloads are not deleted - so consider whether you would rather wait).

Why would I add another repository, the purpose of F-Droid is to use a central trusted repository, adding another repository defeats the whole purpose of F-Droid to begin with.

iointerrupt commented 3 weeks ago

Why would I add another repository, the purpose of F-Droid is to use a central trusted repository, adding another repository defeats the whole purpose of F-Droid to begin with.

You cannot simply "add" the apk to f-droid repo. F-droid follows the standard CI/CD process where it will compile the app from source as well as all dependencies from their respective sources. This is to prevent malicious app devs from attempting to modify dependencies with malicious code and make their app code look "clean".

Since the process requires f-droid to compile every version of every app using their build servers, and f-droid is a community project funded mostly by donations, their resources are limited and compiling could take couple of days as there might be other apps in the f-droid pipeline being compiled and others waiting in the queue (first come first serve).

By adding the NewPipe repo you are telling f-droid that you trust their repo. This way if NewPipe needs to make a hotfix it will be available quicker via f-droid.

Since NewPipe is sort of a "reactive" app where they cannot forsee changes made by the YouTube team and apply fixes after the fact, it makes sense to add the NewPipe repo to f-droid app so you can get them quicker and bypass the f-droid build process.

thecommitteduser commented 3 weeks ago

Why would I add another repository, the purpose of F-Droid is to use a central trusted repository, adding another repository defeats the whole purpose of F-Droid to begin with.

You cannot simply "add" the apk to f-droid repo. F-droid follows the standard CI/CD process where it will compile the app from source as well as all dependencies from the sources as well. This is to prevent malicious app devs from attempting to modify dependencies with malicious code and make their app code look "clean".

Since the process requires f-droid to compile every version of every app using their build servers, and f-droid is a community project funded mostly by donations, their resources are limited and compiling could take couple of days as there might be other apps in the f-droid pipeline being compiled and others waiting in the queue (first come first serve).

By adding the NewPipe repo you are telling f-droid that you trust their repo. This way if NewPipe needs to make a hotfix it will be available quicker via f-droid.

Since NewPipe is sort of a "reactive" app where they cannot for see changes made by the YouTube team and have only fix after the fact, it makes sense to add the NewPipe repo to f-droid repo.

I understand rhe benefits of using a direct repository (there is no right or wrong answer to this and everyone has a different preference) however if I were to do this for every app I won't know which will be a problematic repository in the future, there is a reason people use the Play Store over downloading APKs, and the same goes for F-Droid. There's no issue in waiting for a week for F-Droid to approve it, there's back up methods to use YouTube, however I've seen in the past F-Droid repo not have an update for 8 months since the last release when there's been over 5 to 10 releases done on the newpipe repo. Might as well decommission the F-Droid option on the website all together if it'll take that long for an update to be pushed.

There is a reason why my comment about F-Droid has half as many likes as the original post and that's because people do want a reliable upgrade schedule on F-Droid as that is their preferred solution.

iointerrupt commented 3 weeks ago

I understand rhe benefits of using a direct repository (there is no right or wrong answer to this and everyone has a different preference) however if I were to do this for every app I won't know which will be a problematic repository in the future, there is a reason people use the Play Store over downloading APKs, and the same goes for F-Droid. There's no issue in waiting for a week for F-Droid to approve it, there's back up methods to use YouTube, however I've seen in the past F-Droid repo not have an update for 8 months since the last release when there's been over 5 to 10 releases done on the newpipe repo. Might as well decommission the F-Droid option on the website all together if it'll take that long for an update to be pushed.

There is a reason why my comment about F-Droid has half as many likes as the original post and that's because people do want a reliable upgrade schedule on F-Droid as that is their preferred solution.

I agree that a standard centralized library its best case for most apps but how NewPipe or other similar apps/scripts like it (yt-dlp, youtube-dl) work are slightly different. Most apps might have a bug or two that might need to get patched because they weren't properly tested during unit/regression testing. If you are lucky then you can delete the current buggy version and download an older version and wait for the author to fix and use that version until fresh version appears on f-droid.

This is not how NewPipe works. You cannot simply download an older version of NewPipe and expect things to work. Because the app deals with screen/web scraping, they are at the mercy of Google/Youtube to maintain consistency. Because of this, if NewPipe is not working for one user, it is likely impacting all NewPipe users. A week of downtime for the app might be too long, and YouTube app itself might not be an option especially for those Android users who are de-googled (some of my android devices are de-googled).

Its is a matter trust. I trust the F-Droid repo. I have also used NewPipe long enough to realize that the NewPipe codebase is trustworthy and its managed by trustworthy contributors. The F-Droid app allows you (the user) to extend that trust not just to its own repo, but any other repo the end user sees fit.

thecommitteduser commented 3 weeks ago

I understand rhe benefits of using a direct repository (there is no right or wrong answer to this and everyone has a different preference) however if I were to do this for every app I won't know which will be a problematic repository in the future, there is a reason people use the Play Store over downloading APKs, and the same goes for F-Droid. There's no issue in waiting for a week for F-Droid to approve it, there's back up methods to use YouTube, however I've seen in the past F-Droid repo not have an update for 8 months since the last release when there's been over 5 to 10 releases done on the newpipe repo. Might as well decommission the F-Droid option on the website all together if it'll take that long for an update to be pushed. There is a reason why my comment about F-Droid has half as many likes as the original post and that's because people do want a reliable upgrade schedule on F-Droid as that is their preferred solution.

I agree that a standard centralized library its best case for most apps but how NewPipe or other similar apps/scripts like it (yt-dlp, youtube-dl) work are slightly different. Most apps might have a bug or two that might need to get patched because they weren't properly tested during unit/regression testing. If you are lucky then you can delete the current buggy version and download an older version and wait for the author to fix and use that version until fresh version appears on f-droid.

This is not how NewPipe works. You cannot simply download an older version of NewPipe and expect things to work. Because the app deals with screen/web scraping, they are at the mercy of Google/Youtube to maintain consistency. Because of this, if NewPipe is not working for one user, it is likely impacting all NewPipe users. A week of downtime for the app might be too long, and YouTube app itself might not be an option especially for those Android users who are de-googled (some of my android devices are de-googled).

Its is a matter trust. I trust the F-Droid repo. I have also used NewPipe long enough to realize that the NewPipe codebase is trustworthy and its managed by trustworthy contributors. The F-Droid app allows you (the user) to extend that trust not just to its own repo, but any other repo the end user sees fit.

You're stating the minority of cases (de googling, the average user doesn't even know what degoogling is) and you can use YouTube on any Web browser. I'm not advocating a replacement of the newpipe repository (if people want instant fixes that option will always be there), I'm advocating for submission to F-Droid straight away and letting them do their approval process, I haven't experienced that with my experience (I.e. Taking 8 months to publish to F-Droid after several releases last year, and a new release finally came out once a ticket was made suggesting the F-Droid repo to be updated.

If you want more contributors to a project you need to appeal to the masses (and the masses want F-Droid), and when popularity builds more devs will hear about the project and want to contribute. In turn this also increases the amount of people contributing to F-Droid too as more people will hear about new-pipe. It honestly reminds me of the endless loop of people thinking their Linux distro is how it should be done, when all they need to do is understand want the average user wants.

Telling people what they should want isn't a good approach. If the majority of the people want something you give it to them. You don't go telling them that's the wrong approach and they should use a repo they don't want to use. They heard the reasons why a direct repo is beneficial and they still prefer F-droid. The majority of users aren't coders to evaluate whether they should trust an independent repo and many don't have to time to evaluate every single project codebase they use.

The reason I state all this is because Newpipe is one of the best open source mobile apps I've used period. I want contribution and popularity to increase and the approach of slow pushes to F-Droid affects that.

iointerrupt commented 3 weeks ago

You're stating the minority of cases (de googling, the average user doesn't even know what degoogling is) and you can use YouTube on any Web browser. I'm not advocating a replacement of the newpipe repository (if people want instant fixes that option will always be there), I'm advocating for submission to F-Droid straight away and letting them do their approval process, I haven't experienced that with my experience (I.e. Taking 8 months to publish to F-Droid after several releases last year, and a new release finally came out once a ticket was made suggesting the F-Droid repo to be updated.

If you want more contributors to a project you need to appeal to the masses (and the masses want F-Droid), and when popularity builds more devs will hear about the project and want to contribute. In turn this also increases the amount of people contributing to F-Droid too as more people will hear about new-pipe. It honestly reminds me of the endless loop of people thinking their Linux distro is how it should be done, when all they need to do is understand want the average user wants.

Telling people what they should want isn't a good approach. If the majority of the people want something you give it to them. You don't go telling them that's the wrong approach and they should use a repo they don't want to use. They heard the reasons why a direct repo is beneficial and they still prefer F-droid. The majority of users aren't coders to evaluate whether they should trust an independent repo and many don't have to time to evaluate every single project codebase they use.

While "de-googling" might be a minority case, I doubt the the the masses of Android users are installing F-Droid. First of all, you are downloading an APK that is not signed by Google/Amazon/Samsung/etc PlayStore. As soon as you attempt to launch it, Google Play Services or phone tablet OEM security warns you that your are about to install a package than can be harmful. Furthermore, depending on the manufacturer, you may have to enable this capability in some option buried deep in settings. Even further, once installed, you will now have to grant F-Droid the app permission to install apps from "unknown sources" from within itself, which requires another layer prompts to ensure the users understand what they are about to do. All of this is to deter the masses of android user from installing apps outside the security sandbox. All of this is actually for good reason. You should have some understanding of the implications of what you are about to do, and if you don't, your best option is to click cancel/no.

Youtube does offer users Youtube Premium service and they advertise it well enough. This service also ensures, the average android user does not need to worry about what a repository is or the need to trust them for that matter. My aging parents both have YouTube. They don't mind the advertisements. But the moment they complain, I will immediately subscribe them to YouTube Premium. Because I understand how a day or two downtime could impact them. Because its expected with a project like NewPipe and that it can fail F-Droids checks which could potentially delay it further. I can do with the workaround solutions, because I am far more tech savvy than they are. Looking for workarounds is not something they not need to worry about because they are your average android users.

thecommitteduser commented 3 weeks ago

You're stating the minority of cases (de googling, the average user doesn't even know what degoogling is) and you can use YouTube on any Web browser. I'm not advocating a replacement of the newpipe repository (if people want instant fixes that option will always be there), I'm advocating for submission to F-Droid straight away and letting them do their approval process, I haven't experienced that with my experience (I.e. Taking 8 months to publish to F-Droid after several releases last year, and a new release finally came out once a ticket was made suggesting the F-Droid repo to be updated. If you want more contributors to a project you need to appeal to the masses (and the masses want F-Droid), and when popularity builds more devs will hear about the project and want to contribute. In turn this also increases the amount of people contributing to F-Droid too as more people will hear about new-pipe. It honestly reminds me of the endless loop of people thinking their Linux distro is how it should be done, when all they need to do is understand want the average user wants. Telling people what they should want isn't a good approach. If the majority of the people want something you give it to them. You don't go telling them that's the wrong approach and they should use a repo they don't want to use. They heard the reasons why a direct repo is beneficial and they still prefer F-droid. The majority of users aren't coders to evaluate whether they should trust an independent repo and many don't have to time to evaluate every single project codebase they use.

While "de-googling" might be a minority case, I doubt the the the masses of Android users are installing F-Droid. First of all, you are downloading an APK that is not signed by Google/Amazon/Samsung/etc PlayStore. As soon as you attempt to launch it, Google Play Services or phone tablet OEM security warns you that your are about to install a package than can be harmful. Furthermore, depending on the manufacturer, you may have to enable this capability in some option buried deep in settings. Even further, once installed, you will now have to grant F-Droid the app permission to install apps from "unknown sources" from within itself, which requires another layer prompts to ensure the users understand what they are about to do. All of this is to deter the masses of android user from installing apps outside the security sandbox. All of this is actually for good reason. You should have some understanding of the implications of what you are about to do, and if you don't, your best option is to click cancel/no.

Youtube does offer users Youtube Premium service and they advertise it well enough. This service also ensures, the average android user does not need to worry about what a repository is or the need to trust them for that matter. My aging parents both have YouTube. They don't mind the advertisements. But the moment they complain, I will immediately subscribe them to YouTube Premium. Because I understand how a day or two downtime could impact them. Because its expected with a project like NewPipe and that it can fail F-Droids checks which could potentially delay it further. I can do with the workaround solutions, because I am far more tech savvy than they are. Looking for workarounds is not something they not need to worry about because they are your average android users.

It's not one extreme or another, F-Droid is the best middle ground for many people. If it weren't the majority of people using newpipe then my first comment wouldn't have so many thumbs up. Again, if it isn't believed as a good solution then why is it offered on F-Droid in the first place.

Anyways, I'm advocating for many options (and done properly if it's offered as an option) to appeal to everyone and you're stating no, my way is the right way and if they don't like that method go somewhere else which isn't good community building. I don't think there is much else to be said.

iointerrupt commented 3 weeks ago

It's not one extreme or another, F-Droid is the best middle ground for many people. If it weren't the majority of people using newpipe then my first comment wouldn't have so many thumbs up. Again, if it isn't believed as a good solution then why is it offered on F-Droid in the first place.

Anyways, I'm advocating for many options (and done properly if it's offered as an option) to appeal to everyone and you're stating no, my way is the right way and if they don't like that method go somewhere else which isn't good community building. I don't think there is much else to be said.

Can you please reference any comment where I said it anything along the lines of "my way, and if you like that method go somewhere else"? How is being able to add additional repositories to the F-Droid app not advocating for additional options? F-Droid docs tell you how to do it here: https://f-droid.org/en/docs/Setup_an_F-Droid_App_Repo/

If you want to learn a bit more about the f-droid build process, you can do so here: https://gitlab.com/fdroid/wiki/-/wikis/FAQ#how-long-does-it-take-for-my-app-to-show-up-on-website-and-client.

I also want NewPipe to get released on F-Droids official repo and have given your comment above a thumbs up.

thecommitteduser commented 3 weeks ago

It's not one extreme or another, F-Droid is the best middle ground for many people. If it weren't the majority of people using newpipe then my first comment wouldn't have so many thumbs up. Again, if it isn't believed as a good solution then why is it offered on F-Droid in the first place. Anyways, I'm advocating for many options (and done properly if it's offered as an option) to appeal to everyone and you're stating no, my way is the right way and if they don't like that method go somewhere else which isn't good community building. I don't think there is much else to be said.

Can you please reference any comment where I said it anything along the lines of "my way, and if you like that method go somewhere else"? How is being able to add additional repositories to the F-Droid app not advocating for additional options? F-Droid docs tell you how to do it here: https://f-droid.org/en/docs/Setup_an_F-Droid_App_Repo/

If you want to learn a bit more about the f-droid build process, you can do so here: https://gitlab.com/fdroid/wiki/-/wikis/FAQ#how-long-does-it-take-for-my-app-to-show-up-on-website-and-client.

I also want NewPipe to get released on F-Droids official repo and have given your comment above a thumbs up.

My apologies then. My misunderstanding. I believe Everyone is aware another repo can be used, even newpipe prompts there are new updates by downloading an apk. There just seems to be a reluctance to push releases through F-Droid (I don't think 8 months is because of F-Droids approval process) and the stance of benefits you provided to me implies that people should just use the other methods when all I initially suggested was to upload to F-Droid please. However still, it's my misunderstanding and my fault and I'm sorry for assuming that was your position.

iointerrupt commented 3 weeks ago

My apologies then. My misunderstanding. I believe Everyone is aware another repo can be used, even newpipe prompts there are new updates by downloading an apk. There just seems to be a reluctance to push releases through F-Droid (I don't think 8 months is because of F-Droids approval process) and the stance of benefits you provided to me implies that people should just use the other methods when all I initially suggested was to upload to F-Droid please. However still, it's my misunderstanding and my fault and I'm sorry for assuming that was your position.

No worries. 8 months sound a bit extreme for either end of the link. Hopefully both NewPipe and F-Droid get continued support from us to streamline and move the process along faster.

Now that NewPipe is working again, I will be streaming some MST3K shorts on it before calling it a night.

NewMacPro commented 3 weeks ago

V0.27.1 can't play again org.schabi.newpipe.extractor.exceptions.ContentNotAvailableException: Got error: "Sign in to confirm that you're not a bot" at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.checkPlayabilityStatus(YoutubeStreamExtractor.java:948) at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:844) at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:60) at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:77) at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:72) at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)

Alexia99-lab commented 1 week ago

Latest version 0.27.1 still same network error Screenshot_20240725-044210

alexshpilkin commented 1 week ago

@Alexia99-lab This is a change on YouTube’s side that seems to have been deployed literally today. See the comment in the upstream bug tracker at https://github.com/TeamNewPipe/NewPipe/issues/11255#issuecomment-2248098119. The peoblem has already been fixed (as has the different bug with crashes around the 1-minute mark, see https://github.com/TeamNewPipe/NewPipe/issues/11191), so the only thing we can do here in this fork is to wait for 0.27.2 or whatever it’s going to end up being called, then ask the maintainer for a merge.

(Adventurous and knowledgeable folks could try and integrate the changes themselves, build that and install it on their Android devices. But that sounds like a lot of fairly drudgy work—hats off to the @polymorphicshade—for an issue that’s likely to see a proper solution within a week.)

alexshpilkin commented 1 week ago

@polymorphicshade In the meantime, upstream has released 0.27.2.