From 6fd2741cc0ab5db2adfb7875e50b70ade163f8b4 Mon Sep 17 00:00:00 2001 From: Kieran Date: Wed, 22 Nov 2023 15:52:30 +0000 Subject: [PATCH] fix: nip28 chats loading --- packages/app/src/chat/index.ts | 2 +- packages/app/src/chat/nip28.ts | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/app/src/chat/index.ts b/packages/app/src/chat/index.ts index feb0e037..c9be42ee 100644 --- a/packages/app/src/chat/index.ts +++ b/packages/app/src/chat/index.ts @@ -204,6 +204,6 @@ export function useChatSystem() { return [...nip4, ...nip28].filter(a => { const authors = a.participants.filter(a => a.type === "pubkey").map(a => a.id); - return !authors.every(a => isBlocked(a)); + return authors.length === 0 || !authors.every(a => isBlocked(a)); }); } diff --git a/packages/app/src/chat/nip28.ts b/packages/app/src/chat/nip28.ts index 9a7a8ade..0b244427 100644 --- a/packages/app/src/chat/nip28.ts +++ b/packages/app/src/chat/nip28.ts @@ -1,5 +1,5 @@ import debug from "debug"; -import { ExternalStore, FeedCache, unixNow, unwrap } from "@snort/shared"; +import { ExternalStore, FeedCache, unwrap } from "@snort/shared"; import { EventKind, NostrEvent, @@ -16,7 +16,6 @@ import { import { LoginSession } from "@/Login"; import { findTag } from "@/SnortUtils"; import { Chat, ChatParticipant, ChatSystem, ChatType, lastReadInChat } from "@/chat"; -import { Day } from "@/Const"; export class Nip28ChatSystem extends ExternalStore> implements ChatSystem { #cache: FeedCache; @@ -50,7 +49,7 @@ export class Nip28ChatSystem extends ExternalStore> implements ChatS const lastMessage = messages[id]?.reduce((acc, v) => (v.created_at > acc ? v.created_at : acc), 0) ?? 0; rb.withFilter() .tag("e", [id]) - .since(lastMessage === 0 ? unixNow() - 2 * Day : lastMessage) + .since(lastMessage === 0 ? undefined : lastMessage) .kinds(this.ChannelKinds); } @@ -67,9 +66,10 @@ export class Nip28ChatSystem extends ExternalStore> implements ChatS listChats(): Chat[] { const chats = this.#chatChannels(); - return Object.entries(chats).map(([k, v]) => { + const ret = Object.entries(chats).map(([k, v]) => { return Nip28ChatSystem.createChatObj(Nip28ChatSystem.chatId(k), v); }); + return ret; } static chatId(id: string) {