diff --git a/protocol/communities/community.go b/protocol/communities/community.go index 2495a3498..97afbabab 100644 --- a/protocol/communities/community.go +++ b/protocol/communities/community.go @@ -2222,6 +2222,7 @@ func (o *Community) deleteTokenPermission(permissionID string) (*CommunityChange delete(o.config.CommunityDescription.TokenPermissions, permissionID) changes := o.emptyCommunityChanges() + changes.TokenPermissionsRemoved[permissionID] = permission return changes, nil } diff --git a/protocol/communities/manager.go b/protocol/communities/manager.go index 224623f28..5f33928db 100644 --- a/protocol/communities/manager.go +++ b/protocol/communities/manager.go @@ -717,6 +717,11 @@ func (m *Manager) ReevaluateMembers(community *Community, removeAdmins bool) err viewAndPostPermissions := community.ChannelTokenPermissionsByType(chatID, protobuf.CommunityTokenPermission_CAN_VIEW_AND_POST_CHANNEL) if len(viewOnlyPermissions) == 0 && len(viewAndPostPermissions) == 0 { + // ensure all members are added back if channel permissions were removed + _, err = community.PopulateChatWithAllMembers(channelID) + if err != nil { + return err + } continue }