Bug 42384: Fix quickstart not working anymore
Merge Info
Related Issues
- #42384 (closed)
- mullvad-browser#xxxxx
- tor-browser-build#xxxxx
Backporting
Timeline
-
Immediate: patchset needed as soon as possible -
Next Minor Stable Release: patchset that needs to be verified in nightly before backport -
Eventually: patchset that needs to be verified in alpha before backport -
No Backport (preferred): patchset for the next major stable
(Optional) Justification
-
Emergency security update: patchset fixes CVEs, 0-days, etc -
Censorship event: patchset enables censorship circumvention -
Critical bug-fix: patchset fixes a bug in core-functionality -
Consistency: patchset which would make development easier if it were in both the alpha and release branches; developer tools, build system changes, etc -
Sponsor required: patchset required for sponsor -
Localization: typos and other localization changes that should be also in the release branch -
Other: please explain
Merging
-
Merge to tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
Merge to base-browser
-!fixups
tobase-browser
-specific commits, new features to be shared withmullvad-browser
, and security backports-
NOTE: if your changeset includes patches to both
base-browser
andtor-browser
please clearly label in the change description which commits should be cherry-picked tobase-browser
after merging
-
NOTE: if your changeset includes patches to both
Issue Tracking
-
Link resolved issues with appropriate Release Prep issue for changelog generation
Review
Request Reviewer
-
Request review from an applications developer depending on modified system: -
NOTE: if the MR modifies multiple areas, please
/cc
all the relevant reviewers (since gitlab only allows 1 reviewer) - accessibility : henry
- android : clairehurst, @dan
- build system : boklm
- extensions : ma1
- firefox internals (XUL/JS/XPCOM) : ma1
- fonts : pierov
- frontend (implementation) : henry
- frontend (review) : donuts, richard
- localization : henry, pierov
- macos : clairehurst, dan
- nightly builds : boklm
- rebases/release-prep : dan, ma1, pierov, richard
- security : ma1
- signing : boklm, richard
- updater : pierov
- misc/other : pierov, richard
-
NOTE: if the MR modifies multiple areas, please
Change Description
Claire noticed the quickstart is broken on Android, and I've discovered it's broken also on desktop.
The problem is that TorConnect doesn't receive the TorSettingsTopics.Ready
because it's emitted before TorConnect
can start observing it.
However, a while ago we added an initialization promise to TorSettings, so that any consumer can know when it's actually ready without having to rely on Service.obs
(we also have a boolean, in case you can't do it that asynchronously, but the promise is the preferred way).
So, we can use that instead of the notification for quickstart.
Longer term, we should rework everything in a better way.
While investigating this problem, I also realized that updating quickstart on the GeckoView start doesn't update Android's cached mSettings
(sigh, synchronization
I've included it in this branch because I thought it was the cause, but it isn't actually too related, so I can open another MR for that, if needed.
How Tested
Desktop: checked that quickstart is fixed after this.
Android: checked that we don't have crashes or strange error messages when changing quickstart (but I didn't investigate more deeply, e.g., by logging that we're updating TorSettings).