To help alleviate rocky chat server reboots, WhoList messages will be withheld in the first 15 seconds from server start. When a lot of chatters were online during a reboot (e.g. 50 or more), they would all try and reconnect after 5 seconds and each login was broadcasting Who List updates to everybody else logged in. With the surge of logins in a short time, these WhoList messages would fill up the buffers of each recipient, kicking them offline for being too slow to keep up with messages; only for that recipient to reconnect again. The average user may have experienced 2 or 3 disconnects when the chat server reboots. To help alleviate the spam of messages being sent out: * Presence messages are withheld for the first 30 seconds ("has joined the room" notifications) * Now, WhoList messages are withheld for the first 15 seconds. After 16 seconds of uptime, the server will send a WhoList to everybody currently online to catch them up. To accommodate this, the front-end will show a spinner and say "Waiting for Who List..." when the page is connected but no WhoList has been received yet. Under normal operation, this spinner won't be visible beyond a brief moment as a WhoList is normally sent upon joining the chat. |
||
---|---|---|
.. | ||
config | ||
jwt | ||
log | ||
messages | ||
models | ||
util | ||
api.go | ||
banned_users.go | ||
commands.go | ||
config.go | ||
echo_messages.go | ||
expand_media.go | ||
handlers.go | ||
images.go | ||
logging.go | ||
markdown.go | ||
message_filters.go | ||
moderation_rules.go | ||
pages.go | ||
polling_api.go | ||
server.go | ||
subscriber.go | ||
webhook_messages.go | ||
webhooks.go | ||
websocket.go |