Closed Stypox closed 2 years ago
@tsiflimagas reported this crash on IRC, it happens in the release build when tapping on Channels in the New stream notifications settings. Edit: fixed by #8236
## Exception * __User Action:__ ui error * __Request:__ ACRA report * __Content Language:__ en-GB * __Service:__ none * __Version:__ 0.23.0 * __OS:__ Linux Android 10 - 29 ``` androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment org.schabi.newpipe.settings.notifications.NotificationModeConfigFragment: make sure class name exists at androidx.fragment.app.FragmentFactory.loadFragmentClass(FragmentFactory.java:97) at androidx.fragment.app.Fragment.instantiate(Fragment.java:611) at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57) at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:483) at org.schabi.newpipe.settings.SettingsActivity.instantiateFragment(SettingsActivity.java:181) at org.schabi.newpipe.settings.SettingsActivity.onPreferenceStartFragment(SettingsActivity.java:174) at androidx.preference.PreferenceFragmentCompat.onPreferenceTreeClick(PreferenceFragmentCompat.java:422) at androidx.preference.Preference.performClick(Preference.java:1208) at androidx.preference.Preference.performClick(Preference.java:1182) at androidx.preference.Preference$1.onClick(Preference.java:182) at android.view.View.performClick(View.java:7259) at android.view.View.performClickInternal(View.java:7236) at android.view.View.access$3600(View.java:801) at android.view.View$PerformClick.run(View.java:27892) 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:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940) Caused by: java.lang.ClassNotFoundException: org.schabi.newpipe.settings.notifications.NotificationModeConfigFragment at java.lang.Class.classForName(Native Method) at java.lang.Class.forName(Class.java:454) at androidx.fragment.app.FragmentFactory.loadClass(FragmentFactory.java:53) at androidx.fragment.app.FragmentFactory.loadFragmentClass(FragmentFactory.java:94) ... 20 more Caused by: java.lang.ClassNotFoundException: org.schabi.newpipe.settings.notifications.NotificationModeConfigFragment ... 24 more ```
Possibly see if https://github.com/TeamNewPipe/NewPipe/issues/7630 can be solved in this release
I think we have some kind of buffering problem which now affects all streams (until 0.23.0 it only affected YT 60fps streams). I created a new issue for that: https://github.com/TeamNewPipe/NewPipe/issues/8238
I cannot import settings exported from 0.22.2 (this crashes 0.23.0 RC1 without a "Guru Meditation" screen appearing). Is this intended behavior to prevent some kind of "interference" between the official releases and Beta versions? (Sorry if this does not fit here. However, I do not believe this to be a regression as 0.22.2→0.22.2 import works. Feel free to ask for more information.)
Invalid, see below
@VaclavTrpisovsky no, your comment is relevant. Could you share the crash report?
I am so sorry :(
I accidentally chose the downloaded zipped APK instead of the exported settings, it's my fault. The behavior is the same in 0.22.2 (toast message Warning: Could not import all files and a split-second later restart when wrong ZIP is selected). I would welcome no restart and/or a more understandable message - but that does not belong in this thread as this is not a regression.
TLDR: My installation suffers from Stupid User Syndrome
Found another issue in #8150: After selecting No Caption
before closing a player instance, open a new next player instance, and its track selector will automatically select a caption, even if caption is disabled as mentioned.
First bug is removed as it was reproducible in previous app versions
If one goes to settings > notifications and then click on channels the app always crashes.
androidx.fragment.app.Fragment$InstantiationException: Unable to instantiate fragment org.schabi.newpipe.settings.notifications.NotificationModeConfigFragment: make sure class name exists
at androidx.fragment.app.FragmentFactory.loadFragmentClass(FragmentFactory.java:97)
at androidx.fragment.app.Fragment.instantiate(Fragment.java:611)
at androidx.fragment.app.FragmentContainer.instantiate(FragmentContainer.java:57)
at androidx.fragment.app.FragmentManager$3.instantiate(FragmentManager.java:483)
at org.schabi.newpipe.settings.SettingsActivity.instantiateFragment(SettingsActivity.java:181)
at org.schabi.newpipe.settings.SettingsActivity.onPreferenceStartFragment(SettingsActivity.java:174)
at androidx.preference.PreferenceFragmentCompat.onPreferenceTreeClick(PreferenceFragmentCompat.java:422)
at androidx.preference.Preference.performClick(Preference.java:1208)
at androidx.preference.Preference.performClick(Preference.java:1182)
at androidx.preference.Preference$1.onClick(Preference.java:182)
at android.view.View.performClick(View.java:7192)
at android.view.View.performClickInternal(View.java:7166)
at android.view.View.access$3500(View.java:824)
at android.view.View$PerformClick.run(View.java:27592)
at android.os.Handler.handleCallback(Handler.java:888)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:213)
at android.app.ActivityThread.main(ActivityThread.java:8178)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1101)
Caused by: java.lang.ClassNotFoundException: org.schabi.newpipe.settings.notifications.NotificationModeConfigFragment
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:454)
at androidx.fragment.app.FragmentFactory.loadClass(FragmentFactory.java:53)
at androidx.fragment.app.FragmentFactory.loadFragmentClass(FragmentFactory.java:94)
... 20 more
Caused by: java.lang.ClassNotFoundException: org.schabi.newpipe.settings.notifications.NotificationModeConfigFragment
... 24 more
@peat80 Already fixed with #8236!
After a new upload I received a notification not only about this video, but also about 2 other videos on different channels, both uploaded months ago - one of which was not even a last upload on the channel. That happened on RC2, on a first automatic refresh.
When system dark mode is enabled, a lot of components lack contrast. This isn't the case when theme is changed from app settings.
@SameenAhnaf sorry, I don't understand what you mean. Can you take a screenshot and make a circle around what you think is not colored correctly? Or could you tell me which icons are wrong? I don't see a problem in your video
After a new upload I received a notification not only about this video, but also about 2 other videos on different channels, both uploaded months ago - one of which was not even a last upload on the channel. That happened on RC2, on a first automatic refresh.
@gardockt This can happen on the first refresh, since the database might miss some videos the first time. Please let us know if this keeps happening even after the first refresh, as that would really be a problem.
I found some videos where the seamless player switch does not work. An example: https://www.youtube.com/watch?v=nCvnPOs7gkY&t=256
another issue that i found only on this video: in newpipe 22.2 external equaliser work fine whit this video however in the testversion not.
for video where the seamless player transition works the equalisers are also working
tested with : viper4android audiofx(linage os equaliser) system: linage os(android11) with microg and magisk
This video has streams which are not currently supported by the app and in the extractor (OTF streams), so it depends of the quality played (values used in the explanation are based on the video you linked): if you are playing 3GPP 144p, it's intended (video stream with audio); if it also happens on MPEG-4 360p, then it means the video stream with audio (itag 18) is preferred to the video stream with separated audio (itag 134 + itag 139/140/251) (which seems to be a bug, but should be fixed, with like a workaround, when support of OTF streams will be added (which should happen soon) (sorting of video streams needs to be reworked at all as it is not really good right now)).
I would like to release tomorrow, almost everything should be ready.
Possibly including @TiA4f8R's extractor improvement to solve potential future throttling issues
@TiA4f8R could you open a PR or delegate that to me? If I understood correctly it is just a simple change (replacing a HashMap with a List), so I can do that myself in a few minutes (unless I'm not understanding something correctly)
DEFINITELY
The only reason I said "maybe" was because the fastlane changelog does not include that change, but we would like users to know about such an important change. Maybe we should include it in the next release changelog, so that at least people can know by looking at the changelog?
When system dark mode is enabled, a lot of components lack contrast. This isn't the case when theme is changed from app settings.
This is still not fixed, but I still don't understand what needs to be solved. I don't see anything badly-themed, except maybe the brightness/volume, but I am not sure. @SameenAhnaf
@Stypox Extremely sorry for the late reply. Following components lack contrast.
Stable Version | Version 0.23.0_RC2 |
---|---|
Before.mp4 | After.mp4 |
@SameenAhnaf ok, thank you, I could see the differences by pausing the videos at the same time. What is happening is really strange, since I cannot reproduce on an emulator. Maybe there is a bug in your ROM or something like that, since NewPipe's code does the same thing (i.e. calling setTheme(BlackTheme)
) both when the theme selection is done automatically or not. So I would not focus on this really small bug and release even in its presence. But thank you @SameenAhnaf for noticing, please open an issue and we can ask @mauriciocolli to look into this (he is the author of #7518) :-)
Maybe we should include it in the next release changelog, so that at least people can know by looking at the changelog?
@Stypox Can the current changelog not be edited?
@opusforlife2 the English one, yes, the translated ones no, since we don't know all languages. I would just include that change in the next changelog.
I'll test streaming in a bit, however on version 0.23 downloads are still throttled for me in the same manner as on 0.22.2, regardless of which stream is being requested.
There has been no changes about throttling between 0.22.2 and 0.23.0
@Stypox Ah, sorry for misunderstanding then, it simply sounded as though a solution was found on the blog post.
Testing for regressions
Debug APK (built by our CI in #8231): NewPipe_0.23.0_RC2.zip Release APK (signed with Stypox's keys): NewPipe_0.23.0_RC2.zip Please report only regressions (i.e. new issues) here, not issues that were already present in the previous release!
TODO
NewPipeExtractor version
This version of NewPipe will ship with NewPipeExtractor version 0.22.1
App changelog
### New - Add seamless transition between background and video players when putting the app in background (for video-only streams and audio-only streams only) #7349 #8139 - Change pitch by semitones #7565 - Implement appending queue to playlist in main player #8008 - New streams notifications #2335 - Load YouTube mixes in related items TeamNewPipe/NewPipeExtractor#788 -- note that this has already been broken by YouTube ### Improved - Remember adjustment step size for playback controls (speed and pitch) #7728 - Mitigating long buffering on initial video playback #7919 - Replace `R.string.yes` with `R.string.ok` #7976 - Improve player UI and navigability for Android TV #7963 - Add a confirmation button when deleting all files in downloader #5878 - ExoPlayer 2.17.1 update and MediaSource management rework #8020 #8150 ### Fixed - Fix player controls not hiding if resumed from media button #7341 - Migrate app update checker to AndroidX Work #7975 - Fix error notification on KitKat #7977 - Fix playback being reset to beginning when player type was changed #8020 - Fix download dialog selector layout #7516 - Fix crash when rotating device with playlist dialog open #8146 - Adapt opacity of popup close button to allow touches in other apps on Android >=12 #8279 ### Development - Replace `CircleImageView` with `ShapeableImageView` #7925 - Solve Java warning `Raw use of parameterized class` #7904 - Fix Room warning about unused columns during build #7905 - Fix build on Apple Silicon Macs #7782 - Refactor generating `InfoItemDialog`'s #7570 - Better equals check #7910 - Update Android Gradle Plugin and Gradle #7947 - Remove duplicate large-land player layout #7894 - Update ConstraintLayout and Room libraries #7954 - Update Kotlin to 1.6.10 #7952 - Update some AndroidX libraries #7978 - Remove icon duplicates and fix some theming issues #7518 #8081 - Deduplicate code for fetching stream info when sparse #7981 #8127 - Extract some view click listeners from player #8011 - Delete some unused code #8067 - Clean up the about package a bit #8065 - Create stub implementation for `OnSeekBarChangeListener` #8066 - Some lint cleaning #8068 - Update Checkstyle to 10.0 and fix various related issues #8073 - Update license to latest version #8076 #8077 - Update CONTRIBUTING.md with current checkstyle.xml path #8175 - Updated extractor to latest version of the dev-branch #8191 - Update GitHub action dependencies in workflows #8198 - Update AGP, Gradle, and Kotlin #8204 - Use simpler DrawerLayout method #8200 - Replace checklist drawable #8199