summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Welsh <contact@evanwelsh.com>2021-08-20 20:42:27 -0500
committerEvan Welsh <contact@evanwelsh.com>2021-08-24 19:04:30 -0700
commitdbb6e34fa1c122acb7ae7ea4fab043e1e4eb6f74 (patch)
treec46cc03d00e88708a3a0edefac499540034c4f69
parentd562c70f4efacd2a6cf78ed00b2a987be3a485e3 (diff)
downloadgnome-shell-ewlsh/console-domain-fix.tar.gz
init: Set console log domainewlsh/console-domain-fix
GJS added a console module that extensions may start using. To ensure that extensions using console.log() and similar functions don't show up as 'Gjs-Console' in users' system logs, we should call setConsoleLogdomain() with 'GNOME Shell'. This GJS API addition is only accessible using ECMAScript Modules (ESM), this commit moves shell startup to a small init.js module and adapts CI jobs to either handle or ignore it. We can drop the .jscheckignore file when future versions of SpiderMonkey allow for compile checks without validating module specifiers.
-rw-r--r--.eslintrc.yml5
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--.jscheckignore1
-rw-r--r--js/js-resources.gresource.xml1
-rw-r--r--js/ui/init.js6
-rw-r--r--po/POTFILES.skip1
-rw-r--r--src/gnome-shell-plugin.c13
7 files changed, 20 insertions, 9 deletions
diff --git a/.eslintrc.yml b/.eslintrc.yml
index 5e3347d3a..018e857f7 100644
--- a/.eslintrc.yml
+++ b/.eslintrc.yml
@@ -1,3 +1,8 @@
extends:
- ./lint/eslintrc-gjs.yml
- ./lint/eslintrc-shell.yml
+overrides:
+ - files:
+ - js/ui/init.js
+ parserOptions:
+ sourceType: module \ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5f97c3312..1143baea0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -123,7 +123,7 @@ js_check:
- .gnome-shell.fedora:34
stage: review
script:
- - find js -name '*.js' -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
+ - find js -name '*.js' $(printf "! -wholename %s " $(cat .jscheckignore)) -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
- (! grep -q . $JS_LOG)
artifacts:
paths:
diff --git a/.jscheckignore b/.jscheckignore
new file mode 100644
index 000000000..7313eb4af
--- /dev/null
+++ b/.jscheckignore
@@ -0,0 +1 @@
+js/ui/init.js \ No newline at end of file
diff --git a/js/js-resources.gresource.xml b/js/js-resources.gresource.xml
index 6dc01b924..93d5932f5 100644
--- a/js/js-resources.gresource.xml
+++ b/js/js-resources.gresource.xml
@@ -64,6 +64,7 @@
<file>ui/ibusCandidatePopup.js</file>
<file>ui/iconGrid.js</file>
<file>ui/inhibitShortcutsDialog.js</file>
+ <file>ui/init.js</file>
<file>ui/kbdA11yDialog.js</file>
<file>ui/keyboard.js</file>
<file>ui/layout.js</file>
diff --git a/js/ui/init.js b/js/ui/init.js
new file mode 100644
index 000000000..a0fe63343
--- /dev/null
+++ b/js/ui/init.js
@@ -0,0 +1,6 @@
+import { setConsoleLogDomain } from 'console';
+
+setConsoleLogDomain('GNOME Shell');
+
+imports.ui.environment.init();
+imports.ui.main.start();
diff --git a/po/POTFILES.skip b/po/POTFILES.skip
index 4bc89ab49..0c8451d64 100644
--- a/po/POTFILES.skip
+++ b/po/POTFILES.skip
@@ -1,3 +1,4 @@
data/org.gnome.Shell@wayland.service.in
data/org.gnome.Shell@x11.service.in
+js/ui/init.js
subprojects/extensions-tool/src/templates/indicator/extension.js
diff --git a/src/gnome-shell-plugin.c b/src/gnome-shell-plugin.c
index 39af545ac..5364f043a 100644
--- a/src/gnome-shell-plugin.c
+++ b/src/gnome-shell-plugin.c
@@ -106,7 +106,7 @@ gnome_shell_plugin_start (MetaPlugin *plugin)
{
GnomeShellPlugin *shell_plugin = GNOME_SHELL_PLUGIN (plugin);
GError *error = NULL;
- int status;
+ uint8_t status;
GjsContext *gjs_context;
ClutterBackend *backend;
@@ -126,13 +126,10 @@ gnome_shell_plugin_start (MetaPlugin *plugin)
gjs_context = _shell_global_get_gjs_context (shell_plugin->global);
- if (!gjs_context_eval (gjs_context,
- "imports.ui.environment.init();"
- "imports.ui.main.start();",
- -1,
- "<main>",
- &status,
- &error))
+ if (!gjs_context_eval_module_file (gjs_context,
+ "resource:///org/gnome/shell/ui/init.js",
+ &status,
+ &error))
{
g_message ("Execution of main.js threw exception: %s", error->message);
g_error_free (error);