diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/nostr.js | 3 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/messages/[recipient]/+page.server.js | 10 | ||||
| -rw-r--r-- | src/routes/(app)/[username]/messages/[recipient]/+page.svelte | 10 |
3 files changed, 11 insertions, 12 deletions
diff --git a/src/lib/nostr.js b/src/lib/nostr.js index 7af0cef8..4ddfad98 100644 --- a/src/lib/nostr.js +++ b/src/lib/nostr.js @@ -51,7 +51,8 @@ export let generate = async (user) => { }; export let encrypt = async ({ message, recipient, user }) => { - return nip04.encrypt(await getPrivateKey(user), recipient, message); + let sk = await getPrivateKey(user); + return nip04.encrypt(sk, recipient, message); }; export let decrypt = async ({ event, user }) => { diff --git a/src/routes/(app)/[username]/messages/[recipient]/+page.server.js b/src/routes/(app)/[username]/messages/[recipient]/+page.server.js index f0148be7..6936a06b 100644 --- a/src/routes/(app)/[username]/messages/[recipient]/+page.server.js +++ b/src/routes/(app)/[username]/messages/[recipient]/+page.server.js @@ -1,25 +1,23 @@ import { get } from "$lib/utils"; export async function load({ params, parent, url }) { - let { user, subject } = await parent(); + let { user } = await parent(); let { since = 0 } = params; let messages = []; + let recipient = await get(`/users/${params.recipient}`); try { messages = await get(`/${user.pubkey}/${since}/messages`); messages = messages .filter( - (m) => m.recipient?.id === subject.id || m.author?.id === subject.id + (m) => m.recipient?.id === recipient.id || m.author?.id === recipient.id ) .sort((a, b) => a.created_at - b.created_at); - - if (user.id === subject.id) - messages = messages.filter((m) => m.recipient.id === m.author.id); } catch (e) { console.log(`failed to fetch nostr messages`, e); } - return { messages, user }; + return { messages, recipient, user }; } diff --git a/src/routes/(app)/[username]/messages/[recipient]/+page.svelte b/src/routes/(app)/[username]/messages/[recipient]/+page.svelte index dfff6ed2..98638389 100644 --- a/src/routes/(app)/[username]/messages/[recipient]/+page.svelte +++ b/src/routes/(app)/[username]/messages/[recipient]/+page.svelte @@ -36,7 +36,7 @@ }; } - let { messages, subject, user } = data; + let { messages, recipient, user } = data; let input, pane; $: initialize($password); @@ -69,7 +69,7 @@ pubkey: user.pubkey, created_at: Math.floor(Date.now() / 1000), kind: 4, - tags: [["p", subject.pubkey]], + tags: [["p", recipient.pubkey]], }; event.message = message; @@ -77,7 +77,7 @@ message = ""; event.author = user; - event.recipient = subject; + event.recipient = recipient; messages.push(event); messages = messages; @@ -86,7 +86,7 @@ try { event.content = await encrypt({ message: event.message, - recipient: subject.pubkey, + recipient: recipient.pubkey, user, }); event.id = getEventHash(event); @@ -165,7 +165,7 @@ on:submit|preventDefault={submit} > <input type="hidden" name="requester_id" value={user.id} /> - <input type="hidden" name="recipient" value={subject.username} /> + <input type="hidden" name="recipient" value={recipient.username} /> <div use:focus |
