~emersion/soju#187: 
Add extension to synchronize opened buffers

Use cases:

  1. User buffers. Open a buffer to talk to a user on a client: ideally all other clients should show the new buffer. Close the buffer: ideally all other clients should remove it from their UI.
  2. Detached channels. Ideally clients would be able to offer some UI to list currently detached channels, and detach a channel.
  3. Unjoined channels. If the user has configured the bouncer to join a channel but the upstream server has refused the command, ideally clients would offer a way to list these channels, provide feedback to the user (ie, why it's not joined) and provide a way to retry or remove them. This can happen if the upstream server is currently down, if the channel name is invalid, if the max number of joined channels is reached, or if the user doesn't have permissions to join the channel (invite-only, wrong key, etc).

Questions:

  • Should the extension be specific to bouncers, or should it be generic enough to be implemented by regular servers as well? Regular servers could be interested in solving (1).
  • Should we try to address all of the issues mentioned above in a single ext, or should we break them down into e.g. one ext for user buffers and another one for detached channels?
  • Should we bother about (3)? Seems like an edge case, but I've seen some confused users in the past, and /msg BouncerServ channel status has been helpful.

Prior art: https://github.com/ircv3/ircv3-specifications/pull/449

Status
REPORTED
Submitter
~emersion
Assigned to
No-one
Submitted
7 months ago
Updated
7 months ago
Labels
downstream enhancement