|
|
|
@ -245,14 +245,23 @@ The rules are as follows:
|
|
|
|
|
|
|
|
|
|
#. For the keys ``users_default``, ``events_default``,
|
|
|
|
|
``state_default``, ``ban``, ``redact``, ``kick``, ``invite`` check if they were changed.
|
|
|
|
|
For each of the changed keys, as well as
|
|
|
|
|
each entry being added, changed or removed under the ``events`` or ``users`` keys:
|
|
|
|
|
For each of the changed keys:
|
|
|
|
|
|
|
|
|
|
i. If the current value is present and higher than the ``sender``'s current power level,
|
|
|
|
|
i. If the current value is higher than the ``sender``'s current power level,
|
|
|
|
|
reject.
|
|
|
|
|
|
|
|
|
|
#. If the new value is present and higher than the ``sender``'s current power level,
|
|
|
|
|
#. If the new value is higher than the ``sender``'s current power level,
|
|
|
|
|
reject.
|
|
|
|
|
|
|
|
|
|
#. For each entry being added, changed or removed in both the ``events`` and ``users`` keys:
|
|
|
|
|
|
|
|
|
|
i. If the current value is higher than the ``sender``'s current power level,
|
|
|
|
|
reject.
|
|
|
|
|
|
|
|
|
|
#. If the new value is higher than the ``sender``'s current power level,
|
|
|
|
|
reject.
|
|
|
|
|
|
|
|
|
|
#. (Note: current/new value can also denote the inferred value from either ``users_default``, ``events_default`` or ``state_default``)
|
|
|
|
|
|
|
|
|
|
#. For each entry being changed under the ``users`` key, other than the
|
|
|
|
|
``sender``'s own entry:
|
|
|
|
|