add Ended poll text to ended poll reply formatted body (#10146)

pull/28217/head
Kerry 2023-02-14 11:34:47 +13:00 committed by GitHub
parent 3eee91d4ed
commit b4565f5024
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 0 deletions

View File

@ -20,6 +20,7 @@ import escapeHtml from "escape-html";
import { THREAD_RELATION_TYPE } from "matrix-js-sdk/src/models/thread"; import { THREAD_RELATION_TYPE } from "matrix-js-sdk/src/models/thread";
import { MsgType } from "matrix-js-sdk/src/@types/event"; import { MsgType } from "matrix-js-sdk/src/@types/event";
import { M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon"; import { M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon";
import { M_POLL_END } from "matrix-js-sdk/src/@types/polls";
import { PERMITTED_URL_SCHEMES } from "../HtmlUtils"; import { PERMITTED_URL_SCHEMES } from "../HtmlUtils";
import { makeUserPermalink, RoomPermalinkCreator } from "./permalinks/Permalinks"; import { makeUserPermalink, RoomPermalinkCreator } from "./permalinks/Permalinks";
@ -110,6 +111,15 @@ export function getNestedReplyText(
}; };
} }
if (M_POLL_END.matches(ev.getType())) {
return {
html:
`<mx-reply><blockquote><a href="${evLink}">In reply to</a> <a href="${userLink}">${mxid}</a>` +
`<br>Ended poll</blockquote></mx-reply>`,
body: `> <${mxid}>Ended poll\n\n`,
};
}
// This fallback contains text that is explicitly EN. // This fallback contains text that is explicitly EN.
switch (msgtype) { switch (msgtype) {
case MsgType.Text: case MsgType.Text:

View File

@ -17,6 +17,7 @@ limitations under the License.
import { IContent, MatrixEvent, MsgType } from "matrix-js-sdk/src/matrix"; import { IContent, MatrixEvent, MsgType } from "matrix-js-sdk/src/matrix";
import { M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon"; import { M_BEACON_INFO } from "matrix-js-sdk/src/@types/beacon";
import { LocationAssetType, M_ASSET } from "matrix-js-sdk/src/@types/location"; import { LocationAssetType, M_ASSET } from "matrix-js-sdk/src/@types/location";
import { M_POLL_END } from "matrix-js-sdk/src/@types/polls";
import { import {
getNestedReplyText, getNestedReplyText,
@ -149,6 +150,14 @@ But this is not
expect(getNestedReplyText(event, mockPermalinkGenerator)).toMatchSnapshot(); expect(getNestedReplyText(event, mockPermalinkGenerator)).toMatchSnapshot();
}); });
}); });
it("should create the expected fallback text for poll end events", () => {
const event = makeTestEvent(M_POLL_END.name, {
body: "body",
});
expect(getNestedReplyText(event, mockPermalinkGenerator)).toMatchSnapshot();
});
}); });
describe("shouldDisplayReply", () => { describe("shouldDisplayReply", () => {

View File

@ -44,3 +44,12 @@ exports[`Reply getNestedReplyText should create the expected fallback text for m
"html": "<mx-reply><blockquote><a href="$$permalink$$">In reply to</a> <a href="https://matrix.to/#/@user1:server">@user1:server</a><br>shared their live location.</blockquote></mx-reply>", "html": "<mx-reply><blockquote><a href="$$permalink$$">In reply to</a> <a href="https://matrix.to/#/@user1:server">@user1:server</a><br>shared their live location.</blockquote></mx-reply>",
} }
`; `;
exports[`Reply getNestedReplyText should create the expected fallback text for poll end events 1`] = `
{
"body": "> <@user1:server>Ended poll
",
"html": "<mx-reply><blockquote><a href="$$permalink$$">In reply to</a> <a href="https://matrix.to/#/@user1:server">@user1:server</a><br>Ended poll</blockquote></mx-reply>",
}
`;