After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 652614 - Baby steps towards live extension loading
Baby steps towards live extension loading
Status: RESOLVED INVALID
Product: gnome-shell
Classification: Core
Component: general
unspecified
Other All
: Normal normal
: ---
Assigned To: Colin Walters
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2011-06-15 01:46 UTC by Jasper St. Pierre (not reading bugmail)
Modified: 2011-08-17 13:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
shellDBus: Add 'LoadExtension' method (2.48 KB, patch)
2011-06-15 01:46 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
lookingGlass: Recognize new extensions as they are added (3.14 KB, patch)
2011-06-15 01:46 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
shellDBus: Add LoadExtension() method (2.48 KB, patch)
2011-06-28 01:18 UTC, Jasper St. Pierre (not reading bugmail)
needs-work Details | Review
lookingGlass: Recognize new extensions as they are added (3.14 KB, patch)
2011-06-28 01:18 UTC, Jasper St. Pierre (not reading bugmail)
reviewed Details | Review
shellDBus: Add LoadExtension() method (4.26 KB, patch)
2011-07-13 21:12 UTC, Jasper St. Pierre (not reading bugmail)
accepted-commit_now Details | Review

Description Jasper St. Pierre (not reading bugmail) 2011-06-15 01:46:08 UTC
This is part of my extension work in bug #652613
Comment 1 Jasper St. Pierre (not reading bugmail) 2011-06-15 01:46:10 UTC
Created attachment 189954 [details] [review]
shellDBus: Add 'LoadExtension' method

This allows clients to tell the shell to load extensions at runtime.
Comment 2 Jasper St. Pierre (not reading bugmail) 2011-06-15 01:46:13 UTC
Created attachment 189955 [details] [review]
lookingGlass: Recognize new extensions as they are added
Comment 3 Jasper St. Pierre (not reading bugmail) 2011-06-27 18:10:28 UTC
Given that this involves Extensions and LookingGlass territory, Walters, can you review this?
Comment 4 Jasper St. Pierre (not reading bugmail) 2011-06-28 01:18:27 UTC
Created attachment 190823 [details] [review]
shellDBus: Add LoadExtension() method

This allows clients to tell the shell to load extensions at runtime.



Write a more conformant commit message, fix copy-paste error.
Comment 5 Jasper St. Pierre (not reading bugmail) 2011-06-28 01:18:51 UTC
Created attachment 190824 [details] [review]
lookingGlass: Recognize new extensions as they are added

Fix white-space errors.
Comment 6 drago01 2011-07-13 20:41:27 UTC
Review of attachment 190823 [details] [review]:

Looks good, should have some error handling though.

::: js/ui/shellDBus.js
@@ +14,3 @@
+              { name: 'LoadExtension',
+                inSignature: 's',
+                outSignature: ''

What about error handling?
It should probably return a boolean indicating success / failure.

@@ +62,3 @@
     },
 
+    LoadExtension: function(uuid) {

I'd add a doc comment in front off that.
Comment 7 Jasper St. Pierre (not reading bugmail) 2011-07-13 20:47:15 UTC
Error handling is done separately: see bug #653208
Comment 8 drago01 2011-07-13 20:48:31 UTC
Review of attachment 190824 [details] [review]:

Looks good, other then the naming nitpick which might require some re factoring to fix.

::: js/ui/lookingGlass.js
@@ +649,3 @@
+            this._loadExtension(uuid);
+
+        ExtensionSystem.signals.connect('extension-loaded',

This does not match any convention we use. i.e we don't have foo.signals.connect but just foo.connect. Fixing it would pretty much mean making the extensionSystem grow its own class. Not sure if it is worth it.
Comment 9 drago01 2011-07-13 20:51:31 UTC
(In reply to comment #7)
> Error handling is done separately: see bug #653208

Well that means one has to:

1) Call LoadExtension
2) Call GetExtensionErrors to check whether there are any errors and get the actual messages.

Better would be:

1) Call LoadExtension and only call have to call GetExtensionErrors when there are errors.
Comment 10 Jasper St. Pierre (not reading bugmail) 2011-07-13 21:12:39 UTC
Created attachment 191924 [details] [review]
shellDBus: Add LoadExtension() method

This allows clients to tell the shell to load extensions at runtime.



OK, I added something like this, and also made loadExtension respect enabled/disabled settings.
Comment 11 drago01 2011-07-13 21:14:21 UTC
Review of attachment 191924 [details] [review]:

Looks good.
Comment 12 Jasper St. Pierre (not reading bugmail) 2011-07-13 23:42:47 UTC
Marking rejected for various reasons. Sorry for wasting your time.
Comment 13 John Stowers 2011-07-13 23:46:34 UTC
(In reply to comment #12)
> Marking rejected for various reasons. Sorry for wasting your time.

Can you please clarify?
Comment 14 Jasper St. Pierre (not reading bugmail) 2011-07-14 00:21:49 UTC
The simple reason is that the plugin doesn't use this method, and I'm not planning on supporting the HTTP server approach. I'll have a replacement soon, I promise.
Comment 15 John Stowers 2011-07-14 00:28:32 UTC
(In reply to comment #14)
> The simple reason is that the plugin doesn't use this method, and I'm not
> planning on supporting the HTTP server approach. I'll have a replacement soon,
> I promise.

Cool. Well please let me know (so I can support it in tweak-tool).