diff --git a/src/app/state.ts b/src/app/state.ts index ca6f1d66..59fad0a2 100644 --- a/src/app/state.ts +++ b/src/app/state.ts @@ -455,22 +455,23 @@ export const chatSearch = derived(chats, $chats => // Messages // TODO: remove support for legacy messages +export const adaptLegacyMessage = (event: TrustedEvent) => { + if (event.kind === LEGACY_MESSAGE) { + let room = event.tags.find(nthEq(0, "~"))?.[1] || GENERAL + + if (room === "general") { + room = GENERAL + } + + return {...event, kind: MESSAGE, tags: [...event.tags, tagRoom(room, "")]} + } + + return event +} + export const messages = derived( deriveEvents(repository, {filters: [{kinds: [MESSAGE, LEGACY_MESSAGE]}]}), - $events => - $events.map(e => { - if (e.kind === LEGACY_MESSAGE) { - let room = e.tags.find(nthEq(0, "~"))?.[1] || GENERAL - - if (room === "general") { - room = GENERAL - } - - return {...e, kind: MESSAGE, tags: [...e.tags, tagRoom(room, "")]} - } - - return e - }), + $events => $events.map(adaptLegacyMessage), ) // Group Meta diff --git a/src/routes/spaces/[relay]/[room]/+page.svelte b/src/routes/spaces/[relay]/[room]/+page.svelte index e3e29c11..07c3daa2 100644 --- a/src/routes/spaces/[relay]/[room]/+page.svelte +++ b/src/routes/spaces/[relay]/[room]/+page.svelte @@ -49,7 +49,14 @@ const content = popKey("content") || "" const url = decodeRelay($page.params.relay) const relay = deriveRelay(url) - const events = throttled(300, deriveEventsForUrl(url, [{kinds: [MESSAGE], "#h": [room]}])) + const legacyRoom = room === GENERAL ? "general" : room + const events = throttled( + 300, + deriveEventsForUrl(url, [ + {kinds: [MESSAGE], "#h": [room]}, + {kinds: [LEGACY_MESSAGE], "#~": [legacyRoom]}, + ]), + ) const assertEvent = (e: any) => e as TrustedEvent @@ -132,7 +139,7 @@ load({ delay: 0, relays: [url], - filters: [{kinds: [LEGACY_MESSAGE], "#~": [room]}], + filters: [{kinds: [LEGACY_MESSAGE], "#~": [legacyRoom]}], }) }