mirror of
https://github.com/matrix-org/matrix-spec
synced 2026-03-17 17:04:10 +01:00
Compare commits
2 commits
9d063c8d2d
...
e2b2e56bd2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e2b2e56bd2 | ||
|
|
967b54195c |
15
.github/workflows/release.yaml
vendored
15
.github/workflows/release.yaml
vendored
|
|
@ -12,6 +12,9 @@ jobs:
|
|||
defaults:
|
||||
run:
|
||||
working-directory: packages/npm
|
||||
permissions:
|
||||
contents: read
|
||||
id-token: write
|
||||
steps:
|
||||
- name: 🧮 Checkout code
|
||||
uses: actions/checkout@v4
|
||||
|
|
@ -23,6 +26,10 @@ jobs:
|
|||
cache-dependency-path: packages/npm/yarn.lock
|
||||
registry-url: "https://registry.npmjs.org"
|
||||
|
||||
# Ensure npm 11.5.1 or later is installed
|
||||
- name: Update npm
|
||||
run: npm install -g npm@latest
|
||||
|
||||
- name: 🔨 Install dependencies
|
||||
run: "yarn install --frozen-lockfile"
|
||||
|
||||
|
|
@ -33,10 +40,4 @@ jobs:
|
|||
VERSION: ${{ github.event.release.tag_name }}.0
|
||||
|
||||
- name: 🚀 Publish to npm
|
||||
id: npm-publish
|
||||
uses: JS-DevTools/npm-publish@19c28f1ef146469e409470805ea4279d47c3d35c # v3.1.1
|
||||
with:
|
||||
token: ${{ secrets.NPM_TOKEN }}
|
||||
package: packages/npm
|
||||
access: public
|
||||
ignore-scripts: false
|
||||
run: npm publish --provenance --access public --tag latest
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
Clarify the special casing of membership events and redactions in power levels.
|
||||
1
changelogs/internal/newsfragments/2239.clarification
Normal file
1
changelogs/internal/newsfragments/2239.clarification
Normal file
|
|
@ -0,0 +1 @@
|
|||
Use NPM Trusted Publishers for publishing `@matrix-org/spec` to npm.
|
||||
|
|
@ -26,9 +26,9 @@ paths:
|
|||
This cannot be undone.
|
||||
|
||||
Any user with a power level greater than or equal to the `m.room.redaction`
|
||||
event power level may send redaction events in the room. If the user's power
|
||||
level is also greater than or equal to the `redact` power level of the room,
|
||||
the user may redact events sent by other users.
|
||||
event power level may send redactions for their own events in the room. If
|
||||
the user's power level is also greater than or equal to the `redact` power
|
||||
level of the room, the user may redact events sent by other users.
|
||||
|
||||
Server administrators may redact events sent by users on their server.
|
||||
operationId: redactEvent
|
||||
|
|
|
|||
|
|
@ -13,24 +13,34 @@ description: |-
|
|||
0. If the room contains no `m.room.power_levels` event, the room's creator has
|
||||
a power level of 100, and all other users have a power level of 0.
|
||||
|
||||
The level required to send a certain event is governed by `events`,
|
||||
`state_default` and `events_default`. If an event type is specified in
|
||||
`events`, then the user must have at least the level specified in order to
|
||||
send that event. If the event type is not supplied, it defaults to
|
||||
`events_default` for Message Events and `state_default` for State
|
||||
Events.
|
||||
Except for membership events and redactions, the level required to
|
||||
send a certain event is governed purely by `events`, `state_default`
|
||||
and `events_default`. If an event type is specified in `events`, then
|
||||
the user must have at least the level specified in order to send that
|
||||
event. If the event type is not supplied, it defaults to `events_default`
|
||||
for message events and `state_default` for state events.
|
||||
|
||||
If there is no `state_default` in the `m.room.power_levels` event, or
|
||||
there is no `m.room.power_levels` event, the `state_default` is 50.
|
||||
If there is no `events_default` in the `m.room.power_levels` event,
|
||||
or there is no `m.room.power_levels` event, the `events_default` is 0.
|
||||
|
||||
The power level required to invite a user to the room, kick a user from the
|
||||
room, ban a user from the room, or redact an event sent by another user, is
|
||||
defined by `invite`, `kick`, `ban`, and `redact`, respectively. The levels
|
||||
for `kick`, `ban` and `redact` default to 50 if they are not specified in the
|
||||
`m.room.power_levels` event, or if the room contains no `m.room.power_levels`
|
||||
event. `invite` defaults to 0 in either case.
|
||||
Membership events are not subject to `events`, `events_default`, or
|
||||
`state_default`. Instead, the power level required to invite a user
|
||||
to the room, kick a user from the room, or ban a user from the room
|
||||
is defined by `invite`, `kick`, and `ban`, respectively. The levels
|
||||
for `kick` and `ban` default to 50 if they are not specified in the
|
||||
`m.room.power_levels` event, or if the room contains no
|
||||
`m.room.power_levels` event. `invite` defaults to 0 in either case.
|
||||
Other membership values are handled during event authorization. See
|
||||
the authorization rules in [room versions](/rooms) for further details.
|
||||
|
||||
For redactions of a user's own events, the required power level is
|
||||
determined by the `m.room.redaction` event power level, as per `events`
|
||||
and `events_default`. The power level required to redact an event sent
|
||||
by another user is _additionally_ governed by `redact`. The level for
|
||||
`redact` defaults to 50 if it is not specified in the `m.room.power_levels`
|
||||
event, or if the room contains no `m.room.power_levels` event.
|
||||
|
||||
**Note:**
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue