I am very sorry if I broke things you wrote. please understand that it was not my intention.
I made several changes last week in order to fix a few scripts that were broken.
To be more precise, Tachikoma added a third parameter to the constructor of the Interface class, and you added a fourth one.
Since that class was used elsewhere, the following scripts were broken: peers, blocks, watch_address, get_history
it would have been possible to add those parameters everywhere in order to fix this.
However, I feel that we should also try to reduce the complexity of the code whenever it is possible.
I decided that the third parameter was not really needed, and that the fourth one (proxy) could be optional.
Please do not take this as an aggression. You are very welcome to work on this project.
I did not complain about my scripts being broken, because I did not want to deter your contributions.
In return, I ask you to understand that I did not break things intentionally.
I reckon I did not properly test the proxy function after my commits, mostly because there was not manual for it;
but neither did you guys check that the parameters you added were not breaking things, so let us not blame eachother, ok?
In order to avoid such misunderstanding, it often helps to have direct communication (IRC), rather than delayed forum posts.
In addition, you could have write access to the repository; this would avoid the situation where changes in the repo conflict with your version.
I must say that I'm more than a bit peeved that my proxy code was rewritten and broken. The changes in current master break the ability to load a proxy config. I looked at the changes and thought it was broken but had to pull the current master branch to be sure. I also don't much like the numerous minor syntax changes. What I wrote was tested and worked and now it's a broken mess.
Currently if you set a proxy mode and save it will not get picked up when you start again. It also breaks the ability to disable a proxy to None with a cmd line option since None is no longer supported. These are things I tested fairly extensively before submitting my code. The changes also break fine tuning I made later and probably will result in conflicts when bringing in further improvements I've since made.
I've got whole slew of small and useful changes in my fork and I don't plan to do pull requests on any of them. All of the below are tested as working on my system. No one seems to have bothered testing them elsewhere. Socks support worked too before it was mangled up.
confirmation-tooltips - use tooltip for confirm count instead of passing tx data
exchanges-proxy-mode - proxy support for exchanges
filter-history - show only selected address transactions
import-addr-or-key-only - add watch only address support
multi-exchange - allow selecting which exchange to use for quotes
multi-select-send - easy coin control
pro-show-currency - add currency quote next to balance in pro mode
qr-scalable-centered - make qr code scale with window and centered
red-debits - show withdraw/payments in red text as std for accounting
remember-column-widths - stop having to re-set column widths
sahara - new sandy brown theme
shrink-gui-lite-settings - allow changing back to Lite mode from Pro
Right now, I'm a quite disgruntled with how this project is run. I'm not going to write code to just have it f'd with and overridden with breaking changes. I'd love to see Electrum improve but if the current devs prefer it stagnate then no problem, I can go put my efforts elsewhere.
I don't see that point of me testing my code extensively just to have it merged into master and then edited without my knowledge and broken. Shouldn't breaking changes be tested before merging in master? Doesn't that make bloody sense? Is there any rules about flow here or do people just edit willy nilly in master branch as they please?