mirror of
https://github.com/element-hq/element-web
synced 2024-11-22 17:25:50 +03:00
Remove reply fallback from notifications (#11278)
* Remove reply fallback from notifications * Add test
This commit is contained in:
parent
8f000384fe
commit
9fcd1f2434
2 changed files with 35 additions and 3 deletions
|
@ -52,6 +52,7 @@ import ToastStore from "./stores/ToastStore";
|
|||
import { ElementCall } from "./models/Call";
|
||||
import { VoiceBroadcastChunkEventType, VoiceBroadcastInfoEventType } from "./voice-broadcast";
|
||||
import { getSenderName } from "./utils/event/getSenderName";
|
||||
import { stripPlainReply } from "./utils/Reply";
|
||||
|
||||
/*
|
||||
* Dispatches:
|
||||
|
@ -138,7 +139,7 @@ class NotifierClass {
|
|||
// notificationMessageForEvent includes sender, but we already have the sender here
|
||||
const msgType = ev.getContent().msgtype;
|
||||
if (ev.getContent().body && (!msgType || !msgTypeHandlers.hasOwnProperty(msgType))) {
|
||||
msg = ev.getContent().body;
|
||||
msg = stripPlainReply(ev.getContent().body);
|
||||
}
|
||||
} else if (ev.getType() === "m.room.member") {
|
||||
// context is all in the message here, we don't need
|
||||
|
@ -149,7 +150,7 @@ class NotifierClass {
|
|||
// notificationMessageForEvent includes sender, but we've just out sender in the title
|
||||
const msgType = ev.getContent().msgtype;
|
||||
if (ev.getContent().body && (!msgType || !msgTypeHandlers.hasOwnProperty(msgType))) {
|
||||
msg = ev.getContent().body;
|
||||
msg = stripPlainReply(ev.getContent().body);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -31,7 +31,13 @@ import {
|
|||
createLocalNotificationSettingsIfNeeded,
|
||||
getLocalNotificationAccountDataEventType,
|
||||
} from "../src/utils/notifications";
|
||||
import { getMockClientWithEventEmitter, mkEvent, mockClientMethodsUser, mockPlatformPeg } from "./test-utils";
|
||||
import {
|
||||
getMockClientWithEventEmitter,
|
||||
mkEvent,
|
||||
mkMessage,
|
||||
mockClientMethodsUser,
|
||||
mockPlatformPeg,
|
||||
} from "./test-utils";
|
||||
import { IncomingCallToast } from "../src/toasts/IncomingCallToast";
|
||||
import { SdkContextClass } from "../src/contexts/SDKContext";
|
||||
import UserActivity from "../src/UserActivity";
|
||||
|
@ -42,6 +48,7 @@ import { ThreadPayload } from "../src/dispatcher/payloads/ThreadPayload";
|
|||
import { Action } from "../src/dispatcher/actions";
|
||||
import { VoiceBroadcastChunkEventType, VoiceBroadcastInfoState } from "../src/voice-broadcast";
|
||||
import { mkVoiceBroadcastInfoStateEvent } from "./voice-broadcast/utils/test-utils";
|
||||
import { addReplyToMessageContent } from "../src/utils/Reply";
|
||||
|
||||
jest.mock("../src/utils/notifications", () => ({
|
||||
// @ts-ignore
|
||||
|
@ -307,6 +314,30 @@ describe("Notifier", () => {
|
|||
Notifier.displayPopupNotification(audioEvent, testRoom);
|
||||
expect(MockPlatform.displayNotification).not.toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it("should strip reply fallback", () => {
|
||||
const event = mkMessage({
|
||||
msg: "Test",
|
||||
event: true,
|
||||
user: mockClient.getSafeUserId(),
|
||||
room: testRoom.roomId,
|
||||
});
|
||||
const reply = mkMessage({
|
||||
msg: "This was a triumph",
|
||||
event: true,
|
||||
user: mockClient.getSafeUserId(),
|
||||
room: testRoom.roomId,
|
||||
});
|
||||
addReplyToMessageContent(reply.getContent(), event, { includeLegacyFallback: true });
|
||||
Notifier.displayPopupNotification(reply, testRoom);
|
||||
expect(MockPlatform.displayNotification).toHaveBeenCalledWith(
|
||||
"@bob:example.org (!room1:server)",
|
||||
"This was a triumph",
|
||||
expect.any(String),
|
||||
testRoom,
|
||||
reply,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("getSoundForRoom", () => {
|
||||
|
|
Loading…
Reference in a new issue