Bug #7989

Jessie: raw HTML is displayed in desktop notifications

Added by intrigeri 2014-10-02 07:04:40 . Updated 2015-11-17 07:38:39 .

Status:
Resolved
Priority:
High
Assignee:
Category:
Target version:
Start date:
2014-10-02
Due date:
2015-10-15
% Done:

100%

Feature Branch:
Type of work:
Code
Starter:
Affected tool:
Deliverable for:
267

Description

This is when running GNOME Shell.


Subtasks


Related issues

Related to Tails - Bug #8897: The link to persistence documentation in tails-persistence-setup doesn't trigger any user-visible action Resolved 2015-02-12
Related to Tails - Bug #10559: MAC spoofing failure notification should point to the corresponding documentation Confirmed 2019-01-23
Has duplicate Tails - Bug #8362: Unparsed markup in virtual machine notification Duplicate 2014-12-02
Blocks Tails - Bug #8040: Update notification screenshots in the documentation for Jessie Duplicate 2014-10-09

History

#1 Updated by intrigeri 2014-10-07 08:29:10

This is missing functionality in GNOME Shell’s notification display code: https://bugzilla.gnome.org/show_bug.cgi?id=653033

#2 Updated by intrigeri 2014-10-10 02:05:12

  • Subject changed from HTML in "running in a VM" notification is not interpreted to Raw HTML is displayed in desktop notifications

#3 Updated by intrigeri 2014-10-10 02:27:24

Presumably, we could replace URLs with notification actions.

Examples (look for add_action):

However, neither notify-send nor the Perl Desktop::Notify library support it, so the instances where we display notifications from scripts written in these languages should be adapted, e.g. one of:

  • be converted to use the notification API with GObject Introspection
  • be rewritten in Python

Or, we can add support for actions in Desktop::Notify.

Note that one cannot use dbus-send, since org.freedesktop.Notifications.Notify wants arguments of types (susssasa{sv}i), while dbus-send can only send (susssasa{ss}i).

#4 Updated by intrigeri 2014-12-03 10:59:50

  • has duplicate Bug #8362: Unparsed markup in virtual machine notification added

#5 Updated by intrigeri 2014-12-18 11:49:52

  • Assignee set to intrigeri
  • Priority changed from Normal to Elevated

#6 Updated by intrigeri 2015-03-07 21:42:02

Update: see the blueprint for the up-to-date status of affected scripts (those with links).

Here’s a survey of the potentially affected code on current feature/jessie branch. Anything that doesn’t need to be modified is stroke-through.

Perl scripts using Desktop::Notify:

  • config/chroot_local-includes/usr/local/bin/tails-htp-notify-user: no link
  • DONE config/chroot_local-includes/usr/local/bin/tails-security-check
  • DONE config/chroot_local-includes/usr/local/bin/tails-virt-notify-user
  • removed config/chroot_local-includes/usr/local/bin/tails-warn-about-disabled-persistence

Shell scripts using notify-send via config/chroot_local-includes/usr/local/sbin/tails-notify-user:

  • config/chroot_local-includes/etc/NetworkManager/dispatcher.d/20-time.sh: no link
  • config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready-notification.sh: no link
  • config/chroot_local-includes/usr/local/sbin/i2p-browser: no link
  • config/chroot_local-includes/usr/local/sbin/tails-i2p: no link (well, there are some URLs but they’re not formatted as links)
  • config/chroot_local-includes/usr/local/sbin/tails-spoof-mac
  • config/chroot_local-includes/usr/local/sbin/unsafe-browser: no link

Perl scripts using notify-send via config/chroot_local-includes/usr/local/sbin/tails-notify-user:

  • config/chroot_local-includes/usr/local/sbin/tails-restricted-network-detector

Python scripts using notify-send via config/chroot_local-includes/usr/local/sbin/tails-notify-user:

  • config/chroot_local-includes/usr/local/sbin/tails-additional-software: no link

#7 Updated by intrigeri 2015-03-08 12:40:11

  • Status changed from Confirmed to In Progress

#8 Updated by intrigeri 2015-03-08 23:38:09

  • % Done changed from 0 to 10

intrigeri wrote:
> Or, we can add support for actions in Desktop::Notify.

Done, patch submitted upstream. Took me one hour, much faster than rewriting all this code into Python / testing / dealing with regressions.

#9 Updated by intrigeri 2015-03-09 01:38:40

Applied in changeset commit:74eb681706213d888c2443284fa92aeacce0ba7b.

#10 Updated by intrigeri 2015-03-09 01:38:40

Applied in changeset commit:9c3c7ee37a3f00f2c11cb5caf8bae12c811815dc.

#11 Updated by intrigeri 2015-03-09 01:38:41

Applied in changeset commit:215c754bf9757712a098e8d807c066fc3e794e8f.

#12 Updated by intrigeri 2015-03-09 01:40:14

  • % Done changed from 10 to 20

#13 Updated by intrigeri 2015-03-09 01:41:09

Anyone wanting to take over or do their bit, please read the message for commit:a257e520382d96de9a00a2905794b3dd2cf93c84, that contains important implementation information.

#14 Updated by intrigeri 2015-03-30 08:59:13

Applied in changeset commit:0afc9fd4a3d7f1c2cce5905d895e726fc8ed17fc.

#15 Updated by intrigeri 2015-04-09 12:49:25

  • related to Bug #8897: The link to persistence documentation in tails-persistence-setup doesn't trigger any user-visible action added

#16 Updated by intrigeri 2015-04-09 12:50:17

That’s related to Bug #8897, that could also benefit from a session-wide service that can be triggered to opens URLs.

#17 Updated by intrigeri 2015-06-22 10:09:21

> Note that one cannot use dbus-send, since org.freedesktop.Notifications.Notify wants arguments of types (susssasa{sv}i), while dbus-send can only send (susssasa{ss}i).

Actually, busctl (shipped with systemd) might be able to do that.

#18 Updated by intrigeri 2015-08-02 08:58:45

  • Subject changed from Raw HTML is displayed in desktop notifications to Jessie: raw HTML is displayed in desktop notifications
  • Due date set to 2015-10-15
  • Target version changed from Tails_2.0 to Tails_1.6

#19 Updated by intrigeri 2015-08-02 08:59:06

  • blocks #8668 added

#20 Updated by intrigeri 2015-08-21 00:49:47

I’m told that the new GNotifications allow one to restart the process that has sent the notification in the first place, so that it can handle the action: this avoids having to leave it running forever in case the user clicks the action button.

#21 Updated by intrigeri 2015-09-18 09:44:10

  • Blueprint set to https://tails.boum.org/blueprint/GNotification/

I had a look to GNotification, will push my findings to a new blueprint.

#22 Updated by intrigeri 2015-09-22 12:17:16

  • Priority changed from Elevated to High
  • Target version changed from Tails_1.6 to Tails_1.7

#23 Updated by sajolida 2015-10-01 07:27:43

Note that this is due on October 15 which is actually before Tails 1.7.

#24 Updated by intrigeri 2015-10-05 13:11:01

Little chance I complete this by October 15, and even the end of the month is unlikely. Worst case it will be top-priority for my first Jessie sprint (starting on November 9). Note that a lot of this work has been done months ago already, so it’s not as if we were that bad.

#25 Updated by intrigeri 2015-11-01 04:11:15

  • Target version changed from Tails_1.7 to Tails_1.8

This will be one of my top priorities during the Tails/Jessie sprints I’ll have in November.

#26 Updated by intrigeri 2015-11-17 03:06:14

  • blocks Bug #8040: Update notification screenshots in the documentation for Jessie added

#27 Updated by intrigeri 2015-11-17 05:41:28

  • related to Bug #10559: MAC spoofing failure notification should point to the corresponding documentation added

#28 Updated by intrigeri 2015-11-17 06:30:39

  • Blueprint changed from https://tails.boum.org/blueprint/GNotification/ to https://tails.boum.org/blueprint/desktop_notifications/

#29 Updated by intrigeri 2015-11-17 07:38:39

  • Status changed from In Progress to Resolved
  • Assignee deleted (intrigeri)
  • % Done changed from 20 to 100