Amethyst v0.81.3: Shopstr and NIP-88 support

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. 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 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 @greenart7c3
  • Adds support for sending/receiving/approving multiple events at once by @greenart7c3
  • 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 sinceclauses
  • 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