Oddbean new post about | logout
 #Amethyst v0.81.3: Shopstr and NIP-88 support

https://image.nostr.build/914bcdceca1ea2b9f6ac205e687ff7860242008d24fa83cfca52b0b8c2e90081.png

This version improves the rendering of Classifieds and adds an option to DM the seller directly in the post. It adds support for nostr.wine's NOTIFY spec (NIP-88) that allows relays to display messages when subscriptions are expired or another payment is requested. We also migrated our block list to the `kind:10000` as requested by this [PR](https://github.com/nostr-protocol/nips/pull/880). We also completely restructured the way events are signed to better support Amber's async calls and slighly improved our performace and data usage in many parts of the app. 

Enjoy!

- Massive refactoring to unify our internal signer with Amber's signer in all supported events
- Adds [NIP-88](https://github.com/nostr-protocol/nips/pull/901) NOTIFY request support
- Migrates our Block list to `kind:10000`
- Fixes the breaking of @s when other words are combined with the nostr address
- Adds default encryption and decryption permissions to the Amber login call to avoid multiple Amber screens open at once by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
- Adds support for sending/receiving/approving multiple events at once by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
- Adds a chat with seller flow to ShopStr's event rendering.
- Reduces the amount of downloads to build the Notification chart of the week
- Immediatly force-closes the WebSocket when leaving the app
- Narrows the re-downloads of event reactions down
- Fixes the blue notification dot appearing when the user receives a notification from a blocked account before downloading the blocklist
- Fixes URL Preview card when websites use a blended version of multiple open graph specs
- Adds a geohash mipmap to event tags
- Reduces multiple reconnections to relays when the app cold starts. 
- Adds back arrow button to the top of the Nav bar of the Thread view.
- Fixes race conditions when opening videos at the same time
- Fixes spacing when drawing POW and Geolocation at the same time
- Runs the translation as the UI Scope instead of ViewModel's
- Migrates the event's tag list from List to Array to save some bytes. 
- Increases connection timeouts when on mobile data.
- Improves the EOSE logic when creating filters by grouping filter requests with similar `since`clauses
- Fixes video release coroutine being killed by Android, leaving the Video playing in the background
- Adds a cache of the total amount of Zaps per note
- Allows sat amounts up to 4 digits without abbreviation @vicariousdrama
- Improves the rendering of LN Invoice Previews.
- Fixes error message when parsing LnInvoice
- Updates several dependencies

Updated translations for: 
- Czech, German, Swedish and Portuguese, Brazilian by nostr:npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
- Spanish, Mexico and Spanish, United States by nostr:npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
- Hungarian by nostr:npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
- Chinese Simplified by https://crowdin.com/profile/stella2023
- Persian by nostr:npub1cpazafytvafazxkjn43zjfwtfzatfz508r54f6z6a3rf2ws8223qc3xxpk

Download:
- [Play Edition](https://github.com/vitorpamplona/amethyst/releases/download/v0.81.3/amethyst-googleplay-universal-v0.81.3.apk )
- [FOSS Edition - No translations](https://github.com/vitorpamplona/amethyst/releases/download/v0.81.3/amethyst-fdroid-universal-v0.81.3.apk )