Inconsistent behavior around conversation visibilities

So when initially creating a conversation, we federate its participants.

We model the participants using conversation visibilities. This works great so far, I can see who will get my messages. If a local user mutes the conversation, they are removed from the participants list I see.

However we do not federate the deletion of a conversation visibility. So a remote user still thinks I’m part of a conversation after I muted it.

I guess you could argue for either behavior to be correct, other participants should or should not be able to observe whether I muted it. However it’s certainly not correct to have different behaviors on whether the participant is local or not.

I would prefer to keep the current local behavior. Especially in one on one conversations its pretty useless to write to a conversation no one else reads anymore. As a UI/UX enhancement we could even block creating messages for conversations where I’m the only participant left.

So, WDYT? Did this come up before and I forgot about it?

1 Like

I know about this behaviour and I think I also talked with @denschub about it a long time ago. I think too that we should federate the mute/delete (we can just use the existing retraction message of the protocol for that). And then show to the user which people left the conversation (by either still show the avatars but maybe transparent or just remove them from the conversation like it is done now when both are local). Also, that way, if all participants mute/delete a conversation, we can delete it completely from the database.

And while we’re at it, we should probably also make the messages themself deletable by their authors. It doesn’t make much sense not to have that control about your own message in conversations (especially annoying since there is no edit feature yet), but you can delete your own content everywhere else on diaspora.

1 Like