Opened 8 months ago

Closed 6 months ago

#27611 closed defect (fixed)

Restart Gecko after first-run

Reported by: sysrqb Owned by: tbb-team
Priority: Very High Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-mobile, tbb-torbutton, TBA-a2, TorBrowserTeam201811
Cc: igt0, gk Actual Points:
Parent ID: #24855 Points:
Reviewer: Sponsor: Sponsor8

Description

Currently, when TBA is first launched, it installs the extensions from the configured distribution. Torbutton requires a two-stage installation process because it is not a restartless addon.

Stage 1 is: copy the.xpi into a staging directory.

Stage 2 is: on restart, Gecko installs any extensions in the staging directory.

This is a bad UX for TBA users because they do not have the protections of torbutton on first-run, and the Security Settings menu option isn't available.

I think the easiest solution is simply restarting the Gecko thread after it fully initializes and installs the extensions. The user should be going through the Onboarding screens at that time, so they shouldn't notice Gecko restarting.

Child Tickets

Change History (8)

comment:1 Changed 8 months ago by sysrqb

Cc: igt0 gk added

comment:2 Changed 8 months ago by sysrqb

Unsurprisingly, this is not as easy as expected. My hope was we could use the built-in "Gecko:Ready" message which is dispatched after Gecko initializes. At that point, we could restart Gecko and complete the extension installation. However, there is a race condition here. The extensions are installed async so the Gecko:Ready message is sent before the extensions are fully installed.

We'll need a better method of detecting when the extension installation process is complete. I'll try a more naive solution now: on any dispatched message, check if there is a staged extension and restart Gecko if there is one.

Last edited 8 months ago by sysrqb (previous) (diff)

comment:3 Changed 8 months ago by mcs

I do not have all of the background on this problem, but a few months ago we talked about embedding the Torbutton files directly in the browser (instead of installing as an extension). Is that still a possibility, maybe something that could be done by taking the Torbutton XPI, unzipping it, and putting the files in the right place (probably not that simple, I know).

comment:4 Changed 8 months ago by gk

Keywords: TorBrowserTeam201810 added; TorBrowserTeam201809 removed

Moving tickets to October

comment:5 in reply to:  3 Changed 8 months ago by gk

Keywords: TBA-a2 added

Replying to mcs:

I do not have all of the background on this problem, but a few months ago we talked about embedding the Torbutton files directly in the browser (instead of installing as an extension). Is that still a possibility, maybe something that could be done by taking the Torbutton XPI, unzipping it, and putting the files in the right place (probably not that simple, I know).

Yes, we should fix this bug by including Torbutton directly into tor-browser.

comment:6 Changed 7 months ago by pili

Sponsor: Sponsor8

comment:7 Changed 7 months ago by gk

Keywords: TorBrowserTeam201811 added; TorBrowserTeam201810 removed

Moving our tickets to November.

comment:8 Changed 6 months ago by gk

Resolution: fixed
Status: newclosed

Fixed by commit fbccad5b7b28a975f2e9de73f8362fcf937db6aa on tor-browser-60.3.0esr-8.5-1 while working on #25013.

Note: See TracTickets for help on using tickets.