Bug #16603

Buggy and confusing UI in the "Upgrading the system" dialog

Added by xin 2019-03-21 18:30:21 . Updated 2020-01-25 12:43:55 .

Status:
Resolved
Priority:
Elevated
Assignee:
intrigeri
Category:
Target version:
Start date:
2019-03-21
Due date:
% Done:

100%

Feature Branch:
bugfix/16603-fix-upgrader-dialog
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Upgrader
Deliverable for:

Description

I encounter a problem in the Upgrader with the message:
“Upgrading the system
Your Tails device is being upgraded…
For security reasons, the networking is now disabled.
[static progression bar all in blue]
[validation button]”

- If I validate, the window disappear and I have no feedback until the upgrade is complete.

- The progression bar doesn’t work.


Files

3.12.png (17645 B) intrigeri, 2019-03-23 08:35:52
3.12.1.png (17221 B) intrigeri, 2019-03-23 08:57:18

Subtasks


Related issues

Related to Tails - Feature #17312: Prevent users from closing Tails Upgrader while an upgrade is being applied Confirmed
Related to Tails - Feature #14544: Spend software developer time on smallish UX improvements In Progress 2018-08-31
Has duplicate Tails - Feature #17314: Add progress bar while applying upgrades Duplicate
Blocks Tails - Feature #16209: Core work: Foundations Team Confirmed

History

#1 Updated by intrigeri 2019-03-23 08:13:09

#2 Updated by intrigeri 2019-03-23 10:05:16

I’ve tested this while upgrading from 3.12, 3.12.1 and 3.13 to 3.13.1 (following the instructions we have in our manual test suite, i.e. run tails-upgrade-frontend-wrapper manually from a Terminal): the progress bar does pulsate and the “OK” button is disabled (I can’t click it). But I can press “Esc”, which closes this dialog and results in the confusing UX you’ve described. Note that in this test environment (libvirt, KVM, virtio GPU with 3d acceleration enabled) the download progress bar works fine. Same when I do the same test in a session started in French (3.13→3.13.1).

Then I’ve retried something that should be closer to what you did, i.e. letting the Upgrader start by itself, without following our manual test suite instructions:

  • Upgrading from 3.12.1 to 3.13, in a session started in French, on a ThinkPad X200:
    • The download progress bar remains stuck at 0% during the whole download; it might be caused by a graphics driver problem which made GNOME disable animations
    • I reproduce exactly what you’ve reported: the progress bar in the dialog you’re referring to does not pulsate and I see a “Valider” button that looks enabled.
  • Upgrading from 3.12.1 to 3.13, in a session started in French, in the same libvirt+KVM VM as above:
    • The download progress bar works as expected.
    • I reproduce exactly what you’ve reported: the progress bar in the dialog you’re referring to does not pulsate and I see a “Valider” button that looks enabled.

It seems that the language of the session does not impact results, but how one starts the Upgrader does.

So I’ve retried 3.13→3.13.1 in the same VM as above, manually editing /etc/os-release but then starting the Upgrader with systemctl --user restart tails-upgrade-frontend.service, i.e. just like it would in a normal system. Turns out the download progress bar is stuck to 0%, the progress bar you were talking about does not pulsate, and the “OK” button is enabled.

So, first of all I’ve updated our manual test suite so we can see the problem when we’re following its instructions; when I work on this code I follow these instructions so it should help me notice such bugs. Our automated test suite still does things in the old way and thus still hides problems, but well.

FTR, the last time we directly updated this code was in 3.11 (Feature #15282), when we made the dialog we’re discussing here display again, while it had not been there at all for a couple years due to a bug.

Next step: find out what differs between the runtime environments of running tails-upgrade-frontend-wrapper by hand vs. systemctl --user restart tails-upgrade-frontend.service.

#3 Updated by intrigeri 2019-03-23 11:02:06

> Next step: find out what differs between the runtime environments of running tails-upgrade-frontend-wrapper by hand vs. systemctl --user restart tails-upgrade-frontend.service.

Turns out they almost don’t differ wrt. environment variables (which suggests that config/chroot_local-includes/usr/local/lib/start-systemd-desktop-target is useless: even variables we explicitly filter out there end up in the environment of systemd --user).

I see no other obvious explanation so this will need more thinking/research/tests. Not sure I can do that during the 3.14 dev cycle.

#4 Updated by intrigeri 2019-03-23 13:25:00

  • Status changed from In Progress to Confirmed

#5 Updated by intrigeri 2019-05-02 17:18:51

  • Subject changed from Problem with a message in the Upgrader to Buggy and confusing UI in the "Upgrading the system" dialog

#6 Updated by intrigeri 2019-05-02 17:22:21

  • Target version changed from Tails_3.14 to Tails_3.15

I’ll prioritize this depending on Bug #14754#note-60: if Bug #14754 still causes too much trouble, I’ll put and and this very ticket on the FT’s plate.

#7 Updated by intrigeri 2019-06-08 17:53:48

#8 Updated by intrigeri 2019-06-08 17:55:31

intrigeri wrote:
> I’ll prioritize this depending on Bug #14754#note-60: if Bug #14754 still causes too much trouble, I’ll put and and this very ticket on the FT’s plate.

I’ll stop waiting for Help Desk on this one and will assume this is the main remaining cause for Bug #14754.

#9 Updated by intrigeri 2019-06-08 18:14:37

  • Target version changed from Tails_3.15 to Tails_3.16

#10 Updated by intrigeri 2019-08-26 08:15:40

  • Target version changed from Tails_3.16 to Tails_3.17

#11 Updated by intrigeri 2019-09-04 07:55:09

intrigeri wrote:
> * Upgrading from 3.12.1 to 3.13, in a session started in French, in the same libvirt+KVM VM as above:
> The download progress bar works as expected.
> I reproduce exactly what you’ve reported: the progress bar in the dialog you’re referring to does not pulsate and I see a “Valider” button that looks enabled.

Same in English while upgrading from 4.0~beta1 to 4.0~beta2.

#12 Updated by intrigeri 2019-09-12 14:25:18

  • Target version changed from Tails_3.17 to Tails_4.0

#13 Updated by intrigeri 2019-09-19 10:38:38

  • Assignee deleted (intrigeri)
  • Priority changed from Normal to Elevated
  • Target version deleted (Tails_4.0)

The next step documented in Bug #16603#note-2 can be done by any FT member. I doubt I’ll have time to work on this for 4.0.

#14 Updated by intrigeri 2019-12-05 19:50:31

  • has duplicate Feature #17314: Add progress bar while applying upgrades added

#15 Updated by intrigeri 2019-12-05 19:53:19

  • related to Feature #17312: Prevent users from closing Tails Upgrader while an upgrade is being applied added

#16 Updated by sajolida 2019-12-07 12:38:13

  • related to Feature #14544: Spend software developer time on smallish UX improvements added

#17 Updated by segfault 2020-01-19 19:49:12

  • Assignee set to segfault
  • Target version set to Tails_4.3

#18 Updated by segfault 2020-01-19 19:57:00

  • Status changed from Confirmed to In Progress

Applied in changeset commit:tails|dc0304f033f18f88c1da4f8e21e69f506051f9d2.

#19 Updated by segfault 2020-01-19 19:57:17

  • Status changed from In Progress to Needs Validation
  • Assignee deleted (segfault)
  • Feature Branch set to bugfix/16603-fix-upgrader-dialog

#20 Updated by segfault 2020-01-19 20:00:44

> Next step: find out what differs between the runtime environments of running tails-upgrade-frontend-wrapper by hand vs. systemctl —user restart tails-upgrade-frontend.service.

What differs is that the systemd service doesn’t give zenity a stdin, which causes zenity to set the progress to 100% and enable the OK button.

#21 Updated by intrigeri 2020-01-25 12:15:01

  • Assignee set to intrigeri

Good catch! :)

#22 Updated by intrigeri 2020-01-25 12:43:55

  • Status changed from Needs Validation to Resolved
  • % Done changed from 0 to 100

Applied in changeset commit:tails|85de3d217234d5b974c5d48f47e2d7eb0f23928e.