You've already forked matrix-js-sdk
mirror of
https://github.com/matrix-org/matrix-js-sdk.git
synced 2025-08-06 12:02:40 +03:00
Use sender instead of content.creator field on m.room.create events (#3675)
* Use sender instead of content.creator field on m.room.create events * Restore room_version fields in fixtures * Add test case for undefined sender scenario
This commit is contained in:
@@ -92,9 +92,7 @@ describe("MatrixClient events", function () {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: "!erufh:bar",
|
room: "!erufh:bar",
|
||||||
user: "@foo:bar",
|
user: "@foo:bar",
|
||||||
content: {
|
content: {},
|
||||||
creator: "@foo:bar",
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@@ -107,9 +107,7 @@ const INITIAL_SYNC_DATA = {
|
|||||||
utils.mkEvent({
|
utils.mkEvent({
|
||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
user: userId,
|
user: userId,
|
||||||
content: {
|
content: {},
|
||||||
creator: userId,
|
|
||||||
},
|
|
||||||
event: false,
|
event: false,
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
|
@@ -1989,7 +1989,6 @@ const buildEventCreate = () =>
|
|||||||
new MatrixEvent({
|
new MatrixEvent({
|
||||||
age: 80126105,
|
age: 80126105,
|
||||||
content: {
|
content: {
|
||||||
creator: "@andybalaam-test1:matrix.org",
|
|
||||||
room_version: "6",
|
room_version: "6",
|
||||||
},
|
},
|
||||||
event_id: "$e7j2Gt37k5NPwB6lz2N3V9lO5pUdNK8Ai7i2FPEK-oI",
|
event_id: "$e7j2Gt37k5NPwB6lz2N3V9lO5pUdNK8Ai7i2FPEK-oI",
|
||||||
|
@@ -57,9 +57,7 @@ describe("MatrixClient opts", function () {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomId,
|
room: roomId,
|
||||||
user: userId,
|
user: userId,
|
||||||
content: {
|
content: {},
|
||||||
creator: userId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@@ -85,9 +85,7 @@ describe("MatrixClient room timelines", function () {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomId,
|
room: roomId,
|
||||||
user: userId,
|
user: userId,
|
||||||
content: {
|
content: {},
|
||||||
creator: userId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@@ -389,9 +389,7 @@ describe("MatrixClient syncing", () => {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomOne,
|
room: roomOne,
|
||||||
user: selfUserId,
|
user: selfUserId,
|
||||||
content: {
|
content: {},
|
||||||
creator: selfUserId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -577,9 +575,7 @@ describe("MatrixClient syncing", () => {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomOne,
|
room: roomOne,
|
||||||
user: selfUserId,
|
user: selfUserId,
|
||||||
content: {
|
content: {},
|
||||||
creator: selfUserId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -611,9 +607,7 @@ describe("MatrixClient syncing", () => {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomTwo,
|
room: roomTwo,
|
||||||
user: selfUserId,
|
user: selfUserId,
|
||||||
content: {
|
content: {},
|
||||||
creator: selfUserId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -758,7 +752,6 @@ describe("MatrixClient syncing", () => {
|
|||||||
room: roomOne,
|
room: roomOne,
|
||||||
user: otherUserId,
|
user: otherUserId,
|
||||||
content: {
|
content: {
|
||||||
creator: otherUserId,
|
|
||||||
room_version: "9",
|
room_version: "9",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -844,7 +837,6 @@ describe("MatrixClient syncing", () => {
|
|||||||
room: roomOne,
|
room: roomOne,
|
||||||
user: otherUserId,
|
user: otherUserId,
|
||||||
content: {
|
content: {
|
||||||
creator: otherUserId,
|
|
||||||
room_version: testMeta.roomVersion,
|
room_version: testMeta.roomVersion,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
@@ -1372,9 +1364,7 @@ describe("MatrixClient syncing", () => {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomOne,
|
room: roomOne,
|
||||||
user: selfUserId,
|
user: selfUserId,
|
||||||
content: {
|
content: {},
|
||||||
creator: selfUserId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
} as Partial<IJoinedRoom>,
|
} as Partial<IJoinedRoom>,
|
||||||
@@ -1471,9 +1461,7 @@ describe("MatrixClient syncing", () => {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomOne,
|
room: roomOne,
|
||||||
user: selfUserId,
|
user: selfUserId,
|
||||||
content: {
|
content: {},
|
||||||
creator: selfUserId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -1629,9 +1617,7 @@ describe("MatrixClient syncing", () => {
|
|||||||
type: "m.room.create",
|
type: "m.room.create",
|
||||||
room: roomId,
|
room: roomId,
|
||||||
user: selfUserId,
|
user: selfUserId,
|
||||||
content: {
|
content: {},
|
||||||
creator: selfUserId,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@@ -179,7 +179,6 @@ describe("MatrixClient syncing", () => {
|
|||||||
events: [
|
events: [
|
||||||
{
|
{
|
||||||
content: {
|
content: {
|
||||||
creator: userB,
|
|
||||||
room_version: "9",
|
room_version: "9",
|
||||||
},
|
},
|
||||||
origin_server_ts: 1,
|
origin_server_ts: 1,
|
||||||
|
@@ -188,7 +188,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
[roomA]: {
|
[roomA]: {
|
||||||
name: "A",
|
name: "A",
|
||||||
required_state: [
|
required_state: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnStateEvent(EventType.RoomName, { name: "A" }, ""),
|
mkOwnStateEvent(EventType.RoomName, { name: "A" }, ""),
|
||||||
@@ -203,7 +203,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "B",
|
name: "B",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "hello B" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "hello B" }),
|
||||||
@@ -215,7 +215,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "C",
|
name: "C",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "hello C" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "hello C" }),
|
||||||
@@ -228,7 +228,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "D",
|
name: "D",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "hello D" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "hello D" }),
|
||||||
@@ -264,7 +264,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
[roomF]: {
|
[roomF]: {
|
||||||
name: "#foo:localhost",
|
name: "#foo:localhost",
|
||||||
required_state: [
|
required_state: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnStateEvent(EventType.RoomCanonicalAlias, { alias: "#foo:localhost" }, ""),
|
mkOwnStateEvent(EventType.RoomCanonicalAlias, { alias: "#foo:localhost" }, ""),
|
||||||
@@ -280,7 +280,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "G",
|
name: "G",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
],
|
],
|
||||||
@@ -292,7 +292,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "H",
|
name: "H",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "live event" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "live event" }),
|
||||||
@@ -602,7 +602,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "Room with Invite",
|
name: "Room with Invite",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "invite" }, invitee),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "invite" }, invitee),
|
||||||
@@ -718,7 +718,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "Room with account data",
|
name: "Room with account data",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "hello" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "hello" }),
|
||||||
@@ -922,7 +922,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "Room with typing",
|
name: "Room with typing",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "hello" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "hello" }),
|
||||||
@@ -963,7 +963,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "Room with typing",
|
name: "Room with typing",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
mkOwnEvent(EventType.RoomMessage, { body: "hello" }),
|
mkOwnEvent(EventType.RoomMessage, { body: "hello" }),
|
||||||
@@ -1049,7 +1049,7 @@ describe("SlidingSyncSdk", () => {
|
|||||||
name: "Room with receipts",
|
name: "Room with receipts",
|
||||||
required_state: [],
|
required_state: [],
|
||||||
timeline: [
|
timeline: [
|
||||||
mkOwnStateEvent(EventType.RoomCreate, { creator: selfUserId }, ""),
|
mkOwnStateEvent(EventType.RoomCreate, {}, ""),
|
||||||
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
mkOwnStateEvent(EventType.RoomMember, { membership: "join" }, selfUserId),
|
||||||
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
mkOwnStateEvent(EventType.RoomPowerLevels, { users: { [selfUserId]: 100 } }, ""),
|
||||||
{
|
{
|
||||||
|
@@ -2266,7 +2266,6 @@ describe("MatrixClient", function () {
|
|||||||
function roomCreateEvent(newRoomId: string, predecessorRoomId: string): MatrixEvent {
|
function roomCreateEvent(newRoomId: string, predecessorRoomId: string): MatrixEvent {
|
||||||
return new MatrixEvent({
|
return new MatrixEvent({
|
||||||
content: {
|
content: {
|
||||||
"creator": "@daryl:alexandria.example.com",
|
|
||||||
"m.federate": true,
|
"m.federate": true,
|
||||||
"predecessor": {
|
"predecessor": {
|
||||||
event_id: "id_of_last_event",
|
event_id: "id_of_last_event",
|
||||||
|
@@ -70,9 +70,7 @@ describe("RoomState", function () {
|
|||||||
user: userA,
|
user: userA,
|
||||||
room: roomId,
|
room: roomId,
|
||||||
event: true,
|
event: true,
|
||||||
content: {
|
content: {},
|
||||||
creator: userA,
|
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
|
@@ -228,7 +228,7 @@ describe("Room", function () {
|
|||||||
});
|
});
|
||||||
|
|
||||||
describe("getCreator", () => {
|
describe("getCreator", () => {
|
||||||
it("should return the creator from m.room.create", function () {
|
it("should return the sender from m.room.create", function () {
|
||||||
// @ts-ignore - mocked doesn't handle overloads sanely
|
// @ts-ignore - mocked doesn't handle overloads sanely
|
||||||
mocked(room.currentState.getStateEvents).mockImplementation(function (type, key) {
|
mocked(room.currentState.getStateEvents).mockImplementation(function (type, key) {
|
||||||
if (type === EventType.RoomCreate && key === "") {
|
if (type === EventType.RoomCreate && key === "") {
|
||||||
@@ -239,7 +239,7 @@ describe("Room", function () {
|
|||||||
room: roomId,
|
room: roomId,
|
||||||
user: userA,
|
user: userA,
|
||||||
content: {
|
content: {
|
||||||
creator: userA,
|
creator: userB, // The creator field was dropped in room version 11 but a malicious client might still send it
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -247,6 +247,24 @@ describe("Room", function () {
|
|||||||
const roomCreator = room.getCreator();
|
const roomCreator = room.getCreator();
|
||||||
expect(roomCreator).toStrictEqual(userA);
|
expect(roomCreator).toStrictEqual(userA);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("should return null if the sender is undefined", function () {
|
||||||
|
// @ts-ignore - mocked doesn't handle overloads sanely
|
||||||
|
mocked(room.currentState.getStateEvents).mockImplementation(function (type, key) {
|
||||||
|
if (type === EventType.RoomCreate && key === "") {
|
||||||
|
return utils.mkEvent({
|
||||||
|
event: true,
|
||||||
|
type: EventType.RoomCreate,
|
||||||
|
skey: "",
|
||||||
|
room: roomId,
|
||||||
|
user: undefined,
|
||||||
|
content: {},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
const roomCreator = room.getCreator();
|
||||||
|
expect(roomCreator).toBeNull();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe("getAvatarUrl", function () {
|
describe("getAvatarUrl", function () {
|
||||||
@@ -3471,12 +3489,10 @@ describe("Room", function () {
|
|||||||
|
|
||||||
function roomCreateEvent(newRoomId: string, predecessorRoomId: string | null): MatrixEvent {
|
function roomCreateEvent(newRoomId: string, predecessorRoomId: string | null): MatrixEvent {
|
||||||
const content: {
|
const content: {
|
||||||
creator: string;
|
|
||||||
["m.federate"]: boolean;
|
["m.federate"]: boolean;
|
||||||
room_version: string;
|
room_version: string;
|
||||||
predecessor: { event_id: string; room_id: string } | undefined;
|
predecessor: { event_id: string; room_id: string } | undefined;
|
||||||
} = {
|
} = {
|
||||||
"creator": "@daryl:alexandria.example.com",
|
|
||||||
"predecessor": undefined,
|
"predecessor": undefined,
|
||||||
"m.federate": true,
|
"m.federate": true,
|
||||||
"room_version": "9",
|
"room_version": "9",
|
||||||
|
@@ -1684,7 +1684,6 @@ const REDACT_KEEP_KEYS = new Set([
|
|||||||
// a map from state event type to the .content keys we keep when an event is redacted
|
// a map from state event type to the .content keys we keep when an event is redacted
|
||||||
const REDACT_KEEP_CONTENT_MAP: Record<string, Record<string, 1>> = {
|
const REDACT_KEEP_CONTENT_MAP: Record<string, Record<string, 1>> = {
|
||||||
[EventType.RoomMember]: { membership: 1 },
|
[EventType.RoomMember]: { membership: 1 },
|
||||||
[EventType.RoomCreate]: { creator: 1 },
|
|
||||||
[EventType.RoomJoinRules]: { join_rule: 1 },
|
[EventType.RoomJoinRules]: { join_rule: 1 },
|
||||||
[EventType.RoomPowerLevels]: {
|
[EventType.RoomPowerLevels]: {
|
||||||
ban: 1,
|
ban: 1,
|
||||||
|
@@ -569,7 +569,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|||||||
*/
|
*/
|
||||||
public getCreator(): string | null {
|
public getCreator(): string | null {
|
||||||
const createEvent = this.currentState.getStateEvents(EventType.RoomCreate, "");
|
const createEvent = this.currentState.getStateEvents(EventType.RoomCreate, "");
|
||||||
return createEvent?.getContent()["creator"] ?? null;
|
return createEvent?.getSender() ?? null;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user