#Amethyst v0.83.1: NIP-44v2 DMs are up!
New Features
- Moves DMs to the audited NIP-44v2
- Adds support for NIP-31 alt tags
- Adds a k-tag to reactions
- Adds i18n for error messages when uploading images
Performance Improvements:
- Improves the performance of Robohash
- Add less memory-intensive timeAgo calculations and translations
- Uses primitives instead of the wrapped object in several places
- Moves to a less memory-intensive way to write and send filters to the server.
- Refines recompositions of routes and bottom icons
- Avoids the creation of new sets when looping through cached maps of User and Notes
- Avoids recreating the EOSE array when changing filters
- Reuses SessionToken for all Playback connections
- Improving the memory use of concurrent hashmaps and immutable collections
- Reduces the use of remember for fixed UI modifiers
Bugfixes:
- Detects URL mime-types by pinging the server instead of relying on the url's extension
- Fixes bug with cropped joinToString assemblies of relay filters
- Avoids Concurrent Modification Exception on the EOSE markups
- Forces nip95 to be under 80Kb to make sure relays can receive it
- Fixes bug that error messages wouldn't show an error when uploading images to the reels page
- Fixes post video dimensions when the user has selected not to load videos automatically
- Updates dependencies
Updated translations:
- Chinese by @ra5pvt1n
- Finnish by @petri
- Hungarian by @npub1ww8k...nvtp
- Dutch by @Bartus
- Tamil by @_
Download:
- [Play Edition](https://github.com/vitorpamplona/amethyst/releases/download/v0.83.1/amethyst-googleplay-universal-v0.83.1.apk )
- [FOSS Edition - No translations](https://github.com/vitorpamplona/amethyst/releases/download/v0.83.1/amethyst-fdroid-universal-v0.83.1.apk )
Login to reply
Replies (38)
What do you mean? The url is always part of the post.
Swahili * :)
The extra hashtags?
Thanks man! I think most ppl who have used variety of nostr clients can agree that amethyst has the best user experience.
It will be there. It helps with previews and to make sure server doesn't modify the image after the author has approved.
Like that
Do any other clients support this, or are you first again? 🚀
relay logo is broken


Bonjour Vitor en fait je me permets de vous faire remonter que la plupart des clients Damus ont un soucis de traduction pour les notes surtout en français.. Travaillez vous ensemble ? Puisque certains utilisateurs passent à côté de certaines qu'ils peuvent traduire.. Lorsqu'on me le signale je traduis mais quand même c'est plus prioritaire dans les interactions sociales j'imagine certains qui ne lisent pas de notes car bloquent au niveau traduction'.. Au niveau Amethyst il n'y a pas de soucis peut-être @jb55 devrait interroger les utilisateurs.., il m'arrive de traduire régulièrement entre pairs
Good catch
Only us for now. But Gossip, Coracle and 0xChat are working on it.
Always shipping features and bug fixes like a boss!
Time to update amethyst again. BRB!
View quoted note →
I didn't understand the new nip-44 feature.
What advantages does it have?
💪🏿💪🏿💪🏿
It's just an encryption upgrade for DMs. It's now audited.
"Encryption, because it's audited" is like "Brawndo, it's got electrolytes"
Do you have a link to the diff of v2?
People want to forget v1 existed so there is no good doc to show. But essentially, v2 fixed some issues with message length (smaller messages would yield smaller encrypted bytes, which is not ideal). We also got rid XChaCha because it is not standardized and the added protections aren't needed inside Nostr messages.
v1: XChaCha20 with sha256(parity + ecdh) as a shared key per conversation
v2: secp256k1 ECDH, HKDF, padding, ChaCha20, HMAC-SHA256, base64
v1:
v2: 
GitHub
nips/44.md at 7f98a7b8849c16f9d324e0ea15db4efda0ee84fb · coracle-social/nips
Nostr Implementation Possibilities. Contribute to coracle-social/nips development by creating an account on GitHub.
GitHub
nips/44.md at master · nostr-protocol/nips
Nostr Implementation Possibilities. Contribute to nostr-protocol/nips development by creating an account on GitHub.
Thanks!!
What happens if a NIP44 (v1 or v2) message gets sent to a legacy NIP4 receiver? Does that client handle it?
No. The encryption is not backwards compatible so each other client will have to decide to support it or not.
And this replaces the giftwraps which were previously implemented in Amethyst Incognito DMs?
Ah, giftwraps is NIP24, and that's still there in the latest Amethyst.
So, what's the new thing for DMs?
Nip44 is used by GiftWraps, which is used by nip 24. :)
Of course, that makes sense!
Nipception
:)
How are you checking the MIME type by pinging the server?
I check for opengraph's info for preview cards in every url. Thus, I end up hitting the server even for images and videos. When that happens, you also receive the content-type of the file in the HTTP header. I use that to determine how to render the media.
I still check extensions first, but that has proven to be problematic (some image servers serve different formats, other urls have query params that affect the discovery and many don't actually offer extensions at all).
Scrolling seems to be quite a bit smoother after this update. 🤘
Images are all blury
Cool. I wasnt sure if there was another trick besides OpenGraph. Thats what we use in Nos, but it’s slow and causes the cells to change size which makes scrolling less comfortable.
早速DM部分に改修入れてるのね〜!
View quoted note →
NIP44v2 coming to Nostra soon!
https://image.nostr.build/c244ad8e620316af183b301a68fa09175a9bb7cc63e4acf204a12f89eee5bd38.jpg#m=image%2Fjpeg&dim=1083x1005&blurhash=%3B15E%2C0_3oyM%7BM%7BM%7BM%7BNFRjWVayj%5Bofj%5Ba%7Cj%5BfkayM%7CWBj%5Bofofoffkayj%3Fs%3AofayWBa%7Bj%5Bj%5BoMoMM%7BRjoft7ofofj%5Bf6ayoLjufRa%23j%5Bofa%7Bayf6M%7BWBj%5Bofofofofj%5Bj%5BkCj%5Df8jaf8ayjsj%5Bfk&x=835335401ca93f5dd623c65597ae4293da963ffe36cc62040df3899620601995
GitHub
GitHub - lontivero/Nostra: A F# library for Nostr
A F# library for Nostr. Contribute to lontivero/Nostra development by creating an account on GitHub.
The only way to trully solve this is to either have a server that can provide image sizes or download everything before showing on the feed. There are hacks like the imeta tag or nip54, but those depend entirely in the writer client including them, which is not ideal for the receiving client.

GitHub
NIP-54 - Inline Resource Metadata by arthurfranca · Pull Request #521 · nostr-protocol/nips
It extracts the best from the previous discussion.
One additional upside is that when the regular user right clicks an image and copies then pastes...
@Vitor Pamplona I love the statistics chart in the notification section, could we also see the amount of sats sent through zaps? And maybe also having the possibility to look a 2/4 weeks chart time? 💜🫂🍀
https://i.nostr.build/LvGm.jpg#m=image%2Fjpeg&dim=1080x868&blurhash=%2316QxK%2540%2C%25yB%3AXl%23R%23A%2CB9hR%2B-n%24Q-%3AxqV%40a%24t73ESvzp%239%5D-NHEytOBo%5BC-AJUJ8x%5DjbM%7Bs-jvW8i%7BMyXPo%7D%24iRPIp%5EOVrWERjs%2BkDaOWANa-B4%3A%24z%24%24EhS%24jGwvoJWD&x=8f6054dc68c9e39f72b55f30090673ee006b7f506e4288dcc2fcdb943f58d880