Do you have a link to the diff of v2?
#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 nostr:npub1ust7u0v3qffejwhqee45r49zgcyewrcn99vdwkednd356c9resyqtnn3mj
- Hungarian by nostr:npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
- Dutch by nostr:npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd
- Tamil by nostr:npub1q6ps7m94jfdastx2tx76sj8sq4nxdhlsgmzns2tr4xt6ydx6grzspm0kxr
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 )
Discussion
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: https://github.com/coracle-social/nips/blob/7f98a7b8849c16f9d324e0ea15db4efda0ee84fb/44.md
v2: https://github.com/nostr-protocol/nips/blob/master/44.md
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?