Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: allow dev channel patches #821

Open
4 tasks done
SodaWithoutSparkles opened this issue Apr 28, 2023 · 10 comments · May be fixed by #1409 or #1785
Open
4 tasks done

feat: allow dev channel patches #821

SodaWithoutSparkles opened this issue Apr 28, 2023 · 10 comments · May be fixed by #1409 or #1785
Labels
Feature request Requesting a new feature that's not implemented yet

Comments

@SodaWithoutSparkles
Copy link
Contributor

Type

Functionality

Issue

The dev channel (pre-releases) of integration and patches are updated far more frequently. Sometimes when there is a very annoying issue and the fix was alreadly in the dev channel, but not yet in the stable release.

Feature

Allow pre-release integrations and patches to be used in revanced manager. This way, we could use the dev channel when needed.

Motivation

  • allows more users to test out pre-release versions for bugs
  • rapid testing of new changes for targeted users/bug reporters
  • solve the annoying issue of "the fix is there but you cannot use it yet because you cannot use the dev channel"
  • not all people have access to a computer/termux for CLI patching

Additional context

ReVanced/revanced-patches#2003 (comment)

Could benefit rapid testing like that in ReVanced/revanced-patches#1443

Acknowledgements

  • I have searched the existing issues and this is a new and no duplicate or related to another open issue.
  • I have written a short but informative title.
  • I filled out all of the requested information in this issue properly.
  • The issue is related solely to the ReVanced Manager
@SodaWithoutSparkles SodaWithoutSparkles added the Feature request Requesting a new feature that's not implemented yet label Apr 28, 2023
@SodaWithoutSparkles
Copy link
Contributor Author

Potential solutions:

  • use existing revanced api
    • benefits
      • using current infrastructure
    • changes
      • api backend: allow dev channel
      • manager: add a toggle to enable dev channel
  • use github API
    • benefits
      • reduce revanced backend api load
      • no need to mess with current backend → backwards compatibility
    • changes
      • manager: allow github api as release api
      • manager: send and parse github api
      • manager: add toggle to enable dev channel

@Ushie Ushie changed the title feat: allow dev channnel patches feat: allow dev channel patches Apr 29, 2023
@kitadai31
Copy link
Contributor

I found a temporary workaround for this issue.

Change any one letter in sources setting to uppercase. (Each of Patches and Integrations)
Then you can use dev patches in Manager.

By changing the sources setting, the API used by the Manager is switched from ReVanced API to GitHub API.
In other words, Manager recognizes "revaNced/revanced-patches" as an external source.
Since the GitHub API does not distinguish between dev and release, Manager will fetch the latest release in the repository anyway.
Therefore, Manager uses the dev patches.

Until someone implement this feature or Manager v2 is completed, I think we can guide users to this method as necessary.

@Aunali321
Copy link
Member

I found a temporary workaround for this issue.

Change any one letter in sources setting to uppercase. (Each of Patches and Integrations) Then you can use dev patches in Manager.

By changing the sources setting, the API used by the Manager is switched from ReVanced API to GitHub API. In other words, Manager recognizes "revaNced/revanced-patches" as an external source. Since the GitHub API does not distinguish between dev and release, Manager will fetch the latest release in the repository anyway. Therefore, Manager uses the dev patches.

Until someone implement this feature or Manager v2 is completed, I think we can guide users to this method as necessary.

we should not guide users to this method as most of the time dev patches rely on dev patcher. and patcher has to bumped manually.

@SodaWithoutSparkles
Copy link
Contributor Author

SodaWithoutSparkles commented Jun 13, 2023

Well, at least there is a option when troubleshooting.

Eventually we may need to use release candidate to test before rollout. Therefore the option is necessary.

@kitadai31
Copy link
Contributor

we should not guide users to this method as most of the time dev patches rely on dev patcher. and patcher has to bumped manually.

Yes, that's important. I forgot that.
Before using the dev patches, it is necessary to make sure that ReVanced Patcher dependencies of patches is not bumped (or there are not breaking changes).

@Aunali321
Copy link
Member

it is necessary to make sure that ReVanced Patcher dependencies of patches is not bumped (or there are not breaking changes).

Without dev patcher, dev patches will not work. The only solution is to make dev manager releases with dev patcher. Though there are no plans for that in this version of ReVanced Manager. Expect it to be in rewrite!

@oSumAtrIX
Copy link
Member

@Aunali321 This is only the case if dev introduces breaking changes, in such a case switching to dev should also consume dev updates from ReVanced Manager

@KobeW50
Copy link
Contributor

KobeW50 commented Aug 29, 2023

Would being able to manually import the patches.jar be a viable solution? That way you can also use previous releases

@SodaWithoutSparkles
Copy link
Contributor Author

It could be, if the patcher doesn't need to be updated. This would just be the more complicated approach to the "making one letter upper-case in source" method.

@oSumAtrIX
Copy link
Member

Loading patch bundles from storage is gonna be added.

@Ushie Ushie linked a pull request Nov 19, 2023 that will close this issue
3 tasks
@kitadai31 kitadai31 linked a pull request Mar 25, 2024 that will close this issue
@validcube validcube linked a pull request Apr 18, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature request Requesting a new feature that's not implemented yet
Projects
None yet
5 participants