~singpolyma/cheogram

ref: c696243f1af7efc6599e377ebb639c06912e9b3b cheogram/Main.hs -rw-r--r-- 69.3 KiB
Merge upstream caps into our caps

And also into our disco info.

Closes #44
Pass through presence at all
Send presence when subscribed
Show currently-set route if there is one
Pass proxied stanzas from 1:1 route back through
Route direct messages if route exists
Proxy through the registration form and record the route
Change node name for "new Cheogram"
Handle errors from backend gateway

Well, log them for now.  Need to send more data along if we're going to
reflect them back properly.
Huge refactor to use seperate backend and some other stuff
Catch more exceptions, print more restart logs!
First explicit signature!
Use log everywhere
Do not notify user on rejoin
No one cares about join/part

SMS users rarely do it, and social cues might be in place to handle that
anyway.  Data users flap way to much to be useful, and usually can read
backscroll anyway so they'll see you message when they come back.

If you really want to see join/part messages, you can explicitly ask for
them, with a set debounce (in seconds)
Debound both joins and parts
Advertise jabber:iq:gateway support
Merge presences into old_presences

In case rejoin attempts happen without a sucessful join in the middle.
Rejoin on status 332

Closes #36
Rejoin even if remote server takes awhile to come back

Make sure that on rejoin we end up with a correct list of who is in the
room.

Almost done #36
Next