You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge #430: Allow IPv6 in Proxy settings and moving validation out from the UI into the model/ interface
4dea7c9 qml, proxy: Allow IPv6 and move out UI validation (pablomartin4btc)
Pull request description:
The main purposes of this PR are:
- Allow configure proxy server with IPv6 (after testing exhaustively in current `bitcoin-qt` [repo](https://github.com/bitcoin-core/gui/) and `bitcoind` - e.g. [IPv6 on Qt](bitcoin-core/gui#836 (comment)); [IP validation in Qt](bitcoin-core/gui#813))
- More importantly: moving the validation logic out from the UI (component/ control/ widget) into the back-end (model/ interfaces). It seemed currently in [Qt](https://github.com/bitcoin-core/gui/) all this logic (validation, network classes) was coupled to the UI since the beginning (more than [12y ago](https://github.com/bitcoin-core/gui/blame/c4443c2be141e5f45bb10376056f3083e97cde50/src/qt/optionsmodel.cpp)) instead of using interfaces (introduced much later) that would be the correct thing to do.
Feedback and suggestions are very welcome and will help establish a foundation for leaving business logic out of the UI going forward.
---
<details>
<summary>In order to test it, if it's the first time you run <code>./src/qt/bitcoin-qt</code> you need to go thru the on-boarding flow (<i>start->next->next->next->next->connection settings->Proxy settings</i>) otherwise you need to go to the settings (top right gear icon) then <i>Connection->Proxy settings</i>.</summary>

</details>
Before this change, only IPv4 address were allow in the value input, now also IPv6 can be entered.
---
There are some [look and feel kind of issues](#430 (comment)) that will be handled on follow-ups (issues: #437 and #438).
ACKs for top commit:
D33r-Gee:
tACK [4dea7c9](4dea7c9) on Ubuntu 20.04 works as expected.
vasild:
ACK 4dea7c9
johnny9:
ACK 4dea7c9
Tree-SHA512: f633f5729f4ca2a8433560b15722bccd5938bfa55643cd3d925b75ed01006dbc7a56fe3a20766a6bb9e2bb601c8a3828c177de3cccc7728959eb48987838e90c
0 commit comments