Here’s something I’ve been playing around with for a bit. Will definitely still be some issues to iron out, but it mostly works. Would be good to get some feedback at this stage. Please use with caution
Adds a dropdown in the header that shows you your latest private messages and a ‘chat’ experience for private messages similar to Facebook Messages or Google Hangouts.
You cannot yet have multiple chats open at once. If you open a new private message topic from the messages menu, it will override any existing private message compose and message stream you have open. Multiple chats open at once may be a future feature.
New private messages composed from the “New Message” compose button in the messages dropdown behave like chat streams, i.e.:
- The topic title will be the usernames of the participants in the topic, e.g. “Bob & Mary”.
- If the participants in the new topic match the participants in an existing topic, the existing topic will be continued rather than a new topic created.
Notifications about private messages will no longer appear in the notifications stream in the user menu. Whenever there is a new post in any private message topic, that topic will automatically move to the top of the message menu list. The unread private messages count will appear above the messages menu icon, rather than the user menu icon.
Using any compose action other than the two in the messages menu will display the normal discourse compose and should work as normal. It should be possible to transition seamlessly between the two types of compose experience.
I have tried to override as little of the existing discourse composer functionality as possible. Where I have overridden existing discourse methods I have made a note of it in the code. See in particular here and here
Using this plugin on the same page as another topic does not produce conflicts in topic tracking as I have replicated some the functionality of screenTrack, rather than use it at cross purposes. See here.