From c1d60069a886749d3ae46742ac77cb734659abb0 Mon Sep 17 00:00:00 2001 From: silberengel Date: Fri, 18 Jul 2025 23:12:17 +0200 Subject: [PATCH] commenting works --- src/lib/stores/userStore.ts | 1 + src/lib/utils/nostrEventService.ts | 21 +++++++++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/lib/stores/userStore.ts b/src/lib/stores/userStore.ts index 376367c..4fdcf48 100644 --- a/src/lib/stores/userStore.ts +++ b/src/lib/stores/userStore.ts @@ -210,6 +210,7 @@ export async function loginWithExtension() { console.log("Login with extension - setting userStore with:", userState); userStore.set(userState); + userPubkey.set(user.pubkey); // Update relay stores with the new user's relays try { diff --git a/src/lib/utils/nostrEventService.ts b/src/lib/utils/nostrEventService.ts index 1a233a8..4ad05f8 100644 --- a/src/lib/utils/nostrEventService.ts +++ b/src/lib/utils/nostrEventService.ts @@ -2,11 +2,10 @@ import { nip19 } from "nostr-tools"; import { getEventHash, signEvent, prefixNostrAddresses } from "./nostrUtils"; import { get } from "svelte/store"; import { goto } from "$app/navigation"; -import type { NDKEvent } from "./nostrUtils"; import { EVENT_KINDS, TIME_CONSTANTS, TIMEOUTS } from "./search_constants"; import { activeInboxRelays, activeOutboxRelays } from "$lib/ndk"; import { ndkInstance } from "$lib/ndk"; -import { NDKRelaySet } from "@nostr-dev-kit/ndk"; +import { NDKRelaySet, NDKEvent } from "@nostr-dev-kit/ndk"; export interface RootEventInfo { rootId: string; @@ -360,12 +359,12 @@ export async function createSignedEvent( /** * Publishes an event to relays using the new relay management system - * @param event The event to publish + * @param event The event to publish (can be NDKEvent or plain event object) * @param relayUrls Array of relay URLs to publish to * @returns Promise that resolves to array of successful relay URLs */ export async function publishEvent( - event: NDKEvent, + event: NDKEvent | any, relayUrls: string[], ): Promise { const successfulRelays: string[] = []; @@ -379,15 +378,25 @@ export async function publishEvent( const relaySet = NDKRelaySet.fromRelayUrls(relayUrls, ndk); try { + // If event is a plain object, create an NDKEvent from it + let ndkEvent: NDKEvent; + if (event.publish && typeof event.publish === 'function') { + // It's already an NDKEvent + ndkEvent = event; + } else { + // It's a plain event object, create NDKEvent + ndkEvent = new NDKEvent(ndk, event); + } + // Publish with timeout - await event.publish(relaySet).withTimeout(5000); + await ndkEvent.publish(relaySet).withTimeout(5000); // For now, assume all relays were successful // In a more sophisticated implementation, you'd track individual relay responses successfulRelays.push(...relayUrls); console.debug("[nostrEventService] Published event successfully:", { - eventId: event.id, + eventId: ndkEvent.id, relayCount: relayUrls.length, successfulRelays });