This bug was fixed in the package gjs - 1.67.2-2ubuntu2
---------------
gjs (1.67.2-2ubuntu2) hirsute; urgency=medium
* debian/{control,gbp.conf}: Use ubuntu specifics
* debian/patches: Ensure Gio will use valid LocalFilePrototype (LP: #1923267)
-- Marco Trevisan (Treviño) <[email protected]> Thu, 22 Apr 2021
01:34:40 +0200
** Changed in: gjs (Ubuntu)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to gnome-shell-extension-appindicator in
Ubuntu.
https://bugs.launchpad.net/bugs/1923267
Title:
Gjs promises on Gio.File operations don't work anymore after upgrading
libglib2.0-0 2.67.5-2 to 2.68.0-1 (and indicator-multiload app broke)
Status in gjs package in Ubuntu:
Fix Released
Status in gnome-shell-extension-appindicator package in Ubuntu:
Won't Fix
Status in gjs source package in Hirsute:
Fix Committed
Bug description:
[ Impact ]
As per glib commit
https://gitlab.gnome.org/GNOME/glib/-/commit/d52728f99
Gio.File.new_for_path("") returns a GDummyFile implementation, while
Gio._promisify relies on it being a LocalFile, so we don't promisify
the right methods.
[ Test case ]
gjs -c "imports.gi.Gio._promisify(imports.gi.Gio._LocalFilePrototype,
'delete_async', 'delete_finish');
print(imports.gi.Gio.File.new_for_path('/').delete_async(0, null));" &&
echo GJS works
Should write on terminal:
[object Promise]
GJS works
In the bugged version would instead just:
(gjs:226393): Gjs-CRITICAL **: 16:45:51.396: JS ERROR: TypeError: method
Gio.File.delete_async: At least 3 arguments required, but only 2 passed
@<command line>:2:48
(gjs:226393): Gjs-CRITICAL **: 16:45:51.396: Script <command line>
threw an exception
[ Regression potential ]
Gjs apps are slower in starting up, or not act properly when / is not
a local location.
---
Problem tested in two different environments:
- Ubuntu 21.04 Beta amd64
- Ubuntu 21.04 Beta arm64 (Raspberry Pi 4B 8GB)
After upgrading these packages:
libglib2.0-0 2.67.5-2 to 2.68.0-1
libglib2.0-bin 2.67.5-2 to 2.68.0-1
libglib2.0-data 2.67.5-2 to 2.68.0-1
The app indicator-multiload (0.4-0ubuntu5) doesn't work showing only
three dots (...) instead of the graphic expected. It's throwing error
messages to the system journal every second or so (depends of the
refresh interval selected in the app settings):
abr 10 01:08:06 fpgrpi [email protected][1487]:
multiload, Impossible to read image from path '/run/user/1026
/multiload-icons-Wc8kck/icons/indicator-multiload-graphs-0.png':
TypeError: method Gio.File.read_async: At least 3 arguments required,
but only 2 passed
Don't know if this is a documented change of that method and the bug
should be open for the indicator-multiload app. Please, if that's the
case just let me know to do it.
Thanks and best reagrds
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gjs/+bug/1923267/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp