ircv3-ideas icon indicating copy to clipboard operation
ircv3-ideas copied to clipboard

Message pinning

Open sadiepowell opened this issue 8 years ago • 6 comments

Allow channels to pin a message to give it more prominence.

This is how Discord implements it UI-wise.

Some ideas on things which need to be decided on:

  • How it should be implemented
    • C2C tags
    • A C2S/S2C command
    • Something else
  • Whether pinned messages should be in a chathistory batch or their own special batch type
  • Whether to allow in PMs (Discord allows this but i'm not really sure how useful it is)

sadiepowell avatar Mar 19 '17 20:03 sadiepowell

Is this not just the channel topic or ENTRYMSG?

Is this supposed to be linked to the user (e.g. a join message), or do you perhaps want to mimic it coming from the user? A "fake" message sent by that user even if they're not online?

Zarthus avatar Mar 19 '17 21:03 Zarthus

Is this not just the channel topic or ENTRYMSG?

Its more for distinguishing messages sent by general users.

A "fake" message sent by that user even if they're not online?

Yeah, kinda. This can already happen with chathistory batches and their predecessor so it should not be unusual for clients to handle.

sadiepowell avatar Mar 19 '17 21:03 sadiepowell

@ValwareIRC has expressed interest in this.

sadiepowell avatar Oct 26 '24 12:10 sadiepowell

Yes, I am interested. Here's my thoughts on how this should be implemented.

User sends: /PINMSG #chan This is a pinned message

Current users, as well as joining users, would see:

@draft/pinmsg;+etc;+client=tags :n!u@h PRIVMSG #chan :This is a pinned message

This should be a separate batch type not related to channel history.

ValwareIRC avatar Oct 26 '24 12:10 ValwareIRC

Pinning messages in PMs is useful to me when we want to keep track of something (a point to return to, discussion to finish, "IOU $8 for lunch", or just "You're wonderful and I appreciate you").

Ideally an IRC implementation of pinning would enable a very common use on telegram, pinning someone else's message. For example "Looking for a roommate", upcoming event notification, or just a funny comment to highlight (or decontextualize). Channel metadata could have a list of message IDs to replay in their original form on join, but that wouldn't work for PMs, and I'm not sure how the server would get a trustworthy copy of an original message outside the +H window without more buffer/logs.

Having ancient pins show up in chathistory in your message pane could be weird/confusing, so I would send them in a way that allows them to be hidden there.

Should this be a +o privilege, or tied to +t? If pins aren't in metadata, how would one be removed?

half-duplex avatar Oct 26 '24 15:10 half-duplex

User sends: /PINMSG #chan This is a pinned message

I'm not a fan of this because how then do you pin a message that's already been sent?

i think it should accept an https://ircv3.net/specs/extensions/message-ids instead

nektro avatar Oct 26 '24 21:10 nektro

i think it should accept an https://ircv3.net/specs/extensions/message-ids instead

100% agree, I'll be implementing something like this (using message-tags as a target) in ObsidianIRC + UnrealIRCd third-party module very soon

ValwareIRC avatar Oct 17 '25 23:10 ValwareIRC