Orfox was working pretty well in general as a browser. Amogh added NetCipher to get the automatic Tor starting. That started Orbot fine, but Orfox errored out on any websites that it tried to load while waiting for Orbot to start Tor. So I implemented an approach that makes the orbot starting stuff transparent, and tries to make Orfox transparently hold loading any pages until Tor is ready. This used the internal Fennec event "Tab:Load". The problem with that approach is that the Fennec UI blocks and waits for the Gecko engine to respond to any "Tab:Load" messages that have been sent.
I also tried queuing incoming Intents that cause a web page to be loaded, but that only works for new URLs coming in. If Orfox is not running, then it is started and wants to load a few tabs from the previous session, those will all show the failure to connect page since they are not being started by Intents, but rather the internal Tab:Load messages. I also thought about just going back to the old Orbot start Intent that launched Orbot itself, but upon thinking about that, I think it would really handle error conditions badly, like when Orbot fails to start properly, because going to Orfox would always just redirect to Orbot. Now, I'm thinking the best approach includes two key pieces: * remove the Tab:Load queuing that is there now, and switch back to the Intent queuing method I had going before. * update the "proxy connection failed" page so that it shows the Tor status (OFF/STARTING/ON/STOPPING) That page will also include the "Try Again" button that is there. Also, when STATUS_ON is received from Orbot, that page can automatically try again. We should probably also add a button that brings up the Orbot main screen so that users can easily troubleshoot the Tor connection in Orbot. .hc -- PGP fingerprint: 5E61 C878 0F86 295C E17D 8677 9F0F E587 374B BE81 https://pgp.mit.edu/pks/lookup?op=vindex&search=0x9F0FE587374BBE81 _______________________________________________ List info: https://lists.mayfirst.org/mailman/listinfo/guardian-dev To unsubscribe, email: [email protected]
