Bug 1278366 - After F22->F23 upgrade, some menus no longer work in the application menu
Summary: After F22->F23 upgrade, some menus no longer work in the application menu
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-shell-extensions
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Florian Müllner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-11-05 10:50 UTC by Jonathan Underwood
Modified: 2023-10-05 05:38 UTC (History)
12 users (show)

Fixed In Version: gnome-shell-extensions-3.18.3-1.fc23
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-01-12 07:56:38 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Jonathan Underwood 2015-11-05 10:50:28 UTC
Description of problem:
I run gnome shell, with an applications menu activated (via gnome-tweak-tool). After upgrading my system to F23, I find quite of a few of the main menus items don't activate (i.e. they don't show the applications in that category). On my system the following no longer seem to work:

Education
Graphics
Office
Other

I am clueless as to where to start debugging this, so let me know what I can do to provide more information. Thanks.

Version-Release number of selected component (if applicable):
rpm -qa | grep gnome gives...

gnome-system-monitor-3.18.0.1-1.fc23.x86_64
gnome-session-3.18.1.2-1.fc23.x86_64
gnome-vfs2-2.24.4-19.fc23.x86_64
gnome-user-docs-3.18.1-1.fc23.noarch
gnome-disk-utility-3.18.1-1.fc23.x86_64
gnome-shell-extension-apps-menu-3.18.1-1.fc23.noarch
gnome-bluetooth-3.18.0-1.fc23.x86_64
gnome-shell-extension-alternate-tab-3.18.1-1.fc23.noarch
gnome-documents-3.18.1-1.fc23.x86_64
gnome-shell-extension-places-menu-3.18.1-1.fc23.noarch
gnome-online-miners-3.14.3-3.fc23.x86_64
gnome-boxes-3.18.1-1.fc23.x86_64
desktop-backgrounds-gnome-23.0.0-1.fc23.noarch
gnome-weather-3.18.1-1.fc23.noarch
libgnome-keyring-3.12.0-5.fc23.x86_64
gnome-themes-standard-3.18.0-1.fc23.x86_64
gnome-initial-setup-3.18.0-1.fc23.x86_64
gnome-python2-canvas-2.28.1-16.fc23.x86_64
gnome-shell-extension-window-list-3.18.1-1.fc23.noarch
gnome-software-3.18.2-2.fc23.x86_64
gnome-screenshot-3.18.0-1.fc23.x86_64
libgnomekbd-3.6.0-8.fc23.x86_64
gnome-session-xsession-3.18.1.2-1.fc23.x86_64
gnome-tweak-tool-3.18.0-1.fc23.noarch
gnome-maps-3.18.1-1.fc23.x86_64
gnome-video-effects-0.4.1-3.fc23.noarch
gnome-user-share-3.18.0-1.fc23.x86_64
gnome-documents-libs-3.18.1-1.fc23.x86_64
gnome-contacts-3.18.0-2.fc23.x86_64
gnome-backgrounds-3.18.0-1.fc23.noarch
polkit-gnome-0.105-9.fc23.x86_64
gnome-python2-rsvg-2.32.0-22.fc23.x86_64
gnome-font-viewer-3.16.2-3.fc23.x86_64
gnome-shell-extension-background-logo-3.18.0-1.fc23.noarch
libgnomecanvas-2.30.3-10.fc23.x86_64
gnome-menus-3.13.3-4.fc23.x86_64
gnome-session-wayland-session-3.18.1.2-1.fc23.x86_64
gnome-themes-2.32.0-13.fc23.noarch
gnome-classic-session-3.18.1-1.fc23.noarch
gnome-clocks-3.18.0-1.fc23.x86_64
gnome-desktop3-3.18.1-1.fc23.x86_64
fros-gnome-1.1-6.fc23.noarch
gnome-shell-3.18.1-1.fc23.x86_64
gnome-terminal-3.18.1-1.fc23.x86_64
f22-backgrounds-gnome-22.1.0-1.fc23.noarch
gnome-keyring-3.18.1-2.fc23.x86_64
gnome-abrt-1.2.0-5.fc23.x86_64
gnome-shell-extension-launch-new-instance-3.18.1-1.fc23.noarch
NetworkManager-vpnc-gnome-1.0.6-3.fc23.x86_64
gnome-online-accounts-3.18.1-1.fc23.x86_64
gnome-bluetooth-libs-3.18.0-1.fc23.x86_64
gnome-shell-extension-common-3.18.1-1.fc23.noarch
gnome-getting-started-docs-3.18.1-1.fc23.noarch
gnome-settings-daemon-3.18.1-1.fc23.x86_64
gnome-keyring-pam-3.18.1-2.fc23.x86_64
gnome-calculator-3.18.1-1.fc23.x86_64
gnome-icon-theme-3.12.0-3.fc23.noarch
gnome-shell-extension-user-theme-3.18.1-1.fc23.noarch
NetworkManager-openvpn-gnome-1.0.6-3.fc23.x86_64
gnome-vfs2-common-2.24.4-19.fc23.noarch
f23-backgrounds-gnome-23.1.0-1.fc23.noarch
gnome-python2-2.28.1-16.fc23.x86_64
NetworkManager-pptp-gnome-1.1.0-2.20150428git695d4f2.fc23.x86_64
gnome-color-manager-3.18.0-1.fc23.x86_64


How reproducible:
Everytime

Steps to Reproduce:
1. Upgrade F22-> F23
2. Hover mouse over any of the menu items above
3. Nothing happens

Actual results:
Nothing happens

Expected results:
Sub-menu of apps opens

Additional info:

Comment 1 Jon Thomas 2015-11-06 18:00:11 UTC
Same here except it's 

internet
system tools
sound & video
system tools

that don't show and menu items.

Works fine if I use the Frippery Applications Menu extension. /usr/share/applications sees to be populated correctly. I checked some of the desktop files like virt-manager.desktop and everything seems to to be as it should.

Comment 2 Jon Thomas 2015-11-06 18:04:04 UTC
"that don't show any menu items"

Also I created a new user in case there was something in the home directory causing this, but the new user also has the same problem.

Comment 3 Jon Thomas 2015-11-06 19:33:53 UTC
found this workaround

https://bugs.archlinux.org/task/46647

I tested this and it does work and I also tested that it does seem to be related to kde directories. The workaround doesn't provide for kde apps to show up in the menus. But if you copy, for example, k3b.desktop out of kde4 into /usr/share/applications, the app will show up in the menu.

So it seems appSys.lookup_app returns null for app sin kde directories.

Comment 4 Jon Thomas 2015-11-06 20:03:13 UTC
Using entry.get_desktop_file_id() instead of appSys.lookup_app(id) to get app (same as what frippery uses), works fine. So it does seem to be a problem with lookup_app()


    while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
            if (nextType == GMenu.TreeItemType.ENTRY) {
                let entry = iter.get_entry();
                let appInfo = entry.get_app_info();
                let id;
                try {
                    id = appInfo.get_id(); // catch non-UTF8 filenames
                } catch(e) {
                    continue;
                }
                let app = appSys.lookup_app(entry.get_desktop_file_id());
                if (appInfo.should_show()) {
                    let menu_id = dir.get_menu_id();
                    this.applicationsByCategory[categoryId].push(app);
                }
            } else if (nextType == GMenu.TreeItemType.DIRECTORY) {

Comment 5 Jon Thomas 2015-11-06 20:14:57 UTC
err, or possibly bad id returned by get_id

Comment 6 Mario Michele Macaluso 2015-11-11 20:04:25 UTC
(In reply to Jon Thomas from comment #4)
> Using entry.get_desktop_file_id() instead of appSys.lookup_app(id) to get
> app (same as what frippery uses), works fine. So it does seem to be a
> problem with lookup_app()
> 
> 
>     while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
>             if (nextType == GMenu.TreeItemType.ENTRY) {
>                 let entry = iter.get_entry();
>                 let appInfo = entry.get_app_info();
>                 let id;
>                 try {
>                     id = appInfo.get_id(); // catch non-UTF8 filenames
>                 } catch(e) {
>                     continue;
>                 }
>                 let app = appSys.lookup_app(entry.get_desktop_file_id());
>                 if (appInfo.should_show()) {
>                     let menu_id = dir.get_menu_id();
>                     this.applicationsByCategory[categoryId].push(app);
>                 }
>             } else if (nextType == GMenu.TreeItemType.DIRECTORY) {

I've applied this workaround and "application menu" now show all entry.

for me is:

Internet
System tools

Comment 7 Paul Finnigan 2015-11-15 21:15:19 UTC
I have the same problem but my list (although not sure if it is relevant) is:

Graphics
Sound & Video
System Tools

I have not tried the fix yet. However the problem appears on two systems that were upgraded using dnf as per above. 

I have only added this comment because a third system which was built using the Fedora 23 Beta also shows the problem.

Comment 8 Andrea Musuruane 2015-11-20 20:48:50 UTC
Same problem here. It's only present for the "Internet" menu.

Comment 9 Mario Michele Macaluso 2015-11-29 23:55:15 UTC
the problem continues, even if there was an update.

rpm -qif  /usr/share/gnome-shell/extensions/apps-menu.github.com/extension.js
Name        : gnome-shell-extension-apps-menu
Version     : 3.18.2
Release     : 1.fc23
Architecture: noarch
Install Date: mar 24 nov 2015 08:22:17 CET
Group       : User Interface/Desktops
Size        : 26991
License     : GPLv2+
Signature   : RSA/SHA256, sab 14 nov 2015 19:39:34 CET, Key ID 32474cf834ec9cba
Source RPM  : gnome-shell-extensions-3.18.2-1.fc23.src.rpm
Build Date  : gio 12 nov 2015 13:34:42 CET
Build Host  : buildhw-12.phx2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : http://live.gnome.org/GnomeShell/Extensions
Summary     : Application menu for GNOME Shell
Description :
This GNOME Shell extension adds a GNOME 2.x style menu for applications.

Comment 10 Jonathan Underwood 2015-12-07 11:09:34 UTC
Problem still exists. Would be nice if the package owner was to comment.

Comment 11 Daniel 2016-01-04 14:33:55 UTC
(In reply to Jon Thomas from comment #4)
> Using entry.get_desktop_file_id() instead of appSys.lookup_app(id) to get
> app (same as what frippery uses), works fine. So it does seem to be a
> problem with lookup_app()
> 
> 
>     while ((nextType = iter.next()) != GMenu.TreeItemType.INVALID) {
>             if (nextType == GMenu.TreeItemType.ENTRY) {
>                 let entry = iter.get_entry();
>                 let appInfo = entry.get_app_info();
>                 let id;
>                 try {
>                     id = appInfo.get_id(); // catch non-UTF8 filenames
>                 } catch(e) {
>                     continue;
>                 }
>                 let app = appSys.lookup_app(entry.get_desktop_file_id());
>                 if (appInfo.should_show()) {
>                     let menu_id = dir.get_menu_id();
>                     this.applicationsByCategory[categoryId].push(app);
>                 }
>             } else if (nextType == GMenu.TreeItemType.DIRECTORY) {

Very good work, thank you Jon. This worked for me perfectly! Did you ever post your patch to the maintainers of this package?

Comment 12 Fedora Update System 2016-01-09 09:52:33 UTC
gnome-shell-extensions-3.18.3-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-8d466dc1df

Comment 13 Fedora Update System 2016-01-09 18:20:49 UTC
gnome-shell-extensions-3.18.3-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-8d466dc1df

Comment 14 Fedora Update System 2016-01-12 07:56:32 UTC
gnome-shell-extensions-3.18.3-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Ting-Wei Lan 2016-01-13 15:19:34 UTC
After upgrading to gnome-shell-extensions-3.18.3-1.fc23, applications menus fail to load:

gnome-shell-wayland.desktop[6887]: Gjs-Message: JS LOG: Extension "apps-menu.github.com" had error: TypeError: app is null

Comment 16 Ting-Wei Lan 2016-01-15 23:02:53 UTC
Removing /usr/share/applnk/google-chrome.desktop fixes my problem.

Comment 17 williamanderson 2023-10-05 04:44:56 UTC Comment hidden (spam)
Comment 18 williamanderson 2023-10-05 05:29:01 UTC Comment hidden (spam)

Note You need to log in before you can comment on or make changes to this bug.