PeerTube support without P2P (#2201) [Beta]:
Downloader (#2679):
Adjustable seek duration #2744
newpipe_debug_0.18.0_RC3.apk.zip
PLEASE REPORT ONLY _NEW_ ISSUES BELOW
Corresponding PR: #2862
This release contains wonderful changes. Unfortunately, I have other things to do atm and no time left for writing a release blog post. Can someone else do this? I'll provide help if needed.
Edit: I wrote a small post during a train ride.
What do you mean by "release blog post"? Haven't you already covered everything above?
Not yet completely. In the blog post we mention the authors, sum up translation changes (e.g. New languages which have been added) and most importantly explain new features / UX. You cannot find everything in the few bullet points above :)
@thegodofplay I cannot reproduce. What content language/country are set on your device?
Edit: I uploaded RC2
Ah yes. That's for debugging :)
This doesn't seem to fix the soundcloud playback issue.


New strings about PeerTube haven't been pushed to Weblate and then haven't been translated (french is 100% translated on Weblate).
@B0pol This is normal, as I think translations are not pushed to Weblate until the update is released
@yausername @TobiGr the text box dialog to add a new instance, under the "PeerTube instances" settings tab, is not correctly configured for these reasons:
@yausername @TobiGr the text box dialog to add a new instance, under the "PeerTube instances" settings tab, is not correctly configured for these reasons:
@Stypox Good catch, could someone fix this? Should be quite easy.
This doesn't seem to fix the soundcloud playback issue.
@hypergreatthing Yes, that's right. There is still an auth problem when getting the stream links. Any kind of help is welcome.
Btw. I found time to write a blog post while sitting in a train. It's not perfect, but sufficient.
@Stypox Good catch, could someone fix this? Should be quite easy.
uploaded a third release client: newpipe_debug_0.18.0_RC3.apk.zip
installing it over existing 17.4 cleared settings an db.
@eladkarako This is a debug build, so signatures might differ from the version you installed previously. But most importantly, this is _not_ a release build. What 0.17.4 version did you install and where did it came from?
can not change language, changing it in settings does nothing. language displayed is device's default.
What did you try to do? Did you change the content country or content language? Both options do not change the app's display language.
Playing video as audio in the background of this 0.18.0_RC3.apk update causes scrolling problems.
Im having an issue that is also pressent in the current version of NewPipe, but also in the current debug build. When I try to open a stream on soundcloud i get an npe:
Crash log
org.schabi.newpipe.extractor.stream.StreamInfo$StreamExtractException: Could not get any stream. See error variable to get further details.
at org.schabi.newpipe.extractor.stream.StreamInfo.extractStreams(StreamInfo.java:188)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:68)
at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:60)
at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:115)
at org.schabi.newpipe.util.-$$Lambda$ExtractorHelper$5fJcha6Sq5APJBLdG6osaJby-mc.call(Unknown Source:4)
at io.reactivex.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:44)
at io.reactivex.Single.subscribe(Single.java:3438)
at io.reactivex.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
at io.reactivex.Single.subscribe(Single.java:3438)
at io.reactivex.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
at io.reactivex.Maybe.subscribe(Maybe.java:4154)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
at io.reactivex.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
at io.reactivex.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
at io.reactivex.Flowable.subscribe(Flowable.java:14479)
at io.reactivex.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
at io.reactivex.Maybe.subscribe(Maybe.java:4154)
at io.reactivex.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
at io.reactivex.Single.subscribe(Single.java:3438)
at io.reactivex.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
at io.reactivex.Scheduler$DisposeTask.run(Scheduler.java:578)
at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:764)
@theScrabi https://github.com/TeamNewPipe/NewPipeExtractor/pull/217#issuecomment-564038173
I was able to get the client_id extraction working again. But for some reason, accessing stream data results in a 401 response
This is a debug build, so signatures might differ
@TobiGr then scratch that there are no bugs then.
I've used production-version of 17.4, so it uses a different signature which means it works side by side with the 18.x-debug version.
as for the language, it seems that there were new language-resources added,
one of them is my native-phone's, which means that Android prefers it over English (I preferred English),
that isn't an issue I'll use APKTool to delete all the language resources but English and recompile the APK, I really hope there would be a language selection option, or at least a checkbox to "force English" like several other applications. https://github.com/TeamNewPipe/NewPipe/issues/2162
You can submit this as a new feature request.
Just wondering, but is there supposed to be support for playing Peertube videos in the background?
Regarding SoundClound: I was able to extract the correct stream urls, but I am still facing problems (see my https://github.com/TeamNewPipe/NewPipe/issues/2823#issuecomment-567314387). I'd suggest to release 0.18.0 and a hotfix asap. @theScrabi what do you think?
Is there any work on sorting feed by date? Currently using apks from https://github.com/TeamNewPipe/NewPipe/pull/2547 because it sorts the feed chronologically.
Will this newly updated 0.18.0 version of Newpipe fix the "video is unavailable" problem? It seemsthat most videos have this message for me now, this wasn't happening before. Is it happening to anyone else?
@TobiGr @theScrabi
On what environment are you generating the apk?
If we generate the apk on linux preferably debian/ubuntu with openjdk-8-jdk, we can easily match the reproducibility criteria of fdroid. That way it will be possible for us to publish apk signed by @theScrabi on fdroid.
@yausername That's a good hint! Thanks. I've used the JDK which is embedded in Android Studio.
Will this newly updated 0.18.0 version of Newpipe fix the "video is unavailable" problem? It seemsthat most videos have this message for me now, this wasn't happening before. Is it happening to anyone else?
I was not able to repo this problem. We need to ship the extended error report to get more info on issues like this one. I'll try to include it in the next release.
Just wondering, but is there supposed to be support for playing Peertube videos in the background?
I could not find an audio-only stream on PeerTube when I reviewed the PR. However, there is a PR, which was merged recently, that might be interesting to get the required info: https://github.com/Chocobozzz/PeerTube/pull/2213 CC @yausername :) @sliceanddice9 Can you open an issue so we do not forget about this?
Is there any work on sorting feed by date? Currently using apks from #2547 because it sorts the feed chronologically.
@ADepic Yes, there are two PRs which aim to fix that problem. I did not have time to review both, but that is right at the top of my todo list as soon as 0.18.0 is released.
@yausername I used both jdks and got two apks with the same sha256 sum (and cleaned the project between both builds).
SoundCloud will be fixed in the update 馃帀
@yausername I used both jdks and got two apks with the same sha256 sum (and cleaned the project between both builds).
Can you share the apk you built and the commit id from which it was built? I will build myself and compare the two using https://github.com/signalapp/Signal-Android/blob/master/apkdiff/apkdiff.py
This is not quite the way fdroid compares them but it should pass nonetheless.
FYI I tried to compare the RC3 apk here to the one I built from release_0.18.0 and they did not match.
@yausername if its reproducable build you tried: That is complicated. You can build the same code twice on the samr machine and it may produce different apks.
@yausername if its reproducable build you tried: That is complicated. You can build the same code twice on the samr machine and it may produce different apks.
I don't see this behavior at all. For example I am able to reproducibly build the v0.17.4 apk on my local machine which verifies using fdroid verify org.schabi.newpipe command
This crash occurs when I try to share a downloaded audio file using the "Share" button:
```Crash log
android.os.FileUriExposedException: file:///storage/emulated/0/Music/NewPipe/Hold%20the%20Line.m4a exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:2083)
at android.net.Uri.checkFileUriExposed(Uri.java:2388)
at android.content.ClipData.prepareToLeaveProcess(ClipData.java:977)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10771)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10777)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10756)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1889)
at android.app.Activity.startActivityForResult(Activity.java:5205)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActi
Update: The first error might have been due to OnePlus's File Manager not allowing access to the share function until I agreed to their terms. Now I get this error:
Crash log
android.os.FileUriExposedException: file:///storage/emulated/0/Music/NewPipe/Hold%20the%20Line.m4a exposed beyond app through ClipData.Item.getUri()
at android.os.StrictMode.onFileUriExposed(StrictMode.java:2083)
at android.net.Uri.checkFileUriExposed(Uri.java:2388)
at android.content.ClipData.prepareToLeaveProcess(ClipData.java:977)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10771)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10777)
at android.content.Intent.prepareToLeaveProcess(Intent.java:10756)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1889)
at android.app.Activity.startActivityForResult(Activity.java:5205)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
at android.app.Activity.startActivityForResult(Activity.java:5163)
at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
at android.app.Activity.startActivity(Activity.java:5534)
at android.app.Activity.startActivity(Activity.java:5502)
at us.shandian.giga.ui.adapter.MissionAdapter.shareFile(MissionAdapter.java:372)
at us.shandian.giga.ui.adapter.MissionAdapter.handlePopupItem(MissionAdapter.java:608)
at us.shandian.giga.ui.adapter.MissionAdapter.access$200(MissionAdapter.java:81)
at us.shandian.giga.ui.adapter.MissionAdapter$ViewHolderItem.lambda$buildPopup$3$MissionAdapter$ViewHolderItem(MissionAdapter.java:881)
at us.shandian.giga.ui.adapter.-$$Lambda$MissionAdapter$ViewHolderItem$RgJD8t6gH83XiFLVb3LGB9-h96A.onMenuItemClick(Unknown Source:2)
at android.widget.PopupMenu$1.onMenuItemSelected(PopupMenu.java:108)
at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:787)
at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:151)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:934)
at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:924)
at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
at android.widget.AdapterView.performItemClick(AdapterView.java:330)
at android.widget.AbsListView.performItemClick(AbsListView.java:1257)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3265)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7682)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:516)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
@theScrabi Can you release the new version? I asked @TheAssassin to sign the apk before i managed to fix soundcloud which he did. But I didn't get the signed apk containing the sc fixes from him yet.
@theScrabi @TobiGr just to add that v0.17.4 of newpipe is already reproducible according to fdroid. https://verification.f-droid.org/verified.json (search for org.schabi.newpipe).
We can publish apk signed by @theScrabi just by adding signatures to the fdroid metadata, similar to https://gitlab.com/fdroid/fdroiddata/tree/master/metadata/de.schildbach.wallet/signatures
Thanks for the new build, but videos in WebM and 3GP containers are still not seekable, as I've reported in #2676. Also the video duration is not displayed on the thumbnail (I have MX Player installed), most likely the issues are related.
Most helpful comment
@theScrabi @TobiGr just to add that v0.17.4 of newpipe is already reproducible according to fdroid. https://verification.f-droid.org/verified.json (search for org.schabi.newpipe).
We can publish apk signed by @theScrabi just by adding signatures to the fdroid metadata, similar to https://gitlab.com/fdroid/fdroiddata/tree/master/metadata/de.schildbach.wallet/signatures