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

Fix joining room using via servers regression #5936

Merged
merged 2 commits into from
Apr 28, 2021
Merged
Changes from all commits
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
9 changes: 8 additions & 1 deletion src/stores/RoomViewStore.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,8 @@ const INITIAL_STATE = {
replyingToEvent: null,

shouldPeek: false,

viaServers: [],
};

/**
Expand Down Expand Up @@ -113,6 +115,7 @@ class RoomViewStore extends Store<ActionPayload> {
this.setState({
roomId: null,
roomAlias: null,
viaServers: [],
});
break;
case 'view_room_error':
Expand Down Expand Up @@ -191,6 +194,7 @@ class RoomViewStore extends Store<ActionPayload> {
replyingToEvent: null,
// pull the user out of Room Settings
isEditingSettings: false,
viaServers: payload.via_servers,
};

// Allow being given an event to be replied to when switching rooms but sanity check its for this room
Expand Down Expand Up @@ -226,6 +230,7 @@ class RoomViewStore extends Store<ActionPayload> {
roomAlias: payload.room_alias,
roomLoading: true,
roomLoadError: null,
viaServers: payload.via_servers,
});
try {
const result = await MatrixClientPeg.get().getRoomIdForAlias(payload.room_alias);
Expand Down Expand Up @@ -261,6 +266,7 @@ class RoomViewStore extends Store<ActionPayload> {
roomAlias: payload.room_alias,
roomLoading: false,
roomLoadError: payload.err,
viaServers: [],
});
}

Expand All @@ -272,9 +278,10 @@ class RoomViewStore extends Store<ActionPayload> {

const cli = MatrixClientPeg.get();
const address = this.state.roomAlias || this.state.roomId;
const viaServers = this.state.viaServers || [];
try {
await retry<void, MatrixError>(() => cli.joinRoom(address, {
viaServers: payload.via_servers,
viaServers,
...payload.opts,
}), NUM_JOIN_RETRY, (err) => {
// if we received a Gateway timeout then retry
Expand Down