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:
|
case KnownMembership.Leave:
|
||||||
if (ev.getSender() === ev.getStateKey()) {
|
if (ev.getSender() === ev.getStateKey()) {
|
||||||
if (prevContent.membership === KnownMembership.Invite) {
|
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 {
|
} else {
|
||||||
return () =>
|
return () =>
|
||||||
reason
|
reason
|
||||||
|
@@ -3458,6 +3458,7 @@
|
|||||||
"left_reason": "%(targetName)s left the room: %(reason)s",
|
"left_reason": "%(targetName)s left the room: %(reason)s",
|
||||||
"no_change": "%(senderName)s made no change",
|
"no_change": "%(senderName)s made no change",
|
||||||
"reject_invite": "%(targetName)s rejected the invitation",
|
"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_avatar": "%(senderName)s removed their profile picture",
|
||||||
"remove_name": "%(senderName)s removed their display name (%(oldDisplayName)s)",
|
"remove_name": "%(senderName)s removed their display name (%(oldDisplayName)s)",
|
||||||
"set_avatar": "%(senderName)s set a profile picture",
|
"set_avatar": "%(senderName)s set a profile picture",
|
||||||
|
@@ -519,6 +519,49 @@ describe("TextForEvent", () => {
|
|||||||
),
|
),
|
||||||
).toMatchInlineSnapshot(`"Andy changed their display name and profile picture"`);
|
).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()", () => {
|
describe("textForJoinRulesEvent()", () => {
|
||||||
|
Reference in New Issue
Block a user