NewPipe icon indicating copy to clipboard operation
NewPipe copied to clipboard

Release v0.24.0 (please TEST!)

Open Stypox opened this issue 3 years ago • 38 comments

Testing for regressions

Debug APK (built by our CI in #8889): NewPipe_v0.24.0_RC3_debug.zip Release APK (built and signed by @Stypox): NewPipe_v0.24.0_RC3_release.zip Please report only regressions (i.e. new issues) here, not issues that were already present in previous releases!

TODO

  • [ ] Merge weblate
  • [x] #8899
  • [x] TeamNewPipe/NewPipeExtractor#920
  • [x] TeamNewPipe/NewPipeExtractor#925
  • [x] TeamNewPipe/NewPipeExtractor#926
  • [x] Thumbnails in the feed tab are incorrectly resized https://github.com/TeamNewPipe/NewPipe/issues/8890#issuecomment-1236708859 https://github.com/TeamNewPipe/NewPipeExtractor/pull/927
  • [x] Strange Show future videos icon behavior https://github.com/TeamNewPipe/NewPipe/issues/8890#issuecomment-1230466338 #8966
  • [ ] Crash when closing mini player before it loads https://github.com/TeamNewPipe/NewPipe/issues/8890#issuecomment-1242885157 https://github.com/TeamNewPipe/NewPipe/issues/8646#issuecomment-1236162209
  • [x] Search suggestions ListAdapter issues #8972

NewPipeExtractor version

This version of NewPipe will ship with a NewPipe Extractor commit which will be known once the extractor PRs above have been merged. -> we are going to change the exposed extractor API again soon, so no official release will be done until then ;-)

App changelog

New

  • :warning: Bump minSdk to 21 (Android 5 Lollipop) and drop support for Android 4.4 KitKat #7613
  • Add Download entry to long-press menu #8397
  • Add option to hide future videos in feed #8545
  • Add Share menu item to local playlists #8542

Improved

  • Crop the notification thumbnail in 1:1 mode instead of stretching it #8533
  • Make thumbnails' scaleType fitCenter #8573
  • Improve image placeholders #8530
  • Removed the "(beta)"-tag from services #8637
  • Refactor player and extract UI components #8170 #8661 #8678 #8731
  • Sort tags case-insensitively #8709
  • Use ListAdapter for search predictions #8719

Fixed

  • Fix wrong image used as a placeholder for channels avatars #8676
  • Fix various issues with player notification #8678

Localization

  • Make some much needed changes to the README #8372
  • Fix lang code for Chinese Simplified #8549

Development

  • Run CI on all release branches #8565
  • Clean up proguard file #8468
  • Update ExoPlayer to 2.18.1 #8536 #8687
  • Specify used ExoPlayer libraries #8469
  • Use minimum required permissions for GitHub workflows #8569
  • Checkstyle assign on same line #8601
  • Use ViewCompat.setBackgroundTintList() #8633
  • Update some misc libraries #8475
  • Use stream sorting #8635
  • Use Java 9 collection factories: List.of(), Set.of(), Map.of() #8631 #8679
  • Use range-limiting method MathUtils.clamp() #8651 #8737
  • Use Kotlin IO extensions #8648
  • Remove some unnecessary methods #8663 #8740
  • Remove deprecated method calls in FocusAwareCoordinator #8670
  • Deduplicate SQL queries to get feed streams #8621
  • Update OkHttp to 4.10.0 #8624
  • Update Lifecycle to 2.5.1 #8683
  • Update AndroidX Fragment to 1.4.1 #8691
  • Update Google Material to 1.6.1 #8692
  • Use Throwable.stackTraceToString() #8701
  • Update AppCompat to 1.4.2 #8667
  • Use WindowMetrics API #8656
  • Update AndroidX Room to 2.4.3 #8716
  • Remove uses of setBottomSheetCallback() #8669
  • Refactor LicenseFragmentHelper #8682
  • Make OnClickGesture an interface #8721
  • Reduce View.kt size #8708
  • Use toArray() with zero-length arrays #8724
  • Use Comparator factory methods #8728
  • Use Collectors.joining() #8738
  • Update FilePicker to our custom fork and disable Jetifier #8666
  • Add FAQ entry to the template checklists #8822
  • Update Gradle to 7.5.1 #8751
  • Remove extra whitespace from issue and PR templates #8755
  • Clarify that span shouldn't be in translated READMEs #8754
  • Keep strong references to Picasso notification icon loading targets #8677
  • Create media session UI and fix player notification #8678

Stypox avatar Aug 27 '22 13:08 Stypox

Not a regression, but the long press hint for the "Show future videos" button in the subscription feed doesn't change to indicate whether the left-pointing or right-pointing icon is show/don't show.

ktprograms avatar Aug 27 '22 14:08 ktprograms

This version fixed my problem with current NewPipe release, which does not let me watch any videos they just load infinitely.

jirafey avatar Aug 28 '22 07:08 jirafey

@Jirafey just download 0.23.3, that problem was already fixed in that version

Stypox avatar Aug 28 '22 07:08 Stypox

Finally. This release fixed my fullscreen issue #8774. Thanks .

If this will be the final release then I should be able to use regular newpipe builds again instead of debug builds.

PrinceRaj53 avatar Aug 28 '22 10:08 PrinceRaj53

Somebody reported on reddit that still sometimes the wrong notification thumbnail is shown when switching videos. After some testing it seems like this is reproducible only on Android 13 (and maybe 12). Here are the full reproduction steps:

  • search for "playlist", while filtering only for playlists
  • open a playlist having as first two items two videos you have NEVER seen before (to make sure video thumbnails are not cached)
  • tap on the "Background" button in the playlist header
  • from the notification, press next

=> The second video will start playing, but the shown thumbnail will be that of the first video. The strange thing is that the color of the thumbnail actually adapts to the thumbnail of the second video, which implies the OS must receive the correct thumbnail somewhere, since it's up to the OS to decide the notification color. I could also confirm that the correct thumbnail is set in the media session by using https://github.com/googlesamples/android-media-controller/. I will investigate a little more and give updates here.

Stypox avatar Aug 28 '22 14:08 Stypox

Android 12 (CalyxOS): The thumbnail gets updated correctly.

opusforlife2 avatar Aug 28 '22 14:08 opusforlife2

still has throttling with this and 0.23.3 for some reason.

@eladkarako On playback, on download, on all formats? Could you explain your issue a bit, please?

Also it seems you blocked all the TeamNewPipe organization members since a while.

AudricV avatar Aug 28 '22 19:08 AudricV

still has throttling with this and 0.23.3 for some reason. 25kbps top.. :..(

Is this the same issue as #8906?

njmdietrich avatar Aug 29 '22 14:08 njmdietrich

Tapping on either Remove watched or Show future videos icon always show New feed items toast if a livestream is going on.

https://user-images.githubusercontent.com/79245641/187223573-e12a584a-72ef-471c-b5f5-971107024f9b.mp4

SameenAhnaf avatar Aug 29 '22 14:08 SameenAhnaf

@SameenAhnaf I think that bug is present also in 0.23.3, so it's not a regression, though I agree it looks strange

Stypox avatar Aug 29 '22 14:08 Stypox

The Show future videos icon behavior is not present in 0.23.3 though. At least, that should be solved.

SameenAhnaf avatar Aug 29 '22 15:08 SameenAhnaf

still has throttling with this and 0.23.3 for some reason.

On playback, on download, on all formats? Could you explain your issue a bit, please?

Also it seems you blocked all the TeamNewPipe organization members since a while.

Is this the same issue as #8906?

Close, but not quite.

The WebM video format appears to experience the throttling issue during playback, and even then only with certain channels and videos. Not sure if the MP4 format playback can replicate it so easily.

Sometimes power cycling home networking equipment solves the issue, but not for long and not with every video example.

~~Cloudflare 1.1.1.1 and corresponding IPv6 addresses are being used in the router settings, and DNS-over-TLS is not being used/does not affect this problem. Will test with ISP DNS addresses later.~~ DNS address usage does not matter here.

Using mobile data can handle the affected video format more easily, somehow.

Background playback of a WebM video proceeds as normal with minimal issue, but foreground playback and rendering of the WebM video is where the problem occurs.

SC1040-TS2 avatar Sep 01 '22 02:09 SC1040-TS2

Small update on my prior comment. Removing the 2 secondary RF antennae on my NETGEAR XR500 router (it comes with 4) appears to have solved the issue for Youtube-encoded WebM video playback.

The strange thing is why this worked, when other apps seemed to maintain typical connectivity with all 4 antennae connected. Maybe they were interfering with each other?

SC1040-TS2 avatar Sep 02 '22 22:09 SC1040-TS2

Now im sad since im using an android kitkak phone. What to do now.

Elmo2218 avatar Sep 04 '22 01:09 Elmo2218

Now im sad since im using an android kitkak phone. What to do now.

How long have you used this phone for?

SC1040-TS2 avatar Sep 05 '22 00:09 SC1040-TS2

Thumbnails in the feed tab are incorrectly resized, this only happens in the feed tab.

Screenshot_2022-09-05-10-35-03-66_6497fb3ae9f5f2799f187f75bac0fe78

Opening a video updates the thumbnail correctly:

Screenshot_2022-09-05-10-38-29-25_6497fb3ae9f5f2799f187f75bac0fe78

Thumbnails in channel and trending tabs are resized correctly:

Screenshot_2022-09-05-10-34-13-05_6497fb3ae9f5f2799f187f75bac0fe78

Using a OnePlus Nord 2, with Android 12

Locorock avatar Sep 05 '22 08:09 Locorock

Thumbnails in the feed tab are incorrectly resized, this only happens in the feed tab.

Strange. They show fine on Android 12 Calyx.

opusforlife2 avatar Sep 05 '22 17:09 opusforlife2

Yeah i've been trying out a few things and it seems like the problem only appears after importing both database and configs from my 0.23.1 instance of newpipe

Locorock avatar Sep 05 '22 18:09 Locorock

I can confirm, using fast feed. This is not a problem in the UI, but rather in the extractor, since it seems to provide thumbnails with black bars at the top and at the bottom. It should be solvable easily, I think.

Stypox avatar Sep 05 '22 19:09 Stypox

No more RCs for this one?

Pentaphon avatar Sep 10 '22 23:09 Pentaphon

Steps to reproduce an app crash

  1. Go to Subscriptions
  2. Go to channel details of any of the subscriptions.
  3. Start any media on the background.
  4. Close mini player before the buffering ends.
  5. UI crashes.

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: US
  • Content Language: en
  • App Language: en_GB
  • Service: none
  • Version: 0.24.0
  • OS: Linux Android 11 - 30
Crash log

android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{2d5f03b u0 org.schabi.newpipe.v0_24_0/org.schabi.newpipe.player.PlayerService}
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2126)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loop(Looper.java:236)
	at android.app.ActivityThread.main(ActivityThread.java:8057)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:620)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1011)


SameenAhnaf avatar Sep 11 '22 04:09 SameenAhnaf

Please release this version, it's working fine on my device.

swarupbhc avatar Sep 12 '22 20:09 swarupbhc

@Locorock could you test the apk provided in https://github.com/TeamNewPipe/NewPipeExtractor/pull/927? It should fix the thumbnail issue in the feed

Stypox avatar Sep 13 '22 09:09 Stypox

@SameenAhnaf regarding https://github.com/TeamNewPipe/NewPipe/issues/8890#issuecomment-1230466338, I tried to implement it but unfortunately it is not a good solution. The button in the top bar is actually a checkbox, so showing "hide future videos" when the button is checked and showing "show future videos" when the button is unchecked is confusing and non-standard behavior. So I think we will not change this, and at least not during the release process. image

Stypox avatar Sep 13 '22 09:09 Stypox

Can't the hint be changed independently of the item text?

ktprograms avatar Sep 13 '22 09:09 ktprograms

Comment, crash log and screenshot for thumbnails not loading

~Still getting the wrong size after importing last version's settings. I feel like this is more of a problem with the imported settings.~

Exception

  • User Action: load image
  • Request: https://i.ytimg.com/vi_webp/leoz6wB5dmE/maxresdefault.webp
  • Content Country:
  • Content Language: en-
  • App Language: en
  • Service: YouTube
  • Version: 0.24.0
  • OS: Linux Android 12 - 31
com.squareup.picasso.NetworkRequestHandler$ResponseException: HTTP 404
	at com.squareup.picasso.NetworkRequestHandler.load(NetworkRequestHandler.java:51)
	at com.squareup.picasso.BitmapHunter.hunt(BitmapHunter.java:219)
	at com.squareup.picasso.BitmapHunter.run(BitmapHunter.java:175)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:463)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at java.lang.Thread.run(Thread.java:1012)
	at com.squareup.picasso.Utils$PicassoThread.run(Utils.java:354)

Honestly no idea about what is going on, but this showed upon opening a video with the wrong thumbnail

Screenshot_2022-09-13-12-07-57-31_6ad24ba22a3388112ec0c779a3703e96 And now this

Locorock avatar Sep 13 '22 10:09 Locorock

@Locorock thank you for testing. Let's try with another method. I updated the APK in https://github.com/TeamNewPipe/NewPipeExtractor/pull/927, please check if this one works ;-)

@ktprograms you are right, I'm stupid :joy:, I opened #8966 which should add tooltips.

Stypox avatar Sep 13 '22 13:09 Stypox

Screenshot, crash log and heap dump of (unrelated) Embedded info did not provide YouTube player js url

This happens as i open any video with no thumbnail Screenshot_2022-09-13-16-00-22-01_6ad24ba22a3388112ec0c779a3703e96

Exception

  • User Action: ui error
  • Request: ACRA report
  • Content Country: IT
  • Content Language: it-IT
  • App Language: en
  • Service: none
  • Version: 0.24.0
  • OS: Linux Android 12 - 31
org.schabi.newpipe.extractor.exceptions.ParsingException: Could not store JavaScript player
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.storePlayerJs(YoutubeStreamExtractor.java:1104)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.initStsFromPlayerJsIfNeeded(YoutubeStreamExtractor.java:1172)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.onFetchPage(YoutubeStreamExtractor.java:826)
	at org.schabi.newpipe.extractor.Extractor.fetchPage(Extractor.java:60)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:78)
	at org.schabi.newpipe.extractor.stream.StreamInfo.getInfo(StreamInfo.java:73)
	at org.schabi.newpipe.util.ExtractorHelper.lambda$getStreamInfo$3(ExtractorHelper.java:118)
	at org.schabi.newpipe.util.ExtractorHelper$$ExternalSyntheticLambda12.call(Unknown Source:4)
	at io.reactivex.rxjava3.internal.operators.single.SingleFromCallable.subscribeActual(SingleFromCallable.java:43)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.single.SingleDoOnSuccess.subscribeActual(SingleDoOnSuccess.java:35)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeFromSingle.subscribeActual(MaybeFromSingle.java:41)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.drain(MaybeConcatArray.java:153)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray$ConcatMaybeObserver.request(MaybeConcatArray.java:78)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe$ElementAtSubscriber.onSubscribe(FlowableElementAtMaybe.java:66)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeConcatArray.subscribeActual(MaybeConcatArray.java:42)
	at io.reactivex.rxjava3.core.Flowable.subscribe(Flowable.java:15868)
	at io.reactivex.rxjava3.internal.operators.flowable.FlowableElementAtMaybe.subscribeActual(FlowableElementAtMaybe.java:36)
	at io.reactivex.rxjava3.core.Maybe.subscribe(Maybe.java:5330)
	at io.reactivex.rxjava3.internal.operators.maybe.MaybeToSingle.subscribeActual(MaybeToSingle.java:46)
	at io.reactivex.rxjava3.core.Single.subscribe(Single.java:4813)
	at io.reactivex.rxjava3.internal.operators.single.SingleSubscribeOn$SubscribeOnObserver.run(SingleSubscribeOn.java:89)
	at io.reactivex.rxjava3.core.Scheduler$DisposeTask.run(Scheduler.java:644)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:65)
	at io.reactivex.rxjava3.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:56)
	at java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at java.lang.Thread.run(Thread.java:1012)
Caused by: org.schabi.newpipe.extractor.exceptions.ParsingException: Embedded info did not provide YouTube player js url
	at org.schabi.newpipe.extractor.services.youtube.YoutubeJavaScriptExtractor.extractJavaScriptUrl(YoutubeJavaScriptExtractor.java:116)
	at org.schabi.newpipe.extractor.services.youtube.YoutubeJavaScriptExtractor.extractJavaScriptCode(YoutubeJavaScriptExtractor.java:46)
	at org.schabi.newpipe.extractor.services.youtube.YoutubeJavaScriptExtractor.extractJavaScriptCode(YoutubeJavaScriptExtractor.java:65)
	at org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeStreamExtractor.storePlayerJs(YoutubeStreamExtractor.java:1102)
	... 31 more

┬─── │ GC Root: System class │ ├─ com.mediatek.boostfwk.identify.scroll.ScrollDispatcher class │ Leaking: NO (a class is never leaking) │ ↓ static ScrollDispatcher.sScrollScenario │ ~~~~~~~~~~~~~~~ ├─ com.mediatek.boostfwk.identify.scroll.ScrollIdentify instance │ Leaking: UNKNOWN │ Retaining 255033 bytes in 4527 objects │ mContext instance of org.schabi.newpipe.error.ErrorActivity with │ mDestroyed = true │ ↓ ScrollIdentify.mContext │ ~~~~~~~~ ╰→ org.schabi.newpipe.error.ErrorActivity instance ​ Leaking: YES (ObjectWatcher was watching this because org.schabi.newpipe. ​ error.ErrorActivity received Activity#onDestroy() callback and ​ Activity#mDestroyed is true) ​ Retaining 254779 bytes in 4520 objects ​ key = 1d122c38-b757-4e2b-8f6e-568f07a01230 ​ watchDurationMillis = 10165 ​ retainedDurationMillis = 155 ​ mApplication instance of org.schabi.newpipe.DebugApp ​ mBase instance of androidx.appcompat.view.ContextThemeWrapper, not ​ wrapping known Android context

METADATA

Build.VERSION.SDK_INT: 31 Build.MANUFACTURER: OnePlus LeakCanary version: 2.5 App process name: org.schabi.newpipe.debug.release0240 Stats: LruCache[maxSize=3000,hits=1248,misses=154217,hitRate=0%] RandomAccess[bytes=7282077,reads=154217,travel=111375804850,range=45919168,size= 56720354] Analysis duration: 7212 ms Also got this heap dump from the crash

Locorock avatar Sep 13 '22 14:09 Locorock

Uhm, that's a different issue and has nothing to do with thumbnails. Try to import an old database (i.e. where the feed has not been updated in a while), reload the feed and see if the new videos's thumbnails load correctly (the thumbnails of videos that were already in the feed before reloading won't change).

Stypox avatar Sep 13 '22 14:09 Stypox

Yeah, seems to be working fine for the new videos

Locorock avatar Sep 13 '22 14:09 Locorock