From a84fbe97b04bbc3dbffaa75b6727d805db5a7873 Mon Sep 17 00:00:00 2001 From: Gigi Date: Tue, 7 Oct 2025 05:44:59 +0100 Subject: [PATCH] fix: create NIP-78 events manually without blueprint import - Remove AppDataBlueprint import that's not available in npm package - Create application data events directly using factory.create() - Manually construct event with kind 30078, d-tag identifier, and JSON content - Fixes Vercel build by avoiding unavailable blueprint exports --- src/services/settingsService.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/services/settingsService.ts b/src/services/settingsService.ts index f1e951c2..8d4f4bc9 100644 --- a/src/services/settingsService.ts +++ b/src/services/settingsService.ts @@ -1,6 +1,5 @@ import { IEventStore, mapEventsToStore } from 'applesauce-core' import { EventFactory } from 'applesauce-factory' -import { AppDataBlueprint } from 'applesauce-factory/blueprints' import { RelayPool, onlyEvents } from 'applesauce-relay' import { NostrEvent } from 'nostr-tools' import { firstValueFrom } from 'rxjs' @@ -137,7 +136,14 @@ export async function saveSettings( ): Promise { console.log('💾 Saving settings to nostr:', settings) - const draft = await factory.create(AppDataBlueprint, SETTINGS_IDENTIFIER, settings, false) + // Create NIP-78 application data event manually + const draft = await factory.create(async () => ({ + kind: APP_DATA_KIND, + content: JSON.stringify(settings), + tags: [['d', SETTINGS_IDENTIFIER]], + created_at: Math.floor(Date.now() / 1000) + })) + const signed = await factory.sign(draft) console.log('📤 Publishing settings event:', signed.id, 'to', relays.length, 'relays')