The Tor Project issueshttps://gitlab.torproject.org/groups/tpo/-/issues2023-11-02T18:49:34Zhttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41376Update howto/postgresql recovery procedure2023-11-02T18:49:34ZJérôme Charaouilavamind@torproject.orgUpdate howto/postgresql recovery procedureThe current recovery steps in the wiki don't work for PostgreSQL version 12 and later.
This is because `recovery.conf` in the database directory is no longer supported. The `restore_command` config must be placed in `postgresql.conf`.
...The current recovery steps in the wiki don't work for PostgreSQL version 12 and later.
This is because `recovery.conf` in the database directory is no longer supported. The `restore_command` config must be placed in `postgresql.conf`.
```
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-1] LOG: starting PostgreSQL 15.3 (Debian 15.3-0+deb12u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-2] LOG: listening on IPv4 address "0.0.0.0", port 5432 Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-3] LOG: listening on IPv6 address "::", port 5432
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-4] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30568-1] LOG: database system was interrupted; last known up at 2023-11-01 18:52:52 UTC
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30568-2] FATAL: using recovery command file "recovery.conf" is not supported
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-5] LOG: startup process (PID 30568) exited with exit code 1
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-6] LOG: aborting startup due to startup process failure
Nov 01 22:25:43 rude postgresql@15-main[30560]: 2023-11-01 22:25:43 UTC [30565-7] LOG: database system is shut down
```
From the [12.0 release notes](https://www.postgresql.org/docs/release/12.0/):
> recovery.conf is no longer used, and the server will not start if that file exists. recovery.signal and standby.signal files are now used to switch into non-primary mode.
In addition, after adding the restore directive, a `restore.signal` file must be create din the database directory to trigger the recovery process.
```
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-1] LOG: starting PostgreSQL 15.3 (Debian 15.3-0+deb12u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-2] LOG: listening on IPv4 address "0.0.0.0", port 5432
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-3] LOG: listening on IPv6 address "::", port 5432
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-4] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31206-1] LOG: database system was interrupted; last known up at 2023-11-01 18:52:52 UTC
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31206-2] LOG: invalid checkpoint record
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31206-3] FATAL: could not locate required checkpoint record
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31206-4] HINT: If you are restoring from a backup, touch "/var/lib/postgresql/15/main/recovery.signal" and add required recovery options.
Nov 01 22:33:31 rude postgresql@15-main[31198]: If you are not restoring from a backup, try removing the file "/var/lib/postgresql/15/main/backup_label".
Nov 01 22:33:31 rude postgresql@15-main[31198]: Be careful: removing "/var/lib/postgresql/15/main/backup_label" will result in a corrupt cluster if restoring from a backup.
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-5] LOG: startup process (PID 31206) exited with exit code 1
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-6] LOG: aborting startup due to startup process failure
Nov 01 22:33:31 rude postgresql@15-main[31198]: 2023-11-01 22:33:31 UTC [31203-7] LOG: database system is shut down
```Debian 12 bookworm upgradeJérôme Charaouilavamind@torproject.orgJérôme Charaouilavamind@torproject.orghttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/41004Auto-build Tor + Mullvad Browsers on tag push2023-11-06T23:11:00ZrichardAuto-build Tor + Mullvad Browsers on tag pushWe chatted briefly last week about Mullvad somehow auto-building our browsers on tag push.
We would like to bring Mullvad into the build release verification process (eg as another builder) to give users further confidence that devs ar...We chatted briefly last week about Mullvad somehow auto-building our browsers on tag push.
We would like to bring Mullvad into the build release verification process (eg as another builder) to give users further confidence that devs are not collaborating to sneak malicious code into the build.
/cc @ruihildtjbjorkangjbjorkanghttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/41001Create Release Prep MR generating script2023-11-06T23:10:47ZrichardCreate Release Prep MR generating scriptOur release process is a giant checklist living in a gitlab template which, while nice and organized and cool, could be partially automated. The things we've enumerated include:
- [ ] translation hash updates
- [ ] dependency checking a...Our release process is a giant checklist living in a gitlab template which, while nice and organized and cool, could be partially automated. The things we've enumerated include:
- [ ] translation hash updates
- [ ] dependency checking and config updating for:
- [ ] noscript
- [ ] ublock
- [ ] mullvad extension
- [ ] openssl
- [ ] zlib
- [ ] tor
- [ ] go
- [ ] manual
- [ ] tor-browser
- [ ] geckoview
- [ ] *improved* changelog generation (eg include esr/geckoview updates, etc)
- [ ] qa + release emails
- [ ] website MR
- [ ] blog MRrichardrichardhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42222Fix TorDomainIsolator initialization on Android2023-11-06T20:47:38ZPier Angelo VendrameFix TorDomainIsolator initialization on AndroidIn TBA 13.0aX and 13.0.X (until 13.0.2) the domain isolator is not being initialized incorrectly.
It seems the `TorStartupService` isn't being loaded (even though I'm quite sure it looks like exactly the one we had in Torbutton).
I don...In TBA 13.0aX and 13.0.X (until 13.0.2) the domain isolator is not being initialized incorrectly.
It seems the `TorStartupService` isn't being loaded (even though I'm quite sure it looks like exactly the one we had in Torbutton).
I don't know if it's due to the XPCOM changes that happened between 102 and 115, or if it's just because of the various refactors.
Since we don't have a circuit display, the only way to notice this is going to different sites that show the IP address, and notice that they have the same one, but we'd expect them to be isolated.
Some Tor-friendly ones are:
- https://check.torproject.org/
- https://www.wtfismyip.com/
- https://myip.wtf/ (same as the previous one, but different FP domain for TBB :smile:)
- https://mullvad.net/en/check
When we finally start working on tests we should also have a test that checks circuit FPI.Pier Angelo VendramePier Angelo Vendramehttps://gitlab.torproject.org/tpo/anti-censorship/lox/-/issues/35Create a telegram distributor for open invitations with rate limiting through...2024-01-08T15:49:44ZonyinyangCreate a telegram distributor for open invitations with rate limiting through the age of accountsFrom the [Lox Roadmap](https://gitlab.torproject.org/tpo/anti-censorship/lox-rs/-/wikis/Lox-Roadmap) we want a telegram bot that can be used to request Lox open invitations.From the [Lox Roadmap](https://gitlab.torproject.org/tpo/anti-censorship/lox-rs/-/wikis/Lox-Roadmap) we want a telegram bot that can be used to request Lox open invitations.onyinyangonyinyanghttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40998Prepare Mullvad Browser Alpha 13.5a22023-11-28T18:09:51ZrichardPrepare Mullvad Browser Alpha 13.5a2<details>
<summary>Explanation of variables</summary>
- `$(BUILD_SERVER)` : the server the main builder is using to build a mullvad-browser release
- `$(BUILDER)` : whomever is building the release on the $(BUILD_SERVER)
- **example...<details>
<summary>Explanation of variables</summary>
- `$(BUILD_SERVER)` : the server the main builder is using to build a mullvad-browser release
- `$(BUILDER)` : whomever is building the release on the $(BUILD_SERVER)
- **example** : `pierov`
- `$(STAGING_SERVER)` : the server the signer is using to to run the signing process
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building mullvad-browser tags, labels, etc
- **example** : `91.6.0`
- `$(MULLVAD_BROWSER_MAJOR)` : the Mullvad Browser major version
- **example** : `11`
- `$(MULLVAD_BROWSER_MINOR)` : the Mullvad Browser minor version
- **example** : either `0` or `5`; Alpha's is always `(Stable + 5) % 10`
- `$(MULLVAD_BROWSER_VERSION)` : the Mullvad Browser version in the format
- **example** : `12.5a3`, `12.0.3`
- `$(BUILD_N)` : a project's build revision within a its branch; this is separate from the `$(MULLVAD_BROWSER_BUILD_N)` value; many of the Firefox-related projects have a `$(BUILD_N)` suffix and may differ between projects even when they contribute to the same build.
- **example** : `build1`
- `$(MULLVAD_BROWSER_BUILD_N)` : the mullvad-browser build revision for a given Mullvad Browser release; used in tagging git commits
- **example** : `build2`
- **NOTE** : A project's `$(BUILD_N)` and `$(MULLVAD_BROWSER_BUILD_N)` may be the same, but it is possible for them to diverge. For **example** :
- if we have multiple Mullvad Browser releases on a given ESR branch the two will become out of sync as the `$(BUILD_N)` value will increase, while the `$(MULLVAD_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(MULLVAD_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `mullvad-browser`, the `$(MULLVAD_BROWSER_BUILD_N)` value will increase while the `$(BUILD_N)` will stay the same.
- `$(MULLVAD_BROWSER_VERSION)` : the published Mullvad Browser version
- **example** : `11.5a6`, `11.0.7`
- `$(MB_BUILD_TAG)` : the `tor-browser-build` build tag used to build a given Mullvad Browser version
- **example** : `mb-12.0.7-build1`
</details>
**NOTE** It is assumed that the `tor-browser` alpha rebase and security backport tasks have been completed
**NOTE** This can/is often done in conjunction with the equivalent Tor Browser release prep issue
<details>
<summary>Building</summary>
### tor-browser-build: https://gitlab.torproject.org/tpo/applications/tor-browser-build.git
Mullvad Browser Alpha (and Nightly) are on the `main` branch
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(MULLVAD_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous Desktop version
- **NOTE**: We try to build incrementals for the previous 3 desktop versions except in the case of a watershed update
- **IMPORTANT**: Really *actually* make sure this is the previous Desktop version or else the `make mullvadbrowser-incrementals-*` step will fail
- [x] Update build configs
- [x] Update `projects/firefox/config`
- [x] `browser_build` : update to match `mullvad-browser` tag
- [ ] ***(Optional)*** `var/firefox_platform_version` : update to latest `$(ESR_VERSION)` if rebased
- [x] Update `projects/translation/config`:
- [x] run `make list_translation_updates-alpha` to get updated hashes
- [x] `steps/base-browser/git_hash` : update with `HEAD` commit of project's `base-browser` branch
- [ ] `steps/mullvad-browser/git_hash` : update with `HEAD` commit of project's `mullvad-browser` branch
- [x] Update common build configs
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [ ] ***(Optional)*** If new version available, update `noscript` section of `input_files` in `projects/browser/config`
- [ ] `URL`
- [ ] `sha256sum`
- [x] Check for uBlock-origin updates here : https://addons.mozilla.org/en-US/firefox/addon/ublock-origin/
- [x] ***(Optional)*** If new version available, update `ublock-origin` section of `input_files` in `projects/browser/config`
- [x] `URL`
- [x] `sha256sum`
- [x] Check for Mullvad Privacy Companion updates here : https://github.com/mullvad/browser-extension/releases
- [ ] ***(Optional)*** If new version available, update `mullvad-extension` section of `input_files` in `projects/browser/config`
- [ ] `URL`
- [ ] `sha256sum`
- [x] Update `ChangeLog-MB.txt`
- [x] Ensure ChangeLog-MB.txt is sync'd between alpha and stable branches
- [x] Check the linked issues: ask people to check if any are missing, remove the not fixed ones
- [x] Run `tools/fetch-changelogs.py $(TOR_BROWSER_VERSION)` or `tools/fetch-changelogs.py '#$(ISSUE_NUMBER)'`
- Make sure you have `requests` installed (e.g., `apt install python3-requests`)
- The first time you run this script you will need to generate an access token; the script will guide you
- [x] Copy the output of the script to the beginning of `ChangeLog-MB.txt` and update its output
- [x] Version
- [x] Browser Name
- [x] Release Date
- [x] Under `All Platforms` include any version updates for:
- NoScript
- uBlock-origin
- Mullvad Browser Extension
- Firefox
- [x] Open MR with above changes
- [x] Build the MR after initial review on at least two of:
- [x] Tor Project build machine
- [ ] Mullvad build machine
- [x] Local developer machine
- [x] Ensure builders have matching builds
- [x] Merge
- [x] Sign+Tag
- **NOTE** this must be done by one of:
- boklm
- dan
- ma1
- pierov
- richard
- [x] Run: `make mullvadbrowser-signtag-alpha`
- [x] Push tag to `origin`
</details>
<details>
<summary>QA</summary>
### send the build
- [ ] Email Mullvad QA: support@mullvad.net, rui@mullvad.net
<details>
<summary>email template</summary>
Subject:
New build: Mullvad Browser $(MULLVAD_BROWSER_VERION) (unsigned)
Body:
unsigned builds: https://tb-build-05.torproject.org/~$(BUILDER)/builds/mullvadbrowser/alpha/unsigned/$(MB_BUILD_TAG)
changelog:
...
</details>
- ***(Optional)*** Add additional information:
- [ ] Note any new functionality which needs testing
- [ ] Link to any known issues
</details>
<details>
<summary>Signing</summary>
### signing
- [x] Assign this issue to the signer, one of:
- boklm
- richard
- [x] On `$(STAGING_SERVER)`, ensure updated:
- [x] `tor-browser-build/tools/signing/set-config.hosts`
- `ssh_host_builder` : ssh hostname of machine with unsigned builds
- **NOTE** : `tor-browser-build` is expected to be in the `$HOME` directory)
- `ssh_host_linux_signer` : ssh hostname of linux signing machine
- [x] `tor-browser-build/tools/signing/set-config.rcodesign-appstoreconnect`
- `appstoreconnect_api_key_path` : path to json file containing appstoreconnect api key infos
- [x] `set-config.update-responses`
- `update_responses_repository_dir` : directory where you cloned `git@gitlab.torproject.org:tpo/applications/mullvad-browser-update-responses.git`
- [x] `tor-browser-build/tools/signing/set-config.tbb-version`
- `tbb_version` : mullvad browser version string, same as `var/torbrowser_version` in `rbm.conf` (examples: `11.5a12`, `11.0.13`)
- `tbb_version_build` : the tor-browser-build build number (if `var/torbrowser_build` in `rbm.conf` is `buildN` then this value is `N`)
- `tbb_version_type` : either `alpha` for alpha releases or `release` for stable releases
- [x] On `$(STAGING_SERVER)` in a separate `screen` session, ensure tor daemon is running with SOCKS5 proxy on the default port 9050
- [x] run do-all-signing script:
- `cd tor-browser-build/tools/signing/`
- `./do-all-signing.mullvadbrowser`
- **NOTE**: at this point the signed binaries should have been copied to `staticiforme`
- [x] Update `staticiforme.torproject.org`:
- From `screen` session on `staticiforme.torproject.org`:
- [x] Static update components : `static-update-component dist.torproject.org`
- [x] Remove old release data from `/srv/dist-master.torproject.org/htdocs/mullvadbrowser`
- [x] Static update components (again) : `static-update-component dist.torproject.org`
</details>
<details>
<summary>Publishing</summary>
### mullvad-browser (github): https://github.com/mullvad/mullvad-browser/
- [x] Assign this issue to someone with mullvad commit access, one of:
- richard
- [x] Push this release's associated `mullvad-browser.git` branch to github
- [x] Push this release's associated tags to github:
- [x] Firefox ESR tag
- **example** : `FIREFOX_102_12_0esr_BUILD1,`
- [x] `base-browser` tag
- **example** : `base-browser-102.12.0esr-12.0-1-build1`
- [x] `mullvad-browser` tag
- **example** : `mullvad-browser-102.12.0esr-12.0-1-build1`
- [x] Sign+Tag additionally the `mullvad-browser.git` `firefox` commit used in build:
- **Tag**: `$(MULLVAD_BROWSER_VERSION)`
- **example** : `12.5a7`
- **Message**: `$(ESR_VERSION)esr-based $(MULLVAD_BROWSER_VERSION)`
- **example** : `102.12.0esr-based 12.5a7`
- [x] Push tag to github
### email
- [x] Email Mullvad with release information: support@mullvad.net, rui@mullvad.net
<details>
<summary>email template</summary>
Subject:
New build: Mullvad Browser $(MULLVAD_BROWSER_VERION) (signed)
Body:
signed builds: https://dist.torproject.org/mullvadbrowser/$(MULLVAD_BROWSER_VERSION)
update_response hashes: $(MULLVAD_UPDATE_RESPONSES_HASH)
changelog:
...
</details>
</details>
<details>
<summary>Downstream</summary>
### notify packagers
- [ ] **(Optional, Once Mullvad Updates their Github Releases Page)** Email downstream consumers:
- **NOTE**: This is an optional step and only necessary close a major release/transition from alpha to stable, or if there are major packing changes these developers need to be aware of
<details>
<summary>email template</summary>
Hello!
Mullvad-Browser $(MULLVAD_BROWSER_VERSION) packages are available, so you should all update your respective downstream packages.
Release builds can be found here:
- https://github.com/mullvad/mullvad-browser/releases/tag/$(MULLVAD_BROWSER_VERSION)
</details>
- flathub package maintainer: proletarius101@protonmail.com
- arch package maintainer: bootctl@gmail.com
- nixOS package maintainer: dev@felschr.com
</details>richardrichardhttps://gitlab.torproject.org/tpo/community/support/-/issues/40129Update Forum guide:"Tor blocked in Russia - how to circumvent censorship"2023-11-04T02:03:55ZGusUpdate Forum guide:"Tor blocked in Russia - how to circumvent censorship"Let's review and update the Forum guide "Tor blocked in Russia - how to circumvent censorship".
https://forum.torproject.org/t/tor-blocked-in-russia-how-to-circumvent-censorship/982Let's review and update the Forum guide "Tor blocked in Russia - how to circumvent censorship".
https://forum.torproject.org/t/tor-blocked-in-russia-how-to-circumvent-censorship/982ninaninahttps://gitlab.torproject.org/tpo/community/hackweek/-/issues/29Document how to verify reproducibility of build of a mullvad/tor browser release2023-11-30T16:16:39ZboklmDocument how to verify reproducibility of build of a mullvad/tor browser release# About the project
* Contact: @boklm
* Chat: #tor-browser-dev on `irc.oftc.net`
* Video room: no
# Participants
- @boklm
# Summary
I think many users don't know that our builds are reproducible, or how they can rebuild to verify...# About the project
* Contact: @boklm
* Chat: #tor-browser-dev on `irc.oftc.net`
* Video room: no
# Participants
- @boklm
# Summary
I think many users don't know that our builds are reproducible, or how they can rebuild to verify that they get a matching build.
We could generate a `reproducible-build.txt` file in the release directory containing the following informations:
* which git repository to clone
* which commit to checkout
* which command to use to start the build
* which sha256sums to expect after the build finished
* how to remove embedded signatures from exe and mar files we publish to check that they match the unsigned build
# Skills
Need to know how to build Tor Browser.
# Links
* tpo/applications/tor-browser-build#40997Hackweek 2023boklmboklmhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42214Fluent migration: security level2024-03-26T20:59:30ZhenryFluent migration: security levelMigrate "securityLevel.properties" to Fluent.Migrate "securityLevel.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42211Fluent migration: new identity2024-03-21T09:57:00ZhenryFluent migration: new identityMigrate "newIdentity.properties" to Fluent.Migrate "newIdentity.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42210Fluent migration: download warning2024-03-13T17:47:04ZhenryFluent migration: download warningMigrate download warning found in "torbutton.properties" to Fluent.Migrate download warning found in "torbutton.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42209Fluent migration: tor circuit2024-03-26T13:41:53ZhenryFluent migration: tor circuitMigrate tor circuit strings found in "torbutton.dtd" and "torbutton.properties" to Fluent.Migrate tor circuit strings found in "torbutton.dtd" and "torbutton.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/tpa/team/-/issues/41373please update my key in the TPA keyring2023-11-07T15:39:49Ziwakehplease update my key in the TPA keyringMy key is available here:
https://keys.openpgp.org/search?q=iwakeh%40torproject.org
or
https://pgp.mit.edu/pks/lookup?search=iwakeh%40torproject.org&op=index
Many thanks,
iwakehMy key is available here:
https://keys.openpgp.org/search?q=iwakeh%40torproject.org
or
https://pgp.mit.edu/pks/lookup?search=iwakeh%40torproject.org&op=index
Many thanks,
iwakehanarcatanarcathttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42207Fluent migration: preferences2024-03-13T18:15:51ZhenryFluent migration: preferencesMigrate "settings.properties" to Fluent.Migrate "settings.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42206Fluent migration: about:rulesets2024-03-13T17:46:56ZhenryFluent migration: about:rulesetsMigrate "rulesets.properties" to Fluent.Migrate "rulesets.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42205Fluent migration: onion location2024-03-13T17:46:38ZhenryFluent migration: onion locationMigrate "onionLocation.properties" to Fluent.
Maybe also change the wording to address https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41655Migrate "onionLocation.properties" to Fluent.
Maybe also change the wording to address https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41655henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42203Fluent migration: about dialog2024-03-21T13:33:26ZhenryFluent migration: about dialogMigrate "aboutDialog.dtd" to Fluent.Migrate "aboutDialog.dtd" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42202Fluent migration: crypto safety2024-03-27T18:31:26ZhenryFluent migration: crypto safetyMigrate "cryptoSafetyPrompt.properties" to Fluent.Migrate "cryptoSafetyPrompt.properties" to Fluent.henryhenryhttps://gitlab.torproject.org/tpo/web/manual/-/issues/152Add front desk and cdr.link office hours2024-02-26T17:00:16ZGusAdd front desk and cdr.link office hourshttps://forum.torproject.org/t/psa-updated-tor-user-support-office-hours-2023/9926https://forum.torproject.org/t/psa-updated-tor-user-support-office-hours-2023/9926ebanamebanam@torproject.orgebanamebanam@torproject.orghttps://gitlab.torproject.org/tpo/team/-/issues/228October report for s1452023-11-27T12:14:33ZGabagaba@torproject.orgOctober report for s145