It's too easy to destroy MUC room... (#100)
wojciech.kapcia@tigase.net opened 5 years ago

When trying to leave the room Beagle asks "You are leaving the room, would you like to finish it" (which looks like confirmation to exit - i.e. "finish session") and after confirmation it happily deletes the room.

  • The message should be more explicit about the intention - mention BEFORE that it will destroy the room
  • I'm not sure this should even be default - seems like a terrible, terrible idea...
Artur Hefczyc commented 5 years ago

I think there should be 3 options:

  • Cancel
  • Leave the room
  • Destroy the room I would vote to make the second option as default.
Andrzej Wójcik (Tigase) commented 5 years ago

@kobit @wojtek

I disagree. You have clicked on Close (X) so you are going to leave the room, so there is no point in confirming this decision, unless you want to have confirmation for closing 1-1 chats as well. This behavior for 1-1 chats and group chats needs to be consistent.

As for destroying a room. Have you ever asked yourself why it was done this way?

First of all, we are asking to destroy a room only if the user is an owner. This is a minority a use cases in public group chats, but a majority in case of private group chats! When the owner of private group chat leaves it should destroy this room just to free resources on the server side.

Secondary, we ask for confirmation to finish it (finish groupchat - not finish session). So user at this point should be aware of what he is doing. I agree that we could switch positions of the buttons to make NO more default looking option.

Moreover, we cannot scary owners of private group chats with messages like, delete a room or destroy a room as it will scary them and they will keep leaving their private rooms and abandoning them while they will keep consuming resources on the server side!

Additionally, the same behavior is in the SiskinIM which was already discussed with one of our users and the dialog question was OK for him, but he claimed he has not seen it. ("There was no question to destroy a room"), but he was proven wrong.

What I could recommend in this case, would be to:

  1. Leave the question as it is but maybe reword it somehow, to let people know they are leaving the room.
  2. Display it 2 times (one dialog after another to confirm the removal of the room).
  3. Add a big warning sign in the left corner of the window.

Adding anything more will be more invasive and will make users leave their private group chats without destroying them which is not what we should want.

Artur Hefczyc commented 5 years ago

Ok, what about this. We give them 2 options:

  • Leave and destroy the room
  • Cancel

In other words, we make it clear that leaving the room destroys it and we do not allow leaving the room without destroying it. If the user wants to preserve the room he must stay in the room.

Andrzej Wójcik (Tigase) commented 5 years ago

Well, it's not that simple. User can leave the room and preserve it is he wants to. Right now, only saying "YES" will destroy the room. And I do not want to use the ​term "Destroy" or "Delete" as it will scare users of private rooms while they shouldn't be scared. They actually should destroy rooms in most cases.

Andrzej Wójcik (Tigase) commented 5 years ago

@kobit @wojtek OK, let's take a different approach. Let's have two options:

  • Leave chat
  • Delete chat and have this dialog displayed only if you are the owner of the room.

This way behavior would be consistent and will be easier to understand by the user (it would be less likely to make a mistake).

I've just checked how other IM apps are dealing with it and this is what they are actually doing. (and delete is less scary than destroy)

Artur Hefczyc commented 5 years ago

+1

wojciech.kapcia@tigase.net commented 5 years ago

OK, the main problem is (IMHO) that we are trying to bend the XMPP to work like "other clients" (which we should to a degree).

The thing is - other main IM (whatsapp and telegram) have persistent groups so user may actually leave from group to stop receiving the messages (and this is ok). Now, things get a little bit more complicated if the person leaving the group, for example in whatsapp - (AFAIR), the ownership of the group is ceded to other members until noone is left (i.e. if there are many admins the one leaving doesn't change anything, then last admin leaving causes next non-admin user to become admin and then if there is noone left the group is deleted). IMHO that makes sense, but it requires group membership to work (MUC is more volatile). In telegram group creator has only option "Eliminate and leave" so the possible destruction of the group is explicit.

Now, in cease of Beagle (and Siskin) we can improve the flow to mimic above behaviours (which would be what mast users expect?) and when someone leaves the group (closes the conversation) and is the administrator then if he is the only administrator we could either eliminate the group (or cede the ownership?) and if there are more administrator we would just leave the room (either 'leave' in XMPP sense or eliminate oneself from the list of administrators/owners).

There is also another thing to consider - quite often we simply don't want to receive notifications from the group so instead of actually leaving we may want to silence particular group which could be helpful in this case.

wojciech.kapcia@tigase.net commented 5 years ago

Btw. alternative solutions are explicit about eliminating groups and IMHO this makes sense…

Referenced from commit 1 year ago
issue 1 of 1
Type
Bug
Priority
Normal
Assignee
Spent time
1h 45m
Issue Votes (0)
Watchers (0)
Reference
tigase/_clients/beagle-im#100
Please wait...
Page is in error, reload to recover