[snap] Missing icon in indicator

Bug #1821765 reported by Ken VanDine on 2019-03-26
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
chromium-browser (Ubuntu)
Medium
Olivier Tilloy

Bug Description

Chromium is adding an appindicator, which has a missing icon when running from the snap. I've confirmed with the deb that it shows the chromium icon there. I'm not sure what setting makes it display the appindicator, I've had it there for years so must be some setting I have that is being synced.

The only extensions I have installer are:

  * The Great Suspender
  * Google Drive
  * Google Calendar

Ken VanDine (ken-vandine) wrote :
Ken VanDine (ken-vandine) wrote :
Olivier Tilloy (osomon) on 2019-03-26
summary: - snap: Missing icon in indicator
+ [snap] Missing icon in indicator
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in chromium-browser (Ubuntu):
status: New → Confirmed
Chris Patterson (cjp256) wrote :

Same issue, with additional icon for Google Hangouts as well.

Olivier Tilloy (osomon) wrote :

Chris, thanks for the confirmation. I haven't been able to observe the issue myself, can you share details on what shows that appindicator when using the chromium deb?

Chris Patterson (cjp256) wrote :

Olivier,

My best guess is:
https://chromium.googlesource.com/chromium/src.git/+/master/chrome/browser/ui/libgtkui/app_indicator_icon.cc#298

---

Logs from running chromium in snap that indicate this is likely a problem:
(chrome:29051): libappindicator-WARNING **: 14:11:04.701: Using '/tmp' paths in SNAP environment will lead to unreadable resources

---

The (missing) icons in question are located for me at:
/tmp/snap.chromium/tmp/.org.chromium.Chromium.yzUwdr/chrome_app_indicator_1_1.png
/tmp/snap.chromium/tmp/.org.chromium.Chromium.d1gVzr/chrome_app_indicator_2_7.png

Ken VanDine (ken-vandine) wrote :

Is there an env variable we can set to change the location of tmp? I think in generally it shouldn't be attempting to use /tmp for anything.

Olivier Tilloy (osomon) wrote :

Thanks Chris for those details.

AppIndicatorIcon::WriteUnityTempImageOnWorkerThread() calls base::CreateNewTempDirectory(), which calls GetTempDir() (in https://cs.chromium.org/chromium/src/base/files/file_util_posix.cc), which honours the TMPDIR environment variable.

So we need a way for chromium to share icons with the host's libappindicator. I'm pretty sure this has already been solved for other snaps, but I don't know how.

Olivier Tilloy (osomon) wrote :

It looks like setting TMPDIR to $XDG_RUNTIME_DIR in snapcraft.yaml's environment section for the app should do the trick (thanks Trevinho for the hint!).

Changed in chromium-browser (Ubuntu):
importance: Undecided → Medium
status: Confirmed → In Progress
Olivier Tilloy (osomon) wrote :
Changed in chromium-browser (Ubuntu):
status: In Progress → Fix Committed
Ken VanDine (ken-vandine) wrote :

I've confirmed the fix works, thanks!

Olivier Tilloy (osomon) wrote :

And I've confirmed on my end that the fix works too. Installing the Google Hangouts extension enables the appindicator icon.

Olivier Tilloy (osomon) on 2019-07-31
Changed in chromium-browser (Ubuntu):
status: Fix Committed → Fix Released
Olivier Tilloy (osomon) wrote :

The fix introduced a nasty regression (bug #1838508) and had to be reverted.

Changed in chromium-browser (Ubuntu):
status: Fix Released → Confirmed
status: Confirmed → Triaged
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers