Bug_41188: Wire up stages to UI
Merge Info
Issues
Resolves
Merging
Target Branches
-
tor-browser
-!fixups
totor-browser
-specific commits, new features, security backports -
base-browser
andmullvad-browser
-!fixups
tobase-browser
-specific commits, new features to be shared withmullvad-browser
, and security backports-
⚠️ IMPORTANT: Please list thebase-browser
-specific commits which need to be cherry-picked to thebase-browser
andmullvad-browser
branches here
-
Target Channels
-
Alpha: esr128-14.5 -
Stable: esr128-14.0 -
Legacy: esr115-13.5
Backporting
Timeline
-
No Backport (preferred): patchset for the next major stable -
Immediate: patchset needed as soon as possible (fixes CVEs, 0-days, etc) -
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
(Optional) Justification
-
Security update: patchset contains a security fix (be sure to select the correct item in Timeline) -
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
Uplifting
-
Patchset is a candidate for uplift to Firefox
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) : jwilde, ma1
- fonts : pierov
- frontend (implementation) : henry
- frontend (review) : donuts, morgan
- localization : henry, pierov
- macOS : clairehurst, dan
- nightly builds : boklm
- rebases/release-prep : dan, ma1, pierov, morgan
- security : jwilde, ma1
- signing : boklm, morgan
- updater : pierov
- windows : jwilde, morgan
- misc/other : pierov, morgan
-
NOTE: if the MR modifies multiple areas, please
Change Description
Major changes:
- Added TorAndroidIntegration plumbing for StartAgain and CountryNamesGet, and wired it up with the UI.
- Removed States
- Added Stages
- Added country names to countryDropDown.
- Added functionality for country names -> country codes used for autoBootstrapping.
Minor changes:
- Added additional logic to disable the connect button, added colors to support this
- Cleaned up the progress bar code for when it should be yellow.
- Renamed torIntegrationAndroid variable names with torAndroidIntegration.
- Refactored openTorConnectionSettings() to call another function that does almost the same thing to not repeat code.
New Screens!
How Tested
- Rebuild geckoview and run fenix.
- Verify bootstrap works as normal, without simulated censorship it should behave the same.
- (optional) rebase onto https://gitlab.torproject.org/clairehurst/tor-browser/-/tree/about_config_shortcut for the about:config shortcut
- In about:config, create and set torbrowser.debug.censorship_level=1. To do that:
Go to "About Tor Browser" in Settings and tap the tor browser logo 5 times to enable the secret debug menu. Go back to the main settings screen and notice under "Connection" there is a new item to go to "about:config", tap it. This "about:config' shortcut is by default available in debug builds.
Then you add a new integer preference called torbrowser.debug.censorship_level, which can have these values:
0: No censorship simulation.
1: Normal bootstrap will artificially fail. Auto bootstrap will use the normal path.
2: Normal bootstrap will artificially fail. Auto bootstrap with "automatic" will fail and give a fake Moat response that chooses a specific region (so enter ConfirmRegion after ChooseRegion). Otherwise auto bootstrap will use the normal path.
3: Normal bootstrap and auto bootstrap will artificially fail. The Moat response cannot find a region (so enter RegionNotFound after ChooseRegion).
- Attempt to bootstrap, trying to use "Share my location" and also specific countries
Edited by clairehurst