Persist rooms we create, allow anyone to send invites
The latter is not supported on Prosody
<https://prosody.im/issues/issue/254> which is why we still set everyone
to owner when inviting.
Room presence manager
We now store on a per-tel basis who they have seen join/part the room.
Joins/parts are stored based on what they have actually seen (via
debounce) and so should always map to SMS we actually sent.
If we get a join from someone we already thought was in the room, that
information is useless. Do not send it. Closes #34
We also update the global list in the same place, which I think is now
only used for the re-join on daemon restart. This is related to #30,
but may not complete it yet.
There can be more than one status
Preserve JID mappings we know about
I think this should prevent unneeded rejoins
Log exact items in MUC on restart
Debounce join/part SMS notifications
We don't tell you someone left the group until they are gone for 2
minutes. If they come back in that time, we never tell you anything.
This is for people on bad internet who keep leaving and reconnecting
right away. The stream of SMS messages is very annoying. They will see
your messages when they come back (usually) because of MUC scrollback
features. If they are gone longer, we will tell you and hopefully you
didn't say a lot of stuff while they were gone.
Stop printing all the vitelity in Nothing lines
Always send join/part SMS
This was causing only one person to get the SMS messages, since we
record that the person left as soon as we hear about it, and we process
stanzas in order, so no one else would get notified.
If we turn out to need this kind of filter, we can do a per-person list
of who they think is in the room or something?
Responding to probes instead of broadcasts
I think this is what we're actually supposed to do.
Force line buffering on outputs
We want the digits, this was backwards
Catch connection error
Add so much logging
Maybe we can see the bugs now?
Filter out bogus vitelity crap
Say you are not in a group in reply to /who
Increase wait times overall