fix tombstone space not opening new space
This commit is contained in:
parent
73c4caf2e1
commit
c727f76466
2 changed files with 7 additions and 4 deletions
|
|
@ -13,10 +13,7 @@ export const useSelectedSpace = (): string | undefined => {
|
|||
if (!spaceIdOrAlias) return undefined;
|
||||
|
||||
const spaceId = isRoomAlias(spaceIdOrAlias)
|
||||
? ct.rooms.join.read.find(
|
||||
(roomId) =>
|
||||
roomToAlias.get(roomId) === spaceIdOrAlias && !ct.roomToReplacement.read.has(roomId)
|
||||
)
|
||||
? ct.rooms.join.read.find((roomId) => roomToAlias.get(roomId) === spaceIdOrAlias)
|
||||
: spaceIdOrAlias;
|
||||
|
||||
return spaceId;
|
||||
|
|
|
|||
|
|
@ -618,6 +618,11 @@ export const createRoomToAliasObservable = (
|
|||
const roomToAlias = new Map<string, string>();
|
||||
|
||||
const addAlias = (obj: RoomStateObject) => {
|
||||
if (state.join.tombstone.read.some((ev) => ev.roomId === obj.roomId)) {
|
||||
// skip tombstone rooms to prevent multiple rooms having same alias.
|
||||
// duplicate aliases cause problem finding correct roomId from alias.
|
||||
return;
|
||||
}
|
||||
const { content, state_key: stateKey } = obj.event;
|
||||
if (
|
||||
stateKey === '' &&
|
||||
|
|
@ -640,6 +645,7 @@ export const createRoomToAliasObservable = (
|
|||
state.invite.canonicalAlias,
|
||||
state.knock.canonicalAlias,
|
||||
state.leave.canonicalAlias,
|
||||
state.join.tombstone,
|
||||
]);
|
||||
|
||||
disposer.collect(roomToAliasObservable);
|
||||
|
|
|
|||
Loading…
Reference in a new issue