Moderation: don't show messages by members who left the group

Delta Chat shouldn’t show messages by non-group members in a group, because this can be used as abuse. Most importantly, the only group moderation tool available reliably right now, removing somebody from a group, doesn’t seem to work as expected since I don’t think any other messenger behaves like this.

This seems prone to a situation where users remove a problematic person, then the problematic messages continue anyway, and people will probably panic not understanding what’s going on or what to do about it. If the attacker uses auto-generated aliases, I assume blocking won’t really work either because they might be generated faster than you block them.

My apologies if I’m missing some angle where this isn’t as much of a problem as I’m thinking.

A while ago, there was a discussion about whether Threema’s “owned groups” concept would be suitable for DC to implement moderated groups. Another feature of Threema might be interesting in this context. The group owner (admin) has a button to resynchronize the group if necessary, by transmitting the current status from the owner to all other members.
At least in the past, this was sometimes done automatically, and a corresponding message was displayed in the chat. Maybe it still the case, but as far as I know, there is no status message anymore.
However, the “owned groups” concept has the disadvantage that only the admin can add new members. On the other hand, it increases the security of public groups.

first of all, people who were never part of a group members cannot see or write to that group. i changed the title accordingly to not be misleading for new users that may not have full context.

to the question: groups in delta chat are meant for friends, family, trusted people. people becoming toxic afterwards, is tempting to discuss, however, this is not only a technical problem.

but still, on the technical side things improved a lot: yes, it was hard to leave a group in the past (“group californication”, we had call it). as we do not use a central server to manage groups, different members easily saw different “truths” of the memberlist. in turn, resulting in removed members being re-added.

recent versions got a new, improved group membership model, meaning all members now see the same memberslist, making re-adding more unlikely - it still can happen, though, as the consistent memberlist rules removals afaik - but then another removal should do.

note, the new model may not be rolled out fully yet, so some members may have the old model still. surely, there may be bugs, we are happy to get reproducible, actionable reports.

EDIT: i just tested, non-group members are not re-added when they post again, but marked by ~ before the name (similar to whatsapp & co). on non-toxic situations, this is on purpose, eg. when messages are forwarded in support channels - still these answers need to know the original group

finally, there are lots of ongoing discussions to extend the groups to moderation, that makes toxic members in a group then more managable, we’ll see what comes here. as usual, as we have very few resources, we try to be driven by real-world needs.

Sorry, but I think the title misrepresents the severity of this. Can I change it back perhaps?

let’s not discuss about the title or make a drama of that :slight_smile:

the point is that there are many ppl only reading titles, and then learning “Everyone can write to any group, just so”, which is not true. real issue, imu, is that past members may be added, the severity is pretty objective and explained above

1 Like

I don’t agree that the main problem is past members being readded by current members, see what I wrote in the “DC Community”.

your title suggestion is fine as well, thanks for taking care

1 Like

“Past group members get re-added sometimes” is not even a correct title, because past members cannot be re-added accidentally and cannot add themselves back to the member list with the current implementation of group consistency algorithm.

Senders who know the group ID can technically send messages to other known members and these messages show up with ~ in the beginning to show that member is not part of the group. We can probably ignore such messages and send them to trash, but most of the time (all the time I have seen so far) the reason is that someone has lost the message that they were removed from the group and they keep sending as non-member because they now fixed their email setup and can receive messages again.

As a protection against creating new identities (email addresses or keys) and writing to old groups we can throw the messages to trash if they come from a contact that does not have 1:1 chat accepted (a contact request), but the drawback is that members may not see that someone is writing to the group who should actually be re-added back.

2 Likes

It might be best to add inbox rotation to chatmail to avoid the need to remove so many people for non-nefarious reasons.

A direct chat being accepted doesn’t seem like the best criterion to me since it could still be somebody who turned malicious, rather than always dropping non-member messages. But it would be an improvement.