diff --git a/src/app/components/RoomItemMenu.svelte b/src/app/components/RoomItemMenu.svelte index 69d94d5..d2470e9 100644 --- a/src/app/components/RoomItemMenu.svelte +++ b/src/app/components/RoomItemMenu.svelte @@ -1,15 +1,19 @@ diff --git a/src/app/util/storage.ts b/src/app/util/storage.ts index 4f5bfea..beecf20 100644 --- a/src/app/util/storage.ts +++ b/src/app/util/storage.ts @@ -80,7 +80,7 @@ const rankEvent = (event: TrustedEvent) => { const eventsAdapter = { name: "events", - keyPath: ["id"], + keyPath: "id", init: async (table: IDBTable) => { const initialEvents = await table.getAll() @@ -127,7 +127,7 @@ type TrackerItem = {id: string; relays: string[]} const trackerAdapter = { name: "tracker", - keyPath: ["id"], + keyPath: "id", init: async (table: IDBTable) => { const relaysById = new Map>() @@ -183,7 +183,7 @@ const trackerAdapter = { const relaysAdapter = { name: "relays", - keyPath: ["url"], + keyPath: "url", init: async (table: IDBTable) => { relays.set(await table.getAll()) @@ -193,7 +193,7 @@ const relaysAdapter = { const relayStatsAdapter = { name: "relayStats", - keyPath: ["url"], + keyPath: "url", init: async (table: IDBTable) => { relayStats.set(await table.getAll()) @@ -203,7 +203,7 @@ const relayStatsAdapter = { const handlesAdapter = { name: "handles", - keyPath: ["nip05"], + keyPath: "nip05", init: async (table: IDBTable) => { handles.set(await table.getAll()) @@ -213,7 +213,7 @@ const handlesAdapter = { const zappersAdapter = { name: "zappers", - keyPath: ["lnurl"], + keyPath: "lnurl", init: async (table: IDBTable) => { zappers.set(await table.getAll()) @@ -225,7 +225,7 @@ type FreshnessItem = {key: string; value: number} const freshnessAdapter = { name: "freshness", - keyPath: ["key"], + keyPath: "key", init: async (table: IDBTable) => { const initialRecords = await table.getAll() @@ -241,7 +241,7 @@ type PlaintextItem = {key: string; value: string} const plaintextAdapter = { name: "plaintext", - keyPath: ["key"], + keyPath: "key", init: async (table: IDBTable) => { const initialRecords = await table.getAll() @@ -255,7 +255,7 @@ const plaintextAdapter = { const wrapManagerAdapter = { name: "wrapManager", - keyPath: ["id"], + keyPath: "id", init: async (table: IDBTable) => { wrapManager.load(await table.getAll()) diff --git a/src/lib/indexeddb.ts b/src/lib/indexeddb.ts index 8c0c077..55a0383 100644 --- a/src/lib/indexeddb.ts +++ b/src/lib/indexeddb.ts @@ -6,7 +6,7 @@ import type {Maybe} from "@welshman/lib" export type IDBAdapter = { name: string - keyPath: string[] + keyPath: string init: (table: IDBTable) => Promise } diff --git a/src/routes/spaces/[relay]/[h]/+page.svelte b/src/routes/spaces/[relay]/[h]/+page.svelte index e1306df..8134854 100644 --- a/src/routes/spaces/[relay]/[h]/+page.svelte +++ b/src/routes/spaces/[relay]/[h]/+page.svelte @@ -211,6 +211,7 @@ const seen = new Set() let previousDate + let previousKind let previousPubkey let newMessagesSeen = false @@ -247,10 +248,14 @@ id: event.id, type: "note", value: event, - showPubkey: date !== previousDate || previousPubkey !== event.pubkey, + showPubkey: + date !== previousDate || + previousPubkey !== event.pubkey || + [ROOM_ADD_MEMBER, ROOM_REMOVE_MEMBER].includes(previousKind!), }) previousDate = date + previousKind = event.kind previousPubkey = event.pubkey seen.add(event.id) } diff --git a/src/routes/spaces/[relay]/chat/+page.svelte b/src/routes/spaces/[relay]/chat/+page.svelte index 025176e..e32da6f 100644 --- a/src/routes/spaces/[relay]/chat/+page.svelte +++ b/src/routes/spaces/[relay]/chat/+page.svelte @@ -136,6 +136,7 @@ const seen = new Set() let previousDate + let previousKind let previousPubkey let newMessagesSeen = false @@ -172,10 +173,14 @@ id: event.id, type: "note", value: event, - showPubkey: date !== previousDate || previousPubkey !== event.pubkey, + showPubkey: + date !== previousDate || + previousPubkey !== event.pubkey || + [RELAY_ADD_MEMBER, RELAY_REMOVE_MEMBER].includes(previousKind!), }) previousDate = date + previousKind = event.kind previousPubkey = event.pubkey seen.add(event.id) }