The main ones I think need fixed before merge are:
QSizePolicyarguments toQGridLayout.addWidget()(in anon_connection_wizard.py, look for the commendTODO: QGridLayout isn't supposed to take QSizePolicy arguments, how does this work?)- Use of
open(...).read()to read the entire contents of a file (this shows up in a few places) - Yahoo still listed as an email provider usable for getting bridges from BridgesDB (
TODO: Yahoo is no longer an acceptable email provider for this. https://blog.torproject.org/new-release-bridgedb-071/) no_controllerpopping up a window but callers expecting it to return a string (TODO: Callers expect this to return a string, not pop up a window! This is therefore broken.)- Double-check that the restarting of Tor after sending a
Signal.NEWNYMis safe (TODO: Do we know that Tor has fully processed the NEWNYM signal at this point?)
Beyond that, some that would be nice to fix before merge but aren’t essential:
- Lack of IPv6 compatibility (
TODO: socket.gethostbyname() only supports IPv4. Whonix now supports IPv6. Can this be changed to use socket.getaddrinfo() instead?) - Parser issues in
torrc_gen.py. (This one would be a release blocker IMO if the code wasn’t already released, but this existed prior to your refactoring work so I don’t think it counts as a blocker.)
The rest are mostly robustness concerns and cosmetic things, it would be nice if they were fixed but if the code works otherwise, they can wait.