From ba677eac124afec8f95a87bb450ed5a44263f18f Mon Sep 17 00:00:00 2001 From: BlowaterNostr Date: Thu, 29 Aug 2024 16:36:01 +0800 Subject: [PATCH 1/2] + --- app/features/dm.ts | 10 ++++------ deno.json | 2 +- deno.lock | 2 ++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/features/dm.ts b/app/features/dm.ts index abdb04b4..6e176c3e 100644 --- a/app/features/dm.ts +++ b/app/features/dm.ts @@ -205,11 +205,11 @@ export class DirectedMessageController implements DirectMessageGetter { ); if (result.type == "Other") { - return result; + return result.error; } else if (result.type == "NotMyMessage") { - return result; + return result.error; } else if (result.type == "error") { - return result; + return result.error; } const dm_event = result.event; @@ -237,9 +237,7 @@ export class DirectedMessageController implements DirectMessageGetter { } this.directed_messages.set(event.id, chatMessage); /* do not await */ this.new_message_chan.put(chatMessage); - return { - type: true, - }; + return; } onChange() { diff --git a/deno.json b/deno.json index 5310efdc..a3fd62ed 100644 --- a/deno.json +++ b/deno.json @@ -44,7 +44,7 @@ "imports": { "@blowater/collections": "jsr:@blowater/collections@^0.0.0-rc3", "@blowater/csp": "jsr:@blowater/csp@1.0.0", - "@blowater/nostr-sdk": "jsr:@blowater/nostr-sdk@0.0.7", + "@blowater/nostr-sdk": "jsr:@blowater/nostr-sdk@^0.0.16", "@std/assert": "jsr:@std/assert@0.226.0", "@std/datetime": "jsr:@std/datetime@0.224.2", "@std/encoding": "jsr:@std/encoding@1.0.0", diff --git a/deno.lock b/deno.lock index 264e6cba..d7f58797 100644 --- a/deno.lock +++ b/deno.lock @@ -416,6 +416,8 @@ "https://esm.sh/preact@10.22.1/hooks": "391c9f21c7d5f1a5725d96ba54bc903c0855c3c3727b54d6691fa9f8fa1ba488", "https://esm.sh/stable/preact@10.22.1/denonext/hooks.js": "5c79b37c4b13be590576ba53bd4093beb6e95c10ee475cddf5af5051a6e040fa", "https://esm.sh/stable/preact@10.22.1/denonext/preact.mjs": "516caa8df1109e0b82becdb053e7d956802ee2f3e3fa7f6925291e4d4a527706", + "https://esm.sh/stable/preact@10.22.1/denonext/src.js": "1de6263f631e769c1d822ea64b7820736a1f7889abc0f8f4211b9b765e0484e4", + "https://esm.sh/v128/preact@10.22.1/src/index.js": "0463f09137d49108df2e30d730b2e7907346aa084bd0aab056b6891e0d012a3e", "https://esm.sh/v135/dexie@3.2.4/denonext/dist/dexie.js": "20d7fea3aad3a1b5d91b7d43590df26f3132c429b731d2dd77697d2a60f67a79", "https://esm.sh/v135/dexie@3.2.4/dist/dexie.js": "09d2f84b77cc12ac170004634c8560bc7d40a43920ff99166a269a034c48704b" }, From dec2160943fd70aab12030a49aab77bd0a999bf8 Mon Sep 17 00:00:00 2001 From: BlowaterNostr Date: Thu, 29 Aug 2024 16:44:14 +0800 Subject: [PATCH 2/2] + --- app/UI/_setup.test.ts | 4 ++-- app/UI/app.tsx | 2 +- app/UI/app_update.tsx | 6 +++--- app/UI/editor.test.tsx | 2 +- app/UI/event-detail.test.tsx | 4 ++-- app/database.test.ts | 38 +++++++++++++++++++++++++++++------- app/features/profile.ts | 7 +++++-- app/nostr.test.ts | 6 +++--- app/nostr.ts | 4 ++-- deno.lock | 19 ++++++++---------- 10 files changed, 58 insertions(+), 34 deletions(-) diff --git a/app/UI/_setup.test.ts b/app/UI/_setup.test.ts index 81e54e8d..1c2d8ac8 100644 --- a/app/UI/_setup.test.ts +++ b/app/UI/_setup.test.ts @@ -1,6 +1,6 @@ import { Database_View, EventMark, EventMarker, EventsAdapter, Indices, RelayRecorder } from "../database.ts"; import { EventBus } from "../event-bus.ts"; -import { NostrAccountContext, NostrEvent, NostrKind, prepareNormalNostrEvent } from "@blowater/nostr-sdk"; +import { NostrAccountContext, NostrEvent, NostrKind, prepareNostrEvent } from "@blowater/nostr-sdk"; import { UI_Interaction_Event } from "./app_update.tsx"; import { Profile_Nostr_Event } from "../nostr.ts"; import { ProfileData } from "../features/profile.ts"; @@ -62,7 +62,7 @@ export const prepareProfileEvent = async ( author: NostrAccountContext, profile: ProfileData, ) => { - const profileEvent = await prepareNormalNostrEvent(author, { + const profileEvent = await prepareNostrEvent(author, { kind: NostrKind.META_DATA, content: JSON.stringify(profile), }) as NostrEvent; diff --git a/app/UI/app.tsx b/app/UI/app.tsx index b130678e..f10a2b8d 100644 --- a/app/UI/app.tsx +++ b/app/UI/app.tsx @@ -721,7 +721,7 @@ const sync_space_members = async ( ) => { for (const relay of pool.getRelays()) { (async () => { - const chan = relay.getSpaceMembersStream(); + const chan = relay.unstable.getSpaceMembersStream(); for await (const spaceMembers of chan) { if (spaceMembers instanceof Error) { if (spaceMembers instanceof TypeError || spaceMembers instanceof SyntaxError) { diff --git a/app/UI/app_update.tsx b/app/UI/app_update.tsx index 197b47f4..258d66a3 100644 --- a/app/UI/app_update.tsx +++ b/app/UI/app_update.tsx @@ -63,7 +63,7 @@ import { NostrKind, NoteID, prepareDeletionEvent, - prepareNormalNostrEvent, + prepareNostrEvent, prepareReactionEvent, PublicKey, SingleRelayConnection, @@ -245,7 +245,7 @@ const handle_update_event = async (chan: PutChannel, args: { children: ( { const db = await test_db_view(); const stream = db.subscribe(); - const event_to_add = await prepareNormalNostrEvent(ctx, { kind: NostrKind.TEXT_NOTE, content: "1" }); + const event_to_add = await prepareNostrEvent(ctx, { + kind: NostrKind.TEXT_NOTE, + content: "1", + }) as NostrEvent; await db.addEvent(event_to_add); const e1 = db.getEventByID(event_to_add.id); if (!e1) { @@ -51,7 +60,10 @@ Deno.test("Database", async () => { const stream2 = db.subscribe(); await db.addEvent(event_to_add); // add a duplicated event - const event_to_add2 = await prepareNormalNostrEvent(ctx, { kind: NostrKind.TEXT_NOTE, content: "2" }); + const event_to_add2 = await prepareNostrEvent(ctx, { + kind: NostrKind.TEXT_NOTE, + content: "2", + }) as NostrEvent; // console.log(event_to_add2.id, event_to_add.id) await db.addEvent(event_to_add2); const res_2 = await stream.pop() as { @@ -82,8 +94,14 @@ Deno.test("Relay Record", async () => { const db = await test_db_view(); const stream = db.subscribe(); - const event_to_add = await prepareNormalNostrEvent(ctx, { kind: NostrKind.TEXT_NOTE, content: "1" }); - const event_to_add_2 = await prepareNormalNostrEvent(ctx, { kind: NostrKind.TEXT_NOTE, content: "2" }); + const event_to_add = await prepareNostrEvent(ctx, { + kind: NostrKind.TEXT_NOTE, + content: "1", + }) as NostrEvent; + const event_to_add_2 = await prepareNostrEvent(ctx, { + kind: NostrKind.TEXT_NOTE, + content: "2", + }) as NostrEvent; await db.addEvent(event_to_add); // send by client { @@ -118,7 +136,10 @@ Deno.test("Relay Record", async () => { Deno.test("mark removed event", async () => { const ctx = InMemoryAccountContext.New(PrivateKey.Generate()); const db = await test_db_view(); - const event_to_add = await prepareNormalNostrEvent(ctx, { kind: NostrKind.TEXT_NOTE, content: "1" }); + const event_to_add = await prepareNostrEvent(ctx, { + kind: NostrKind.TEXT_NOTE, + content: "1", + }) as NostrEvent; const parsed_event = await db.addEvent(event_to_add); const retrieved_event = db.getEventByID(event_to_add.id); @@ -141,7 +162,10 @@ Deno.test("mark removed event", async () => { Deno.test("getAllEvents", async () => { const ctx = InMemoryAccountContext.New(PrivateKey.Generate()); const db = await test_db_view(); - const event_to_add = await prepareNormalNostrEvent(ctx, { kind: NostrKind.TEXT_NOTE, content: "1" }); + const event_to_add = await prepareNostrEvent(ctx, { + kind: NostrKind.TEXT_NOTE, + content: "1", + }) as NostrEvent; assertEquals(Array.from(db.getAllEvents()), []); diff --git a/app/features/profile.ts b/app/features/profile.ts index 7b02a021..5a50dd6d 100644 --- a/app/features/profile.ts +++ b/app/features/profile.ts @@ -1,7 +1,7 @@ import { NostrAccountContext, NostrKind, - prepareNormalNostrEvent, + prepareNostrEvent, SingleRelayConnection, } from "@blowater/nostr-sdk"; @@ -10,10 +10,13 @@ export async function saveProfile( sender: NostrAccountContext, relay: SingleRelayConnection, ) { - const event = await prepareNormalNostrEvent( + const event = await prepareNostrEvent( sender, { kind: NostrKind.META_DATA, content: JSON.stringify(profile) }, ); + if (event instanceof Error) { + return event; + } return relay.sendEvent(event); } diff --git a/app/nostr.test.ts b/app/nostr.test.ts index faf4e1a0..4b29a7c4 100644 --- a/app/nostr.test.ts +++ b/app/nostr.test.ts @@ -2,7 +2,7 @@ import { InMemoryAccountContext, NostrEvent, NostrKind, - prepareNormalNostrEvent, + prepareNostrEvent, PrivateKey, utf8Decode, } from "@blowater/nostr-sdk"; @@ -45,14 +45,14 @@ Deno.test("Generate reply event", async () => { const userAPrivateKey = PrivateKey.Generate(); const userAContext = InMemoryAccountContext.New(userAPrivateKey); - const message1 = await prepareNormalNostrEvent( + const message1 = await prepareNostrEvent( userAContext, { kind: NostrKind.DIRECT_MESSAGE, content: "text message 1", }, - ); + ) as NostrEvent; const replyMessage1WithText = await prepareReplyEvent( userAContext, diff --git a/app/nostr.ts b/app/nostr.ts index e8418274..cd0c7af1 100644 --- a/app/nostr.ts +++ b/app/nostr.ts @@ -5,7 +5,7 @@ import { NostrKind, prepareEncryptedNostrEvent, - prepareNormalNostrEvent, + prepareNostrEvent, PublicKey, TagPubKey, } from "@blowater/nostr-sdk"; @@ -183,7 +183,7 @@ export async function prepareReplyEvent( }, ): Promise { const ps = getTags(args.targetEvent).p; - return prepareNormalNostrEvent( + return prepareNostrEvent( sender, { kind: args.targetEvent.kind, diff --git a/deno.lock b/deno.lock index d7f58797..d7d6bc89 100644 --- a/deno.lock +++ b/deno.lock @@ -2,11 +2,11 @@ "version": "3", "packages": { "specifiers": { - "jsr:@blowater/collections@^0.0.0-rc1": "jsr:@blowater/collections@0.0.0-rc1", + "jsr:@blowater/collections@^0.0.0-rc1": "jsr:@blowater/collections@0.0.0-rc3", "jsr:@blowater/collections@^0.0.0-rc3": "jsr:@blowater/collections@0.0.0-rc3", "jsr:@blowater/csp@1.0.0": "jsr:@blowater/csp@1.0.0", "jsr:@blowater/csp@^1.0.0": "jsr:@blowater/csp@1.0.0", - "jsr:@blowater/nostr-sdk@0.0.7": "jsr:@blowater/nostr-sdk@0.0.7", + "jsr:@blowater/nostr-sdk@^0.0.16": "jsr:@blowater/nostr-sdk@0.0.16", "jsr:@luca/esbuild-deno-loader@^0.10.3": "jsr:@luca/esbuild-deno-loader@0.10.3", "jsr:@noble/secp256k1@2.1.0": "jsr:@noble/secp256k1@2.1.0", "jsr:@std/assert@0.226.0": "jsr:@std/assert@0.226.0", @@ -31,20 +31,14 @@ "npm:zod@3.23.8": "npm:zod@3.23.8" }, "jsr": { - "@blowater/collections@0.0.0-rc1": { - "integrity": "a18c92ccf7b55f45cbf000304703a344624a22f84b11b970024546a012a450a9" - }, "@blowater/collections@0.0.0-rc3": { "integrity": "54cdc175266e16d50aaf780885b6e6eb3009f99c66641ff9b0c6c60f5b6e629d" }, "@blowater/csp@1.0.0": { "integrity": "415d4e8bf1656e4a508997fb8e725e9372e1e39b2b714afa76e86efd733f8c4c" }, - "@blowater/nostr-sdk@0.0.6-rc1": { - "integrity": "026a209063d6cd1ab3d9b585735fef15a736f644520b92807e61ea35cf99387d" - }, - "@blowater/nostr-sdk@0.0.7": { - "integrity": "4571f637dd0cfbad14a53873adbc4b62bc89ecd1426bab99e4fe73c1447dbbe6", + "@blowater/nostr-sdk@0.0.16": { + "integrity": "bf6a7ab99f6f826a63e2452f046919184142d3984c628869027ff98642e0a57f", "dependencies": [ "jsr:@blowater/collections@^0.0.0-rc1", "jsr:@blowater/csp@1.0.0", @@ -61,6 +55,9 @@ "npm:zod@3.23.8" ] }, + "@blowater/nostr-sdk@0.0.6-rc1": { + "integrity": "026a209063d6cd1ab3d9b585735fef15a736f644520b92807e61ea35cf99387d" + }, "@luca/esbuild-deno-loader@0.10.3": { "integrity": "32fc93f7e7f78060234fd5929a740668aab1c742b808c6048b57f9aaea514921", "dependencies": [ @@ -425,7 +422,7 @@ "dependencies": [ "jsr:@blowater/collections@^0.0.0-rc3", "jsr:@blowater/csp@1.0.0", - "jsr:@blowater/nostr-sdk@0.0.7", + "jsr:@blowater/nostr-sdk@^0.0.16", "jsr:@std/assert@0.226.0", "jsr:@std/datetime@0.224.2", "jsr:@std/encoding@1.0.0",