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

Add a command to show which rooms you will be disconnected from when !quit ting #916

Closed
evilham opened this issue Dec 13, 2019 · 3 comments

Comments

@evilham
Copy link

evilham commented Dec 13, 2019

This is quite reproducible and quite unexpected:

  1. I don't use directly Matrix.org's IRC bridge (@appservice-irc:matrix.org)
  2. I use my Matrix account to join a Matrix Room, which is bridged to IRC using Matrix.org's IRC bridge.
  3. I issue !quit on a private chat with @appservice-irc:matrix.org
  4. It kicks my Matrix account out of such bridged channels.
  5. There is no notification of the rooms that I was kicked from.

I understand this is tricky, as joining such a bridged room kind of implies Matrix.org's IRC bridge will create an IRC user for me, in order to represent me to IRC users; so, in a way, the bridge is doing what it was asked to do.
OTOH: if I am only using Matrix to interact with that channel, I don't expect an interaction with the bridge bot to mess up with my Room memberships.

Basically: this is a hard-to-solve UX problem; maybe there is a need for more per-network state than there is now. Sth like:

user_type: (portal_rooms|manual)

With manual meaning that the user has explicitly set up a nick/password on the network and portal_rooms meaning that it has been automatically managed.

In a user_type: portal_rooms state, issuing commands like !quit should not necessarily act immediately, but instead explain the situation and list the rooms that has such a portal setup.

@Half-Shot
Copy link
Contributor

The best we can do is add a !channels command to list your connected channels and their room counterparts. Possibly also extending !quit to warn you that you are about to be disconnected from a given set of rooms. It's slightly related to the feature over at #904, but this is for expected !quits.

@evilham
Copy link
Author

evilham commented Dec 13, 2019

This sounds good, how about:

  • !channels: "This IRC bridge is currently managing following for you:"

    • for each Room|Channel: #room:synapse.instance (#IRC_Channel -- Network)
    • for each 1-1 Room|PM: @PREFIX_IRC_Nick:synapse.instance (IRC_Nick -- Network)
  • !quit -f: Current quit behaviour

  • !quit: output of !channels + Warning/explanation of why this happens(*) + hint at !quit -f for those who really want this.

(*): that being something like:

This IRC bridge is currently managing following for you:
* list *

This is needed so you can receive and send messages from IRC users in those Matrix rooms.
If you really want to quit, issue !quit -f, which will result in you being kicked out of the previously listed rooms.

@Half-Shot Half-Shot changed the title !quit from a network removes Matrix account from channels Add a command to show which rooms you will be disconnected from when !quit ting Jan 3, 2020
@Half-Shot
Copy link
Contributor

Half-Shot commented Feb 13, 2020

I resolved to simply just have a !listrooms which will tell you which rooms you are about to be kicked from. Rather than making !quit have an extra flag, it's hoped that users will think carefully before they press it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants