#Amethyst v1.00.0: Full Outbox
This version completes our migration to the outbox model, where the app dynamically manages the relay list used to pull posts from your follows' own relay lists. By default, the app will connect to relays that aren't in your lists through our embedded Tor. Normal usage will connect to hundreds of relays. Many of them will fail, and that's ok. Nostr has baked-in redundancy; these failures won't affect your experience.
New relay lists were added to the UI to help you manage how the app works. Specifically, you can now block relays and add trusted relays. Trusted relays will connect outside of Tor, which is faster, but allows those relays to see your IP. You should only add relays there if you trust the relay operator. Proxy relays (like filter.nostr.wine) can be added to the proxy list. After that, the app will only use those relays to download the content for your feeds, disabling the outbox model. DMs and other non-outbox functionality will still use their own relays. Broadcasting relays can be added to push your events out there. Every new event from the app will be sent to all broadcasting relays. Finally, the new Indexer list allows you to choose which relays to use to find users, like purplepages.es.
For users of our Quartz library, we have finished all of the work to change the library's mindset from a fixed list to a dynamic pool of relays. Now, each NIP has its own dedicated folder and defines its own tags and caching structures. This expansion allows us to add diverse functionalities such as relay clients, relay servers, event builders, Nostr filter builders, caching systems, deletion and event hint indexers, helper functions, and more—all specifically tailored to each individual NIP. This modular approach creates the space to develop each NIP independently and integrate them into Amethyst as distinct modules, while still sharing Amethyst's main relay and cache engine when necessary. We expect fewer breaking changes as we move forward with it. At some point, Quartz will move to its own repository and be converted to a Kotlin Multiplatform project for each NIP/module. This will allow us to build demo/testing applications for each NIP in the same repo.
This version adds support for:
- YakBak Voice Messages
- Picture-in-Picture pop-ups
- Public Messages
- Coolr.chat's Ephemeral Chats
- Follow packs
- Reads feed in the discovery tab
- Hidden cashu tokens in emojis
Features:
- Reengineered relay, relay pool, and nostr client to manage dynamic pools
- Reengineered note cache for a garbage collector-friendly version
- Reengineered media pre-loading and caching to minimize layout changes
- Reengineered decryption cache, now per account
- Reengineered chat channels cache
- Reengineered the indexing of Addresses to data classes
- Reengineered EOSE cache and managers
- Migrates to a Flow-based design for all account information and services
- Migrates to a Compose subscription model for relay filters
- Adds 90-day expiration to all drafts
- Deprecate stringified JSON in favor of tags on user metadata kind 0 events
- Adds support for live events at the top of the feed.
- Migrates Video events to non-replaceable kinds
- Migrates NIP-51 to use NIP-44 encryptions
- Migrates Chat, Community, Location, and Hashtag follows to their own lists
- Migrates to reply with NIP-22 for everything but kind 1s.
- Massively improves relay hint selections
- Removes relay picker when sending new posts
- Removes general relay list (kind3)
- Adds new relay lists: Trusted, Blocked, Proxy, and Broadcasting
- Moves most of the Dialogs to full-screen routes
- Breaks NewPostScreen and ViewModels into Screens and ViewModels for each supporting NIP
- Adds support for creating and replying to NIP-22 geo scope posts
- Performance Improvements by not re-verifying duplicated events
- Adds Content Sensitivity setting to the Security filter screen
- Adds Translation setting to a new screen.
- Extends AsyncImage to correctly use pre-loaded aspect ratio and avoid jitter
- Adds imeta tags for images and urls inside the content of the Classifieds
- Adds new default banner for empty profiles
- Finishes the migration from LiveData to Flow
- Restructures the old static datasource model into dynamic filter assemblers.
- Moves filter assemblers, viewModels and DAL classes to their own packages.
- Creates Composable observers for Users and Notes
- Unifies all Filter Assembler lifecycle watchers to a few classes
- Moves relay authentication to a coordinator class for all accounts in all relays.
- Moves the relay NOTIFY parser to its own coordinator class for all accounts
- Moves the connection between filters and event cache to its own coordinator class
- Adds support for Tor in push notifications
- Isolated Connectivity services, from Compose to Flow
- Isolated Tor services, from Compose to TorService
- Isolated Memory trimming services, from Compose to Flow
- Isolated Image Caching services, from Compose to Flow
- Isolated Video Caching services
- Isolated Logging services
- Isolated NIP-95 Caching services
- Isolated Pokey receiver services
- Isolated OkHttpClient-building services as flows
- Hold off on all DM attachments until the message is sent.
- Adds previews for any number of urls, events, and media uploads on new post screens.
- Adds zap split, zap raiser, and geolocation symbols for DMs and channel messages
- Adds picture upload for NIP-28 metadata
- Adds support for community relays on NIP-28
- Adds a pool of ExoPlayers when multiple videos are playing
- Moves DVM's last announcement restriction from 90 days to 365 days
Quartz:
- Adds a NostrClient with filter and event outbox cache
- Adds a Basic RelayClient and parsers for all relay commands
- Migrates signers from callback to suspending functions
- Migrates event create functions to builders with templates
- Migrates the filter design to a filter per relay
- Migrates hardcoded tag filters in events to the Tag's parser and assembly functions.
- Normalizes all relay URLs
- Formalizes relay hint providers per kind
- Event store support with SQLite
- Reengineered NIP-55 Android signer and its cache
- Reengineered exception handling for signer errors
- Adds support for the Request to Vanish NIP - 62
- Migrates all NIP-51 lists to the new event-tag structure.
- Migrates Drafts and NIP-04 and NIP-17 DMs to the new structure
- Migrates Bookmarks to the new structure
- Migrates NIP-56 to the newest tag structure
- Adds support for nip70 Protected Tags
- Adds full support for nip73 External Content IDs
- Adds support for NIP-48 proxy tags
- Removes the old "datasource" model
- Adds a Bloom-based hint indexer with MurMur hash
- Adds a PoW miner
- Restructures thread helpers for NIP-10
- Migrates Zap splits, zapraisers, subject, alts, and content warning to their own packages.
Dev Team:
- nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3wamnwvaz7tmkd96x7u3wdehhxarjxyhxxmmd9ukfdvuv
- nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7qg0waehxw309ajxzmt4wvhxjme0hynkd5
- nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz9mhxue69uhkummnw3ezumrpdejz772u5wm
- nostr:nprofile1qqswc4nrhvp4lrjct0ayy0ps8f2hvj8e2guucp63dwcx6m6e8pka9fqpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap00me8jy
- nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpzpmhxue69uhkummnw3ezumt0d5hscc6wyt
Translations:
- Czech, German, Swedish, and Portuguese by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpzpmhxue69uhkummnw3ezumt0d5hscc6wyt
- Dutch by nostr:nprofile1qqs82l74z7g3x8j3avpn2wrjrwn855nyvmpxa4v5pftfvtv5lrvrc5cpz9mhxue69uhkummnw3ezuamfdejj7tk0drp
- French by nostr:nprofile1qqs8av5uzf4nv2q80chrmp3mj9a9dd6zjw4fmz56hsn2gzar72rxhtcppemhxue69uhkummn9ekx7mp0qyg8wumn8ghj7mn0wd68ytnddakj7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcuvd26f
- Polish by nostr:nprofile1qqsdyfz0ewdhmgp3a4r3pxvezx5r8yalrgvjn38v2ml5qrusnv7yywgpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz9mhxue69uhkwmn0wd68ytnrdakj7qgkwaehxw309ahx7um5wghxx7npwvh8qmr4wvhsrpff27
- Chinese by nostr:nprofile1qqsyxnuhnymz0u0xru2watmqe25vlh8vzzje9jhlsfgvsff9942gc9gpr9mhxue69uhhyetvv9ujumt0d4hhxarj9ecxjmnt9uq3vamnwvaz7tmjv4kxz7fwd4hhxarj9ec82c30qy28wumn8ghj7atn9ehx7um5wgh8w6twv5hsung0qr
- Slovenian by nostr:nprofile1qqsqqqqqqp0fmkspg7w8d305ln96a0jw0ptwqtuwskkm5pddv2kkjfcpyfmhxue69uhk6atvw35hqmr90pjhytngw4eh5mmwv4nhjtnhdaexcep0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj72epxz8
- Thai by nostr:nprofile1qqsxdhmq2cke8xk6scfyxeyfj3dyancavg6xk0v50r023gec7vsrceqppemhxue69uhkummn9ekx7mp0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhskamkgc
- Bengali by nostr:nprofile1qqsgs9hgjw87vz36jf2r83m5zree2q87zvs8s7kty9jljdz7wprytyspremhxue69uhkummnw3ezu6m0de5kueedv3jkwunpv9nzumnv9uq3kamnwvaz7tm5d4cz6un9d3shjtnrv4ekxtn5wfskgef0qy28wumn8ghj7mn0wd68yt3k8quzummjvuhsg63aw2
- Hindi by nostr:nprofile1qqs88dt78wgnzvaph6fcstfvsd98xc2qs8eg8tllwv2zlutu8ehec2cpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcy8dumx
- Spanish by nostr:nprofile1qqs07tjpyvvlq9ugdpax8h3jfrpwn7kr72k3tc7ky83tggn4et9eangprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzemhxue69uhkumm5d9n8jtnyv9kh2uewd9hj7cn2zey
- Hungarian by nostr:nprofile1qqs88rmfrp9wmfn4qq4kslly0j8futmmrgn86mu3gkc3jvcjl97p3mcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz4mhxue69uhkummnw3ezummcw3ezuer9wchsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0m7mtdy and nostr:nprofile1qqsxekg0s8kxpcrka8ccwztv2m73kz6jy0ur8f7jc04rwr5p44w5acsk5trt8
- Persian by nostr:nprofile1qqsvq73w5j9kw573rtff6c3fyh953w45328n3625apdwc3548gr49gsppemhxue69uhkummn9ekx7mp0q6fpv8
Download: http://amethyst.social
Login to reply
Replies (129)
Woooo!
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cppemhxue69uhkummn9ekx7mp0qgs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjcrqsqqqqqpr2w0uf
That it? 😂
The app name is wrong


The new Amethyst is finally here and it's beautiful.
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cpzdmhxue69uhhwmm59e6hg7r09ehkuef0qgs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjcrqsqqqqqp0pgqte
nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqpz9mhxue69uhkummnw3ezuamfdejj7qgswaehxw309ahx7um5wghx6mmd9uq3wamnwvaz7tmkd96x7u3wdehhxarjxyhxxmmd9ukfdvuv
I'm unable to use. It just crashes immediately. I even did a full uninstall & install. Pixel 8 pro, stock OS. I get as far as using Amber to sign in. Then a crash every time I try to launch.
try disabling the built-in tor feature.
It's not enabled.
hi -- we were trying to zap you -- but it looks like you haven’t set up a NIP-05 or ⚡ lightning address yet — grab one free at https://rizful.com .. then pls reply here and we will try zapping you...
Can you try with the nsec? I am wondering if there is an Amber-link bug somewhere.
I'm busy ATM. I can test in a bit, about 2 hours 👍
I could log into with your npub. So, it is either that or something in the private/decrypt stuff
for reference I'm ok using amber on my end
Just updated, and the app keeps crashing, wont stay open. Error```
type: crash
osVersion: google/shiba/shiba:16/BP2A.250805.005/2025081400:user/release-keys
package: com.vitorpamplona.amethyst:419, targetSdk 36
process: com.vitorpamplona.amethyst
processUptime: 570 + 276 ms
installer: com.android.packageinstaller
java.io.IOException: java.util.concurrent.ExecutionException: java.io.IOException: MISSING_INSTANCEID_SERVICE
at com.google.firebase.messaging.FirebaseMessaging.blockingGetToken(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:43)
at com.google.firebase.messaging.FirebaseMessaging.lambda$getToken$7(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:1)
at com.google.firebase.messaging.FirebaseMessaging.$r8$lambda$BDlJxll8ZplUMRagiuAzBf5hp-o(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:1)
at com.google.firebase.messaging.ImageDownload$$ExternalSyntheticLambda0.run(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:12)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:524)
at java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:348)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1156)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:651)
at com.google.android.gms.common.util.concurrent.zza.run(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:7)
at java.lang.Thread.run(Thread.java:1119)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@cc92123, androidx.compose.runtime.BroadcastFrameClock@dcdf620, StandaloneCoroutine{Cancelling}@e6fbbd9, AndroidUiDispatcher@3a5499e]
Caused by: java.util.concurrent.ExecutionException: java.io.IOException: MISSING_INSTANCEID_SERVICE
at com.google.android.gms.tasks.Tasks.zza(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:32)
at com.google.android.gms.tasks.Tasks.await(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:9)
at com.google.firebase.messaging.FirebaseMessaging.blockingGetToken(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:31)
... 10 more
Caused by: java.io.IOException: MISSING_INSTANCEID_SERVICE
at com.google.android.gms.cloudmessaging.Rpc.send(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:40)
at com.google.firebase.messaging.GmsRpc.startRpc(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:6)
at com.google.firebase.messaging.GmsRpc.getToken(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:14)
at com.google.firebase.messaging.FirebaseMessaging.lambda$blockingGetToken$14(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:3)
at com.google.firebase.messaging.FirebaseMessaging.$r8$lambda$XhN3LMtxp06BaZ4C3y9bsdX3iv8(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:1)
at com.google.firebase.messaging.RequestDeduplicator.getOrStartGetTokenRequest(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:80)
at com.google.firebase.messaging.FirebaseMessaging.blockingGetToken(r8-map-id-ce5b387baab110de75ab60895ad43c48a152c5fef30c1690d6a48803f7297a8b:27)
... 10 more
```
I'm using Amber and it works
Does it mean that I can connect to only one (my own) relay and it will propogate ?
تحديث جديد لـ #amethyst برقم أصدار 1.0
أميثيست v1.00.0: نموذج Outbox كامل
هذا الإصدار يكمل الانتقال إلى نموذج outbox، حيث يقوم التطبيق بإدارة قائمة الـ relays بشكل ديناميكي لسحب المنشورات من قوائم relays الخاصة بالمستخدمين الذين تتابعهم.
بشكل افتراضي، التطبيق سيتصل عبر Tor المدمج بالـ relays التي ليست في قائمتك.
الاستخدام الطبيعي راح يوصلك لمئات relays، كثير منها سيفشل، وهذا طبيعي. بروتوكول Nostr فيه تكرار مدمج، وفشل بعضها ما يأثر على تجربتك.
قوائم Relays جديدة في واجهة المستخدم
موثوقة (Trusted): تتصل خارج Tor (أسرع لكن تكشف الـ IP). استخدمها فقط مع مشغلي Relays الموثوقين.
محجوبة (Blocked): تمنع الاتصال بها.
وكيلة (Proxy): مثل filter.nostr.wine، وإذا أضفتها التطبيق راح يعتمد عليها فقط لجلب المحتوى ويعطل outbox.
للبث (Broadcasting): كل منشور جديد يرسل إليها.
المؤشر (Indexer): لتحديد relays للبحث عن المستخدمين (مثل purplepages.es).
مكتبة Quartz
تم تحديثها لتصبح ديناميكية بالكامل:
كل NIP صار له مجلد خاص مع هياكل تخزين ووسوم خاصة فيه.
إضافة وحدات مثل: عملاء relays، خوادم relays، بُناة أحداث، أنظمة كاش، فهارس حذف وتلميحات أحداث، وظائف مساعدة إلخ.
هذا التصميم الوحدوي يسمح بتطوير كل NIP بشكل مستقل مع إمكانية مشاركته مع محرك Amethyst الأساسي.
لاحقًا، Quartz ستُنقل لمستودع منفصل وتتحول إلى Kotlin Multiplatform مع تطبيقات تجريبية لكل NIP.
---
ميزات جديدة
رسائل صوتية YakBak.
نوافذ عائمة Picture-in-Picture.
دعم الرسائل العامة.
دعم محادثات Coolr.chat Ephemeral.
دعم حزم المتابعة.
تبويب Reads feed في الاستكشاف.
دعم رموز Cashu مخفية داخل الإيموجي.
---
تغييرات هندسية كبيرة
إعادة بناء إدارة relays و pool بشكل ديناميكي.
تحسين الكاش الخاص بالملاحظات، المحادثات، فك التشفير، الوسائط.
نقل جميع البيانات إلى نظام Flow بدل LiveData.
اعتماد تصميم Compose جديد للاشتراكات والفلاتر.
إضافة صلاحية انتهاء 90 يومًا للمسودات.
تحسين الأداء بتجنب التحقق المكرر من الأحداث.
إزالة القائمة العامة للـ relays (kind3).
دعم relays خاصة بالمجتمعات في NIP-28.
تحسين اختيار التلميحات (Relay Hints).
فصل الخدمات (Tor، إشعارات، كاش الصور والفيديو، التسجيل، إلخ) في وحدات مستقلة.
دعم إشعارات Push عبر Tor.
---
تحديثات Quartz
إضافة NostrClient مع outbox cache.
دعم SQLite لتخزين الأحداث.
إضافة خوارزمية Bloom filter مع MurMur hash للفهرسة.
دعم NIPs جديدة مثل:
NIP-62 (طلب الاختفاء)
NIP-70 (وسوم محمية)
NIP-73 (معرّفات محتوى خارجية)
NIP-48 (وسوم بروكسي)
إضافة مُعدّن Proof of Work.
تحسين إدارة التوقيع والتشفير (NIP-55, NIP-51, NIP-56 إلخ).
---
اللغات المدعومة
الإصدار تمت ترجمته إلى عدة لغات: التشيكية، الألمانية، السويدية، البرتغالية، الهولندية، الفرنسية، البولندية، الصينية، السلوفينية، التايلندية، البنغالية، الهندية، الإسبانية، المجرية، الفارسية.
---
📥 التحميل: amethyst.social
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cpzpmhxue69uhkummnw3ezumt0d5hsyg92jprny4srmtx5lq2zpy6k09e4vm0rk83q4z240degcwlyc65yfvpsgqqqqqqskap5w2
The "Don't translate from" drop-down isn't working for me 🥲
Ох нифига себе изменений. Зачот! 👍
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cpz4mhxue69uhkummnw3ezummcw3ezuer9wchsyg92jprny4srmtx5lq2zpy6k09e4vm0rk83q4z240degcwlyc65yfvpsgqqqqqqsz3ehyq
Click to enter a community crashes the app.
Yeah, crashes, as described by others.
Giving away 10k sats today like, repost, sign-up, and play to Enter! Roll the Dice with DiceLN.com Provably Fair Lightning Network Gaming!
Same here. Same stacktrace
It crashed
Wow. It's probably empty. Items will only appear if you select any "don't auto translate". System languages are never auto translated and will not show in drop down
Do you run graphene os? Maybe related to that?
well it is translating system languages 🤔
If I still have to go to other clients because I ain't receiving everything I will post here again about it. Searching for download.
Yes. Seems like it's related to GOS
Goodness
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cpzdmhxue69uhhwmm59e6hg7r09ehkuef0qgs24yz8xftq8kkdf7q5yzf4v7tn2ek78v0zp2y427mj3sa7f34ggjcrqsqqqqqp0pgqte
Are we gona get daily updates now, like it's 2023? 🫣󠄢󠄠󠄢󠄤
I updated via Obtanium, so directly from github. No issues.
👀👀👀👀👀👀👀
👀👀👀👀👀👀👀
👀👀👀👀👀👀👀
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cpz4mhxue69uhkummnw3ezummcw3ezuer9wchsyg92jprny4srmtx5lq2zpy6k09e4vm0rk83q4z240degcwlyc65yfvpsgqqqqqqsz3ehyq
I only use Amethyst
Yuge 💪
the app is crashing if i have the note editor open too long.
Hard to figure out what you mean precisely, but running off on assumptions the answer is no.
It means that if you only post your own stuff to your own relay, other people using this version of amethyst will get to see your stuff if they follow you, eventhough they never explicitly put your relay into their relay list.
After updating Amethyest crashes constantly as soon as everything starts loading now it's totally unusable. Thanks for breaking Amethyst for me!
It actually crashed after I sent this. Pretty cool that it actually sent though. I'm back on 94.3 for this one.
Yeah outbox and all the other features, really cool. Sure sure, going off from all the comments the app crashes, as a true version 1.0 should.
But i am above all in tears that this post is timestamped, and with a bit of luck future historians have no issue interpreting this event data as a source, and they can explicitly reference it directly in their history writings.
🥹
nostr:nevent1qqsq32lzv7a0t47wzndhjavxd7ffufu5es35sst34mcgzmrq5fqkt9cpz4mhxue69uhkummnw3ezummcw3ezuer9wchsyg92jprny4srmtx5lq2zpy6k09e4vm0rk83q4z240degcwlyc65yfvpsgqqqqqqsz3ehyq
💙
I get the same results when I use my nsec to sign in. Immediately crashes, and then crashes when I try to launch again.
Are you on Graphene? Or without Google services by any change? I am releasing a version now that fixes for that.
This is on a stock pixel device. I haven't tried on my graphene phone yet.
Try to create a new account and then log in with this one as a second profile
Unfortunately it crashes on startup and downgrade is not possible with complete removal 🙁
this looks great
people complaining about crashes should have known they weren't supposed to update first, they must wait at least one month while the early adopters suffer through the bugs
Even on a new npub I get the same result 🤔
nostr:nevent1qqs8ddqllsrxulddw2t9432lsjlmpw550xfn8dh3qzl033h90cqku0qpz3mhxw309ucnydewxqhrqt338g6rsd3e9upzph4t08d058ptuj62d5av5y6hkm92pd6yhar26556ttjxg2y908ngqvzqqqqqqye74h9n
That is very strange. Have you tried uninstalling it to delete the local DB? It should be an old setting that got saved and it is interfering with the new app. :(
new version on ZapStore. See if it still happens.
I've been uninstalling and going fresh each time. Just tried 1.00.2 and I'm still seeing the same, on a fresh sign up and my own account.
Scratch that, 1.00.2 works! I'm up and running! Thanks for the fast fix Vitor!
Any tips for relay setup? I've added some to my trusted list already, but I'm missing a lot of notes compared to the old version.
Howany relays are you connecting to?
263/678
Are you missing notes in your main feed or like notifications? Now we only pull from outbox relays of each author. So, if they are not sending their posts there, we won't download from other relays.
Main feed is very empty. 7 notes in the last hour, vs dozens on the old version.
Notifications are the same between versions
Also, if I go to the user profile it will grab the notes, which then show in my main feed.
Works now with 1.00.2
I also tried setting the tor option to "off". It's the same result.
Yeah, just figured it. I guess I’ll not be trying it yet
Hum... So, if I log into with your npub, it seems to load the ones you think you are missing.
What happens if you switch the top nav bar to something else and back to All Follows?
Ah, thanks for the heads up😊
That pulls in a lot more notes if I toggle it, scroll down a bit, then toggle back.
I can confirm this as well. I haven't noticed before, but Follows feed was kinds empty for me. Switched to Global and Back and lots of new notes from people I follow appeared.
What you innitially stated is simply not how Nostr can be expected to work. The possibility that other relays take over your events is not excluded, its simply also not something you should reasonably rely on. Event propagation is more like a marginal quirk than anything else, and unnecessary in case of clients with decent inbox and outbox implementation anyway.
This new version of amethyst is a big step for the Nostr ecosystem
i'll translate it to estonian for sats :)
Yeah but I don’t want to connect to 200 random relays you know
Downloaded the 1.00.2 version from Zapstore today and it's working excellently! The client dynamically managing the relay list sounds like how I always imagined it should work. The relay block feature is very useful for blocking bridge-relays and seeing only Nostr-native content. I'm still looking for sources to gain a better understanding of what each of the relay types do and what the "outbox model" is all about, but so far it's looking great!! 💜
massive
What does this screen look like your phone? Which language is being auto translated?


Same
Well, they are not random, they are locations the stuff is located where appearently the stuff you want to see is stored.
What is your objection to connecting to '200 random relays'?
testing zaps for this note… your profile only specifies a nip05 nostr address, but not a lightning address, so we tried to zap your nip05 address.... we made six attempts to⚡zap this note, at aldwin@aldwin.land, over a period of 6 minutes. in each case, we found that your lightning address service or server did not respond correctly. if you wanted to fix this... you could try getting a free rizful lightning address -- https://rizful.com ... if u get it set up, pls reply here so we can do this ⚡zap test again.
Dan Endorses Amethyst https://primal.net/SecureSupplies😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀
It keeps crashing since I updated!
1.00.2 seemed to fix it, not sure what the issue was
The translarion feature is bad. For languages I speak it's very bad translations, and for languages I don't its worse than bad, because it doesn't help 

Sorry if my comment seems harsh, love the work you're doing
Love to try out the updated version. Not yet updated on Play Store.
Use Zapstore.dev . It will take a while for the PlayStore to approve it it.
Yes I did that. Trying it now.
I do run my own relay. Why do I need to connect to hundreds of relays that collect my IP and eat my data?! Also relay operators might delete my notes so I don’t trust them!
As you can read in the announcement, relays that are not in your list are connected to via Tor, so that should cover your IP worries.
The websocket handshake overhead should not be too much of a concern in terms of data consumption, as to how redundant the data that is being pulled in i can't comment, but even then, its just a bunch of text/json so are those bytes/kilobytes really that much of a problem to you?
Finaly, i really think you should read up on how Nostr actually works, all those relay connections are in order to fetch the events you want to read, it has nothing to do with where you publish; and regardless, if you want to rely on your own relay, you above all should want people to use this new version of amethyst.
How do you know if the relay isn’t logging your IP ?! The answer is: you can’t know or verify if relays are honest and not tracking you! Running everything over the tor slows down things.
So you don't use the internet at all, ok, got it.
You’re dumb!
Excuse me, please explain how you make use of the internet without your IP concerns and at the same time not using TOR, i am indeed curious
Great job! Responsiveness has noticeably improved. Definitely seeing more notes as well.
nostr:npub1gcxzte5zlkncx26j68ez60fzkvtkm9e0vrwdcvsjakxf9mu9qewqlfnj5z Would you be interested in making https://translate.jumble.social/#integration-demo-section an optional translation service for nostr:npub142gywvjkq0dv6nupggyn2euhx4nduwc7yz5f24ah9rpmunr2s39se3xrj0? It’s AI-powered, delivers great translation quality, and supports NIP-98 with no setup required from the user.
Main issue is that it has to work for DMs as well and I cannot send DMs out of the phone :(
True, for privacy I wouldn’t recommend third-party services for DMs either. But for regular content, it might be worth considering for better translation quality.
Frankly, I would much rather run the AI ondevice when these new models get ported. Privacy, even from know which posts my users are reading, is important to me.
:+1: That sounds even cooler.
Jesus, you guys just rewrote the entire damn app, basically. Or that's at least how it seems.
We are looking for an investor who can loan our holding company 237,000 US dollars.
With this money, we will open a farm in Baku, Azerbaijan to produce animal-based food.
We will also make our own animal feed, so our products will be healthier, better quality, and cheaper.
Because we sell quality products for less and have strong advertising, we will sell more worldwide and make big profits.
Why Azerbaijan? Because animal farming makes a lot of money there, but few people do it. That’s why we will earn more by starting in Azerbaijan.
Additionally, by producing our own animal feed, we will be able to sell healthier, higher quality animal products at a lower price.
Since we can sell quality products cheaply and thanks to our strong advertising network, we will be able to sell more internationally and make huge profits.
The reason for establishing the business in Azerbaijan is that animal husbandry is a very profitable business in Azerbaijan, but since there are very few people doing animal husbandry, establishing the farm in Azerbaijan will provide us with more income.
Your profit:
You will lend 237,000 US dollars to our holding company and when 22.03.2026 comes, you will receive your money back as 953,000 US dollars.
Your earnings will be great. When 22.03.2026 comes, you will get your money back as 953.00 US dollars.
You will lend 237,000 US dollars to our holding company and when 22.03.2026 comes, you will receive your money back as 953,000 US dollars.
When 22.03.2026 comes, I will give you back your money in the amount of 953,000 US dollars.
That means you will earn 716,000 US dollars profit in just 9 months.
If you like this project and want to loan us money, message me on WhatsApp or Telegram for more details.
If our project is suitable for you and you would like to lend money to our holding, send a message to my WhatsApp number or Telegram username below and I will give you detailed information.
For detailed information and to lend money to our holding, send a message to my whatsapp number or telegram username below and I will give you detailed information.
My WhatsApp phone number:
+44 7842 572711
My telegram username:
@adenholding
Now THAT is a release note!
don't be stupid
I like very much how you implemented a default tor connection to untrusted relays
How to yakbak on amethyst?
cool
what is this green progress bar?
sorry, I thought you were suggesting the capitalization
Videos posted from #amethyst now appearing in other vlog clients (eg Vlogstr)
Fix the damn bugs in 1.0.0.3 so it's usable. All it does is constantly crash & I can't do anything it's unusable.
Testing post editor with drafts disabled
Works ✅
Thanks Vitor
Seriously the translations are terrible.
Who do those help exactly? First of all it's not Chinese, it's Japanese. Second the English translation is just the conversion from half width to full width repeated 4 times. Third, English speakers can't read katakana lol
Fourth, does the translator not know the word kitty? It's not an obscure word.
Who do I need to send fat zap towards to fix this?
Who do I need to send fat zap towards to fix this? I'd love to see what's the pipeline to "translate" the message, it appears it tried to "correct" the grammar instead or at least correct it into something the LLM would recognize
I'm almost tempted to fix it myself as soon as I'm free. Because those kinds of issues hurt more than help in my opinion
Just as a test, I checked how animestr handles it. I don't know why it chose meow as a translation, but it's better!


Another example, human translation (me):
Before I can organize, there's always something else I need to do first, and then before that there's yet another thing... It's like an vicious cycle (Shinjiro style).
Amethyst translation: (is this even English?)
And animestr:

And animestr:

I would like to know, too!
"Same here! What’s the scoop, fam? 🤔💬"
How can I zap manual amount?
amazing
You can long tap, in the pop-up menu follow each DVM you like and then move the list from global to all follows on top
After the last update to 1.00.5 Amethyst is no longer posting my notes to the #community.
I'm visiting njump.me to check the tags and it's not getting subscribed.
This is one of the few features that makes me choose Amethyst.
I had already tried to write this message here, but I think it also got lost and I don't know why.
#bug #Amethyst
When writing a message here I am forced to select my message and relay it because it does not appear that it was sent to any relay.
Please take a look at this image that describes well what I've been going through.
#Bug #Amethyst
Please take a look at this image that describes well what I've been going through.
#Bug #Amethyst Ok
O governo brasileiro pretende matar o próprio povo, eles começaram a desligar energia de cidades e ligar a vi como que o povo vai reagir. Os governantes pretendem desligar a energia do Brasil todo de todos os hospitais de toda a internet e e das telecomunicações eles querem fazer um esporgo total do povo. Eles querem implementar o drex, uma moeda digital que o governo tem totalmente controle no qual eles vão determinar aonde você vai gastar quando você vai gastar em que alimento, você vai gastar. Eles não deixam os deficientes estudarem o quem te vê com algum tipo de auxílio doença não pode mais estudar se você tentar fazer uma faculdade ele simplesmente corta o benefício você nem pode fazer uma faculdade pra tentar mudar de vida a tentar se qualificar pro mercado de trabalho. Estão querendo isolar os estados e classificar as pessoas por classe social e classificar os estados por classe social, por exemplo se seu estado tiver um PIB abaixo dos outros o seu estado está proibido de visitar os outros, você tem que ter uma justificativa e o nível superior se quiser e pra outro estado. Visitar lembrando que você vai ter que pagar um imposto toda vez que tentar entrar em outro estado. Estão querendo cobrar em posto e quem tem bicicleta não estou falando de carro não é de bicicleta.
Não sei para quem pedi SOCORRO o governo brasileiro quer eliminar o próprio povo e controla totalmente. Não há democracia se por acaso o Senado ou os deputados federais não quiserem aprovar a lei que o presidente quer que seja aprovada ele simplesmente vira as costas a democracia e vai até o Supremo Tribunal Federal pedi que aprove a lei que ele quer e ninguém faz nada não há democracia Não. Eles vão colocar o drex no qual vai comandar quando você gasta pra quem você gasta e aonde você compra, eles não vão deixar você sai do Brasil sem pagar posto, você não pode mais sair do Brasil pra passear em outro lugar sem pagar imposto em cima dos bens que você já tem no Brasil se você tem uma. Casa você vai ter que pagar imposto pra poder passear em outro país. Se você tem qualquer tipo de imóvel seja terra casa carro você vai ter que pagar imposto sobre tudo que você já teve o que você já tem. Eles vão usar o Pix pra rastrear porque é digital vão cruzar os dados das suas declarações prova víssimo você não está mentindo.
Querem aprovar uma lei no qual todos os universitários vão ter que pagar em posto o que está fazendo faculdade independente da cota racial ou não. Vai ser lei vai ter que pagar imposto pra estudar. Eles não querem que eu quero o povo tenha conhecimento, ou seja inteligente. E eles venderam uma usina dia, hidrelétrica, que está no Amazonas que está devendo mais de bilhões e o povo vai pagar eles vão tirar do povo ao fazer o povo pagar esse imposto que tá devendo eles venderam, e agora o povo vai ter que pagar não a pessoa que comprou, não é o povo..
Se você tem dólares em algum banco digital se prepara, eles vão tomar tudo até dos bancos físicos. O governo brasileiro vai tomar pra que você não possa recorre e correr daqui do Brasil.
Todos vão pra luz querendo ou não. Isolaram um Rio Grande do Sul pra ver se o povo ia ficar com dó do povo lá do Rio Grande do Sul como o povo não reagiu não ficou com dó eles vão fazer isso em todos os estados você vai ter que ter justificativo por que que você está indo ao estado diferente do seu e vai ter que pagar imposto porque você tá indo pro outro estado. Se você não tiver nível superior você não vai poder sair do seu estado. Eles pretendem também implementar uma lei na qual quem não souber falar inglês não vai poder trabalhar. E as empresas vão ter que qualificar os que já estão trabalhando. Ainda por cima vão ter que ensinar termos jurídicos aos seus funcionários daqueles saibam que não pode processar qualquer um que o erro foi deles não da empresa.
Já tem famílias nos estados do norte morrendo de fome.. No Maranhão, estão fazendo um mercado negro de órgãos humanos, a pessoa chega no hospital com uma dor de cabeça e simplesmente morre porque eles descobriram que a pessoa tem um tipo sanguíneo e os órgãos bom pra vender no mercado negro. Começaram a fazer isso desde a pandemia e até agora não param e não tem ninguém pra parar eles já que nós vivemos num país quem não tem lei.