-
-
Notifications
You must be signed in to change notification settings - Fork 60
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
Update gnome 46 types #265
Conversation
- for dependencies only minor and patch updates - for devDependencies also some major updates
- fix the rollup config and tsconfig to use the new types - fix alle names of properties, that can be snake_case OR camelCase, but the types use camelCase all the time, so it had to be changed - fix the type of openExtensionPreferences, that only works with an Extension, and not every ExtensionBase - remove unused method 'getMonitorConstraintForIndex'
…s are correct. we only want it to compile, if no errors / warnings are generated by rollup - silence gjs external modules warnings
191448e
to
571873c
Compare
- add compatibility runtime methods for some gnome-shell changes in 46 (namely in MessageTraySource, Notification)
…version - remove "--failAfterWarnings" from rollup build step, since it generates too many warnings for unresolved dependencies (all of resource:///org/gnome/Shell/* which are 76 additional files)
…external dependencies are now declared using regex
- add link to the legacy branch - remove deprecated dependencies for developing
- format unformatted files - add scripts to work with prettier
@oae I added a simple CI, since after this, the types should be checked automatically at each PR, but it seems, that you have actions disabled, could you enable them? Thanks in advance ❤️ Edit: never mind, my error, sorry for the ping, it works now (it took some time, for GitHub to notice, but on my fork it was faster xD) Edit 2: but on that note, could you check the box, that certain status checks need to pass (in the branch protection settings), and then select this check, it would be great |
I have changed the settings |
0b81044
to
b19238a
Compare
…justment fo the St.ScrollView
This is now finished, I tested it on gnome 45 and gnome 46 with Ubuntu 24.04 beta, it wasn't tested on other gnome 46 environments, but it worked earlier, so it should work as of now too, since I only changed some things that work on all of gnome 46 (it was difficult enough, with some things, that didn't work earlier on all gnome 46 distros 😓) |
@oae Regarding a review: I did check my work carefully and also tested it carefully, but since this is your project I feel better, if you look at it, if you're fine with all the changes (no hurry tough) |
It looks good to me. You can merge it. <3. Thank you for the great work. |
Update gnome 46 types
Description
Since Gnome 46 uses a new version of the Core Gnome dependencies (see here)
We need to update those to the new version, there should be no huge changes, but we should do it nevertheless, especially, since we have some type errors and mismatches already present, and we need to fix some of those, so also the
@girs/gnome-shell
should be updated to gnome 46 types. We use types from https://github.com/gjsify/types and https://github.com/gjsify/gnome-shell/ so we need to wait for these to be added there (or help there, what I also intend)This adds:
--failAfterWarnings
to rollup, so that every type is correct, and we don't skip type warningsa CI, that checks formatting, types and eslint rules
stricter Tsconfig, so that many things are checked explicitly
This needs types from Port some types to GNOME 46 + some additional types gjsify/gnome-shell#23
fully correct type work with More gnome 46 improvements gjsify/gnome-shell#32
wait for Beta fixes: Optional Properties handling gjsify/gnome-shell#34
Fix the issue, with
St.ScrollView.add_actor
:Even if in Gnome 46
Clutter.Actor.add_actor
and we replaced it correctly withadd_child
it's not that simple in the caseof
St.ScrollView
. SeeSupport for GNOME 45 projecthamster/hamster-shell-extension#362
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2661
TLDR: it is broken with
St.ScrollView
, and it needs some patching, the weird thing for me was, that it worked previously, but now with an older gnome 45 version, it fails to work...The weird thing is, that it works on some Gnome 46 distros while it doesn't in others, that threw me off, since now I am testing with Ubuntu 24.04 (where
add_child
DOESN'T work), earlier I tested with GNOME OS Nightly (whereadd_child
worked)Resolution:
add_actor
is deprecated since version1.10
of Clutter (13
and14
are used in gnome 45 / 46) , andadd_child
does work on most things correctly, but gnome-shell itself did use the depreacted API in some places for a long time too. Soadd_child
onSt.ScrollView
does not work as intendend until gnome > 45.2. But not every Gnome 45 distro uses the latest gnome 45 version, so e.g. on Ubuntu 23.10 it doesn't work. So until gnome 46add_actor
does the correct thing onSt.ScrollView
but on Gnome 46add_child
doesn't work always. So what works on every Gnome 46 isset_child
(sinceSt.ScrollView
only can have one child). This was used instead ofadd_child
for Gnome 46.see also https://gitlab.gnome.org/ewlsh/gjs-guide/-/issues/89
The CI fails, since the used types are not yet released
Type of change
Checklist