While testing the settings I've discovered a bug with additional STUN
servers and Jingle Nodes for Jabber account in "ICE" tab.
When I add some servers and commit the changes they are added fine.
Later when I edit the account and remove it also looks as they were
removed, but only until next Jitsi restart.
I've investigated the issue and the reason is that when
ProtocolProvider stores the AccountID it just saves all properties
from account map. It doesn't care if any of them were removed. It
works ok until the restart because those properties are not reloaded
form configuration file but are in memory of AccountID instance. When
the Jitsi restarts properties for server entries are reloaded from
config file and they appear in settings again.
The only field that is handled differently is the PASSWORD. In
AccountManager.storeAccount it checks if it is present and if not it
removes the property from configuration.
I can see 2 solutions for now(sugesstions are welcome).
The first one is to remove all account properties from config before
storing new map, but all properties not included in registration
wizard will be gone. There may also show up new problems.
The second: remove entries for STUN and JingleNodes prefixes before
account modification. I'll try to do this in
ProtocolProviderJabberImpl as it is Jabber specific.
What do you think ?