fix tombstone space not opening new space

This commit is contained in:
Ajay Bura 2026-08-23 22:48:26 +05:30
commit c727f76466
2 changed files with 7 additions and 4 deletions

View file

@ -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;

View file

@ -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);