mirror of
https://github.com/element-hq/synapse
synced 2024-07-04 08:43:29 +00:00
Beware of non-empty state_keys on special events
This commit is contained in:
parent
e038f4779f
commit
e1d4c75e90
|
@ -132,6 +132,23 @@ class EventTypes:
|
|||
CallInvite: Final = "m.call.invite"
|
||||
|
||||
|
||||
ZERO_LENGTH_STATE_KEY_EVENT_TYPES = {
|
||||
EventTypes.CanonicalAlias,
|
||||
EventTypes.Create,
|
||||
EventTypes.JoinRules,
|
||||
EventTypes.PowerLevels,
|
||||
EventTypes.Name,
|
||||
EventTypes.Topic,
|
||||
EventTypes.RoomAvatar,
|
||||
EventTypes.Pinned,
|
||||
EventTypes.RoomEncryption,
|
||||
EventTypes.RoomHistoryVisibility,
|
||||
EventTypes.GuestAccess,
|
||||
EventTypes.ServerACL,
|
||||
EventTypes.Tombstone,
|
||||
}
|
||||
|
||||
|
||||
class ToDeviceEventTypes:
|
||||
RoomKeyRequest: Final = "m.room_key_request"
|
||||
|
||||
|
|
|
@ -46,6 +46,7 @@ from unpaddedbase64 import decode_base64
|
|||
|
||||
from synapse.api.constants import (
|
||||
MAX_PDU_SIZE,
|
||||
ZERO_LENGTH_STATE_KEY_EVENT_TYPES,
|
||||
EventContentFields,
|
||||
EventTypes,
|
||||
JoinRules,
|
||||
|
@ -794,6 +795,7 @@ def get_send_level(
|
|||
state_key == msc_3779_sender
|
||||
or state_key.startswith(msc_3779_sender + "_")
|
||||
)
|
||||
and etype not in ZERO_LENGTH_STATE_KEY_EVENT_TYPES
|
||||
)
|
||||
if state_key is not None and not is_owned_state_event:
|
||||
send_level = power_levels_content.get("state_default", 50)
|
||||
|
|
Loading…
Reference in a new issue