-
Notifications
You must be signed in to change notification settings - Fork 41
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
refactor!: esm syntax for GNOME 45 #277
Conversation
This initial commit shuffles the syntax to esm, per the [migration guide][guide]. It's very likely that some of the imports are incorrect, specifically those that require different URLs when imported from prefs.js. There are likely other bugs as well, so this should be considered a draft [guide]: https://gjs.guide/extensions/upgrading/gnome-shell-45.html#esm
also moves widgets module to ./preferences
imports are different depending on who the importer is separate out shared state inline gettext keys
**SOLVED**: prefs now launchesSo far I get this when trying to launch prefs: The settings of extension forge@jmmaranan.com had an error:
Stack trace:
|
I'm basically stuck on the error in the previous comment. @jmmaranan can you reproduce? I observed this in GNOME OS nightly |
@fmuellner very kindly solved the previous error. Thank you! next:
most probably needs a version query param on an import |
next:
|
OK I believe this is ready to go |
Thank you so much for this! I am currently rebasing to Fedora 39 |
@jmmaranan please carefully review 1575157, I'm not so familiar with that feature |
I was not able to rebase to FC39 last time (I should never have installed any other packages). So I'll just download an ISO into Boxes. For that commit, it is used to reposition the mouse during key navigation. But it has not worked since they started removing some API methods. I think starting from GNOME 40 |
According to @fmuellner, in Extensions chat:
So this might actually be an improvement, if it works 🤔 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bennypowers - the po/forge.pot is not being produced after the changes to the Makefile. Please point the inputfiles for the xgettext command from ./extensions.js
to each js file from lib/prefs/
. xgettext is expecting files that contain _("translation string"), extensions.js does not have those.
I believe translations and icons are fixed. can we defer the dropdown bug to a separate pr? |
Looks good to me |
What I did
_init
calls with constructors./widgets.js
to./preferences/widgets.js
prefs.js
module graph have different semantics so it's probably smart to keep 'em separated./css/index.js
to es2015 and add it to prettierExtension
andExtensionPreferences
constructors now.extention.js
andprefs.js
logger.js
to useconsole.*
methodsWhat I'm not sure about
the Session Modes docs haven't been updated yet so i'm pretty sure what i did here wrt session modes is brokeni think that in addition to refactoring logger to use console methods, it should be made a base class or class mixin, since settings is now available onBaseExtension#getSettings()