Compare commits

..

1 Commits

Author SHA1 Message Date
userAdityaa 92cc000004 fix: deleted rooms persisting in navigation 2026-05-28 15:26:52 +05:30
+2 -14
View File
@@ -596,8 +596,7 @@ export const splitRoomId = (id: string) => id.split("'")
export const hasNip29 = (relay?: RelayProfile) =>
Boolean(relay?.supported_nips?.map?.(String)?.includes?.("29"))
const getRoomDeleteId = (event: TrustedEvent) =>
getTagValue("h", event.tags) || getTagValue("d", event.tags)
const getRoomDeleteId = (event: TrustedEvent) => getTagValue("h", event.tags)
export const roomMetaEventsByIdByUrl = deriveEventsByIdByUrl({
tracker,
@@ -608,20 +607,9 @@ export const roomMetaEventsByIdByUrl = deriveEventsByIdByUrl({
export const roomsByUrl = derived(roomMetaEventsByIdByUrl, roomMetaEventsByIdByUrl => {
const result = new Map<string, Room[]>()
// Build a global set of deleted rooms from the repository directly so that
// deletes are visible even before the tracker has mapped them to a URL.
const deletedByH = new Map<string, number>()
for (const event of repository.query([{kinds: [ROOM_DELETE]}])) {
const h = getRoomDeleteId(event)
if (h) {
deletedByH.set(h, max([deletedByH.get(h), event.created_at]))
}
}
for (const [url, events] of roomMetaEventsByIdByUrl.entries()) {
const [metaEvents, deleteEvents] = partition(spec({kind: ROOM_META}), events.values())
const deletedByH = new Map<string, number>()
for (const event of deleteEvents) {
const h = getRoomDeleteId(event)