Nodebb: Chat improvements

Created on 2 Feb 2019  路  32Comments  路  Source: NodeBB/NodeBB

This is a centralized issue covering the collection of planned chat improvements

  • [ ] Ability to add a group. This should not be accomplished by adding every member of the group, as then new group members would not be included
  • [ ] Multiple chat room managers
  • [ ] Ability for each user to configure notifications on a per-room basis

    • Notify all members (default)

    • Notify only members currently online

    • Disable notifications

  • [ ] Ability to configure the default notification setting of a chat room
  • [ ] Chat room widget which embeds the chat room in a page
  • [ ] Sent, received, read indicator (like WhatsApp etc) [#7192]
  • [x] System messages for joining/leaving/renaming of a chat room

These changes will deprecate the global-chat plugin and likely replace the shoutbox widget as well. NodeBB/nodebb-plugin-global-chat#5

breaking change (themes) enhancement request for comments

Most helpful comment

@arranka please report that issue in the global-chat repository.

On the "only online users" idea, this has been suggested already. It's discussed in the global-chat issue linked above. It's covered in this issue by the "Notify only members currently online" item.

The solution to there being thousands of members in the global chat is not to reduce the number of users in it with naive trickery, but to fix the chat so it works correctly with many users.

All 32 comments

It would also be nice to have more options in the same place to enter, e.g.

zrzut ekranu z 2019-02-02 11-58-33

Are you talking about formatting buttons?

If so, I don't think it makes much sense, at least on mobile. WhatsApp and other apps like it don't have formatting buttons, instead they have a simplified version of markdown formatting.

Hi Pitaj,
Upgrading the chat system using the above list will be extremely helpful.
Might I suggest the following features as well (granted, some may be out of scope):

  1. Voice recording (record message instead of typing)
  2. Voice chat (consider integrating Jitsi https://jitsi.org/jitsi-meet/ or WebRTC)
  3. Video chat (consider integrating Jitsi https://jitsi.org/jitsi-meet/ or WebRTC)
  4. Live-chat: Allowing users to connect directly with site's staff - with chat history, read receipts and simplified queuing (consider integrating WebRTC)

@PostMidnight most of those features are, in my opinion, not super useful for a forum. Better served with plugins IMO.

Hi @pitaj perhaps just consider (1)? - its a minor improvement that could be enabled by integration of the following plugin: https://github.com/julianlam/nodebb-plugin-audio-embed.

One step closer to discord, am i rite ;)

many users say that the view in the chat cell phone has a problem
the chat notification icon is interposed with the send message button
you want to press the send button but the chat notification button is pressed
This is so? or does it have to do with the theme that he is using?

Thank you

izynmto_d

@arranka that's already been fixed in the latest persona theme. I suggest upgrading NodeBB to the latest version.

@pitaj updated and corrected, thanks

IMHO the notification system can use a minor revision so it may become more real time.
May I suggest to generate action:notification.pushed event if:
(The client's current browser page is not NodeBB) AND (the user has not seen the notification within say 20 seconds from the time it was dispatched).

Chat bubbles with different colors (for example, use avatar color).
Float bubble left/right based on sender / receiver.

See below example:
image

I closed my old forum to install a nodebb forum with a virgin database, the users have tried the chat and this is what they said

In the global chat the messages that are written in the chat are not seen because it is covered by the users registered to the forum

https://i.imgur.com/GedgtWl.png

This is the view of the cell phone

https://i.imgur.com/cMc0iwn.jpg

A good idea would be that only online users will be shown in the global chat and not the users registered in the forum. Keep in mind that in the forum that closed had more than 10 thousand registered users. Imagine a list of 10 thousand registered users in the global chat and of those 10 thousand only a few are online
Maybe another good measure is to put users online on the side for example as in discord
groups on the left, online users on the right as in discord

https://i.imgur.com/qFWxun4.png

In another point users want to have the emoji button, as in discord, they also want to quote messages

When someone scrolls to read previous messages, when someone sends a new message it goes back down. Then it is impossible to read previous messages by scrolling because if someone sends a message it takes you back to the beginning. If there are 5 to 10 messages per minute, it is impossible to scroll

This is in a week of testing
Thank you very much for reading me

@arranka please report that issue in the global-chat repository.

On the "only online users" idea, this has been suggested already. It's discussed in the global-chat issue linked above. It's covered in this issue by the "Notify only members currently online" item.

The solution to there being thousands of members in the global chat is not to reduce the number of users in it with naive trickery, but to fix the chat so it works correctly with many users.

Client to client chat encryption could be useful.

This is the most productive issue i ever found. Let's make the node bb chat like messenger and whatsapp! This will hugely increase user retention rate on our forums. Hats off @pitaj (Y)

+1 Voice chat
+1 Voice notes/messages like whatsapp
+1 read/seen receipts
+1 Push notifications for mobile users messages/mentions
+1 Ability to send rich attachments in chat, files, pdf, images, videos, embed links, youtube etc
+1 ability to have chat rooms moderators as well as forum moderators.

I agree that "read/seen receipts" would be awesome, and so would chat moderators, but wouldn't audio calls and voice notes take up a lot of bandwidth/space?

Also, moderators really only make sense in chats with multiple people, and read/seen receipts only work with 2 people.
It would be really complicated to have that for 20 people, right?

but wouldn't audio calls and voice notes take up a lot of bandwidth/space?

Correct, which is why this would be plugin territory.

Chat load time and context switching (between chats) are quite high. Perhaps it makes sense to listen to and cache all chat conversations that the user is linked to in the client, even when the user does not have a chat window open.

@PatheticMustan read/seen can work with multiple people as well. So for instance you may flag a conversation bubble, and push an "info" icon. You may then receive a list of members who received the message, and the ones who read it, with timestamp for each.

Chat loading should not actually take a long time. There's an opportunity for optimization here.

@PostMidnight, how long do chats normally take to load? (Just curious, I can't actually help improve code)

@PatheticMustan, few seconds to longer timeframe if the site/network is loaded. Caching the data at the client using a silent listener should make the switch instantaneous.

Two nice to have features:

  1. Quick scroll to bottom
  2. Quick search in chat content

NodeBB is slowly turning into Discord on a forum...

Discord has lots of cool features too, i hope node bb competes and be better in terms of modern features!

very good as it is leaving the new nodebb chat good work guys

Honestly all I want is the ability to add groups to chat rooms. ;(

I'm not sure if here is the best place to report it, but I've found a minor style bug in chat where if you use the > quote format for a long quote (so that it wraps multiple lines), then mobile view gets a broken width as the whole page follows the width set by the quote.

vivaldi_2019-05-10_20-01-18

Another nice to have feature:
View the media (pictures, video) that were shared in a group.

Add groups to chat would still be super cool.

Is the project abandoned or is it still in force?

No, I don't think it's abandoned :smile:

Was this page helpful?
0 / 5 - 0 ratings