Render events as extensible events (behind labs) (#7462)
* Render events as extensible events (behind labs) * Include the SDK * Appease linter * Update for changed property name * Fix formatting error * Fix branch matching for build steps * Update SDK * Update scripts/fetchdep.sh Co-authored-by: Andy Balaam <andyb@element.io> Co-authored-by: Andy Balaam <andyb@element.io>
This commit is contained in:
parent
6d9d9a56b4
commit
61a0be7d46
7 changed files with 107 additions and 45 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
Copyright 2015, 2016 OpenMarket Ltd
|
||||
Copyright 2015 - 2022 The Matrix.org Foundation C.I.C.
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
|
@ -20,6 +20,7 @@ import { logger } from "matrix-js-sdk/src/logger";
|
|||
import { removeDirectionOverrideChars } from 'matrix-js-sdk/src/utils';
|
||||
import { GuestAccess, HistoryVisibility, JoinRule } from "matrix-js-sdk/src/@types/partials";
|
||||
import { EventType, MsgType } from "matrix-js-sdk/src/@types/event";
|
||||
import { EmoteEvent, NoticeEvent, MessageEvent } from "matrix-events-sdk";
|
||||
|
||||
import { _t } from './languageHandler';
|
||||
import * as Roles from './Roles';
|
||||
|
@ -334,10 +335,23 @@ function textForMessageEvent(ev: MatrixEvent): () => string | null {
|
|||
if (redactedBecauseUserId && redactedBecauseUserId !== ev.getSender()) {
|
||||
const room = MatrixClientPeg.get().getRoom(ev.getRoomId());
|
||||
const sender = room?.getMember(redactedBecauseUserId);
|
||||
message = _t("Message deleted by %(name)s", { name: sender?.name
|
||||
|| redactedBecauseUserId });
|
||||
message = _t("Message deleted by %(name)s", {
|
||||
name: sender?.name || redactedBecauseUserId,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (SettingsStore.isEnabled("feature_extensible_events")) {
|
||||
const extev = ev.unstableExtensibleEvent;
|
||||
if (extev) {
|
||||
if (extev instanceof EmoteEvent) {
|
||||
return `* ${senderDisplayName} ${extev.text}`;
|
||||
} else if (extev instanceof NoticeEvent || extev instanceof MessageEvent) {
|
||||
return `${senderDisplayName}: ${extev.text}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ev.getContent().msgtype === MsgType.Emote) {
|
||||
message = "* " + senderDisplayName + " " + message;
|
||||
} else if (ev.getContent().msgtype === MsgType.Image) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue