ReVanced / revanced-manager

💊 Application to use ReVanced on Android
https://revanced.app
GNU General Public License v3.0
18.05k stars 743 forks source link

bug: When a patch gets renamed it gets unselected from the previous selection without telling the user. #900

Closed Sneeze8145 closed 1 year ago

Sneeze8145 commented 1 year ago

Type

Other

Bug description

It seems that the patch general-ads was renamed to hide-ads which means that if you patched youtube using this patch when it had the old name it would be unselected after it changed name possibly. The only way to know this is if you actually go through all the patches every time to see if anything changed or you remember how many patches you used last time.

I was debating if this was a bug or a feature request but I settled on bug, the app is intended to remember your last selection and if it doesn't then that's a bug right?

Steps to reproduce

It's hard to reproduce without a patch getting renamed but this is what I did:

  1. I updated revanced manager
  2. reset sources cause some other comments said you should do that
  3. downloaded the apk
  4. selected it
  5. i pressed the patch button

Android version

android 13

Manager version

1.3.0

Target package name

general-ads

Target package version.

not sure.

Installation type

Non-root

Patches selected.

The same ones i selected last time but it turns out one less, possibly more. The issue is related to patch selection so I'm not sure what to write here. The log seems to have the selection.

Device logs (exported using Manager settings).

--------- beginning of system
05-25 20:55:46.561 24520 24520 V ZoomWindowDecorView: setLastReportedMergedConfiguration mZoomDisplayHeight: 2400 getDecorView.165314419
05-25 20:55:46.576 24520 24520 I Quality : Skipped: false 2 cost 22.505852 refreshRate 8295665 bit true processName app.revanced.manager.flutter
05-25 20:55:46.886 24520 24520 I Quality : Skipped: false 33 cost 275.2887 refreshRate 8294532 bit true processName app.revanced.manager.flutter
05-25 20:55:47.181 24520 24520 I Quality : Skipped: false 2 cost 22.429636 refreshRate 8296537 bit true processName app.revanced.manager.flutter
--------- beginning of main
05-25 20:56:49.960 24520  9112 D VRI[MainActivity]: dispatchAppVisibility visible:false
05-25 20:56:49.971 24520 24520 D VRI[MainActivity]: onFocusEvent false
05-25 20:56:49.983 24520 24520 I SurfaceView: 185805114 surfaceDestroyed
05-25 20:56:49.990 24520 28240 D BufferQueueProducer: [SurfaceView[app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity]#29(BLAST Consumer)29](id:5fc80000001d,api:1,p:24520,c:24520) disconnect: api 1
05-25 20:56:49.996 24520 24520 D BufferQueueProducer: [SurfaceView[app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity]#29(BLAST Consumer)29](id:5fc80000001d,api:0,p:-1,c:24520) disconnect: api -1
05-25 20:56:49.996 24520 24520 D BufferQueueConsumer: [SurfaceView[app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity]#29(BLAST Consumer)29](id:5fc80000001d,api:0,p:-1,c:24520) disconnect
05-25 20:56:50.006 24520 29700 D SurfaceView: 29310079positionLost mSurfaceControl is null return;
05-25 20:56:50.007 24520 29700 D BufferQueueProducer: [VRI[MainActivity]#28(BLAST Consumer)28](id:5fc80000001c,api:1,p:24520,c:24520) disconnect: api 1
05-25 20:56:50.030 24520 24520 D BufferQueueConsumer: [VRI[MainActivity]#28(BLAST Consumer)28](id:5fc80000001c,api:0,p:-1,c:24520) disconnect
05-25 20:56:50.076 24520 24520 D VRI[MainActivity]: setWindowStopped stopped:true
05-25 20:56:59.005 24520  6183 D VRI[MainActivity]: dispatchAppVisibility visible:true
05-25 20:56:59.013 24520 24520 D VRI[MainActivity]: setWindowStopped stopped:false
05-25 20:56:59.040 24520 24520 D BufferQueueConsumer: [](id:5fc80000001e,api:0,p:-1,c:24520) connect: controlledByApp=false
05-25 20:56:59.040 24520 24520 E IPCThreadState: attemptIncStrongHandle(58): Not supported
05-25 20:56:59.041 24520 29700 D BufferQueueProducer: [VRI[MainActivity]#30(BLAST Consumer)30](id:5fc80000001e,api:1,p:24520,c:24520) connect: api=1 producerControlledByApp=true
05-25 20:56:59.043 24520 24520 D BufferQueueConsumer: [](id:5fc80000001f,api:0,p:-1,c:24520) connect: controlledByApp=false
05-25 20:56:59.044 24520 24520 I SurfaceView: 185805114 visibleChanged -- surfaceCreated 
05-25 20:56:59.044 24520 28240 D BufferQueueProducer: [SurfaceView[app.revanced.manager.flutter/app.revanced.manager.flutter.MainActivity]#31(BLAST Consumer)31](id:5fc80000001f,api:1,p:24520,c:24520) connect: api=1 producerControlledByApp=true
05-25 20:56:59.046 24520 24520 I SurfaceView: 185805114 surfaceChanged -- format=4 w=1080 h=2400
05-25 20:56:59.047 24520 24520 E SurfaceSyncer: Failed to find sync for id=0
05-25 20:56:59.047 24520 24520 E SurfaceSyncer: Failed to find sync for id=1
05-25 20:56:59.047 24520 24520 E SurfaceSyncer: Failed to find sync for id=2
05-25 20:56:59.047 24520 24520 D VRI[MainActivity]: registerCallbacksForSync syncBuffer=false
05-25 20:56:59.051 24520 29700 D VRI[MainActivity]: Received frameCommittedCallback lastAttemptedDrawFrameNum=1 didProduceBuffer=true syncBuffer=false
05-25 20:56:59.051 24520 24520 D VRI[MainActivity]: draw finished.
05-25 20:56:59.134 24520 24520 D VRI[MainActivity]: onFocusEvent true
05-25 20:57:00.189 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:00.613 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:00.968 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:01.922 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:02.788 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:03.209 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:04.092 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:04.479 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:04.934 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:05.743 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null
05-25 20:57:06.290 24520 24520 V AutofillManager: requestHideFillUi(null): anchor = null

Installer logs (exported using Installer menu option) [unneeded if issue is not during patching].

Initializing installer
Creating working directory
Copying original apk
Unpacking input apk
Reading dex files
Decoding AndroidManifest.xml only, because resources are not needed
Merging integrations
Deleting existing resource cache directory
Decoding resources
Applied always-autorepeat
Applied client-spoof
Applied comments
Applied copy-video-url
Applied custom-branding
Applied disable-auto-captions
Applied disable-fullscreen-panels
Applied disable-player-popup-panels
Applied disable-shorts-on-startup
Applied disable-zoom-haptics
Applied downloads
Applied enable-debugging
Applied hdr-auto-brightness
Applied hide-album-cards
Applied hide-artist-card
Applied hide-autoplay-button
Applied hide-breaking-news-shelf
Applied hide-captions-button
Applied hide-cast-button
Applied hide-crowdfunding-box
Applied hide-email-address
Applied hide-endscreen-cards
Applied hide-floating-microphone-button
Applied hide-get-premium
Applied hide-info-cards
Applied hide-player-buttons
Applied hide-seekbar
Applied hide-timestamp
Applied hide-video-action-buttons
Applied hide-watch-in-vr
Applied hide-watermark
Applied minimized-playback
Applied navigation-buttons
Applied old-quality-layout
Applied open-links-externally
Applied premium-heading
Applied remember-video-quality
Applied remove-player-button-background
Applied return-youtube-dislike
Applied seekbar-tapping
Applied sponsorblock
Applied spoof-app-version
Applied swipe-controls
Applied tablet-mini-player
Applied theme
Applied vanced-microg-support
Applied video-ads
Applied wide-searchbar
Repacking patched apk
Compiling resources
Writing modified dex files
Finished!

Screenshots or videos

No response

Solution

If there is a feature of the app where it remembers your previous selection of patches and then then something causing the selection to change then the app should let the user know somehow. Maybe it could remember the number of patches used last time and say 2 patches are missing from your previous selection, continue anyway?

Ideally the patches should be remembered despite what the names are and maybe they shouldn't be renamed until this issue is addressed somehow.

Additional context

I was told on reddit to make a github issue about this: https://www.reddit.com/r/revancedapp/comments/13qyrk3/new_features_of_revanced_patches_v21740/jljg2qm/?context=10000

Acknowledgements

Ushie commented 1 year ago

ReVanced Manager can't do anything about this, the patch name is the only way to identify a patch

But the popup you suggested might work fine, @PalmDevs take a look

PalmDevs commented 1 year ago

But the popup you suggested might work fine, @PalmDevs take a look

Sure, that looks fine to me.

Edit: We've decided on an unselectable item that is grayed out and located within its own "section". Clicking on that item will make a dialog pop up informing the user that the patch may have been renamed or removed.

KobeW50 commented 1 year ago

Is this still an issue? I know that now there is a notice if patches are removed but idk about when they're renamed