15:17:19 <richard> #startmeeting Tor Browser Weekly Meeting 2024-05-06 15:17:19 <MeetBot> Meeting started Mon May 6 15:17:19 2024 UTC. The chair is richard. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:17:19 <MeetBot> Useful Commands: #action #agreed #help #info #idea #link #topic. 15:17:23 <richard> pad per usual -> https://pad.riseup.net/p/tor-tbb-keep 15:17:28 <richard> and look at that it's May already 15:17:35 <ma1> o/ 15:19:19 <richard> So 3 things from me this week, before we move onto discussions 15:19:46 <richard> first of all, i'm doing some gitlab spring cleaning, triaging and punting for the 13.5 release 15:20:12 <richard> so don't be surprised by all the activity there, or if i'm suddenly assigning a million tickets to you 15:20:23 <richard> i'll go back and load balance after my first pass 15:20:37 <richard> second of all, it's a release week \o/ 15:20:48 <PieroV> relprep, more than release :) 15:21:18 <ma1> and backports. And MB release? 15:21:21 <richard> boklm: unless there are any risky patches in-flight atm I can sign TB and MB 15:21:43 <boklm> richard: ok, I don't think there is risky patches now 15:21:55 <richard> thx! 15:22:06 <boklm> tor-browser-build!962 shouldn't be risky 15:22:45 <richard> and third of all, juniper is starting this week, so you may have been invited to an onboarding session or two this week 15:23:05 <dan_b> oh right woo. whens day1? 15:23:34 <richard> today! She's meeting w/ bella and hr today 15:23:58 <richard> maybe she'll be on IRC later ? vOv 15:24:09 <dan_b> oh woo. and the engaging in all the systems setup and such? so we'll see her popping into irc some time? 15:24:10 <dan_b> cool 15:24:21 <richard> i'm trusting in the process 15:24:50 <richard> apart from that, thats' all the announcements for this week 15:25:01 <richard> so we can move onto discussion points 15:25:28 <richard> the immediate concern atm is 15:25:59 <richard> we have 2 weeks until Lisbon, and then some few weeks after before the scheduled 13.5 release in June 15:27:28 <richard> so the question atm is how's Android connect-assist looking? can we reasonably expect to have it working with confidence before then, or should we settle on a subset of our desired features and push the rest to 14.0 at the end of summer? 15:27:40 <richard> dan_b, clairehurst^ :D 15:28:32 <richard> (also we have no sponsor obligations for this work so if it needs to bake that's completely fine) 15:28:41 <dan_b> i dont think connection assist for 13.5? but hte native bootstrap is doing pretty well? 15:28:51 <dan_b> we have that out in alpha now 15:29:37 <clairehurst> Yeah native bootstrap is in a good spot, just missing the connection assist part 15:29:46 <clairehurst> its partly implemented, but needing some more work 15:30:09 <richard> ok in that case, shall we focus on ripping out the legacy backend over the next few weeks we have before 13.5 stabilizes? 15:30:21 <richard> (and html backend) 15:30:37 <dan_b> oooh 15:30:46 <dan_b> ok cool 15:31:02 <dan_b> whens the next alpha ship? 15:31:09 <PieroV> 2 weeks? 15:31:10 <richard> since yeah 13.5a7 *seems* to have parity w/ stable at this point 15:31:14 <clairehurst> hmm, html backend has connection assist working 15:31:46 <richard> yeah it'll have to be like 15:31:50 <richard> code-freeze next wednesday 15:31:57 <richard> to ship on thursday 15:32:02 <richard> for alpha 15:32:21 <richard> not taht i don't enjoy the idea of shipping an alpha by the pool the following week 15:32:49 <PieroV> Oh, right, I forgot about that ^_^ 15:33:15 <richard> wouldn't be the first time :p 15:33:45 <richard> ok how about this as a target for 13.5 stable: 15:34:07 <richard> - remove the legacy bootstrapping from TBA 15:34:14 <richard> - purge the old stuff from tor-browser-build 15:34:26 <dan_b> - use the new expert bundle in tbb 15:34:53 <dan_b> yeah i'm happy to take that on 15:34:58 <richard> - gate enabling the HTML connect-assist on alpha/nightly so it's hidden in stable? 15:35:50 <dan_b> clairehurst: that sounds like a you task. just hiding that menu on stable? 15:36:05 <richard> are there complications here I'm missing? 15:36:20 <PieroV> Why hide it instead of removing it? 15:36:43 <richard> it could be potentially useful for debugging native connet-assist in the next release cycle 15:37:16 <richard> to have something we know works on the platform already 15:37:43 <ma1> the moz way 15:38:04 <richard> ma1: well now you got me doubting myself 15:38:20 <ma1> :) 15:39:00 <clairehurst> I don't think removing/hiding legacy bootstrap and html would take a ton of time, once we agree on what to do 15:39:43 <richard> you want to take a crack at removing the old backend from tor-browser-build after the UX stuffs? 15:40:36 <clairehurst> ah, yeah that might be harder. I'm much less confident and familiar with tbb stuff 15:41:01 <richard> :D 15:41:02 <clairehurst> I was just thinking for firefox-android 15:41:24 <PieroV> I think it'd be quite easy 15:41:39 <richard> should be a good 'intro to tor-browser-build' task 15:41:45 <PieroV> Just delete the projects, delete any reference to them in the varous projects/*/config 15:41:47 <richard> remove projets is easier than authoring new ones 15:42:07 <PieroV> Then remove the related commands in projects/firefox-android/build 15:42:08 <richard> (and edit build scripts that reference them) 15:42:12 <richard> efb 15:42:13 <dan_b> then the last bit will be adding a dep on tor-expert-bundle to get the new tor artifacts 15:42:22 <PieroV> (even though we'll need to add something new for the new aar) 15:42:45 <dan_b> but the hard part, generating the .aar, is done, and i manually tested it works as a drop in replacement 15:42:57 <dan_b> and i m happy to answer questions 😄 15:43:26 <richard> same :) 15:43:40 <clairehurst> All this being said, I don't think we're too far from having connection assist working on native 15:44:00 <clairehurst> Though there are some unknowns 15:44:26 <richard> alright, let's hear em 15:45:26 <clairehurst> How to safely detect which country the user is in (also need to get the list of countries (localized)) 15:45:46 <clairehurst> How to safely detect if the user has no internet connection 15:46:11 <PieroV> The requests to Moat are on the clear net (since you haven't bootstrapped, yet) 15:46:27 <PieroV> So, the server reads your IP and checks its location in a GeoIP database 15:46:46 <richard> PieroV: do we need to plumb the geolocation and the connectivity test APIs out to Android? 15:46:52 <PieroV> We save this information in TorConnect, we just need to plumb down the information 15:47:10 <PieroV> Same for the connectivity test. It's run automatically, we just need to plumb the result down 15:47:43 <PieroV> However, the connectivity test doesn't work very well. For the future, we might use the OS API (if they're compatible with our expectations, i.e., not calls to Moz or something similar) 15:48:01 <PieroV> Some users were mad also that we did phone home to Moat for this check ^_^ 15:48:13 <richard> indeed 15:48:17 <PieroV> But if the OS tells us we're in flight mode, we should hear to what the OS says 15:48:51 <dan_b> there are android APIs you can check 15:49:14 <dan_b> for connectivity. for Cwtch i found a flutter/dart module that did them and wired them into our app. 15:49:16 <PieroV> dan_b: do they need special permissions? 15:49:34 <PieroV> Or is the one for Internet connection enough? 15:49:40 <dan_b> ACCESS_NETWORK_STATE i think 15:50:13 <dan_b> at least the way the module we use on android works 15:50:34 <PieroV> We comment that out 15:50:46 <PieroV> mobile/android/geckoview/src/main/AndroidManifest.xml 15:51:05 <dan_b> well, if we want to ask android about its network state/health/connectivity, we might not want to 15:52:21 <dan_b> also i can't 100% garuntee it's needed, the module we use we had to strip down a bunch cus it was giving us connection type info like is it wifi or data or vpn etc 15:52:30 <dan_b> we third partied that module and ripped a lot out 15:52:44 <dan_b> its possible the limited use we have for it doesnt need ACCESS_NETWORK_STATE 15:52:55 <dan_b> but if i was asked to guess I'd say it's still prolly needed 15:53:53 <richard> it doesn't seem important if we can just plumb the result from geckoview's implementation (in the short term) 15:54:18 <PieroV> As for the localized names, desktop has an API to get them 15:54:33 <PieroV> But we don't include l10n in GeckoView... So I wonder if there's an Android API we can use instead 15:54:57 <PieroV> Like java.util.Locale 15:56:52 <henry-x> How do we localise the languages in the settings? 15:57:16 <PieroV> On Android? 15:57:20 <henry-x> yeah 15:57:55 <richard> firefox-andriod/fenix has its own localisation branch no? 15:58:07 <dan_b> yes 15:58:10 <PieroV> Yes, but we don't touch that part of the settings 15:58:14 <PieroV> We inherit from Moz 15:58:20 <PieroV> That's why I say that we could use some Java facility 15:58:24 <PieroV> Or other Moz facility 15:58:44 <PieroV> Locale seems to do indeed what we want: https://stackoverflow.com/questions/14275868/get-country-name-in-english-from-country-code 15:59:31 <PieroV> (the question says in English, but I believe it returns the localized name, or you can even pass a language code to getDisplayCountry() to get the name localized in that language) 16:00:59 <richard> ok, then lets plan on prioritising the work that needs to happen regardless: ripping out the legacy backend from firefox-android, tor-browser-build updates, hiding HTML connect assist in stable 16:01:28 <richard> if we still have time after all of that, then we can potentially complete the remainder of the work 16:01:52 <richard> we've 15 mins left, and I beleive pierov has a discussion point next 16:02:02 <PieroV> A couple, related to the ESR work 16:02:13 <PieroV> One is that in a week 128 is going nightly 16:02:22 <PieroV> We might want to start reviewing the rebases soon 16:03:21 <PieroV> Not sure if we have some bandwidth to before the 13.5 release (or even before PT, in that case we might just postpone the discussion to the PT session about ESR transition) 16:03:26 <richard> can you point us to your MR where all this work has been hapening? 16:03:39 <PieroV> No MR because I didn't create branches 16:04:06 <PieroV> But I added comments (with the branch names and the hash of the respective bases) in tor-browser#42441 16:04:39 <PieroV> (well, the bases can be found also with `git merge-base $moz_remote/release pierov/$branch_name`) 16:05:10 <richard> does your branch have base/rapid-release tags? 16:05:23 <PieroV> No, but I can add them 16:05:30 <richard> yes please :) 16:05:45 <PieroV> In general, my branch has the RR history 16:06:10 <PieroV> So, no need for the moz remote actually 16:06:58 <richard> ok, i'll probably plan to begin review after PT 16:07:13 <clairehurst> There's also the issue of making this based on the simulated censorship and I don't know if it will perfectly translate to actual censorship. For example, I currently basically just check if the TorError.reason == "noroute" to then go through the connection-assist flow and I don't know if this is a good idea or how to test if its a good idea because I only know how to check the 16:07:14 <clairehurst> simulated censorship (we can talk about this more later) 16:07:43 <PieroV> clairehurst: I think you're missing the beginAutoBootstrap 16:07:57 <PieroV> Because you do get other errors when you use the automatic bootstrap 16:08:22 <clairehurst> ah, good to know 16:08:42 <PieroV> I have also a second point about the ESR transition 16:08:52 <PieroV> (no need for an immediate answer, but it's something to think about) 16:09:20 <PieroV> We should decide whether we want to do a one-pass rebase like last year, or if we want to go through 125, which was the latest release on firefox-android.git 16:10:05 <dan_b> oh interesting idea 16:10:22 <PieroV> 125 is buildable on desktop 16:10:27 <PieroV> (it was the first one I tried to build) 16:10:31 <PieroV> Well, on Linux desktop 16:10:33 <dan_b> yeah late last week i started surveying the firefox-android patches we have to look at a strategy for merging some and splitting ui one pre merge to tor-browser 16:10:49 <richard> given your success on desktop it seems like a similar strat for android may be smart? 16:10:53 <dan_b> i think prolly hitting 125 first before merging into tb sounds good 16:10:53 <PieroV> Yep, keep in mind it might make sense to --autosquash 16:11:14 <PieroV> But I expect you'll have some troubles with that ^_^ 16:11:24 <dan_b> haven't gotten that far 😕 16:11:37 <dan_b> but yeah, that'll have to be a step soon. 16:13:42 <richard> ok 16:13:50 <richard> we've 2 minutes to go, any last minute topics? 16:13:54 <richard> otherwise we can end this 16:14:13 <PieroV> Nothing from me 16:14:13 <ma1> wfm 16:14:20 <richard> ok 16:14:24 <dan_b> cool 16:14:37 <dan_b> do we have a release meeting in 2 hours? 16:14:37 <richard> dan_b, clairehurst: I'll make some tickets for the android work discussed later today 16:14:38 <richard> o/ 16:14:41 <dan_b> cool 16:14:44 <richard> yeppers 16:14:51 <clairehurst> thx! 16:14:55 <dan_b> 👍 16:14:57 <richard> have a good week everyone 16:14:58 <richard> #endmeeting