gnome-shell/js/misc
Florian Müllner 95806c6a58 extensionUtils: Simplify version check
When adapting the check to the new versioning check, we just blindly
copied the old behavior for stable/unstable versions:

 - stable releases must have matching major numbers
 - unstable releases must match major and minor ("alpha", "beta", "rc")

That worked for the old even/odd scheme, but now has the absurd effect
that we consider an extension that lists "40.alpha" in its shell-version
incompatible with "40.beta", but compatible with "40.2".

At least this provides us with a good opportunity to reconsider the
behavior. While it is true that breakage is much more likely between
unstable releases, in practice extensions are either following shell
development closely or update once around the time of a stable release.

For the former, the stricter check isn't usually too useful (as the
extension releases around the same time as gnome-shell anyway).

For the latter, it's annoying that ".rc" is treated differently from
".0" and requires an update to become compatible.

The latter is also by far the more common case, so update the check
to only match on the major version regardless of whether a release
is stable or unstable.

https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3787

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1719>
2021-02-26 23:06:40 +01:00
..
config.js.in networkAgent: Drop VPN plugin cache 2020-03-17 14:07:15 +00:00
extensionUtils.js extensionUtils: Simplify version check 2021-02-26 23:06:40 +01:00
fileUtils.js Move screencasting into a separate service process 2020-07-31 10:51:12 +02:00
gnomeSession.js endSessionDialog: Only show logout inhibiting apps 2021-02-24 15:31:03 +00:00
history.js history: Trim input and ignore if empty 2021-02-13 08:58:20 +00:00
ibusManager.js ibusManager: Fix the panel after porting to Promises 2020-05-03 23:26:39 +08:00
inputMethod.js js: Promisify async operations 2020-03-31 05:43:40 +00:00
introspect.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
jsParse.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
keyboardManager.js shell/global: Add 'backend' property 2020-04-27 15:18:18 +00:00
loginManager.js LoginManager: Add canRebootToBootLoaderMenu and setRebootToBootLoaderMenu methods 2020-08-06 15:14:42 +02:00
meson.build networkAgent: Drop VPN plugin cache 2020-03-17 14:07:15 +00:00
modemManager.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
objectManager.js js: Promisify async operations 2020-03-31 05:43:40 +00:00
params.js cleanup: Only omit braces for single-line blocks 2019-11-11 19:25:14 +00:00
parentalControlsManager.js cleanup: remove controversial naming 2020-08-04 13:24:50 +02:00
permissionStore.js cleanup: Mark globals used from other modules as exported 2019-07-24 00:28:45 +02:00
smartcardManager.js cleanup: Remove empty leading/trailing lines in blocks 2020-11-16 18:04:23 +00:00
systemActions.js cleanup: Define GObject accessors in camelCase 2021-02-03 20:19:29 +01:00
util.js util: Add a GNOME version comparison function 2021-02-05 13:41:26 +00:00
weather.js weather: Pass providers after application-id and contact-info 2021-01-14 16:47:52 -03:00