Chat - WilStead/VueCoreFramework GitHub Wiki

VueCoreFramework includes a simple chat system, which accepts and displays markdown-formatted text (thanks to vue-markdown).

In addition to individual chat, each group has a shared chat session in which any user who belongs to that group can participate.

Users who are logged in will see an "unread messages" badge on the chat icon, which indicates the number of unread personal chat messages (group chat doesn't track who has read what).

Privacy

The chat system is designed with the privacy of individual users in mind. A user can only start a chat session with other users in the groups to which they belong.

Deleting messages

A user can delete any individual chat conversation in their history. This only deletes it from that user's view, until the messages included have been marked deleted from both sides of the conversation, at which time the messages are permanently deleted. Group messages cannot be deleted.

Both individual conversations and group chat have limits on the number of messages that are stored, to prevent the database from becoming bloated due to users who don't delete old messages. Any two users can have a maximum of 100 messages in their conversation history. Every new message sent after that limit is reached will cause the oldest message to be permanently deleted.

Note that this limit is per user-user pair: Bob and Sally can send up to 100 messages to each other before losing any, which counts both those Bob sends as well as those he receives from Sally; at the same time, Bob and Alice can also send up to 100 messages to each other; Bob isn't limited to 100 messages total.

Group chat has a limit of 250 messages.

Administrators

In addition to the usual controls, Administrators have access to a search field in the chat panel which allows them to look up any user. This allows administrators to send a message to any user, regardless of group membership. This is also where the administrator would lock the user's account, if necessary, and shows the administrator the user's email address (which is not available to other users).

Also, Administrators may participate in any group's chat, whether they are a member or not.