-
Notifications
You must be signed in to change notification settings - Fork 0
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
Centralized "don't autoupdate" plugin list #16
Comments
We could maintain a rest api endpoint on https://wpspecialprojects.com/ that could be queried -- it would just preclude the plugin from ever being available on the plugin repo if it's hardcoded in. We could put an admin setting for a url to query where we could paste that url into our own sites to check first, but third-parties using it could choose not to, or choose to have their own urls to ping? |
What if we had a text file in this repo that it would consult? |
I think we shouldn't host this on GitHub simply to try and avoid any rate-limiting. If we end up hosting this on Atomic servers, then we'd have more control over things like that. Both GitHub and Atomic could go down for a bit but we have more control/options for the latter. If we're going to centralize something like this, maybe we should also Also, should we maybe include a Since the plugin is open-source, I think a site's endpoint is better. We should also provide a way for anyone to override the source and use their own custom URL. For example, by the use of a constant if we don't want to build a settings UI ... The endpoint could return a JSON that looks something like this:
So for today's WC case, we could have something like (any of the examples would do):
Maybe another idea would be to prevent auto-updates to a major or minor release on a Friday. For example, an update to |
We can host a static file on Cloudflare using either Pages or Workers. Page can be hooked to a GH repo for auto-deploy. Both the Pages and Workers have very generous free limits. |
Riffing on the idea of having the centralized file be a JSON file, I propose it would look roughly like this: {
"pause_all": false,
"pause_periods": [
{
"name": "woo_update_6_1",
"start": "2024-02-16 00:00:00",
"end": "2024-02-20 23:59:59"
}
],
"pause_times": {
"start": "10",
"end": "23",
"friday_end": "19"
},
"pause_days": ["Sat", "Sun"],
"pause_plugins": [
{
"slug": "woocommerce",
"skip_exact_version": "6.0",
"skip_version_higher_than_or_equal_to": "5.9",
"skip_version_lower_than": "6.1"
}
]
}
Plan of actionStep 1
Step 2
Step 3 (?)
|
Step 1PR up for discussion here: #24 |
Closed wrong issue (oops!) |
Problem: A plugin update becomes available which starts bringing down our sites. We want to prevent more of our sites from updating to the bad version on the fly, while the situation is triaged.
Possible solution: have a centralized denylist which this plugin consults before allowing an autoupdate.
The text was updated successfully, but these errors were encountered: