From 152d35f92a7c61df4103c0478d9f6d4796113f0d Mon Sep 17 00:00:00 2001 From: userAdityaa Date: Fri, 29 May 2026 15:20:21 +0000 Subject: [PATCH] Fix deleted rooms persisting in navigation (#285) Co-authored-by: userAdityaa Co-committed-by: userAdityaa --- src/app/components/RoomDetail.svelte | 1 + src/app/core/state.ts | 9 ++++++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/app/components/RoomDetail.svelte b/src/app/components/RoomDetail.svelte index 3115b3d5..03378fd5 100644 --- a/src/app/components/RoomDetail.svelte +++ b/src/app/components/RoomDetail.svelte @@ -122,6 +122,7 @@ repository.removeEvent(thunk.event.id) pushToast({theme: "error", message}) } else { + await removeRoomMembership(url, h) goto(makeSpacePath(url)) } }, diff --git a/src/app/core/state.ts b/src/app/core/state.ts index 374e7701..dd49883b 100644 --- a/src/app/core/state.ts +++ b/src/app/core/state.ts @@ -5,7 +5,7 @@ import {derived, readable, writable} from "svelte/store" import * as nip19 from "nostr-tools/nip19" import { on, - gt, + gte, max, spec, call, @@ -620,7 +620,7 @@ export const roomsByUrl = derived(roomMetaEventsByIdByUrl, roomMetaEventsByIdByU for (const event of metaEvents) { const meta = tryCatch(() => readRoomMeta(event)) - if (!meta || gt(deletedByH.get(meta.h), meta.event.created_at)) { + if (!meta || gte(deletedByH.get(meta.h), meta.event.created_at)) { continue } @@ -651,7 +651,10 @@ export const loadRoom = call(() => { await load({ relays: [url], - filters: [{kinds: [ROOM_META], "#d": [h]}], + filters: [ + {kinds: [ROOM_META], "#d": [h]}, + {kinds: [ROOM_DELETE], "#h": [h]}, + ], }) }