Looking for something MIT or BSD licensed. Each user needs to be able to have live chats with any other user in a 1-1 communication channel when both users are logged in, as well as the ability for our support staff to open 1-1 communication channels with users.
- Something that we can run ourselves -- don't want our chat conversations stored on someone elses servers.
- The ability to mute/block users (whether this is done within the plugin/library or it's something we need to do I don't mind, as long as it's possible).
- We need control over when user chats are created and closed, and we need to retain all chat history on their conversation windows.
- We need to be able to create notifications for them about new chat messages (or the widget needs to do this).
- Emoticons/user is typing status/user has seen your message/file uploads are all a bonus.
- The ability to inject messages into a conversation so we can link users to with status updates would be nice, but not a strict requirement.
If you're not sure if a solution has those requirements but you know it's a good 1-1 chat solution please share it, our requirements can be a little bit flexible. The best we've found so far is RocketChat. Mattermost was an option but their source code is APGL licensed.
The goal is to not have to write our own chat system, as this seems like a lot of work. Our website is an escrow service for buyers and sellers, you could think of it like Ebay for example -- but we're aiming for more interactivity with live chat.