You've already forked element-web
mirror of
https://github.com/element-hq/element-web.git
synced 2025-08-08 03:42:14 +03:00
Render reason for invite rejection. (#29257)
* Render reason for invite rejection. * Add test * extra test
This commit is contained in:
@@ -191,7 +191,10 @@ function textForMemberEvent(
|
||||
case KnownMembership.Leave:
|
||||
if (ev.getSender() === ev.getStateKey()) {
|
||||
if (prevContent.membership === KnownMembership.Invite) {
|
||||
return () => _t("timeline|m.room.member|reject_invite", { targetName });
|
||||
return () =>
|
||||
reason
|
||||
? _t("timeline|m.room.member|reject_invite_reason", { targetName, reason })
|
||||
: _t("timeline|m.room.member|reject_invite", { targetName });
|
||||
} else {
|
||||
return () =>
|
||||
reason
|
||||
|
@@ -3458,6 +3458,7 @@
|
||||
"left_reason": "%(targetName)s left the room: %(reason)s",
|
||||
"no_change": "%(senderName)s made no change",
|
||||
"reject_invite": "%(targetName)s rejected the invitation",
|
||||
"reject_invite_reason": "%(targetName)s rejected the invitation: %(reason)s",
|
||||
"remove_avatar": "%(senderName)s removed their profile picture",
|
||||
"remove_name": "%(senderName)s removed their display name (%(oldDisplayName)s)",
|
||||
"set_avatar": "%(senderName)s set a profile picture",
|
||||
|
@@ -519,6 +519,49 @@ describe("TextForEvent", () => {
|
||||
),
|
||||
).toMatchInlineSnapshot(`"Andy changed their display name and profile picture"`);
|
||||
});
|
||||
|
||||
it("should handle rejected invites", () => {
|
||||
expect(
|
||||
textForEvent(
|
||||
new MatrixEvent({
|
||||
type: "m.room.member",
|
||||
sender: "@a:foo",
|
||||
content: {
|
||||
membership: KnownMembership.Leave,
|
||||
},
|
||||
unsigned: {
|
||||
prev_content: {
|
||||
membership: KnownMembership.Invite,
|
||||
},
|
||||
},
|
||||
state_key: "@a:foo",
|
||||
}),
|
||||
mockClient,
|
||||
),
|
||||
).toMatchInlineSnapshot(`"Member rejected the invitation"`);
|
||||
});
|
||||
|
||||
it("should handle rejected invites with a reason", () => {
|
||||
expect(
|
||||
textForEvent(
|
||||
new MatrixEvent({
|
||||
type: "m.room.member",
|
||||
sender: "@a:foo",
|
||||
content: {
|
||||
membership: KnownMembership.Leave,
|
||||
reason: "I don't want to be in this room.",
|
||||
},
|
||||
unsigned: {
|
||||
prev_content: {
|
||||
membership: KnownMembership.Invite,
|
||||
},
|
||||
},
|
||||
state_key: "@a:foo",
|
||||
}),
|
||||
mockClient,
|
||||
),
|
||||
).toMatchInlineSnapshot(`"Member rejected the invitation: I don't want to be in this room."`);
|
||||
});
|
||||
});
|
||||
|
||||
describe("textForJoinRulesEvent()", () => {
|
||||
|
Reference in New Issue
Block a user