Brief
Community events are mechanisms for propagating changes made by privileged members within the community. Communities can designate privileged members who are empowered to alter the community's state. Depending on their roles, these privileged members may accept or reject community requests, edit details like the community's name and description, add or remove channels, and modify permissions, among other tasks. These changes are then applied by the control node, ensuring the updated community state accurately reflects the actions taken by privileged members.
There are two primary types of events:
- Events Shared with All Members: These are particularly valuable when the control node is offline, allowing members to see the modifications made by privileged members without waiting for the control node's approval.
- Events Shared Only with Privileged Members: Certain events are concealed from general members because their application is contingent upon the control node's intervention. For example, membership management events remain hidden because only the control node can definitively set the state of the member list. This is primarily due to the control node's exclusive capability to generate and distribute encryption keys.
Issues
Ping-pong issue
Eventual consistency