Skip to content
Snippets Groups Projects

Bug_41188: Wire up stages to UI

Merge Info

Issues

Resolves

Merging

Target Branches

  • tor-browser - !fixups to tor-browser-specific commits, new features, security backports
  • base-browser and mullvad-browser - !fixups to base-browser-specific commits, new features to be shared with mullvad-browser, and security backports
    • :warning: IMPORTANT: Please list the base-browser-specific commits which need to be cherry-picked to the base-browser and mullvad-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

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

Change Description

Major changes:

  1. Added TorAndroidIntegration plumbing for StartAgain and CountryNamesGet, and wired it up with the UI.
  2. Removed States
  3. Added Stages
  4. Added country names to countryDropDown.
  5. Added functionality for country names -> country codes used for autoBootstrapping.

Minor changes:

  1. Added additional logic to disable the connect button, added colors to support this
  2. Cleaned up the progress bar code for when it should be yellow.
  3. Renamed torIntegrationAndroid variable names with torAndroidIntegration.
  4. Refactored openTorConnectionSettings() to call another function that does almost the same thing to not repeat code.

New Screens!

image image image image image image image

How Tested

  1. Rebuild geckoview and run fenix.
  2. Verify bootstrap works as normal, without simulated censorship it should behave the same.
  3. (optional) rebase onto https://gitlab.torproject.org/clairehurst/tor-browser/-/tree/about_config_shortcut for the about:config shortcut
  4. 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).
  1. Attempt to bootstrap, trying to use "Share my location" and also specific countries
Edited by clairehurst

Merge request reports

Merge request pipeline #259861 passed

Merge request pipeline passed for 293696bb

Approved by

Merged by Dan BallardDan Ballard 1 month ago (Mar 20, 2025 1:03am UTC)

Merge details

  • Changes merged into tor-browser-128.8.0esr-14.5-1 with 293696bb.
  • Did not delete the source branch.

Pipeline #259865 passed

Pipeline: Translation

#259867

    Pipeline passed for 293696bb on tor-browser-128.8.0esr-14.5-1

    Activity

    Filter activity
    • Approvals
    • Assignees & reviewers
    • Comments (from bots)
    • Comments (from users)
    • Commits & branches
    • Edits
    • Labels
    • Lock status
    • Mentions
    • Merge request status
    • Tracking
    Please register or sign in to reply
    Loading