The Tor Project issueshttps://gitlab.torproject.org/groups/tpo/-/issues2024-03-26T17:22:26Zhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42480Use translation CI in android2024-03-26T17:22:26ZhenryUse translation CI in androidhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42305 added some CI for automatically moving strings from `tor-browser` (desktop) to the translation repository.
The CI and bot seem to be working well, so I think we c...https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42305 added some CI for automatically moving strings from `tor-browser` (desktop) to the translation repository.
The CI and bot seem to be working well, so I think we can do the same in android.
/cc @pierov @dan @clairehursthenryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42471Add merge requst CI for checking our fixups2024-03-25T13:39:42ZhenryAdd merge requst CI for checking our fixupsOne of the things that is easy to get wrong during a merge request is making sure all of your changes target the correct commit with a `fixup!`.
We could add a merge request CI to provide some checking.
How should we determine what is ...One of the things that is easy to get wrong during a merge request is making sure all of your changes target the correct commit with a `fixup!`.
We could add a merge request CI to provide some checking.
How should we determine what is an ok target? My initial thoughts would be:
+ If the commit edits, deletes or renames an existing non-mozilla file, then it should target the commit that last touched it.
+ Note, if this commit is also a `!fixup` we strip them to get to the "first" target in this chain.
+ This should work with renames.
+ If the commit adds a new file to a non-mozilla directory, then it should target the commit that last touched the directory.
+ This should capture adding new assets.
+ The directory would be the closest ancestor that existed before the commit. E.g. if we have existing `dirA/dirB` and we add `dirA/dirB/dirC/file`, it would be `dirA/dirB`. This would allow you to add a new directory.
+ If the commit edits a mozilla file for the *first time*, there is no restriction from this file.
+ In this case, I can't think of a way to determine what a correct or incorrect target would be.
+ Maybe we could generate a warning instead? Not sure yet what gitlab allows, or whether we would need a bot account.
+ In this case the commit could be a non-fixup.
+ If the commit edits a mozilla file, that has been edited before, then it should target *one* of the commits that also edits it.
+ Possible false passes: if we have two existing commits that target the same file, but for different reasons, then it would not determine which of these is correct. E.g. `browser/base/content/appmenu-viewcache.inc.xhtml`.
+ Possible false failures: if we are editing a file for some other purpose.
+ If the commits adds a new file to a mozilla directory, then it should target *one* of the commits that also edits it, or be a non-fixup.
+ Similar consequences to the previous case.
Anyone have any suggestions to alter these conditions?
Are there any merge requests where you would not want this to run?
/cc @pierov @ma1 @clairehurst @dan @richardhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42470Add merge request CI for linting2024-03-25T09:00:46ZhenryAdd merge request CI for lintingThere has been some talk of using gitlab CI to automatically lint test merge requests.
I wouldn't mind putting this together, using the existing `tb-dev` script to do some lint checking.
But there are a few things to figure out:
+ Git...There has been some talk of using gitlab CI to automatically lint test merge requests.
I wouldn't mind putting this together, using the existing `tb-dev` script to do some lint checking.
But there are a few things to figure out:
+ Gitlab runs the script in a container, so we would need a way to set up the environment so that `./mach lint` would run. Gitlab also allows caching of files between runs, so we should figure out which files can be cached to speed up the set up.
+ What lints do we *not* want? "license" and "android-*", but anything else?
+ Sometimes the linter needs to pull in updates before it starts, but then fails to lint. How do we avoid this?
+ Which files should we check by default? I'm guessing only the files that have some change in the given merge request.
+ Any files that should always be excluded?
+ We want the linter to run for our own files, but what about when we modify a mozilla-central file?
+ We need to get the linter happy with our current code!
+ Do we want it to run automatically with each push, or only manually?
+ If you want to target the next ESR branch, you have to do two separate things: 1 rebase to the new branch and push, and 2 change the branch target in the merge request. There is a window of time between these two operations where gitlab thinks you are adding a very large number of commits, and these can happen in either order. So without any prevention, it would start lint checking a very large number of files.
Anyone have any suggestions? Or anything else we would need to figure out?
/cc @pierov @ma1 @clairehurst @dan @richardhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/38PayPal message-bar is missing2024-03-20T19:05:37ZdonutsPayPal message-bar is missingIn the designs we have a message-bar that is displayed when PayPal is selected: [Figma / Doante-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble?type=design&node-id=472%3A483&mode=design&t=fDvF3BZ4AeO9vpbq-1)In the designs we have a message-bar that is displayed when PayPal is selected: [Figma / Doante-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble?type=design&node-id=472%3A483&mode=design&t=fDvF3BZ4AeO9vpbq-1)stephenstephenhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/37Text styles in custom amount-field don't match Figma2024-03-20T18:29:25ZdonutsText styles in custom amount-field don't match FigmaSince this is a fun custom field, the text styles of the currency symbol, value and currency code are all subtly different in Figma. Notably:
- The currency symbol ($) is small.
- The currency code (USD) is de-emphasized.
- There's a 2p...Since this is a fun custom field, the text styles of the currency symbol, value and currency code are all subtly different in Figma. Notably:
- The currency symbol ($) is small.
- The currency code (USD) is de-emphasized.
- There's a 2px gap between the currency symbol and value.
Please see the attached spec for reference.stephenstephenhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/33Double-check type styles used in donate-neo are correct2024-03-18T18:25:02ZdonutsDouble-check type styles used in donate-neo are correctHere's a list of all the type styles used in Figma. The sizes and line-heights are important to ensuring elements like buttons and form fields end up the correct heights.
Not all of these were used for the donate pages, so if some are m...Here's a list of all the type styles used in Figma. The sizes and line-heights are important to ensuring elements like buttons and form fields end up the correct heights.
Not all of these were used for the donate pages, so if some are missing, that's totally fine.
<details><summary>Show styles</summary>
- [ ] **headline** / H1
* Font: Space Grotesk
* Weight: 700
* Size: 56
* Line height: 120%
* Letter spacing: -2%
- [ ] **headline** / H2
* Font: Space Grotesk
* Weight: 500
* Size: 44
* Line height: 120%
* Letter spacing: -2%
- [ ] **headline** / H3
* Font: Space Grotesk
* Weight: 500
* Size: 28
* Line height: 120%
* Letter spacing: -2%
- [ ] **headline** / H4
* Font: Inter
* Weight: 600
* Size: 22
* Line height: 120%
* Letter spacing: 0%
- [ ] **headline** / H5
* Font: Inter
* Weight: 600
* Size: 20
* Line height: 120%
* Letter spacing: 0%
- [ ] **body** / large
* Font: Inter
* Weight: 400
* Size: 22
* Line height: 150%
* Letter spacing: 0%
- [ ] **body** / medium
* Font: Inter
* Weight: 400
* Size: 18
* Line height: 150%
* Letter spacing: 0%
- [ ] **body** / small
* Font: Inter
* Weight: 400
* Size: 16
* Line height: 150%
* Letter spacing: 0%
- [ ] **body** / tiny
* Font: Inter
* Weight: 400
* Size: 14
* Line height: 150%
* Letter spacing: 0%
- [ ] **label** / large
* Font: Inter
* Weight: 500
* Size: 18
* Line height: 150%
* Letter spacing: 0%
- [ ] **label** / medium
* Font: Inter
* Weight: 500
* Size: 16
* Line height: 150%
* Letter spacing: 0%
- [ ] **label** / medium-bold
* Font: Inter
* Weight: 600
* Size: 16
* Line height: 150%
* Letter spacing: 0%
- [ ] **label** / small
* Font: Inter
* Weight: 500
* Size: 14
* Line height: 150%
* Letter spacing: 0%
- [ ] **label** / small-bold
* Font: Inter
* Weight: 600
* Size: 14
* Line height: 150%
* Letter spacing: 0%
- [ ] **label** / tiny-bold
* Font: Inter
* Weight: 600
* Size: 12
* Line height: 150%
* Letter spacing: 0%
</details>stephenstephenhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/30Donation array items should look and behave like radio buttons2024-03-18T19:30:19ZdonutsDonation array items should look and behave like radio buttonsThe previous design felt a little lacking in affordance, so I've updated this element to look and behave more like a regular radio button. Would you mind updating it on the website please?
See the updated design in Figma here: [Figma / ...The previous design felt a little lacking in affordance, so I've updated this element to look and behave more like a regular radio button. Would you mind updating it on the website please?
See the updated design in Figma here: [Figma / Donate-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble?type=design&node-id=505%3A5385&mode=design&t=5Z9mLlYaaz0kCU2q-1)stephenstephenhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/29Copyleft icon is missing from footer2024-03-18T19:31:42ZdonutsCopyleft icon is missing from footerThere should be a copyleft icon next to the text "Tor Project, Inc" in the site footer.
See here in Figma: [Figma / Donate-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble?type=design&node-id=505%3A5385&mode=design&t=5Z9mLl...There should be a copyleft icon next to the text "Tor Project, Inc" in the site footer.
See here in Figma: [Figma / Donate-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble?type=design&node-id=505%3A5385&mode=design&t=5Z9mLlYaaz0kCU2q-1)stephenstephenhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/26Invert the use of purple and green for gift items2024-03-18T18:22:46ZdonutsInvert the use of purple and green for gift itemsIn hindsight, it makes far more sense for the "Choose this gift" button to be purple, and the selected state to be green. Could we swap these please?
Like so: [Figma / Donate-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble...In hindsight, it makes far more sense for the "Choose this gift" button to be purple, and the selected state to be green. Could we swap these please?
Like so: [Figma / Donate-dot](https://www.figma.com/file/nIpahk0b9VMaeEnubiO33g/Marble?type=design&node-id=505%3A5385&mode=design&t=5Z9mLlYaaz0kCU2q-1)stephenstephenhttps://gitlab.torproject.org/tpo/web/donate-neo/-/issues/24Convert uses of px into relative units?2024-03-26T14:34:50ZdonutsConvert uses of px into relative units?By default, Figma wants measurements to be specific in px. However we try and use multiples or clean fractions of 16 in our designs so that dimensions in px can be translated into relative units like rem during implementation.By default, Figma wants measurements to be specific in px. However we try and use multiples or clean fractions of 16 in our designs so that dimensions in px can be translated into relative units like rem during implementation.stephenstephenhttps://gitlab.torproject.org/tpo/web/manual/-/issues/157Add entry about letterboxing (about:manual#letterboxing)2024-03-12T20:36:03Zma1Add entry about letterboxing (about:manual#letterboxing)We're implementing a `Learn more` link in the new user-facing letteboxing preferences (tpo/applications/tor-browser#41916) and we need some content to be referenced by about:manual#letterboxing :)
@donuts' [comment](https://gitlab.torp...We're implementing a `Learn more` link in the new user-facing letteboxing preferences (tpo/applications/tor-browser#41916) and we need some content to be referenced by about:manual#letterboxing :)
@donuts' [comment](https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/32324#note_2876483):
> It's on support-dot, but possibly not the manual?
> https://support.torproject.org/tbb/maximized-torbrowser-window/ebanamebanam@torproject.orgebanamebanam@torproject.orghttps://gitlab.torproject.org/tpo/applications/vpn/-/issues/146Convert typography to use Inter instead of Figtree or Roboto2024-03-05T19:40:15ZdonutsConvert typography to use Inter instead of Figtree or RobotoIn the most recent iteration of the designs, we're using [MD3's default type scale](https://m3.material.io/styles/typography/type-scale-tokens) set in Inter instead of Roboto:
- [Inter on Google Fonts](https://fonts.google.com/specimen/...In the most recent iteration of the designs, we're using [MD3's default type scale](https://m3.material.io/styles/typography/type-scale-tokens) set in Inter instead of Roboto:
- [Inter on Google Fonts](https://fonts.google.com/specimen/Inter)
- [Inter on GitHub](https://github.com/rsms/inter)
This is different from earlier versions of the designs, which were set in [Figtree](https://fonts.google.com/specimen/Figtree). Since then we've adopted stricter requirements for a UI font, such as better latin coverage and compatibility with Cyrillic scripts. We also wish to use Inter as our corporate body font too, so everything matches nicely.
For reference, the styles used in the app are:
<details><summary>Show styles</summary>
**Headline** / Large
- Font: Inter
- Weight: 400
- Size: 32
- Line height: 40
- Letter spacing: 0
**Headline** / Medium
- Font: Inter
- Weight: 400
- Size: 28
- Line height: 36
- Letter spacing: 0
**Headline** / Small
- Font: Inter
- Weight: 400
- Size: 24
- Line height: 32
- Letter spacing: 0
**Title** / Large
- Font: Inter
- Weight: 500
- Size: 22
- Line height: 28
- Letter spacing: 0
**Title** / Medium
- Font: Inter
- Weight: 500
- Size: 16
- Line height: 24
- Letter spacing: 0
**Title** / Small
- Font: Inter
- Weight: 500
- Size: 14
- Line height: 20
- Letter spacing: 0
**Body** / Large
- Font: Inter
- Weight: 400
- Size: 16
- Line height: 24
- Letter spacing: 0
**Body** / Medium
- Font: Inter
- Weight: 400
- Size: 14
- Line height: 20
- Letter spacing: 0
**Body** / Small
- Font: Inter
- Weight: 400
- Size: 12
- Line height: 16
- Letter spacing: 0
**Label** / Large
- Font: Inter
- Weight: 600
- Size: 14
- Line height: 20
- Letter spacing: 0
**Label** / Medium
- Font: Inter
- Weight: 600
- Size: 12
- Line height: 16
- Letter spacing: 0
**Label** / Small
- Font: Inter
- Weight: 600
- Size: 11
- Line height: 16
- Letter spacing: 0
</details>
All text within the app should use one of these styles. Although the styles, sizes and line heights all match to MD3's type scale – note that the weights are different for selected styles ("Title / Large" and all "Label" styles), and letter spacing is always "0".VPN pre-alpha 07https://gitlab.torproject.org/tpo/applications/vpn/-/issues/143Convert "Add new bridges" dialog into a full-screen dialog2024-03-05T17:32:20ZdonutsConvert "Add new bridges" dialog into a full-screen dialogThe previous dialog we designed is a little claustrophobic. The text area is quite narrow, and the dialog awkwardly grows in height when new lines are entered. We could improve on this by switching to a full-screen dialog as described he...The previous dialog we designed is a little claustrophobic. The text area is quite narrow, and the dialog awkwardly grows in height when new lines are entered. We could improve on this by switching to a full-screen dialog as described here: https://m3.material.io/components/dialogs/guidelines
The Figma file can be found here: [Figma / Tor VPN for Android](https://www.figma.com/file/sjNWeIOpb0BckjmxApXd5m/Tor-VPN-for-Android?type=design&node-id=4395%3A1618&mode=design&t=QaXRFt9BKyClRF4p-1)VPN pre-alpha 07https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42429Android Connection Assist Non-Portriat-Phone Sizes Design2024-02-29T00:51:27ZclairehurstAndroid Connection Assist Non-Portriat-Phone Sizes DesignFor tor-browser#41188 we have portrait designs, but don't have landscape (and other non-protrait-phone) designs. How do we want the landscape (and other non-portriat-phone sizes) to look for connection assist? I was messing with trying t...For tor-browser#41188 we have portrait designs, but don't have landscape (and other non-protrait-phone) designs. How do we want the landscape (and other non-portriat-phone sizes) to look for connection assist? I was messing with trying to make it look better and have some references. I made the buttons have a max width, brought the toggle closer to the text, and reduced the spacing for the text so that it fits better horizontally (otherwise views start overlapping on certain screens with enough going on)
Mock Native Landscape
![Mock_Native_Landscape](/uploads/b2f313b9b51ae7a0499b3bfde3d917a7/Mock_Native_Landscape.png)
Current HTML Landscape
![HTML_Landscape](/uploads/6fa173af6b86fa10d8c1db5e072c27da/HTML_Landscape.png)
Mock Tablet
![Mock_Tablet](/uploads/bfc51dbdad8bfc6b6d60ea768e3dfb86/Mock_Tablet.png)
Mock Foldable
![Mock_Foldable](/uploads/38eb8f5c11b61ee47fd8e2c1db3d81be/Mock_Foldable.png)
Current Native Portrait
![Native_Portrait](/uploads/384005393822624e481d9a2e60a3935f/Native_Portrait.png){width=25%}donutsdonutshttps://gitlab.torproject.org/tpo/applications/torbrowser-launcher/-/issues/16Transition away from deprecated python distutils2024-03-05T13:57:46Zmicahmicah@torproject.orgTransition away from deprecated python distutilsIn Python 3.10 and 3.11, distutils has been formally marked as deprecated. Code that imports distutils will no longer work from Python 3.12.
Please prepare for this deprecation and migrate away from the Python distutils module.
See-Als...In Python 3.10 and 3.11, distutils has been formally marked as deprecated. Code that imports distutils will no longer work from Python 3.12.
Please prepare for this deprecation and migrate away from the Python distutils module.
See-Also: https://peps.python.org/pep-0632https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42413Review Lox UI wording2024-02-22T14:41:16ZhenryReview Lox UI wording/cc @jag and @donuts
In https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036 we added some new strings, and this issue is just to review them.
The new strings are all [here](https://gitlab.torproject.org/tpo/appli.../cc @jag and @donuts
In https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42036 we added some new strings, and this issue is just to review them.
The new strings are all [here](https://gitlab.torproject.org/tpo/applications/tor-browser/-/blob/0efa3dd93339e7f996070d5170b4fddf5fc11b60/browser/locales/en-US/browser/tor-browser.ftl#L48-300) if you want to review them all, but only a few stand out for me.
Some deviated from the mockups as we learnt more about how Lox actually functions.
The overview:
> With a bridge pass, the bridge bot will send you new bridges when your bridges get blocked. If your bridges don’t get blocked, you’ll unlock invites that let you share bridges with trusted contacts.
After "days until you unlock", we show
> Invites for your trusted contacts
the first time the user will gain invites. And if the user already has invites, we change it to
> More invites for your trusted contacts
Note, the reason we no longer included "+N invites for your trusted contacts" was because the "+N" calculation is non-intuitive: the user doesn't actually gain a fixed number of new invites per level, instead whenever their level changes their remaining invites get reset. In particular, remaining invites at the current level are ignored. When you level up, the next level will reset to a higher number than whatever you have now, so will will gain some amount. When you level down, you can either have more or less remaining invites, depending on how many you used up before.
For the same reason, whenever the user levels up past level 1 ("bridge pass has been upgraded") or levels down ("blocked bridges have been replaced") or some mixture of both, we always show how many remaining invites they have:
> You now have { $numInvites } remaining invites for your trusted contacts
I.e. instead of the "+N" from the mockup, we just give a notice of what the new number is, which may be more or less than when the user last looked.
We also have two strings that refer to "bridge pass server":
> Connecting to bridge pass server…
and
> Unable to connect to bridge pass server.
Should these be "bridge bot" instead of "bridge pass server" to be consistent? I assumed that "bridge bot" in the other strings already referred to the Lox authority (plus Tor Browser's interaction with it).donutsdonutshttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42385Design dialog to share Lox invites2024-02-27T19:07:34ZJag TalonDesign dialog to share Lox invitescc @donuts @henry
**Design estimate:**
* Complexity: small (1 day)
* Copy existing modals from Firefox's design system.
* Uncertainty level: low (1.1)
* I believe there's no uncertainty here. All we need is something that's good ...cc @donuts @henry
**Design estimate:**
* Complexity: small (1 day)
* Copy existing modals from Firefox's design system.
* Uncertainty level: low (1.1)
* I believe there's no uncertainty here. All we need is something that's good enough for now.
* Total: 1-1.1 dayshttps://gitlab.torproject.org/tpo/applications/vpn/-/issues/133Flip the connection / circuit display per app2024-03-06T15:32:43Zmicahmicah@torproject.orgFlip the connection / circuit display per appAs it is now, if you get information for an app, you will see the connections and then if you click on a connection, you see the circuit. We discussed in our meeting today that it would make more sense to first show the circuit and then ...As it is now, if you get information for an app, you will see the connections and then if you click on a connection, you see the circuit. We discussed in our meeting today that it would make more sense to first show the circuit and then if you were to click on the circuit, you would then see the connections.
This seemed to be a purely UI change, and not something that needs to be done in onionmasq itself.VPN pre-alpha 06cybertacybertahttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42364Content Analysis SDK for DLP2024-02-15T07:52:56ZThorinContent Analysis SDK for DLPsee
- [1871166](https://bugzilla.mozilla.org/show_bug.cgi?id=1871166) [meta] Integrate Content Analysis SDK for data loss prevention
- https://github.com/chromium/content_analysis_sdk
- FF121+ [1811076](https://bugzilla.mozilla.org/sh...see
- [1871166](https://bugzilla.mozilla.org/show_bug.cgi?id=1871166) [meta] Integrate Content Analysis SDK for data loss prevention
- https://github.com/chromium/content_analysis_sdk
- FF121+ [1811076](https://bugzilla.mozilla.org/show_bug.cgi?id=1811076) prefs .. false for now
I don't understand where/how it gets used or what it's purpose is (disclosure: i am not a browser engineer) but "enables 3rd party data-loss prevention software to serve as a gate-keeper" doesn't _sound_ like something we want
cc @pierov @richardhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/42356Review 000-tor-browser.js and 001-base-profile.js for 1282024-01-23T14:41:06ZPier Angelo VendrameReview 000-tor-browser.js and 001-base-profile.js for 128Part of the usual ESR transition.
/cc @thorinPart of the usual ESR transition.
/cc @thorin