From faa46fbb182a9121817e3aec904758690dc28bca Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Wed, 21 Jan 2026 17:18:07 +0100 Subject: [PATCH] Work on Nostr app --- .../META-INF/MANIFEST.JSON | 4 ++-- .../assets/{nostr.py => nostr_app.py} | 16 +++++++--------- .../res/mipmap-mdpi/icon_64x64.png | Bin 5864 -> 0 bytes internal_filesystem/lib/mpos/ui/display.py | 1 - 4 files changed, 9 insertions(+), 12 deletions(-) rename internal_filesystem/apps/com.micropythonos.nostr/assets/{nostr.py => nostr_app.py} (90%) delete mode 100644 internal_filesystem/apps/com.micropythonos.nostr/res/mipmap-mdpi/icon_64x64.png diff --git a/internal_filesystem/apps/com.micropythonos.nostr/META-INF/MANIFEST.JSON b/internal_filesystem/apps/com.micropythonos.nostr/META-INF/MANIFEST.JSON index 8ba7214e..00e89d23 100644 --- a/internal_filesystem/apps/com.micropythonos.nostr/META-INF/MANIFEST.JSON +++ b/internal_filesystem/apps/com.micropythonos.nostr/META-INF/MANIFEST.JSON @@ -10,8 +10,8 @@ "category": "communication", "activities": [ { - "entrypoint": "assets/nostr.py", - "classname": "Nostr", + "entrypoint": "assets/nostr_app.py", + "classname": "NostrApp", "intent_filters": [ { "action": "main", diff --git a/internal_filesystem/apps/com.micropythonos.nostr/assets/nostr.py b/internal_filesystem/apps/com.micropythonos.nostr/assets/nostr_app.py similarity index 90% rename from internal_filesystem/apps/com.micropythonos.nostr/assets/nostr.py rename to internal_filesystem/apps/com.micropythonos.nostr/assets/nostr_app.py index bb0425c4..7a11a895 100644 --- a/internal_filesystem/apps/com.micropythonos.nostr/assets/nostr.py +++ b/internal_filesystem/apps/com.micropythonos.nostr/assets/nostr_app.py @@ -5,7 +5,7 @@ from mpos.ui.anim import WidgetAnimator from fullscreen_qr import FullscreenQR -class Nostr(Activity): +class NostrApp(Activity): wallet = None receive_qr_data = None @@ -104,11 +104,11 @@ class Nostr(Activity): return try: from nostr_client import NostrClient - self.wallet = NostrClient(self.prefs.get_string("nwc_url")) - self.wallet.static_receive_code = self.prefs.get_string("nwc_static_receive_code") + self.wallet = NostrClient(self.prefs.get_string("nostr_nsec")) + self.wallet.follow_npub = self.prefs.get_string("nostr_follow_npub") self.redraw_static_receive_code_cb() except Exception as e: - self.error_cb(f"Couldn't initialize NWC Wallet because: {e}") + self.error_cb(f"Couldn't initialize Nostr client because: {e}") import sys sys.print_exception(e) return @@ -194,11 +194,9 @@ class Nostr(Activity): intent = Intent(activity_class=SettingsActivity) intent.putExtra("prefs", self.prefs) intent.putExtra("settings", [ - {"title": "LNBits URL", "key": "lnbits_url", "placeholder": "https://demo.lnpiggy.com", "should_show": self.should_show_setting}, - {"title": "LNBits Read Key", "key": "lnbits_readkey", "placeholder": "fd92e3f8168ba314dc22e54182784045", "should_show": self.should_show_setting}, - {"title": "Optional LN Address", "key": "lnbits_static_receive_code", "placeholder": "Will be fetched if empty.", "should_show": self.should_show_setting}, - {"title": "Nost Wallet Connect", "key": "nwc_url", "placeholder": "nostr+walletconnect://69effe7b...", "should_show": self.should_show_setting}, - {"title": "Optional LN Address", "key": "nwc_static_receive_code", "placeholder": "Optional if present in NWC URL.", "should_show": self.should_show_setting}, + {"title": "Nostr Private Key (nsec)", "key": "nostr_nsec", "placeholder": "nsec1...", "should_show": self.should_show_setting}, + {"title": "Nostr Follow Public Key (npub)", "key": "nostr_follow_npub", "placeholder": "npub1...", "should_show": self.should_show_setting}, + {"title": "Nostr Relay", "key": "nostr_relay", "placeholder": "wss://relay.example.com", "should_show": self.should_show_setting}, ]) self.startActivity(intent) diff --git a/internal_filesystem/apps/com.micropythonos.nostr/res/mipmap-mdpi/icon_64x64.png b/internal_filesystem/apps/com.micropythonos.nostr/res/mipmap-mdpi/icon_64x64.png deleted file mode 100644 index c0871732a8bde53c9cc129d86c0c350ba40c2168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5864 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

_*#O8c$!Vu*@z@Wx4LD#w2ZZ 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