This commit is contained in:
Vitor Pamplona
2025-09-08 13:28:23 -04:00
17 changed files with 125 additions and 1 deletions

View File

@@ -164,6 +164,8 @@
<string name="blocked_users">Blokovaní uživatelé</string>
<string name="new_threads">Nové vlákna</string>
<string name="conversations">Konverzace</string>
<string name="feed">Kanál</string>
<string name="mod_queue">Fronta moderace</string>
<string name="notes">Poznámky</string>
<string name="replies">Odpovědi</string>
<string name="mutual">Vaše</string>
@@ -654,6 +656,8 @@
<string name="messages_new_subject_message">Vysvětlení členům</string>
<string name="messages_new_subject_message_placeholder">Změna názvu pro nové cíle.</string>
<string name="paste_from_clipboard">Vložit ze schránky</string>
<string name="invalid_nip47_uri_title">Neplatné NIP-47 URI</string>
<string name="invalid_nip47_uri_description">URI %1$s není platné přihlašovací URI NIP-47.</string>
<string name="language_description">Pro rozhraní aplikace</string>
<string name="theme_description">Tmavé, světlé nebo systémové téma</string>
<string name="automatically_load_images_gifs_description">Automaticky načítat obrázky a GIFy</string>
@@ -671,6 +675,9 @@
<string name="media_added_to_profile_gallery">Média přidána do vaší profilové galerie</string>
<string name="created_at">Vytvořeno</string>
<string name="rules">Pravidla</string>
<string name="community_description">O nás</string>
<string name="guidelines">Pokyny</string>
<string name="moderators">Moderátoři</string>
<string name="login_with_external_signer">Přihlásit se pomocí Amber</string>
<string name="status_update">Aktualizovat svůj stav</string>
<string name="lightning_wallets_not_found">Chyba při zpracování chybové zprávy</string>
@@ -883,10 +890,13 @@
<string name="dm_upload">Nahrát v DM</string>
<string name="relay_settings">Nastavení relé</string>
<string name="public_home_section">Veřejná domácí relé</string>
<string name="public_home_section_explainer_profile">Uživatel zveřejňuje svůj obsah na těchto přenašečích</string>
<string name="public_home_section_explainer">Tento typ relé ukládá veškerý váš obsah. Amethyst sem pošle vaše příspěvky a ostatní použijí tato relé, aby našli váš obsah. Vložte mezi 13 relé. Mohou to být osobní relé, placená relé nebo veřejná relé.</string>
<string name="public_notif_section">Veřejná schránka relé</string>
<string name="public_notif_section_explainer_profile">Uživatel přijímá oznámení na těchto přenašečích</string>
<string name="public_notif_section_explainer">Tento typ relé přijímá všechny odpovědi, komentáře, lajky a zaps k vašim příspěvkům. Vložte mezi 13 relé a ujistěte se, že přijímají příspěvky od kohokoli.</string>
<string name="private_inbox_section">DM schránka relé</string>
<string name="private_inbox_section_explainer_profile">Uživatel přijímá soukromé zprávy na těchto přenašečích</string>
<string name="private_inbox_section_explainer">Vložte mezi 13 relé, která budou sloužit jako vaše soukromá schránka. Ostatní použijí tato relé k posílání DM zpráv vám. DM schránka relé by měla přijímat jakékoli zprávy od kohokoli, ale pouze vám umožnit jejich stahování. Dobré možnosti jsou:\n - inbox.nostr.wine (placené)\n - you.nostr1.com (osobní relé - placené)</string>
<string name="private_outbox_section">Soukromá relé</string>
<string name="private_outbox_section_explainer">Vložte mezi 13 relé pro ukládání událostí nikoho jiného, jako jsou koncepty a/nebo nastavení aplikace. V ideálním případě jsou tato relé buď lokální, nebo vyžadují autentizaci před stažením obsahu každého uživatele.</string>
@@ -1013,4 +1023,12 @@
<string name="dont_translate_from_description">Zde zobrazené jazyky nebudou přeloženy. Vyberte jazyk, který chcete odstranit a nechat je znovu přeložit.</string>
<string name="pause">Pozastavit</string>
<string name="play">Hrát</string>
<string name="open_dropdown_menu">Otevřít rozbalovací nabídku</string>
<string name="option_of">Možnost %1$s z %2$s</string>
<string name="feed_filter_selected">Filtr kanálu, %1$s vybráno</string>
<string name="feed_filter_select_an_option">Filtr kanálu, %1$s</string>
<string name="crashreport_found">Nalezen záznam o pádu</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Chcete poslat poslední záznam o pádu do Amethystu v soukromé zprávě? Žádné osobní údaje nebudou sdíleny</string>
<string name="crashreport_found_send">Odeslat</string>
<string name="this_message_will_disappear_in_days">Tato zpráva zmizí za %1$d dní</string>
</resources>

View File

@@ -936,4 +936,20 @@
<string name="option_of">Možnost %1$s z %2$s</string>
<string name="feed_filter_selected">Filtr kanálu, %1$s vybráno</string>
<string name="feed_filter_select_an_option">Filtr kanálu, %1$s</string>
<string name="feed">Kanál</string>
<string name="mod_queue">Fronta moderace</string>
<string name="invalid_nip47_uri_title">Neplatné NIP-47 URI</string>
<string name="invalid_nip47_uri_description">URI %1$s není platné přihlašovací URI NIP-47.</string>
<string name="public_home_section_explainer_profile">Uživatel zveřejňuje svůj obsah na těchto přenašečích</string>
<string name="public_notif_section_explainer_profile">Uživatel přijímá oznámení na těchto přenašečích</string>
<string name="private_inbox_section_explainer_profile">Uživatel přijímá soukromé zprávy na těchto přenašečích</string>
<string name="this_message_will_disappear_in_days">Tato zpráva zmizí za %1$d dní</string>
<string name="record_a_video">Nahrát video</string>
<string name="crashreport_found">Nalezen záznam o pádu</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Chcete poslat poslední záznam o pádu do Amethystu v soukromé zprávě? Žádné osobní údaje nebudou sdíleny</string>
<string name="crashreport_found_send">Odeslat</string>
<string name="community_description">O nás</string>
<string name="guidelines">Pokyny</string>
<string name="moderators">Moderátoři</string>
<string name="open_dropdown_menu">Otevřít rozbalovací nabídku</string>
</resources>

View File

@@ -150,6 +150,7 @@ erie gespeichert</string>
<string name="failed_to_save_the_video">Video konnte nicht gespeichert werden</string>
<string name="upload_image">Bild hochladen</string>
<string name="take_a_picture">Ein Foto aufnehmen</string>
<string name="record_a_video">Video aufnehmen</string>
<string name="record_a_message">Eine Nachricht aufnehmen</string>
<string name="record_a_message_title">Eine Nachricht aufnehmen</string>
<string name="record_a_message_description">Zum Aufnehmen einer Nachricht gedrückt halten</string>
@@ -165,6 +166,7 @@ erie gespeichert</string>
<string name="blocked_users">Blockierte Benutzer</string>
<string name="new_threads">Neue Threads</string>
<string name="conversations">Unterhaltungen</string>
<string name="mod_queue">Moderationswarteschlange</string>
<string name="notes">Notizen</string>
<string name="replies">Antworten</string>
<string name="mutual">Deine</string>
@@ -658,6 +660,8 @@ anz der Bedingungen ist erforderlich</string>
<string name="messages_new_subject_message">Erklärung an Mitglieder</string>
<string name="messages_new_subject_message_placeholder">Ändern des Namens für die neuen Ziele.</string>
<string name="paste_from_clipboard">Aus Zwischenablage einfügen</string>
<string name="invalid_nip47_uri_title">Ungültige NIP-47 URI</string>
<string name="invalid_nip47_uri_description">Die URI %1$s ist keine gültige NIP-47 Anmelde-URI.</string>
<string name="language_description">Für die App-Benutzeroberfläche</string>
<string name="theme_description">Dunkles, helles oder Systemdesign</string>
<string name="automatically_load_images_gifs_description">Bilder und GIFs automatisch laden</string>
@@ -675,6 +679,9 @@ anz der Bedingungen ist erforderlich</string>
<string name="media_added_to_profile_gallery">Medien wurden zu Ihrer Profilgalerie hinzugefügt</string>
<string name="created_at">Erstellt am</string>
<string name="rules">Regeln</string>
<string name="community_description">Über uns</string>
<string name="guidelines">Richtlinien</string>
<string name="moderators">Moderatoren</string>
<string name="login_with_external_signer">Mit Amber anmelden</string>
<string name="status_update">Status aktualisieren</string>
<string name="lightning_wallets_not_found">Fehler beim Verarbeiten der Fehlermeldung</string>
@@ -887,10 +894,13 @@ anz der Bedingungen ist erforderlich</string>
<string name="dm_upload">DM-Upload</string>
<string name="relay_settings">Relaiseinstellungen</string>
<string name="public_home_section">Öffentliche Heimrelais</string>
<string name="public_home_section_explainer_profile">Der Benutzer veröffentlicht seine Inhalte auf diesen Relays</string>
<string name="public_home_section_explainer">Dieser Relais-Typ speichert alle Ihre Inhalte. Amethyst sendet Ihre Beiträge hierher und andere werden diese Relais verwenden, um Ihre Inhalte zu finden. Fügen Sie 13 Relais ein. Sie können persönliche Relais, bezahlte Relais oder öffentliche Relais sein.</string>
<string name="public_notif_section">Öffentliche Posteingangsrelais</string>
<string name="public_notif_section_explainer_profile">Der Benutzer erhält Benachrichtigungen auf diesen Relays</string>
<string name="public_notif_section_explainer">Dieser Relais-Typ empfängt alle Antworten, Kommentare, Likes und Zaps auf Ihre Beiträge. Fügen Sie 13 Relais ein und stellen Sie sicher, dass sie Beiträge von jedem akzeptieren.</string>
<string name="private_inbox_section">DM-Posteingangsrelais</string>
<string name="private_inbox_section_explainer_profile">Der Benutzer empfängt Direktnachrichten auf diesen Relays</string>
<string name="private_inbox_section_explainer">Fügen Sie 13 Relais ein, die als Ihr privater Posteingang dienen sollen. Andere werden diese Relais verwenden, um Ihnen DMs zu senden. DM-Posteingangsrelais sollten Nachrichten von jedem akzeptieren, aber nur Ihnen erlauben, sie herunterzuladen. Gute Optionen sind:\n - inbox.nostr.wine (bezahlt)\n - you.nostr1.com (persönliche Relais - bezahlt)</string>
<string name="private_outbox_section">Private Relais</string>
<string name="private_outbox_section_explainer">Fügen Sie zwischen 13 Relais ein, um Ereignisse zu speichern, die niemand anders sehen kann, wie Ihre Entwürfe und/oder App-Einstellungen. Idealerweise sind diese Relais entweder lokal oder erfordern eine Authentifizierung, bevor Sie die Inhalte eines jeden Benutzers herunterladen.</string>
@@ -1017,4 +1027,12 @@ anz der Bedingungen ist erforderlich</string>
<string name="dont_translate_from_description">Die hier angezeigten Sprachen werden nicht übersetzt. Wählen Sie eine Sprache, um sie zu entfernen und lassen Sie sie erneut übersetzen.</string>
<string name="pause">Pausen</string>
<string name="play">Abspielen</string>
<string name="open_dropdown_menu">Dropdown-Menü öffnen</string>
<string name="option_of">Option %1$s von %2$s</string>
<string name="feed_filter_selected">Feed-Filter, %1$s ausgewählt</string>
<string name="feed_filter_select_an_option">Feed-Filter, %1$s</string>
<string name="crashreport_found">Absturzbericht gefunden</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Möchten Sie den letzten Absturzbericht per Direktnachricht an Amethyst senden? Es werden keine persönlichen Daten weitergegeben</string>
<string name="crashreport_found_send">Senden</string>
<string name="this_message_will_disappear_in_days">Diese Nachricht verschwindet in %1$d Tagen</string>
</resources>

View File

@@ -977,4 +977,19 @@ anz der Bedingungen ist erforderlich</string>
<string name="option_of">Option %1$s von %2$s</string>
<string name="feed_filter_selected">Feed-Filter, %1$s ausgewählt</string>
<string name="feed_filter_select_an_option">Feed-Filter, %1$s</string>
<string name="feed">Feed</string>
<string name="mod_queue">Moderationswarteschlange</string>
<string name="invalid_nip47_uri_title">Ungültige NIP-47 URI</string>
<string name="invalid_nip47_uri_description">Die URI %1$s ist keine gültige NIP-47 Anmelde-URI.</string>
<string name="public_home_section_explainer_profile">Der Benutzer veröffentlicht seine Inhalte auf diesen Relays</string>
<string name="public_notif_section_explainer_profile">Der Benutzer erhält Benachrichtigungen auf diesen Relays</string>
<string name="private_inbox_section_explainer_profile">Der Benutzer empfängt Direktnachrichten auf diesen Relays</string>
<string name="this_message_will_disappear_in_days">Diese Nachricht verschwindet in %1$d Tagen</string>
<string name="crashreport_found">Absturzbericht gefunden</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Möchten Sie den letzten Absturzbericht per Direktnachricht an Amethyst senden? Es werden keine persönlichen Daten weitergegeben</string>
<string name="crashreport_found_send">Senden</string>
<string name="community_description">Über uns</string>
<string name="guidelines">Richtlinien</string>
<string name="moderators">Moderatoren</string>
<string name="open_dropdown_menu">Dropdown-Menü öffnen</string>
</resources>

View File

@@ -164,6 +164,8 @@
<string name="blocked_users">Usuários</string>
<string name="new_threads">Novos Tópicos</string>
<string name="conversations">Conversas</string>
<string name="feed">Feed</string>
<string name="mod_queue">Fila de moderação</string>
<string name="notes">Notas</string>
<string name="replies">Respostas</string>
<string name="mutual">Suas</string>
@@ -654,6 +656,8 @@
<string name="messages_new_subject_message">Explicação aos membros</string>
<string name="messages_new_subject_message_placeholder">Mudando o nome dos novos objetivos.</string>
<string name="paste_from_clipboard">Colar da área de transferência</string>
<string name="invalid_nip47_uri_title">URI NIP-47 inválido</string>
<string name="invalid_nip47_uri_description">O URI %1$s não é um URI de login NIP-47 válido.</string>
<string name="language_description">Para a interface do aplicativo</string>
<string name="theme_description">Tema Escuro, Claro ou Padrão</string>
<string name="automatically_load_images_gifs_description">Carregar automaticamente imagens e GIFs</string>
@@ -671,6 +675,9 @@
<string name="media_added_to_profile_gallery">Mídia adicionada à sua Galeria de Perfil</string>
<string name="created_at">Criado em</string>
<string name="rules">Regras</string>
<string name="community_description">Sobre nós</string>
<string name="guidelines">Diretrizes</string>
<string name="moderators">Moderadores</string>
<string name="login_with_external_signer">Login com Amber</string>
<string name="status_update">O que você está fazendo?</string>
<string name="lightning_wallets_not_found">Erro ao analisar mensagem de erro</string>
@@ -883,10 +890,13 @@
<string name="dm_upload">Envio de DM</string>
<string name="relay_settings">Configurações de Relay</string>
<string name="public_home_section">Relés Públicos de Casa</string>
<string name="public_home_section_explainer_profile">O usuário está publicando seu conteúdo nesses relays</string>
<string name="public_home_section_explainer">Esse tipo de relé armazena todo o seu conteúdo. Amethyst enviará suas postagens aqui e outros usarão esses relés para encontrar seu conteúdo. Insira entre 13 relés. Eles podem ser relés pessoais, relés pagos ou relés públicos.</string>
<string name="public_notif_section">Relés Públicos de Caixa de Entrada</string>
<string name="public_notif_section_explainer_profile">O usuário está recebendo notificações nesses relays</string>
<string name="public_notif_section_explainer">Esse tipo de relé recebe todas as respostas, comentários, curtidas e zaps para suas postagens. Insira entre 13 relés e certifique-se de que aceitem postagens de qualquer pessoa.</string>
<string name="private_inbox_section">Relés de Caixa de Entrada de DM</string>
<string name="private_inbox_section_explainer_profile">O usuário recebe mensagens diretas (DMs) nesses relays</string>
<string name="private_inbox_section_explainer">Insira entre 13 relés para servir como sua caixa de entrada privada. Outros usarão esses relés para enviar DMs para você. Relés de Caixa de Entrada de DM devem aceitar qualquer mensagem de qualquer pessoa, mas permitir apenas você baixá-las. Boas opções são:\n - inbox.nostr.wine (pago)\n - you.nostr1.com (relés pessoais - pago)</string>
<string name="private_outbox_section">Relés privados</string>
<string name="private_outbox_section_explainer">Insira entre 13 retransmissores para armazenar eventos que ninguém mais possa ver, como seus rascunhos e/ou configurações de aplicativo. Idealmente, esses relés são locais ou requerem autenticação antes de baixar o conteúdo de cada usuário.</string>
@@ -1013,7 +1023,12 @@
<string name="dont_translate_from_description">Os idiomas mostrados aqui não serão traduzidos. Selecione um idioma para removê-lo e traduzi-lo novamente.</string>
<string name="pause">Pausar</string>
<string name="play">Reproduzir</string>
<string name="open_dropdown_menu">Abrir menu suspenso</string>
<string name="option_of">Opção %1$s de %2$s</string>
<string name="feed_filter_selected">Filtro de feed, %1$s selecionado</string>
<string name="feed_filter_select_an_option">Filtro de feed, %1$s</string>
<string name="crashreport_found">Relatório de falha encontrado</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Gostaria de enviar o relatório de falha recente para o Amethyst em uma DM? Nenhuma informação pessoal será compartilhada</string>
<string name="crashreport_found_send">Enviar</string>
<string name="this_message_will_disappear_in_days">Esta mensagem desaparecerá em %1$d dias</string>
</resources>

View File

@@ -164,6 +164,8 @@
<string name="blocked_users">Blockerade användare</string>
<string name="new_threads">Nya trådar</string>
<string name="conversations">Konversationer</string>
<string name="feed">Flöde</string>
<string name="mod_queue">Moderationskö</string>
<string name="notes">Anteckningar</string>
<string name="replies">Svar</string>
<string name="mutual">Dina</string>
@@ -653,6 +655,8 @@
<string name="messages_new_subject_message">Förklaring till medlemmar</string>
<string name="messages_new_subject_message_placeholder">Ändra namnet för de nya målen.</string>
<string name="paste_from_clipboard">Klistra in från urklipp</string>
<string name="invalid_nip47_uri_title">Ogiltig NIP-47 URI</string>
<string name="invalid_nip47_uri_description">URI %1$s är inte en giltig NIP-47 inloggnings-URI.</string>
<string name="language_description">För appens gränssnitt</string>
<string name="theme_description">Mörkt, Ljust eller Systemtema</string>
<string name="automatically_load_images_gifs_description">Ladda automatiskt bilder och GIFs</string>
@@ -670,6 +674,9 @@
<string name="media_added_to_profile_gallery">Media har lagts till i ditt profilgalleri</string>
<string name="created_at">Skapad den</string>
<string name="rules">Regler</string>
<string name="community_description">Om oss</string>
<string name="guidelines">Riktlinjer</string>
<string name="moderators">Moderatorer</string>
<string name="login_with_external_signer">Logga in med Amber</string>
<string name="status_update">Uppdatera din status</string>
<string name="lightning_wallets_not_found">Fel vid tolkning av felmeddelande</string>
@@ -882,10 +889,13 @@
<string name="dm_upload">DM uppladdning</string>
<string name="relay_settings">Relä inställningar</string>
<string name="public_home_section">Offentliga hemreläer</string>
<string name="public_home_section_explainer_profile">Användaren publicerar sitt innehåll på dessa reläer</string>
<string name="public_home_section_explainer">Denna typ av relä lagrar allt ditt innehåll. Amethyst skickar dina inlägg hit och andra kommer att använda dessa reläer för att hitta ditt innehåll. Sätt in mellan 13 reläer. De kan vara personliga reläer, betalda reläer eller offentliga reläer.</string>
<string name="public_notif_section">Offentliga inkorgsreläer</string>
<string name="public_notif_section_explainer_profile">Användaren tar emot aviseringar på dessa reläer</string>
<string name="public_notif_section_explainer">Denna typ av relä tar emot alla svar, kommentarer, gillanden och zaps till dina inlägg. Sätt in mellan 13 reläer och se till att de accepterar inlägg från vem som helst.</string>
<string name="private_inbox_section">DM inkorgsreläer</string>
<string name="private_inbox_section_explainer_profile">Användaren tar emot DM:s på dessa reläer</string>
<string name="private_inbox_section_explainer">Sätt in mellan 13 reläer som ska fungera som din privata inkorg. Andra kommer att använda dessa reläer för att skicka DM till dig. DM inkorgsreläer bör acceptera alla meddelanden från vem som helst, men endast tillåta dig att ladda ner dem. Bra alternativ är:\n - inbox.nostr.wine (betald)\n - you.nostr1.com (personliga reläer - betald)</string>
<string name="private_outbox_section">Privata reläer</string>
<string name="private_outbox_section_explainer">Infoga mellan 13 reläer för att lagra händelser som ingen annan kan se, som dina Utkast och/eller appinställningar. Helst är dessa reläer antingen lokala eller kräver autentisering innan du laddar ner varje användares innehåll.</string>
@@ -1012,7 +1022,12 @@
<string name="dont_translate_from_description">Språk som visas här kommer inte att översättas. Välj ett språk för att ta bort det och få det översatt igen.</string>
<string name="pause">Pausa</string>
<string name="play">Spela</string>
<string name="open_dropdown_menu">Öppna rullgardinsmeny</string>
<string name="option_of">Alternativ %1$s av %2$s</string>
<string name="feed_filter_selected">Flödesfilter, %1$s valt</string>
<string name="feed_filter_select_an_option">Flödesfilter, %1$s</string>
<string name="crashreport_found">Kraschrapport hittad</string>
<string name="would_you_like_to_send_the_recent_crash_report_to_amethyst_in_a_dm_no_personal_information_will_be_shared">Vill du skicka den senaste kraschrapporten till Amethyst i ett DM? Ingen personlig information kommer att delas</string>
<string name="crashreport_found_send">Skicka</string>
<string name="this_message_will_disappear_in_days">Detta meddelande försvinner om %1$d dagar</string>
</resources>

View File

@@ -40,7 +40,7 @@ navigationCompose = "2.9.3"
okhttp = "5.1.0"
runner = "1.7.0"
rfc3986 = "0.1.2"
secp256k1KmpJniAndroid = "0.18.0"
secp256k1KmpJniAndroid = "0.19.0"
securityCryptoKtx = "1.1.0"
spotless = "7.2.1"
torAndroid = "0.4.8.17.2"

View File

@@ -34,6 +34,9 @@ class DecryptZapResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed<ZapEventDecryptionResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val eventJson = intent.result
return if (!eventJson.isNullOrBlank()) {
if (eventJson.startsWith("{")) {

View File

@@ -33,6 +33,9 @@ class DeriveKeyResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed<DerivationResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val newPrivateKey = intent.result
return if (newPrivateKey != null) {
SignerResult.RequestAddressed.Successful(DerivationResult(newPrivateKey))

View File

@@ -32,6 +32,9 @@ class Nip04DecryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed<DecryptionResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val plaintext = intent.result
return if (plaintext != null) {
SignerResult.RequestAddressed.Successful(DecryptionResult(plaintext))

View File

@@ -32,6 +32,10 @@ class Nip04EncryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed<EncryptionResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val ciphertext = intent.result
return if (ciphertext != null) {
SignerResult.RequestAddressed.Successful(EncryptionResult(ciphertext))

View File

@@ -32,6 +32,9 @@ class Nip44DecryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed<DecryptionResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val plaintext = intent.result
return if (plaintext != null) {
SignerResult.RequestAddressed.Successful(DecryptionResult(plaintext))

View File

@@ -32,6 +32,9 @@ class Nip44EncryptResponse {
)
fun parse(intent: IntentResult): SignerResult.RequestAddressed<EncryptionResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val ciphertext = intent.result
return if (ciphertext != null) {
SignerResult.RequestAddressed.Successful(EncryptionResult(ciphertext))

View File

@@ -39,6 +39,10 @@ class SignResponse {
intent: IntentResult,
unsignedEvent: Event,
): SignerResult.RequestAddressed<SignResult> {
if (intent.rejected) {
return SignerResult.RequestAddressed.ManuallyRejected()
}
val eventJson = intent.event
return if (eventJson != null) {
if (eventJson.startsWith("{")) {

View File

@@ -29,6 +29,7 @@ data class IntentResult(
val result: String? = null,
val event: String? = null,
val id: String? = null,
val rejected: Boolean = false,
) {
fun toJson(): String = JsonMapper.mapper.writeValueAsString(this)
@@ -48,6 +49,7 @@ data class IntentResult(
result = data.getStringExtra("result"),
event = data.getStringExtra("event"),
`package` = data.getStringExtra("package"),
rejected = data.extras?.containsKey("rejected") == true,
)
fun fromJson(json: String): IntentResult = JsonMapper.mapper.readValue<IntentResult>(json)

View File

@@ -36,6 +36,7 @@ class IntentResultJsonDeserializer : StdDeserializer<IntentResult>(IntentResult:
result = jsonObject.get("result")?.asText()?.intern(),
event = jsonObject.get("event")?.asText()?.intern(),
id = jsonObject.get("id")?.asText()?.intern(),
rejected = jsonObject.get("rejected")?.asBoolean() ?: false,
)
}
}

View File

@@ -35,6 +35,7 @@ class IntentResultJsonSerializer : StdSerializer<IntentResult>(IntentResult::cla
result.result?.let { gen.writeStringField("result", it) }
result.event?.let { gen.writeStringField("event", it) }
result.id?.let { gen.writeStringField("id", it) }
result.rejected.let { gen.writeBooleanField("rejected", it) }
gen.writeEndObject()
}
}