#Amethyst v0.93.0: Blossom, Olas, Around Me feeds and Interactive Stories.
Adds support for displaying NIP-63 Interactive Stories
Adds support for Blossom media servers
Adds support for Olas' Image feeds
Adds support for Around Me feed with posts that only show up in that location
New Features:
- New Android Image/Video Picker
- Adds support for pronouns on profile
- Migrates Video uploads from NIP-94 to NIP-71 Video events
- Migrates Picture uploads from NIP-94 to NIP-68 Picture events
- Adds support for BUD-01, BUD-02, and BUD-03
- Adds support for NIP-22 Comments
- Adds nip05 field to the hidden words filtering by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Adds support for q tags with addresses
- Adds search.nos.today to bootstrapping relays for search
- Adds DM and Search default buttons to the relay screens
- Adds hidden words filter to search, hashtag and geotag feeds
- Applies hidden words even to hashtags that were not included in the content of the event.
- Adds support for saving reactions, zaps, translations user preferences on private outbox relays
UI Improvements:
- Adds animations to the zap, reaction and boost popups by nostr:nprofile1qqsrv06lgp4ht6m0sxnj4gdy389k5a6j8chpfyllrcvdaanyrhpgy6sppemhxue69uhkummn9ekx7mp0qywhwumn8ghj7mn0wd68ytnzd96xxmmfdejhytnnda3kjctv9uq3qamnwvaz7tmwdaehgu3wd4hk6tcn9dn9s
- Lighter chat bubbles
- Date separators on chats
- Adds unfollow to note dropdown by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Improves (Show More) presence to only when it actually makes a difference.
- Adds UI for when the location permission is rejected.
- Improves error message for the signup page when the display name is blank
- Adds extra padding for the zap setup screen
- Pre-process search to avoid showing and hiding posts after hidden words where processed by the UI.
- Rotate on full screen video if the device orientation is not locked by nostr:nprofile1qqswc4nrhvp4lrjct0ayy0ps8f2hvj8e2guucp63dwcx6m6e8pka9fqpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9mhwden5te0wfjkccte9ec8y6tdv9kzumn9wshsz8thwden5te0dehhxarj9e3xjarrda5kuetj9eek7cmfv9kz7m6x5fq
BugFixes:
- Fixes account creation that follows itself
- Fixes translations of http urls
- Fixes search bug that mixed geohashes and hashtags
- Fixes issue with the order of multiple same-author events in a thread
- Fixes drafts appearing for other logged in accounts by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Fixes jumping of scroll when the thread updates
- Fixes app hanging when switching to accounts due to waiting to decrypt the blocked user list that might not exist
- Fixes initial decryption of mutelists when using amber by nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck
- Fixes crash on empty p-tags on new replies nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Fixes translations preferences changes running on the main thread by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Fixes some images being saved as videos nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Fixes missing notifications when multiple accounts tried to decrypt it
- Fixes lack of zap progress updates when there is a private zap the user cannot decrypt or when a nwc payment fails.
- Fixes saving the scrolling position when navigating between multiple threads.
- Fixes rendering cache of notes in thread view which kept replies in the wrong thread level
- Fixes reply level calculation caching
- Fixes poll's background rendering with the right percentages
- Fixes "null" strings on profile fields.
Code Quality Improvements:
- Refactors FeedStructures to prepare for custom feeds
- Updates Account architecture to operate feeds with location
- Custom Empty Feed Screen for Notifications
- Fully Deprecates note1, removing the last usages of the standard
- Removes unused encryption fields from NIP-94
- Moves the parallel processing amber calls to a utils class
- Refactors location to operate as a flow
- Unifies location Flows and geoHash Flows into one
- Make location flows react to changing location permissions on the fly
- Moves NIP-44 test model classes to a new file
- Improves GitHub actions to prepare debug apks in every commit
- Upgrades to Coil 3
- Updates AGP, kotlin, runtime, compose, camera, corektx, media3, firebase, fragment, navigation, jna, jackson, accompanist, kotlin serialization, mockk, coroutines-test and kotlin collections
Performance:
- Improves thread preloading
- Adds a cache for reply levels when viewing threads.
Updated translations:
- Czech, German, Swedish and Portuguese by nostr:nprofile1qqsv4zwtz8cuwh2mvc3zdrl5853g365t9j6mn25edlul7uz0eyzt0zcpz4mhxue69uhkummnw3ezummcw3ezuer9wchs8lukyd
- Dutch by nostr:nprofile1qqs82l74z7g3x8j3avpn2wrjrwn855nyvmpxa4v5pftfvtv5lrvrc5cpz9mhxue69uhkummnw3ezuamfdejj7tk0drp
- French by nostr:nprofile1qqs8av5uzf4nv2q80chrmp3mj9a9dd6zjw4fmz56hsn2gzar72rxhtcppemhxue69uhkummn9ekx7mp0qyg8wumn8ghj7mn0wd68ytnddakj7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcuvd26f
- Polish by nostr:nprofile1qqsdyfz0ewdhmgp3a4r3pxvezx5r8yalrgvjn38v2ml5qrusnv7yywg25ynng
- Chinese by nostr:nprofile1qqsyxnuhnymz0u0xru2watmqe25vlh8vzzje9jhlsfgvsff9942gc9gpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpr9mhxue69uhhyetvv9ujumt0d4hhxarj9ecxjmnt9uq3kamnwvaz7tmjv4kxz7fwwajhxar9wfhxyarr9e3k7mf0ey7g93
- Slovenian by nostr:nprofile1qqsqqqqqqp0fmkspg7w8d305ln96a0jw0ptwqtuwskkm5pddv2kkjfcpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qg3waehxw309ahx7um5wgh8w6twv5hsv9puet
- Thai by nostr:nprofile1qqsxdhmq2cke8xk6scfyxeyfj3dyancavg6xk0v50r023gec7vsrceqpp4mhxue69uhkummn9ekx7mqpzpmhxue69uhkummnw3ezuamfdejsz9rhwden5te0wfjkccte9ejxzmt4wvhxjmc25yu8l
- Bengali by nostr:nprofile1qqsgs9hgjw87vz36jf2r83m5zree2q87zvs8s7kty9jljdz7wprytyspremhxue69uhkummnw3ezu6m0de5kueedv3jkwunpv9nzumnv9uq3kamnwvaz7tm5d4cz6un9d3shjtnrv4ekxtn5wfskgef0qy28wumn8ghj7mn0wd68yt3k8quzummjvuhsg63aw2
- Hindi by nostr:nprofile1qqs88dt78wgnzvaph6fcstfvsd98xc2qs8eg8tllwv2zlutu8ehec2cpzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qg4waehxw309aex2mrp0yhxgctdw4eju6t09u24r32h
- Spanish by nostr:nprofile1qqs07tjpyvvlq9ugdpax8h3jfrpwn7kr72k3tc7ky83tggn4et9eangprpmhxue69uhkv6tvw3jhytnwdaehgu3wwa5kuef0qyghwumn8ghj7mn0wd68ytnhd9hx2tcpzamhxue69uhhyetvv9ujuen0w4h8gctfdchxvmgacqrg2
- Hungarian by nostr:nprofile1qqs88rmfrp9wmfn4qq4kslly0j8futmmrgn86mu3gkc3jvcjl97p3mcpzamhxue69uhhyetvv9ujumn0wd68ytnzv9hxgtcpz4mhxue69uhkummnw3ezummcw3ezuer9wchsz8nhwden5te0dehhxarj94c82c3wwajkcmr0wfjx2u3wdejhgtcqngjsj and nostr:nprofile1qqsxekg0s8kxpcrka8ccwztv2m73kz6jy0ur8f7jc04rwr5p44w5acspzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qgawaehxw309ahx7um5wghxy6t5vdhkjmn9wgh8xmmrd9skctcxc5pc7
- Persian by nostr:nprofile1qqsvq73w5j9kw573rtff6c3fyh953w45328n3625apdwc3548gr49gspzpmhxue69uhkummnw3ezumt0d5hszrnhwden5te0dehhxtnvdakz7qg3waehxw309ahx7um5wgh8w6twv5hsw0e34v