Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Fix RoomView ignoring alias lookup errors due to them not knowing the roomId #11099

Merged
merged 3 commits into from
Jun 19, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/components/structures/RoomView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -514,7 +514,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
/**
* Removes the Jitsi widget from the current user if
* - Multiple Jitsi widgets have been added within {@link PREVENT_MULTIPLE_JITSI_WITHIN}
* - The last (server timestamp) of these widgets is from the currrent user
* - The last (server timestamp) of these widgets is from the current user
* This solves the issue if some people decide to start a conference and click the call button at the same time.
*/
private doMaybeRemoveOwnJitsiWidget(): void {
Expand Down Expand Up @@ -587,7 +587,8 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
return;
}

if (!initial && this.state.roomId !== this.context.roomViewStore.getRoomId()) {
const roomLoadError = this.context.roomViewStore.getRoomLoadError() ?? undefined;
if (!initial && !roomLoadError && this.state.roomId !== this.context.roomViewStore.getRoomId()) {
// RoomView explicitly does not support changing what room
// is being viewed: instead it should just be re-mounted when
// switching rooms. Therefore, if the room ID changes, we
Expand All @@ -609,7 +610,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
roomId: roomId ?? undefined,
roomAlias: this.context.roomViewStore.getRoomAlias() ?? undefined,
roomLoading: this.context.roomViewStore.isRoomLoading(),
roomLoadError: this.context.roomViewStore.getRoomLoadError() ?? undefined,
roomLoadError,
joining: this.context.roomViewStore.isJoining(),
replyToEvent: this.context.roomViewStore.getQuotingEvent() ?? undefined,
// we should only peek once we have a ready client
Expand Down