Skip to content

Conversation

@Half-Shot
Copy link
Member

@Half-Shot Half-Shot commented Dec 16, 2025

Requires #31523
Requires matrix-org/matrix-js-sdk#5107
Uses MSC4387

Renders the new MSC4387 safety errors where we would usually render generic message failed to send errors, the specifics are:

  • We can now show you the precise rule / harm you are violating,
  • Some messages can be retried, others cannot (and must be deleted).

Reviewer notes:

  • I'd like to get sign off from @element-hq/trust-safety before it goes through Element Web review, unfortunately GitHub lacks the nuance to handle that :)
  • This is missing unit tests, @Half-Shot needs to fix that.

Checklist

@Half-Shot Half-Shot changed the base branch from develop to hs/roomstatusbar-vm December 16, 2025 12:52
@t3chguy
Copy link
Member

t3chguy commented Jan 13, 2026

Given this isn't in labs it'll want design/product sign-off

@t3chguy t3chguy requested a review from a team January 13, 2026 13:28
Copy link

@jimmackenzie jimmackenzie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor tweaks to the error content.

WithMessageRejectedWithServerMessage.args = {
state: RoomStatusBarState.MessageRejected,
harms: ["any.old.harm"],
serverError: "OurServer rejects this content",

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is OurServerreplaced with the server name via text interpolation? If not, we should reword this:

This content is not permitted perhaps?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just the error the server is returning. I think the MSC says that if the harm isn't known, we should defer to the server's message?

Copy link
Member

@t3chguy t3chguy Jan 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the MSC says that if the harm isn't known, we should defer to the server's message?

We shouldn't be showing untranslated server errors ever, this violates some customer commitments we have to be fully i18nable

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Noted, I'll leave feedback on the MSC. It doesn't appear to be a must so we can use generic wording for this.

Copy link
Member

@turt2live turt2live left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

deferring strings review to Jim as the more qualified person :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants