Pin a message in a group chat

aaaaaaaand: there is progress

Hello

About integration of Pinned messages, I read there were already lots of discussions about how to implement them.

My 2cts :

  • “Pinned” messages should be a property (or metadata) of the message itself. Something similar to the “High importance / Normal importance / Low importance” in Outlook emails.

  • The “Pinned” property is set by the author when he writes the message. Eventually, if he wants to Pin a message afterward, he must edit the message (and so the pinned message is send back as an “edited message” to everybody with the “pinned” metadata added. Idem, he must edit the original message to remove the “pinned” property. Pinned messages can be displayed in a different color in the chat.

  • Only the author of a message can pin it or unpin it

  • In the menu “Apps and Media” of a conversation, add a new column “Pinned messages” to display all pinned messages of the conversation. It avoids to bloat the already small screen of smartphones (think about people who use screen zoom or big fonts: if you add a pinned banner on top of the conversation, it lets very small place for the conversation itself). Moreover, as Pinned messages would be in a different color, there is no need to add an additional banner on top of the chat.

  • As it is just a normal message with a “pinned” property, other users can delete it on their side if they want (or just delete the “pinned property” on their side). It will not affect other users.

  • See Add option to exclude Apps from "Delete old messages from devices" : if “Delete old messages from devices” is activated, add one or more options like “Do not delete old Pinned messages” / “Do not delete old messages containing Apps” / “Do not delete old messages containing Medias”. It is a user side setting, not a sender side setting.

  • Optional : About New incomers coming in a group chat AFTER the pinned messages were posted, add a setting (author side) : “automatically send again MY pinned messages to new incomers in group chats” (the newcomers would get the pinned messages only when the original author is back online) (In this case, I don’t know how pinned Apps and their App data would be treated).

Pinned messages are already implemented in some way at feat: pinned messages by r10s · Pull Request #8546 · chatmail/core · GitHub, they are not sent as “edited” messages. There is some automatic resending, but only for channels at least for now: feat: resend pinned state in broadcast channels by r10s · Pull Request #8549 · chatmail/core · GitHub

Just beware of the UI between “Saved messages” and “Pinned messages”.

If everyone can pin messages of everybody, I fear some users will pin a lot of messages, thinking they are just saving for themselves.


About UI and the banner of pinned messages, I will insist : I think the right choice would be to avoid the banner and put Pinned messages in a new column next to Apps and Medias. Just put a small texte in the chat history “X pinned a message”.

Why ? When a message is pinned, people will read it (or not), but they don’t need to be permanently reminded of the pinned message they already read while scrolling the group chat.

Pinning messages in personal and group chats is an essential feature! Really looking forward.