feat: allow dev channel patches
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
https://github.com/revanced/revanced-patches/issues/2003#issuecomment-1527226397
Could benefit rapid testing like that in https://github.com/revanced/revanced-patches/issues/1443
Acknowledgements
- [X] I have searched the existing issues and this is a new and no duplicate or related to another open issue.
- [X] I have written a short but informative title.
- [X] I filled out all of the requested information in this issue properly.
- [X] The issue is related solely to the ReVanced Manager
Potential solutions:
- use existing revanced api
- benefits
- using current infrastructure
- changes
- api backend: allow dev channel
- manager: add a toggle to enable dev channel
- benefits
- 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
- benefits
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.
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.
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.
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).
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!
@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
Would being able to manually import the patches.jar be a viable solution? That way you can also use previous releases
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.
Loading patch bundles from storage is gonna be added.
ReVanced Manager will soon be released as a full rewrite. Over time, many feature requests have been made for the current version of ReVanced Manager, but to accelerate the development of the new version of ReVanced Manager, we have to focus on it, which I am closing this issue according to the contribution guidelines:
Requests can be accepted or rejected at the discretion of maintainers of ReVanced Patches
This feature request has been closed for one or more of the following reasons:
- Stale for too long/ Low priority/ Maintainers un-interested/ Too complex to realize
- Feature planned/ already implemented for the new version of ReVanced Manager
Regardless, anyone who comes across this feature request can PR it to the current version of ReVanced Manager until the new version is ready. Thanks for your feature request!
