From e6b590496c76a4cffe89e1f17249a8cbb6a35f8e Mon Sep 17 00:00:00 2001 From: Believethehype <1097224+believethehype@users.noreply.github.com> Date: Fri, 22 Mar 2024 15:10:20 +0100 Subject: [PATCH] fixes for amber --- .../components/RecommendationGeneration.vue | 64 +++++++++++++++++-- .../android-signer/AndroidSigner.ts | 32 ++++++++-- 2 files changed, 84 insertions(+), 12 deletions(-) diff --git a/ui/noogle/src/components/RecommendationGeneration.vue b/ui/noogle/src/components/RecommendationGeneration.vue index 41ca3f7..af49902 100644 --- a/ui/noogle/src/components/RecommendationGeneration.vue +++ b/ui/noogle/src/components/RecommendationGeneration.vue @@ -88,8 +88,9 @@ async function generate_feed(id) { let res; let requestid; - // for now we only want to use encrypted events for subscribed dvms (might change later) - if(current_dvm.encryptionSupported && current_dvm.nip88 && current_dvm.nip88.hasActiveSubscription){ + // for now we only want to use encrypted events for subscribed dvms (might change later, also we dont encrypt on amber because decryption and update doesnt work) + if(current_dvm.encryptionSupported && current_dvm.nip88 && current_dvm.nip88.hasActiveSubscription && localStorage.getItem('nostr-key-method') !== 'android-signer' ){ + let tags_str = [] for (let tag in tags){ tags_str.append(tag) @@ -100,6 +101,31 @@ async function generate_feed(id) { let client = store.state.client let signer = store.state.signer + + + if (localStorage.getItem('nostr-key-method') === 'android-signer') { + + // let content = await amberSignerService.nip04Encrypt(id, params_as_str) + + let ttags = [] + ttags.push(["p", id]) + ttags.push(["encrypted"]) + ttags.push(["client", "noogle"]) + let draft = { + content: "", + kind: kind, + pubkey: store.state.pubkey.toHex(), + tags: ttags, + createdAt: Date.now() + }; + + res = await amberSignerService.signEvent(draft) + await client.sendEvent(Event.fromJson(JSON.stringify(res))) + requestid = res.id; + + } + else{ + let content = await signer.nip04Encrypt(PublicKey.parse(id), params_as_str) let tags_t = [] @@ -112,6 +138,12 @@ async function generate_feed(id) { res = await client.sendEventBuilder(evt); requestid = res.toHex(); + } + + + + + } else{ @@ -210,9 +242,18 @@ async function listen() { } if (is_encrypted){ + let tags_str = "" if (ptag === store.state.pubkey.toHex()){ let signer = store.state.signer - let tags_str = await signer.nip04Decrypt(event.author, event.content) + if (localStorage.getItem('nostr-key-method') === 'android-signer') { + return + // tags_str = await amberSignerService.nip04Decrypt(event.author.toHex(), event.content) + } + else{ + tags_str = await signer.nip04Decrypt(event.author, event.content) + } + + let params = JSON.parse(tags_str) //console.log(params) @@ -320,7 +361,14 @@ async function listen() { if (is_encrypted){ if (ptag === store.state.pubkey.toHex()){ let signer = store.state.signer - content = await signer.nip04Decrypt(event.author, event.content) + //content = await signer.nip04Decrypt(event.author, event.content) + if (localStorage.getItem('nostr-key-method') === 'android-signer') { + + content = await amberSignerService.nip04Decrypt(event.author.toHex(), event.content) + } + else{ + content = await signer.nip04Decrypt(event.author, event.content) + } } else { console.log("not addressed to us") @@ -892,7 +940,7 @@ const closeNWCModal = () => {

Algorithms, but you are the one in control.


- +
@@ -983,7 +1031,7 @@ const closeNWCModal = () => { - This DVM uses encrypted communication. Only the DVM can see your request, and only you can see the results. + This DVM uses encrypted communication. Only the DVM can see your request, and only you can see the results.
Currently not encrypted when using Amber Signer.