Opened 14 months ago

Closed 11 months ago

Last modified 11 months ago

#23261 closed defect (fixed)

implement configuration portion of new Tor Launcher UI

Reported by: mcs Owned by: brade
Priority: Very High Milestone:
Component: Applications/Tor Launcher Version:
Severity: Normal Keywords: ux-team, TorBrowserTeam201711R
Cc: linda, gk, iry, isabela, phoul Actual Points:
Parent ID: #21951 Points:
Reviewer: Sponsor: Sponsor4

Description (last modified by mcs)

This ticket tracks implementation of the configuration portion of the new Tor Launcher configuration UI, as found here: https://marvelapp.com/3f6102d/

The integrated progress bar is covered by #23262.

Child Tickets

Attachments (3)

tor-launcher-redesign-v9.pdf (246.8 KB) - added by linda 13 months ago.
tor-launcher-redesign-v10.pdf (247.1 KB) - added by mcs 12 months ago.
bug23261-02-03-diff.txt (4.5 KB) - added by mcs 12 months ago.

Download all attachments as: .zip

Change History (44)

comment:1 Changed 14 months ago by mcs

Description: modified (diff)

comment:2 Changed 14 months ago by mcs

Cc: brade removed
Description: modified (diff)

comment:3 Changed 14 months ago by mcs

We now have an implementation that, at a high level, matches Linda's latest design for configuration. The code is here:
https://gitweb.torproject.org/user/brade/tor-launcher.git/log/?h=newui

If you want to try it out, replace your Tor Launcher with this one:
https://people.torproject.org/~brade/builds/tl-newui-2017/tor-launcher@torproject.org.xpi
(on OSX, replace the .xpi file under TorBrowser-Data/Browser/*.default/extensions/; on Windows and Linux, replace the .xpi file under Browser/TorBrowser/Data/Browser/profile.default/extensions/)

Some things are not implemented yet, e.g., the help buttons (?) do not do the right thing.
Feedback is welcome!

comment:4 Changed 14 months ago by linda

Whoo!

comment:5 Changed 14 months ago by mcs

I forgot to mention that we are not putting the code up for review yet, since it is not finished.

comment:6 in reply to:  description ; Changed 14 months ago by cypherpunks

Replying to mcs:

This ticket tracks implementation of the configuration portion of the new Tor Launcher configuration UI, as found here: https://marvelapp.com/3f6102d/

Hangs on password submission.

comment:7 Changed 14 months ago by gk

Cc: gk added

comment:8 in reply to:  6 ; Changed 14 months ago by mcs

Replying to cypherpunks:

Replying to mcs:

This ticket tracks implementation of the configuration portion of the new Tor Launcher configuration UI, as found here: https://marvelapp.com/3f6102d/

Hangs on password submission.

What hangs? Tor Browser? And does "password submission" refer to marvelapp.com, or to the Tor Launcher proxy configuration? If this is a Tor Browser problem, please provide steps to reproduce.

comment:9 in reply to:  8 ; Changed 14 months ago by cypherpunks

Replying to mcs:

Replying to cypherpunks:

Replying to mcs:

This ticket tracks implementation of the configuration portion of the new Tor Launcher configuration UI, as found here: https://marvelapp.com/3f6102d/

Hangs on password submission.

What hangs? Tor Browser? And does "password submission" refer to marvelapp.com, or to the Tor Launcher proxy configuration? If this is a Tor Browser problem, please provide steps to reproduce.

"password submission" refers to marvelapp.com through Tor Browser with High Security:

19:14:49.691 Project with id '3f6102d' requires a password. 1 prototype-bundle.c6c8b4bddefe245de0fd.js:113

Tor Launcher without port selection and copying log to clipboard - is this intended?
"provide a bridge I know" -> "use my bridges"

comment:10 Changed 14 months ago by linda

Mark:

My feedback: yay!

The prototype accurately reflect the behavior/layout that I envisioned for Tor launcher. I like the network settings screen, and am excited about the simplicity of Tor launcher flow for the user, how much clearer what options should be chosen and when, and that people can see all their settings right before they connect. Kudos on getting everything that I designed to fit neatly into the current window size, even with the settings combination that took up the most space (inputting my own bridge lines + using a proxy).

What I think we should do next:

  • the prototype doesn't incorporate all the text changes/include the moat option like the final version of the Tor launcher. That being said, I know that this is not the final version, and these changes would be made eventually.
  • We should work on sizing/styling--font sizes, images sizes, placement, etc. I didn't specify any of this in the prototype, and haven't thought about it. I think it's most of the way there, except the initial Tor | Browser image looks a bit big, and some of the text might look better if the containers they were in were tinkered with a bit.

Thanks for creating the prototype!

comment:11 in reply to:  9 Changed 14 months ago by mcs

Replying to cypherpunks:

"password submission" refers to marvelapp.com through Tor Browser with High Security:

19:14:49.691 Project with id '3f6102d' requires a password. 1 prototype-bundle.c6c8b4bddefe245de0fd.js:113

I assume you allowed JS for that site? I am not sure what is going on. Does it work on other security levels?

Tor Launcher without port selection and copying log to clipboard - is this intended?

Port selection has not been included in the initial setup wizard for a long time. It will still be available via the Network Settings window inside the browser.

Copy Log to Clipboard is still needed and should probably be added to the design (currently that button is shown in the setup wizard only after an error occurs; it is always shown in the Network Settings window).

"provide a bridge I know" -> "use my bridges"

I am not sure about "my" but I do agree that the current phrase is a little awkward. In any case, I think that comments about the text copy are welcome; they will be evaluated by Linda and others.

comment:12 Changed 14 months ago by cypherpunks

marvelapp.com link finally worked so here are the only flaws that I could decipher,

  1. "if you are in a country that censors Tor (such as China, Iran, Syria)" -> "if you're" / Are you sure that Iran still blocks Tor? You should ask dcf if that's the case, and if it isn't then he can give you better examples of such countries (Turkey for instance).
  1. "(not China)" is a bit confusing, is there any better wording ("doesn't work in China"/"works in China" or just a single "if you're in [China flag]" near meek-amazon and meek-azure)?
Last edited 14 months ago by cypherpunks (previous) (diff)

comment:13 Changed 14 months ago by gk

Keywords: TorBrowserTeam201709 added

Adding to our September 2017 tickets.

comment:14 Changed 14 months ago by cypherpunks

FWIW #11071 is related to point 2 above

Last edited 14 months ago by cypherpunks (previous) (diff)

comment:15 in reply to:  12 Changed 14 months ago by linda

Replying to cypherpunks:

  1. "if you are in a country that censors Tor (such as China, Iran, Syria)" -> "if you're" / Are you sure that Iran still blocks Tor? You should ask dcf if that's the case, and if it isn't then he can give you better examples of such countries (Turkey for instance).

We've talked and decided these were the countries we were going to use as examples.

  1. "(not China)" is a bit confusing, is there any better wording ("doesn't work in China"/"works in China" or just a single "if you're in [China flag]" near meek-amazon and meek-azure)?

I agree. I don't know how to word this more properly. I want a wording that:

  • doesn't make it seem like obfs4/obfs3 is inferior because it's blocked in China
  • incentivizes people to use obfs4/obfs3 if possible over meek-amazon/meek-azure
  • doesn't lie and say that meek PTs only work in China, or that you should use them only if you're in China, since they do technically work everywhere.

I had a couple ideas, "works in china/works everywhere" would probably make everyone choose meek PTs, because it makes the meek ones sound much better. I would like to have obfs4 marked with "recommended" and the meek ones marked with "choose if you're in China," but since obfs4 is the default, people may click onward without looking at the other options. So I'd like to put "recommended, blocked in china" as the description for obfs4, and something else in parentheses for the meek ones. I'd be open to suggestions.

My best attempt so far, which I don't like too much: https://share.riseup.net/#8Ma-Xheamd2uJuId44dhcQ

I'd be open to suggestions.

Changed 13 months ago by linda

comment:16 Changed 13 months ago by linda

After discussion, we decided to keep the descriptors as they are currently deployed (no mention of any countries, and with obfs4 as the recommended PT). You can see the lastest version of the prototype here: https://trac.torproject.org/projects/tor/attachment/ticket/23261/tor-launcher-redesign-v9.pdf

I'm now happy to call this iteration of the design done.

comment:17 Changed 13 months ago by linda

Status: newneeds_review

comment:18 Changed 13 months ago by linda

Status: needs_reviewmerge_ready

comment:19 Changed 13 months ago by mcs

For some info about the latest iteration of this, please see ticket:23262#comment:3.

comment:20 Changed 13 months ago by iry

Cc: iry added

comment:21 Changed 13 months ago by gk

Keywords: TorBrowserTeam201710 added; TorBrowserTeam201709 removed

Items for October 2017

comment:22 Changed 13 months ago by brade

Status: merge_readyaccepted

comment:23 Changed 13 months ago by mcs

Cc: isabela phoul added

We are going to make patches for this ticket and for #23262 available for review very soon. We do have a couple of questions for the UX team (these can be addressed with follow up patches):

  • Should the "For assistance" text that appears on the current setup wizard and Network Settings window be kept or removed? It is not included in the design. This may also be a question for our community people (Colin, I am looking at you)
  • How should we implement the bridges and proxy help? That is, what should happen when someone clicks the (?) icons? Currently, help is a separate panel so when you click the entire window contents are replaced with help text and there is an OK button that closes the help and returns the user to the configuration screen. We can keep that design or we could add some kind of popup that only covers part of the screen. We also need text for those two help panels or popups.

comment:24 Changed 12 months ago by mcs

Keywords: TorBrowserTeam201710R added; TorBrowserTeam201710 removed
Status: acceptedneeds_review

We are still waiting on answers to the questions in comment:23, but Tor Browser developers should go ahead and review the following patch:
https://gitweb.torproject.org/user/brade/tor-launcher.git/commit/?h=bug23261-01&id=c6fd54b8ba36bf88630db446c68ba8d04ed9727a

Anyone who prefers to use oniongit can review this as part of the merge request that we created there:
https://oniongit.eu/brade/tor-launcher/merge_requests/2

These changes are closely related to the #23262 changes, so it would be best to test all three patches together (Kathy and I split the #23262 changes into two patches to make review easier).

comment:25 in reply to:  23 Changed 12 months ago by linda

Hi, sorry for the late response. Vacation + tor dev meeting distracted me from tickets for a while.

Replying to mcs:

We are going to make patches for this ticket and for #23262 available for review very soon. We do have a couple of questions for the UX team (these can be addressed with follow up patches):

  • Should the "For assistance" text that appears on the current setup wizard and Network Settings window be kept or removed? It is not included in the design. This may also be a question for our community people (Colin, I am looking at you)

Ah, it was not my intention to take that out. I just forgot to add it when I designed it. I'm an advocate for keeping that help desk shoutout there.

  • How should we implement the bridges and proxy help? That is, what should happen when someone clicks the (?) icons? Currently, help is a separate panel so when you click the entire window contents are replaced with help text and there is an OK button that closes the help and returns the user to the configuration screen. We can keep that design or we could add some kind of popup that only covers part of the screen. We also need text for those two help panels or popups.

I also think that the full-screen popup is a fine design choice. It's also easier to do since we have it implemented already, so I vote for this because I don't see a huge added benefit for non-full screen popups.

We should have the final text for you soon, but here are some initial ones, if it is helpful:

starter text for the (?) button for "select a build in bridge":

Bridges are unlisted relays that make it more difficult to block connections to the Tor Network. Each type of bridge uses a different method to avoid censorship. The obfs ones make your traffic look like random noise, and the meek ones make your traffic look like it's connecting to that service instead of Tor.

Because of how certain countries try to block Tor, certain bridges work in certain countries but not others. If you are unsure about which bridges work in your country, contact us at frontdesk@….

starter text for the (?) button for the "I use a proxy to connect to the internet":
A local proxy is needed when connection though a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.

I hope this helps!

comment:26 Changed 12 months ago by iry

Should the "For assistance" text that appears on the current setup wizard and Network Settings window be kept or removed? It is not included in the design. This may also be a question for our community people (Colin, I am looking at you)

Ah, it was not my intention to take that out. I just forgot to add it when I designed it. I'm an advocate for keeping that help desk shoutout there.

Hi @Linda !

I am curious if there will be an improvement on the usability of that URL: https://trac.torproject.org/projects/tor/ticket/22402

Because of how certain countries try to block Tor, certain bridges work in certain countries but not others. If you are unsure about which bridges work in your country, contact us at frontdesk@….

It seems that requiring to send an email may not be very good for the usability, especially when the email address or email server can also be censored. Do you think listing the methods that work for common countries that censors Tor helpful? Also, it may be less time-consuming to encourage users try all the bridges type available instead of sending an email?

A local proxy is needed when connection though a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.

Although it is not encouraged or even being against by tpo, another usual case for using a local proxy is when the proxy is part of a censorship circumvention tool. We may address the discouragement for using a third-party censorship circumvention tool in the help text, but just do not mention the case may not good for user for both usability and security?

FYI, the following is the help text for Bridge and Proxy in anon-connection-wizard, which you may find helpful:

<p><b> Censorship Circumvention Help</b></p>

<p>If you are unable to connect to the Tor network, it could be that your Internet Service
Provider (ISP) or another agency is blocking Tor. Often, you can work around this problem
by using Tor Bridges, which are unlisted relays that are more difficult to block.</p>

<p>Tor bridges are the recommended way to circumvent the Tor censorship. You should always take it as the first option to help you pypass the Tor censorship. However, if you are living in a heavily censored area where all the Tor bridges are invalid, you may need to use some third-party censorship circumvention tools to help you instead. In such a case, you should choose not using Tor bridges to help you bypass the Tor censorship.</p>

<p> Using a third-party censorship circumvention tool may harm you security and/or anonimity. However, in case you do need it, the following is an instruction on how to connect to the Tor network using different censorship circumvention tools:</p>

<blockquote><b>1. VPN</b><br>

  1. Establish your connection to the VPN server; 2. Hit the "back" buton on this page, going to the first page; 3. Hit the "Connect" button on the first page.</blockquote>

<blockquote><b>2. HTTP/Socks Proxy</b><br>

  1. Choose not using Tor bridges in this page; 2. Hit the "next" buton on this page, going the Proxy Configuration page; 3. Configure a proxy.</blockquote>

<blockquote><b>3. Specialized Tool </b><br>

  1. Figure out the listening port of the tool, including the port protocal and the port number; 2. Choose not using Tor bridges in this page; 3. Hit the "next" buton on this page, going the Proxy Configuration page; 4. Configure a proxy.</blockquote>

<p><b> Proxy Help</b></p>

<p>In some situiations, you may want to transfer your traffic through a proxy server before connecting to the Tor network. For example, if you are trying to use a third-party censorship circumvention tool to bypass the Tor censorship, you need to configure Tor to connect to the listening port of that circumvention tools. </p>

<p> The following is a brief introduction on what each blank means and how you may find the proper input value:</p>

<blockquote><b>1. Proxy Type</b><br>
The proxy type is protocal you use to communicate with the proxy server. Since there are only three options, you can try all of them to see which one works.</blockquote>

<blockquote><b>2. Proxy IP/hostname</b><br>
You have to know the port number you are trying to connect to. If you are trying to connect to a local proxy, you should try 127.0.0.1 since it means localhost.</blockquote>

<blockquote><b>3. Proxy Port number</b><br>
You have to know the port number you are trying to connect to. It should be a positive integer from 1 to 65535. If you are trying to find the listening port number of a well-known censorship circumvention tool, you may simply search it online.</blockquote>

<blockquote><b>4. Username and Password</b><br>
If you do not know what they are, just leave them blank to see if the connection will success. Because in most cases, you do not need them.</blockquote>

What do you think, @Linda @mcs ?

I am open and happy to have a further discussion!

comment:27 in reply to:  26 ; Changed 12 months ago by linda

Thanks for your thoughtful comment!

Because of how certain countries try to block Tor, certain bridges work in certain countries but not others. If you are unsure about which bridges work in your country, contact us at frontdesk@….

It seems that requiring to send an email may not be very good for the usability, especially when the email address or email server can also be censored. Do you think listing the methods that work for common countries that censors Tor helpful? Also, it may be less time-consuming to encourage users try all the bridges type available instead of sending an email?

This is a good point. I think that I should try to encourage this before sending an email. We can specify what bridges to try, and in what order. I think a danger of this is that people will make mistakes and reveal that they are using Tor, but I feel like if they email us, they'll give up entirely and be in more danger.

A local proxy is needed when connection though a company, school, or university network. If you are not sure how to answer this question, look at the Internet settings in another browser or check your system's network settings to see whether a proxy is needed.

Although it is not encouraged or even being against by tpo, another usual case for using a local proxy is when the proxy is part of a censorship circumvention tool. We may address the discouragement for using a third-party censorship circumvention tool in the help text, but just do not mention the case may not good for user for both usability and security?

I think this is a great addition to the text. No arguments here. The text above was just the text to start, and didn't think of everything to include.

FYI, the following is the help text for Bridge and Proxy in anon-connection-wizard, which you may find helpful:

<p><b> Censorship Circumvention Help</b></p>

<p>If you are unable to connect to the Tor network, it could be that your Internet Service
Provider (ISP) or another agency is blocking Tor. Often, you can work around this problem
by using Tor Bridges, which are unlisted relays that are more difficult to block.</p>

<p>Tor bridges are the recommended way to circumvent the Tor censorship. You should always take it as the first option to help you pypass the Tor censorship. However, if you are living in a heavily censored area where all the Tor bridges are invalid, you may need to use some third-party censorship circumvention tools to help you instead. In such a case, you should choose not using Tor bridges to help you bypass the Tor censorship.</p>

<p> Using a third-party censorship circumvention tool may harm you security and/or anonimity. However, in case you do need it, the following is an instruction on how to connect to the Tor network using different censorship circumvention tools:</p>

<blockquote><b>1. VPN</b><br>

  1. Establish your connection to the VPN server; 2. Hit the "back" buton on this page, going to the first page; 3. Hit the "Connect" button on the first page.</blockquote>

<blockquote><b>2. HTTP/Socks Proxy</b><br>

  1. Choose not using Tor bridges in this page; 2. Hit the "next" buton on this page, going the Proxy Configuration page; 3. Configure a proxy.</blockquote>

<blockquote><b>3. Specialized Tool </b><br>

  1. Figure out the listening port of the tool, including the port protocal and the port number; 2. Choose not using Tor bridges in this page; 3. Hit the "next" buton on this page, going the Proxy Configuration page; 4. Configure a proxy.</blockquote>

<p><b> Proxy Help</b></p>

<p>In some situiations, you may want to transfer your traffic through a proxy server before connecting to the Tor network. For example, if you are trying to use a third-party censorship circumvention tool to bypass the Tor censorship, you need to configure Tor to connect to the listening port of that circumvention tools. </p>

<p> The following is a brief introduction on what each blank means and how you may find the proper input value:</p>

<blockquote><b>1. Proxy Type</b><br>
The proxy type is protocal you use to communicate with the proxy server. Since there are only three options, you can try all of them to see which one works.</blockquote>

<blockquote><b>2. Proxy IP/hostname</b><br>
You have to know the port number you are trying to connect to. If you are trying to connect to a local proxy, you should try 127.0.0.1 since it means localhost.</blockquote>

<blockquote><b>3. Proxy Port number</b><br>
You have to know the port number you are trying to connect to. It should be a positive integer from 1 to 65535. If you are trying to find the listening port number of a well-known censorship circumvention tool, you may simply search it online.</blockquote>

<blockquote><b>4. Username and Password</b><br>
If you do not know what they are, just leave them blank to see if the connection will success. Because in most cases, you do not need them.</blockquote>

What do you think, @Linda @mcs ?

I would be happy to include some of this text into the text we have in the tor-launcher.

I am open and happy to have a further discussion!

I am too--maybe a synchronous discussion would work best. I'll reach out to both of you via email about this.

comment:28 in reply to:  27 Changed 12 months ago by gk

Replying to linda:

<p><b> Censorship Circumvention Help</b></p>

<p>If you are unable to connect to the Tor network, it could be that your Internet Service
Provider (ISP) or another agency is blocking Tor. Often, you can work around this problem
by using Tor Bridges, which are unlisted relays that are more difficult to block.</p>

<p>Tor bridges are the recommended way to circumvent the Tor censorship. You should always take it as the first option to help you pypass the Tor censorship. However, if you are living in a heavily censored area where all the Tor bridges are invalid, you may need to use some third-party censorship circumvention tools to help you instead. In such a case, you should choose not using Tor bridges to help you bypass the Tor censorship.</p>

<p> Using a third-party censorship circumvention tool may harm you security and/or anonimity. However, in case you do need it, the following is an instruction on how to connect to the Tor network using different censorship circumvention tools:</p>

<blockquote><b>1. VPN</b><br>

  1. Establish your connection to the VPN server; 2. Hit the "back" buton on this page, going to the first page; 3. Hit the "Connect" button on the first page.</blockquote>

<blockquote><b>2. HTTP/Socks Proxy</b><br>

  1. Choose not using Tor bridges in this page; 2. Hit the "next" buton on this page, going the Proxy Configuration page; 3. Configure a proxy.</blockquote>

<blockquote><b>3. Specialized Tool </b><br>

  1. Figure out the listening port of the tool, including the port protocal and the port number; 2. Choose not using Tor bridges in this page; 3. Hit the "next" buton on this page, going the Proxy Configuration page; 4. Configure a proxy.</blockquote>

[snip]

What do you think, @Linda @mcs ?

I would be happy to include some of this text into the text we have in the tor-launcher.

Wait, isn't that a first step to #22399 which you said is a dangerous thing to do? (see your comment:9:ticket:22399)

Either way that should not derail us in getting the current patches reviewed and deployed. Adding more things later on if we think it's worthwhile is perfectly fine.

Last edited 12 months ago by gk (previous) (diff)

comment:29 Changed 12 months ago by gk

Status: needs_reviewneeds_information

First part of the review. This only covers comparing the attached design spec with the layout implemented. Apart from nits which probably don't matter (slightly different "Quit" button positioning etc.):

1) The design shows that obfs4 is selected by default and that it is the recommended bridge type. Both is missing in the layout implemented but it seems worthwhile to have, no?

2) Is there are ticket somewhere tracking the fancy icons and progress implementation as shown on page 9 and 10 of the design doc? If not, could you create one?

Last edited 12 months ago by gk (previous) (diff)

comment:30 in reply to:  29 ; Changed 12 months ago by mcs

Status: needs_informationneeds_review

Replying to gk:

First part of the review. This only covers comparing the attached design spec with the layout implemented. Apart from nits which probably don't matter (slightly different "Quit" button positioning etc.):

The position of the Quit button varies by platform due to our use of Mozilla's XUL wizard element. We could change it to be consistent across platforms, but it would be extra work and might make things less consistent with other parts of Tor Browser.

1) The design shows that obfs4 is selected by default and that it is the recommended bridge type. Both is missing in the layout implemented but it seems worthwhile to have, no?

We implemented v10 of Linda's design. I think you may be looking at v9. I will attach the v10 PDF to this ticket (it was sent by Linda to some of us via email on Sept 26th).

2) Is there are ticket somewhere tracking the fancy icons and progress implementation as shown on page 9 and 10 of the design doc? If not, could you create one?

I created #23971.

Changed 12 months ago by mcs

comment:31 in reply to:  23 ; Changed 12 months ago by phoul

Replying to mcs:

We are going to make patches for this ticket and for #23262 available for review very soon. We do have a couple of questions for the UX team (these can be addressed with follow up patches):

  • Should the "For assistance" text that appears on the current setup wizard and Network Settings window be kept or removed? It is not included in the design. This may also be a question for our community people (Colin, I am looking at you)

I think leaving this off for now would be best. On the contact page, we currently advise users not to contact frontdesk@ for support requests (https://www.torproject.org/about/contact.html.en).

One thing we could do is direct users to the support portal in that location.

comment:32 in reply to:  31 Changed 12 months ago by mcs

Replying to phoul:

I think leaving this off for now would be best. On the contact page, we currently advise users not to contact frontdesk@ for support requests (https://www.torproject.org/about/contact.html.en).

One thing we could do is direct users to the support portal in that location.

The text that is in Tor Browser today on the first screen people see is:

For assistance, visit torproject.org/about/contact.html#support

Based on what you said, I think it is okay to keep this in the browser.

The bridges and proxy help text is where frontdesk@... was mentioned, but that text is still under discussion. Probably we should point people to the same #support URL from the help screens too though.

comment:33 in reply to:  30 ; Changed 12 months ago by gk

Status: needs_reviewneeds_revision

Replying to mcs:

Replying to gk:

First part of the review. This only covers comparing the attached design spec with the layout implemented. Apart from nits which probably don't matter (slightly different "Quit" button positioning etc.):

The position of the Quit button varies by platform due to our use of Mozilla's XUL wizard element. We could change it to be consistent across platforms, but it would be extra work and might make things less consistent with other parts of Tor Browser.

Yeah, don't do that.

1) The design shows that obfs4 is selected by default and that it is the recommended bridge type. Both is missing in the layout implemented but it seems worthwhile to have, no?

We implemented v10 of Linda's design. I think you may be looking at v9. I will attach the v10 PDF to this ticket (it was sent by Linda to some of us via email on Sept 26th).

Heh. It seems I have been one of them. Thanks for adding v10 to this ticket, so others have the latest design draft available as well.

2) Is there are ticket somewhere tracking the fancy icons and progress implementation as shown on page 9 and 10 of the design doc? If not, could you create one?

I created #23971.

Thanks.

Okay. I went over all three commits and they look good to me apart from minor issues. Great work! I'll post all my comments here to not have them scattered over different tickets.

c6fd54b8ba36bf88630db446c68ba8d04ed9727a

1)<vbox class="firstResponses" align="center" > <- whitespace before ">"
2) I was a bit confused by the mix of of " />" and "/>", the former seems to be for older code? Just as a note that's not something that needs to get fixed
3) please fix TODO2017 items or file new tickets

1ebd091f1e185ccf3ffaa739bf8ec232447ead8a

1) Here you are not doing the "var" -> "let" renaming as in the previous commit, any reason for that? (not necessarily something to fix)
2) no mixed {} if-else clauses (see readTorSettings())

ba78bfa36ebac398511ddde1ece70f82d202383a

1) no mixed {} if-else clauses (see _configureDefaultBridges in tl-process.js and showAlert() in tl-util.jsm)

One bug I found (it's not new though):

1) Start with connecting directly.
2) Open the Tor Launcher network settings in the browser window and check the firewall option
3) Click okay and restart the browser
4) Cancel normal start-up and configure bridges (obfs4)
5) Check the Tor Launcher network settings in the browser window and the firewall option is now unchecked (which should not be the case)

I am still chasing two other bugs which I failed to trigger again, so more might come. :)

comment:34 in reply to:  33 Changed 12 months ago by mcs

Status: needs_revisionneeds_review

Replying to gk:

Okay. I went over all three commits and they look good to me apart from minor issues. Great work! I'll post all my comments here to not have them scattered over different tickets.

c6fd54b8ba36bf88630db446c68ba8d04ed9727a

1)<vbox class="firstResponses" align="center" > <- whitespace before ">"
2) I was a bit confused by the mix of of " />" and "/>", the former seems to be for older code? Just as a note that's not something that needs to get fixed
3) please fix TODO2017 items or file new tickets

We addressed all of the above issues. For consistency, we removed all of the extra spaces from the XUL near " />" and ">" (although some are done in the other patches). We also reinstated the "For assistance" text and inserted the help text that Linda proposed in comment:25 (which should be updated after we have a broader discussion about how to improve it).

We also found and fixed a bug that caused PTs were near the end of the list of
defaults bridges to not be shown in the UI (e.g., snowflake was missing on Mac), and we removed some old code that set up the label and access key for the built-in <dialog> help button (which we no longer use, since we now have two buttons).

1ebd091f1e185ccf3ffaa739bf8ec232447ead8a

1) Here you are not doing the "var" -> "let" renaming as in the previous commit, any reason for that? (not necessarily something to fix)

We fixed some more of these in functions that we touched (but not everywhere yet).

2) no mixed {} if-else clauses (see readTorSettings())

Bad habits ;) Fixed.

ba78bfa36ebac398511ddde1ece70f82d202383a

1) no mixed {} if-else clauses (see _configureDefaultBridges in tl-process.js and showAlert() in tl-util.jsm)

Fixed.

One bug I found (it's not new though):

1) Start with connecting directly.
2) Open the Tor Launcher network settings in the browser window and check the firewall option
3) Click okay and restart the browser
4) Cancel normal start-up and configure bridges (obfs4)
5) Check the Tor Launcher network settings in the browser window and the firewall option is now unchecked (which should not be the case)

Good find. I created #24098.

I am still chasing two other bugs which I failed to trigger again, so more might come. :)

Okay. I am sure there are more bugs. We do have a new branch to review (still three patches):
https://gitweb.torproject.org/user/brade/tor-launcher.git/log/?h=bug23261-02

comment:35 Changed 12 months ago by gk

Keywords: TorBrowserTeam201711R added; TorBrowserTeam201710R removed

Moving review to November

comment:36 Changed 12 months ago by gk

Keywords: TorBrowserTeam201711 added; TorBrowserTeam201711R removed
Status: needs_reviewneeds_revision

One thing that jumped out: the proxyHelp1 text: "A local proxy is needed when connection though a company" :)

And I was able to reproduce one of the two bugs I was chasing so far and it seems to be a bug in the new code. STR:

1) Start Tor Browser
2) Choose configure
3) Select "Provide a bridge I know"
4) Enter bridge details that are syntactically correct but essentially not working
5) You get an error and the options to click on the "Quit" and "Reconfigure" button
6) Clicking on "Quit" does not quit the dialog as it does in the current Tor Launcher and as it should. Rather it just goes back to the very first pane (the "chose either 'connect' or 'configure'" one.

comment:37 Changed 12 months ago by gk

Priority: MediumVery High

Changing prio to reflect sponsor deadline

comment:38 Changed 12 months ago by mcs

Keywords: TorBrowserTeam201711R added; TorBrowserTeam201711 removed
Status: needs_revisionneeds_review

We fixed the issues that were mentioned in comment:36.
We also fixed a problem that would sometimes cause the wizard buttons to have the wrong labels, etc. when an error occurred while the progress panel was in the process of opening. As before, there are three commits:
https://gitweb.torproject.org/user/brade/tor-launcher.git/log/?h=bug23261-03
(there were no changes to the middle one in this round).

I will also attach a diff that shows everything that was changed between our -02 and -03 branches.

Changed 12 months ago by mcs

Attachment: bug23261-02-03-diff.txt added

comment:39 Changed 12 months ago by mcs

I created #24200 so we do not forget to discuss and improve the bridge and proxy help text.

comment:40 Changed 11 months ago by gk

Resolution: fixed
Status: needs_reviewclosed

I merged this to master in commit 4f07910c678fe2179f200ea4dc777782e006fe0a, 09234581a042a648e99e2981799e2c4dbf53100c, and 803bf1178bc8c66a7166309abd680eef4af7a548. Thanks for this great work.

I did not find my third Heisenbug, but maybe you have an idea on how to reproduce it (in case it is still an issue in the finally merged version): I was playing with the bridge settings behind the onion menu. I am actually not sure anymore whether I configured a bridge or not but I am sure I did not enter any bridge details. However, after restart and doing the bridge configuring on the wizard I saw that "Provide a bridge I know" was checked and quite a bunch of bridge details were entered. My theory is that somehow all the bridges we have for a particular pluggable transport got somehow added into that field.

I found another bug I need to investigate but it seems to be more a tor bug right now. So, let's ship it in the upcoming alpha (7.5a8).

comment:41 in reply to:  40 Changed 11 months ago by gk

Replying to gk:

I found another bug I need to investigate but it seems to be more a tor bug right now. So, let's ship it in the upcoming alpha (7.5a8).

FWIW, that's #24367.

Note: See TracTickets for help on using tickets.