Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
t3chguy/sentinels
Michael Telatynski 2025-01-08 17:46:28 +00:00
parent bde3142b28
commit 5ca8d74117
No known key found for this signature in database
GPG Key ID: A2B008A5F49F5D0D
9 changed files with 19 additions and 16 deletions

View File

@ -237,7 +237,8 @@ const ForwardDialog: React.FC<IProps> = ({ matrixClient: cli, event, permalinkCr
room_id: event.getRoomId(), room_id: event.getRoomId(),
origin_server_ts: event.getTs(), origin_server_ts: event.getTs(),
}); });
mockEvent.sender = { // @ts-ignore - private field access
mockEvent._sender = {
name: profileInfo.displayname || userId, name: profileInfo.displayname || userId,
rawDisplayName: profileInfo.displayname, rawDisplayName: profileInfo.displayname,
userId, userId,

View File

@ -89,7 +89,8 @@ export default class EventTilePreview extends React.Component<IProps, IState> {
/* eslint-enable quote-props */ /* eslint-enable quote-props */
// Fake it more // Fake it more
event.sender = { // @ts-ignore - private field access
event._sender = {
name: this.props.displayName || this.props.userId, name: this.props.displayName || this.props.userId,
rawDisplayName: this.props.displayName, rawDisplayName: this.props.displayName,
userId: this.props.userId, userId: this.props.userId,

View File

@ -154,7 +154,7 @@ async function fetchPinnedEvent(room: Room, pinnedEventId: string, cli: MatrixCl
const senderUserId = event.getSender(); const senderUserId = event.getSender();
if (senderUserId && PinningUtils.isUnpinnable(event)) { if (senderUserId && PinningUtils.isUnpinnable(event)) {
// Inject sender information // Inject sender information
event.sender = room.getMember(senderUserId); event.setMetadata(room.currentState, false);
// Also inject any edits we've found // Also inject any edits we've found
if (edit) event.makeReplaced(edit); if (edit) event.makeReplaced(edit);

View File

@ -761,7 +761,8 @@ export default class EventIndex extends EventEmitter {
// We set this manually to avoid emitting RoomMember.membership and // We set this manually to avoid emitting RoomMember.membership and
// RoomMember.name events. // RoomMember.name events.
member.events.member = memberEvent; member.events.member = memberEvent;
matrixEvent.sender = member; // @ts-ignore - private field access
matrixEvent._sender = member;
return matrixEvent; return matrixEvent;
}); });

View File

@ -110,12 +110,7 @@ export default abstract class Exporter {
} }
protected setEventMetadata(event: MatrixEvent): MatrixEvent { protected setEventMetadata(event: MatrixEvent): MatrixEvent {
const roomState = this.room.currentState; event.setMetadata(this.room.currentState, false);
const sender = event.getSender();
event.sender = (!!sender && roomState?.getSentinelMember(sender)) || null;
if (event.getType() === "m.room.member") {
event.target = roomState?.getSentinelMember(event.getStateKey()!) ?? null;
}
return event; return event;
} }

View File

@ -350,7 +350,8 @@ export default class HTMLExporter extends Exporter {
} }
const modifiedEvent = new MatrixEvent(); const modifiedEvent = new MatrixEvent();
modifiedEvent.event = mxEv.event; modifiedEvent.event = mxEv.event;
modifiedEvent.sender = mxEv.sender; // @ts-ignore - private field access
modifiedEvent._sender = mxEv.sender;
modifiedEvent.event.type = "m.room.message"; modifiedEvent.event.type = "m.room.message";
modifiedEvent.event.content = modifiedContent; modifiedEvent.event.content = modifiedContent;
return modifiedEvent; return modifiedEvent;

View File

@ -405,7 +405,8 @@ export function mkEvent(opts: MakeEventProps): MatrixEvent {
const mxEvent = opts.event ? new MatrixEvent(event) : (event as unknown as MatrixEvent); const mxEvent = opts.event ? new MatrixEvent(event) : (event as unknown as MatrixEvent);
if (!mxEvent.sender && opts.user && opts.room) { if (!mxEvent.sender && opts.user && opts.room) {
mxEvent.sender = { // @ts-ignore - private field access
mxEvent._sender = {
userId: opts.user, userId: opts.user,
membership: KnownMembership.Join, membership: KnownMembership.Join,
name: opts.user, name: opts.user,
@ -470,7 +471,8 @@ export function mkMembership(
} }
const e = mkEvent(event); const e = mkEvent(event);
if (opts.target) { if (opts.target) {
e.target = opts.target; // @ts-ignore - private field access
e._target = opts.target;
} }
return e; return e;
} }

View File

@ -179,7 +179,8 @@ describe("TextForEvent", () => {
}, },
}, },
}); });
mxEvent.sender = { name: userA.name } as RoomMember; // @ts-ignore - private field access
mxEvent._sender = { name: userA.name } as RoomMember;
return mxEvent; return mxEvent;
}; };

View File

@ -122,8 +122,9 @@ describe("ReactionEventPreview", () => {
type: "m.reaction", type: "m.reaction",
room: roomId, room: roomId,
}); });
event.sender = new RoomMember(roomId, userId); // @ts-ignore - private field access
event.sender.name = "Bob"; event._sender = new RoomMember(roomId, userId);
event.sender!.name = "Bob";
expect(preview.getTextFor(event)).toMatchInlineSnapshot(`"Bob reacted 🪿 to duck duck goose"`); expect(preview.getTextFor(event)).toMatchInlineSnapshot(`"Bob reacted 🪿 to duck duck goose"`);
}); });