Fix /join <alias> command failing due to race condition (#31433)
* Explicitly pass via_servers in join room options * Fix test
This commit is contained in:
@@ -445,13 +445,21 @@ export class RoomViewStore extends EventEmitter {
|
|||||||
this.setState(newState);
|
this.setState(newState);
|
||||||
|
|
||||||
if (payload.auto_join) {
|
if (payload.auto_join) {
|
||||||
this.dis?.dispatch<JoinRoomPayload>({
|
const joinPayload: JoinRoomPayload = {
|
||||||
...payload,
|
...payload,
|
||||||
action: Action.JoinRoom,
|
action: Action.JoinRoom,
|
||||||
roomId: payload.room_id,
|
roomId: payload.room_id,
|
||||||
metricsTrigger: payload.metricsTrigger as JoinRoomPayload["metricsTrigger"],
|
metricsTrigger: payload.metricsTrigger as JoinRoomPayload["metricsTrigger"],
|
||||||
canAskToJoin: SettingsStore.getValue("feature_ask_to_join"),
|
canAskToJoin: SettingsStore.getValue("feature_ask_to_join"),
|
||||||
});
|
};
|
||||||
|
// Explicitly pass viaServers in case state doesn't contain the same due to
|
||||||
|
// some race issues.
|
||||||
|
if (payload.via_servers) {
|
||||||
|
joinPayload.opts = {
|
||||||
|
viaServers: payload.via_servers,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
this.dis?.dispatch<JoinRoomPayload>(joinPayload);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (room) {
|
if (room) {
|
||||||
|
|||||||
Reference in New Issue
Block a user