|
@@ -321,13 +321,19 @@ func (client *Client) AccountSettings() (result AccountSettings) {
|
321
|
321
|
}
|
322
|
322
|
|
323
|
323
|
func (client *Client) SetAccountSettings(settings AccountSettings) {
|
|
324
|
+ // we mark dirty if the client is transitioning to always-on
|
|
325
|
+ markDirty := false
|
324
|
326
|
alwaysOn := persistenceEnabled(client.server.Config().Accounts.Multiclient.AlwaysOn, settings.AlwaysOn)
|
325
|
327
|
client.stateMutex.Lock()
|
326
|
328
|
client.accountSettings = settings
|
327
|
329
|
if client.registered {
|
|
330
|
+ markDirty = !client.alwaysOn && alwaysOn
|
328
|
331
|
client.alwaysOn = alwaysOn
|
329
|
332
|
}
|
330
|
333
|
client.stateMutex.Unlock()
|
|
334
|
+ if markDirty {
|
|
335
|
+ client.markDirty(IncludeAllAttrs)
|
|
336
|
+ }
|
331
|
337
|
}
|
332
|
338
|
|
333
|
339
|
func (client *Client) Languages() (languages []string) {
|