Fix room create tile not showing up with hidden events shown (#7810)

* Replace m.room.create with enum

* Fix room create tile not showing up with hidden events shown
This commit is contained in:
Michael Telatynski
2022-02-15 21:05:41 +00:00
committed by GitHub
parent b5e3ba28d9
commit c2cf3a2d9e
6 changed files with 11 additions and 8 deletions

View File

@@ -682,6 +682,7 @@ export default class MessagePanel extends React.Component<IProps, IState> {
for (const Grouper of groupers) {
if (Grouper.canStartGroup(this, mxEv) && !this.props.disableGrouping) {
grouper = new Grouper(this, mxEv, prevEvent, lastShownEvent, nextEvent, nextTile);
break; // break on first grouper
}
}
if (!grouper) {
@@ -1156,7 +1157,7 @@ class CreationGrouper extends BaseGrouper {
// Get sender profile from the latest event in the summary as the m.room.create doesn't contain one
const ev = this.events[this.events.length - 1];
let summaryText;
let summaryText: string;
const roomId = ev.getRoomId();
const creator = ev.sender ? ev.sender.name : ev.getSender();
if (DMRoomMap.shared().getUserIdForRoomId(roomId)) {
@@ -1334,5 +1335,5 @@ class MainGrouper extends BaseGrouper {
}
}
// all the grouper classes that we use
// all the grouper classes that we use, ordered by priority
const groupers = [CreationGrouper, MainGrouper];

View File

@@ -1768,7 +1768,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
};
private getOldRoom() {
const createEvent = this.state.room.currentState.getStateEvents("m.room.create", "");
const createEvent = this.state.room.currentState.getStateEvents(EventType.RoomCreate, "");
if (!createEvent || !createEvent.getContent()['predecessor']) return null;
return this.context.getRoom(createEvent.getContent()['predecessor']['room_id']);

View File

@@ -19,7 +19,7 @@ import classNames from 'classnames';
import { MatrixEvent, IEventRelation } from "matrix-js-sdk/src/models/event";
import { Room } from "matrix-js-sdk/src/models/room";
import { RoomMember } from "matrix-js-sdk/src/models/room-member";
import { RelationType } from 'matrix-js-sdk/src/@types/event';
import { EventType, RelationType } from 'matrix-js-sdk/src/@types/event';
import { _t } from '../../../languageHandler';
import { MatrixClientPeg } from '../../../MatrixClientPeg';
@@ -223,7 +223,7 @@ export default class MessageComposer extends React.Component<IProps, IState> {
const replacementRoom = MatrixClientPeg.get().getRoom(replacementRoomId);
let createEventId = null;
if (replacementRoom) {
const createEvent = replacementRoom.currentState.getStateEvents('m.room.create', '');
const createEvent = replacementRoom.currentState.getStateEvents(EventType.RoomCreate, '');
if (createEvent && createEvent.getId()) createEventId = createEvent.getId();
}