* Add support for storing DM history between users in a SQLite3 database.
* Opt-in by editing your settings.toml to set DirectMessageHistory/Enabled=true
* Retention days (default 90) will flush old DMs on app startup.
* On the front-end, DM history is checked when a DM thread is opened.
* Try a new strategy to get Apple (iPad/iPhone) webcams to connect.
* "Apple compatibility mode" setting: on by default if iPad/iPhone is
detected or can be opted into in the chat settings Misc tab.
* In Apple compat mode: when you open someone else's webcam, you always
attach your local video on the WebRTC offer. This would normally make
your video auto-open on the remote side, but the previous commit
updates the chat page to ignore offered video if you did not opt-in to
auto-open your viewer's camera.
* This should satisfy the two-way video call limitation in Safari: the
iPad always shares its video and gets video from the person they are
watching.
* If the person they are watching did not auto-open your video: they
ignore the attached video on your offer and don't display it.
* The /ban command doesn't require the target user to be online at the
time of the ban.
* Update the presence messages so they will generally only go to the
primary (first) public channel, and also to another public channel if
the user is currently looking at one of the others.
* Re-set user's status if they disconnect and reconnect
* Remove "(offline)" text next to ChatServer/ChatClient messages
* Make names and pictures in presence messages clickable to open profile
cards
* If a user expressly closes a webcam (by clicking the 'X' button),
record this intent so that the webcam will not auto-open in case the
"auto-open my viewer's camera" happens again. Only clear the expressly
close intent when the user expressly clicks the video button on the
Who List to open someone's camera back up.
* Fix some bugs around booting and muting from cameras:
* If you boot someone off your camera, you can not open THEIR camera
anymore (similar to muting them)
* When opening a user who auto-opens your camera back: do not attach
your local video if you are an Admin and you have previously
muted/booted that user from your camera.
* Draw the slash mark over videos that you can not re-open because you
had booted that user off your camera.
* Add profile modal popups and Webhook support to get more detailed user
info from your website.
* Add "unboot" command, available in the profile modal.