Support joining non-peekable rooms via the module API (#10154)
When previewing a room, we normally do not have a Room object. Currently, when the RoomPreviewBar is instantiated without a room, it doesn't raise the PreviewRoomNotLoggedIn and JoinFromRoomPreview module lifecycle events, meaning that modules are unable to intercept previews of non-peekable rooms. To fix this, make sure that we pass the room ID into RoomPreviewBar irrespective of whether we have a Room object, and use it to raise the module lifecycle events. Signed-off-by: Mikhail Aheichyk <mikhail.aheichyk@nordeck.net>
This commit is contained in:
parent
880428ab94
commit
d0c266d4a1
3 changed files with 15 additions and 8 deletions
|
@ -1957,6 +1957,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
|
|||
loading={loading}
|
||||
joining={this.state.joining}
|
||||
oobData={this.props.oobData}
|
||||
roomId={this.state.roomId}
|
||||
/>
|
||||
</ErrorBoundary>
|
||||
</div>
|
||||
|
@ -1986,7 +1987,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
|
|||
invitedEmail={invitedEmail}
|
||||
oobData={this.props.oobData}
|
||||
signUrl={this.props.threepidInvite?.signUrl}
|
||||
room={this.state.room}
|
||||
roomId={this.state.roomId}
|
||||
/>
|
||||
</ErrorBoundary>
|
||||
</div>
|
||||
|
@ -2023,6 +2024,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
|
|||
error={this.state.roomLoadError}
|
||||
joining={this.state.joining}
|
||||
rejecting={this.state.rejecting}
|
||||
roomId={this.state.roomId}
|
||||
/>
|
||||
</ErrorBoundary>
|
||||
);
|
||||
|
@ -2052,6 +2054,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
|
|||
canPreview={false}
|
||||
joining={this.state.joining}
|
||||
room={this.state.room}
|
||||
roomId={this.state.roomId}
|
||||
/>
|
||||
</ErrorBoundary>
|
||||
</div>
|
||||
|
@ -2144,6 +2147,7 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
|
|||
oobData={this.props.oobData}
|
||||
canPreview={this.state.canPeek}
|
||||
room={this.state.room}
|
||||
roomId={this.state.roomId}
|
||||
/>
|
||||
);
|
||||
if (!this.state.canPeek && !this.state.room?.isSpaceRoom()) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue