Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chat improvements #7330

Open
pitaj opened this issue Feb 2, 2019 · 32 comments

Comments

Projects
None yet
8 participants
@pitaj
Copy link
Contributor

commented Feb 2, 2019

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]
  • 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

@pitaj pitaj self-assigned this Feb 2, 2019

@youhosi

This comment has been minimized.

Copy link

commented Feb 2, 2019

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

@pitaj

This comment has been minimized.

Copy link
Contributor Author

commented Feb 2, 2019

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.

@PostMidnight

This comment has been minimized.

Copy link

commented Feb 3, 2019

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)
@pitaj

This comment has been minimized.

Copy link
Contributor Author

commented Feb 3, 2019

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

@PostMidnight

This comment has been minimized.

Copy link

commented Feb 4, 2019

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.

@PatheticMustan

This comment has been minimized.

Copy link

commented Feb 4, 2019

One step closer to discord, am i rite ;)

@arranka

This comment has been minimized.

Copy link

commented Feb 5, 2019

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

@pitaj

This comment has been minimized.

Copy link
Contributor Author

commented Feb 5, 2019

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

@arranka

This comment has been minimized.

Copy link

commented Feb 6, 2019

@pitaj updated and corrected, thanks

@PostMidnight

This comment has been minimized.

Copy link

commented Feb 10, 2019

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).

@PostMidnight

This comment has been minimized.

Copy link

commented Feb 12, 2019

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

See below example:
image

@arranka

This comment has been minimized.

Copy link

commented Feb 12, 2019

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

@pitaj

This comment has been minimized.

Copy link
Contributor Author

commented Feb 12, 2019

@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.

@PostMidnight

This comment has been minimized.

Copy link

commented Feb 14, 2019

Client to client chat encryption could be useful.

@FaizanZahid

This comment has been minimized.

Copy link

commented Feb 20, 2019

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.

@PatheticMustan

This comment has been minimized.

Copy link

commented Feb 21, 2019

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?

@julianlam

This comment has been minimized.

Copy link
Member

commented Feb 21, 2019

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

Correct, which is why this would be plugin territory.

@PostMidnight

This comment has been minimized.

Copy link

commented Mar 8, 2019

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.

@PostMidnight

This comment has been minimized.

Copy link

commented Mar 8, 2019

@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.

@julianlam

This comment has been minimized.

Copy link
Member

commented Mar 8, 2019

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

@PatheticMustan

This comment has been minimized.

Copy link

commented Mar 8, 2019

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

@PostMidnight

This comment has been minimized.

Copy link

commented Mar 9, 2019

@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.

@PostMidnight

This comment has been minimized.

Copy link

commented Mar 22, 2019

Two nice to have features:

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

This comment has been minimized.

Copy link

commented Mar 22, 2019

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

@FaizanZahid

This comment has been minimized.

Copy link

commented Mar 25, 2019

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

@arranka

This comment has been minimized.

Copy link

commented Mar 25, 2019

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

@PatheticMustan

This comment has been minimized.

Copy link

commented Mar 26, 2019

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

@LonMcGregor

This comment has been minimized.

Copy link

commented May 10, 2019

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

@PostMidnight

This comment has been minimized.

Copy link

commented Jun 5, 2019

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

@PatheticMustan

This comment has been minimized.

Copy link

commented Jun 5, 2019

Add groups to chat would still be super cool.

@arranka

This comment has been minimized.

Copy link

commented Jun 25, 2019

Is the project abandoned or is it still in force?

@julianlam

This comment has been minimized.

Copy link
Member

commented Jun 25, 2019

No, I don't think it's abandoned 😄

julianlam added a commit that referenced this issue Jul 16, 2019

julianlam added a commit to NodeBB/nodebb-theme-persona that referenced this issue Jul 16, 2019

julianlam added a commit to NodeBB/nodebb-theme-persona that referenced this issue Jul 17, 2019

julianlam added a commit to NodeBB/nodebb-theme-persona that referenced this issue Jul 19, 2019

julianlam added a commit that referenced this issue Jul 19, 2019

System chat messages (#7771)
* fix: removed duplicate checkContent call in addMessage

addMessage is called in one place (sendMessage), and the checks
are already contained there. addMessage is the lower level call
and so should be called only from within core itself.

* feat: #7330 chat system messages for join, leave, rename

* fix: add back content checking in .addMessage();

* fix: tests, and added .addSystemMessage() method

Tests were relying on message indices that changed due to the
new system messages.

* feat: add tests for system chat messages

* refactor: rewrite half of src/messaging/rooms.js, fix tests

* feat: #7743 messaging/room.js

* fix: tests for messaging/room.js, #7743

* fix: trying to fix tests

* fix: omg :rage2:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.