A: 'autojoin' = whether to join automatically at login
J: 'joined' = current/previous known joined state

```
A J | on login
----+-------------------------------
0 0 | don't join
0 1 | don't rejoin (possibly ask - likely just forgot to leave)
1 0 | join
1 1 | rejoin

A J | on reconnect
----+-------------------------------
0 0 | don't join
0 1 | rejoin
1 0 | don't join (already left explicitly)
1 1 | rejoin

A J | on update (not already joined)
----+-------------------------------
0 0 | do nothing
0 1 | join (possibly ask)
1 0 | do nothing
1 1 | join (possibly ask)

A J | on update (already joined)
----+-------------------------------
0 0 | leave (possibly ask)
0 1 | do nothing
1 0 | leave (possibly ask)
1 1 | do nothing
```

I get that this isn't necessary for the 'modern' always-online way many of you use rooms, but you can just set autojoin to true and forget about it; does that mean everyone else must be forced to use it in the same way that you do?

In terms of asking first, clients can have a "sync my groupchats/rooms across clients" setting - if true, asking isn't needed.

In any case, changes to autojoin don't alter current joined state.