-
-
Notifications
You must be signed in to change notification settings - Fork 104
feat: Show broadcast channels in their own, proper "Channel" chat #6901
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
Conversation
48fd8ec
to
12bb5aa
Compare
My preference would be
Just in case, duplicated entry in the description.
Maybe also allow renaming incoming broadcasts like it's done for mailing lists? It would cost two LOCs (and probably no additional UI work). While renaming broadcasts may not be possible in other messengers, it may help users to origanize and search broadcasts. EDIT: Then we need to resolve name conflicts if a broadcast is renamed by the sender. Let's skip renaming incoming broadcast for now at least. |
285d80a
to
416131b
Compare
that one got already merged! 🎉 |
@link2xt was also in favor of |
634086f
to
8cd4130
Compare
where the former is similar to a `Mailinglist` and the latter is similar to a `Broadcast` (which is removed)
…how this change on receiving devices
assert not bob_chat_snapshot.is_unpromoted | ||
assert bob_chat_snapshot.is_encrypted | ||
assert bob_chat_snapshot.chat_type == ChatType.IN_BROADCAST | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't it be checked that the broadcast chat is in a "Request" state and can be unblocked by Bob?
Missed this. I think it's a bug that non-members can modify the group name, at least i'd forbid that and see which tests fail. EDIT: At least removed members know Group-Chat-Id, but they mustn't be able to modify the chat. |
Allowing non-members to modify the group is a deliberate trade-off, in order to be more resilient against message reordering: If a group member modifies the group, and is added to the group only afterwards (because the member-addition message arrived late), then it's nice if this group-edit is applied. IIRC, non-members can even modify the memberlist, and add themselves. DC is meant to be a private messenger, rather than one to chat with untrusted people (e.g. there are no group admins), so, being resilient against message reordering was considered more important than protecting against a removed contact editing your group. But discussing about this is out of scope for this PR. |
…te_broadcast_channel() In #6901, I unfortunately forgot to document the API change when rebasing. The API change is breaking because not adapting to the new channel types would lead to errors.
…te_broadcast_channel() In #6901, I unfortunately forgot to document the API change when squash-merging. The API change is breaking because not adapting to the new channel types would lead to errors.
Older versions of Delta Chat will ignore the message if it contains a ChatGroupId header. ("older versions" means all versions without #6901, i.e.currently released versions)
Older versions of Delta Chat ignore the message if it contains a ChatGroupId header. ("older versions" means all versions without #6901, i.e.currently released versions) This means that without this PR, broadcast channel messages sent from current main don't arrive at a device running latest released DC. Part of #6884.
Part of #6884
InBroadcastChannel
andOutBroadcastChannel
for incoming / outgoing channels, where the former is similar to aMailinglist
and the latter is similar to aBroadcast
(which is removed)InChannel
/OutChannel
(without "broadcast") would be shorter, but less greppable because we already have a lot of occurences ofchannel
in the code. Consistently calling themBcChannel
/bc_channel
in the code would be both short and greppable, but a bit arcane when reading it at first. Opinions are welcome; if I hear none, I'll keep withBroadcastChannel
.create_channel()
/create_bc_channel()
if we decide to switch)is_broadcast
field for, and whether it should be true for both outgoing & incoming channels (or look it up myself)is_out_broadcast_channel
, and deprecatedis_broadcast
, for nowInBroadcastChannel
broadcast
and see whether there is any other work I need to do~
in front of the sender's same in broadcast listsNote that I removed the following guard:
i.e. with this change, non-members will be able to modify the avatar. Things were slightly easier this way, and I think that this is in line with non-members being able to modify the group name and memberlist (they need to know the Group-Chat-Id, anyway), but I can also change it back.