What is Nostr?
calle 👁️⚡👁️
npub12rv…85vg
2024-04-04 22:05:28

calle 👁️⚡👁️ on Nostr: Amethyst doesn't stop delivering. ...

Amethyst doesn't stop delivering.

#Amethyst v0.86.0: Draft Support

This version adds support for draft notes autosaved on your relays, a new simplified UI choice on Settings, changes the Discover tab algorithm to show the latest of chats and communities and much more.

Features:
- Draft notes for feeds, replies, live streams, public chats, NIP-04 DMs, GiftWrap DMs, polls and classifieds by greenart7c3 (npub1w4u…0jr5)
- Adds autosave for Drafts by greenart7c3 (npub1w4u…0jr5)
- Adds edit draft in the dropdown menu and the long press popup by greenart7c3 (npub1w4u…0jr5)
- Adds a Draft feed screen for all posts
- Adds new algorithm to parse OpenGraph tags by jiftechnify (npub168g…2dlc)
- Adds a Simplified UI setting to both feeds and chats
- Moves the username play button to the profile page.
- Adds link to the version notes when clicking in the version in the drawer
- Brings new git Issues and Patches to the Notification
- Filters out too many reposts of the same note when on the main feed
- Updates the bootstrap relay list
- Adds missing classes to support WebServer connections in the Video Playback
- Slightly reduces line height for improved readability
- Reduces the space between chat bubbles.
- Migrates shareable links from habla.news to njump.me
- Restructures the Discover Tab to show the Chats and Communities with the most recent new content.
- Adds a bot field to the user info
- Adds k-tag to the Deletion events
- Adds button to load Zap Splits from the cited users in the text
- Several accessibility improvements by ⚡ Dee Kay ⚡🇸🇪🇬🇧🇨🇿🇧🇷🇦🇹 (npub1e2y…3eef)

Bug Fixes:
- Fixes the post cut-off when the post has massive string chars without spaces or new lines
- Fixes missing Fhir Classes on Release
- Don't show the button to edit the post if the author of the original post is not the logged in user
- Fixes crash parsing multiple results from Amber by greenart7c3 (npub1w4u…0jr5)
- Fixes the load of edits on a new edit proposal
- Fixes forking information kept from a previous post
- Fixes search on binary content
- Fixes space after clickable user display
- Centers Blank Note when post was hidden by the user.
- Accepts JSON events with escaping errors
- Fixes the parsing of user metadata events several times due to large coroutine backlog
- Fixes Scheduled Tag in LiveStreams
- Fixes the isOnlineCheck for nostr nests.
- Fixes sorting contract issues when follow status and user names are the same between keys
- Fixes tickmarks on dropdowns
- Checks if a Classified is wellformed before rendering
- Fixes size and alignment of the text when the live stream video is not present.
- Fixes some imports for benchmarks
- Fixes infinite Quotation issue (3 quotes are allowed).
- Fixes crashing with too many videos in quoted posts.
- Fixes double Show More when the user has hidden a post and ALSO the user's followers have reported the post.
- Only shows OTS to the respective Edit
- Fixes a bug with the latest version of jackson
- Avoids showing machine-code errors when paying for zaps on external wallets
- Fixes too strict timing constraints for new posts (accepts up to a minute in the future)
- Fixes following of geotags
- Fixes lack of zap amount refresh after zapping a note.
- Fixes videos not being able to seekTo the zero position.
- Fixes layout issues of Blog Post summaries when images are not present.
- Doesn't show edits of blog posts in the User's Profile
- Fixes Amber's deep sleep: Adds a lifeCycleOwner listener to register external signers on resume
- Fixes missing context in some replies to blog posts.
- Adds a space after the Channel header in the reply rows
- Centralizes the counter after the list of participants in a live event.
- Fixes double mention to Community headers when seeing a reply to a community post.
- Fixes Chat preview images when no image has been set.
- Fixes the display or Zap Events when All Follows is selected in Notifications
- Fixes the reply event finder for the reply row of text notes
- Makes hidden cards full width on the discovery feed
- Fixes the width of muted messages on chat feeds.
- Fixes the feed updates after list selections on the Discovery pages.
- Realigns the reaction icons and texts between main feed and video feed.
- Fixes garbled URL preview for non-UTF-8 HTML by jiftechnify (npub168g…2dlc)
- Adjusts icon sizes on the galleries
- Avoids publishing with two equal `t` hashtags when the user already writes them in lowercase
- Limits the size of image previews from opengraph from being too big
- Fixes NPE with the cached state.
- Increases the push notification max delay to 15 minutes
- Fixes controller comparison for keep playing
- Fixes tag markers for replies in DMs
- Fixes layout of the reply row in chats
- Fixes lack of blurhash preview in some videos
- Fixes the lack of following mark on user pictures in chats
- Fixes the UI spacing for channels
- Fixes the use of filters that didn't discriminate the relay type setup
- Holds the state of Show More when switching edits and translations
- Renders DMs and live chats in the feed if they show up there
- Fixes contract violation when sorting users

Updated translations:
- Spanish by ⚡₿it₿y₿it⚡ (npub1luh…q903)
- French by anthony (npub106e…r8fz)
- Dutch by Bardesss (npub1w4l…txcd)
- Swahili by turi$mo (npub1q6p…0kxr)
- Chinese by rasputin (npub1ras…fhd7)
- Bengali by Cats (npub13qt…x23t)
- Hungarian by Zoltan (npub1ww8…nvtp)
- Czech, German, Swedish and Portuguese by ⚡ Dee Kay ⚡🇸🇪🇬🇧🇨🇿🇧🇷🇦🇹 (npub1e2y…3eef)
- Arabic by Cats (npub13qt…x23t)
- Thai by Siam Nostr (npub1tr6…06fl) and kritta (npub1vm0…xp8e)

Performance Improvements:
- Switches Robohash to Precompiled SVGs in order to reduce the memory burned of creating Strings with SVGs on the fly
- Restructures Data Access filters and LocalCache to use a ConcurrentSkipList instead of ConcurrentHashMap
- Only download video, image and audio files in NIP-94
- Updated hashtag icons for performance
- Avoids checks if a filter has changed before generating JSon strings
- Cleans up User Metadata upon receipt instead of in every rendering
- Simpler/Faster UserDisplay renderings
- Reduces video cache from 10 to 4 videos
- Removes coroutine use for Hashtags
- Brings the ZapForwarding icon to Compose
- Simplifies the algorithm to check if chatroom sender intersects with the follow list
- Avoids serializing temporary fields on Quartz
- Refactors views to the video and chat feeds
- Restructures NoteCompose for performance
- Restructures markAsRead to minimize threading cost
- Adds a large benchmark test for duplicate events
- Optimizing the performance of Highlight rendering
- After memory cleanup, only trigger liveData when it actually changes
- Minimizes memory use to calculate zaps
- Avoids triggering an error when decoding invalid hexes
- Reduces the amount of co-routines being launched in each LiveData update
- Migrates channel list and channel notes to LargeCache
- Removes the use of data classes to speed up comparisons
- Improves Nostr filter to bring public chat messages and avoid public chat creation and metadata updates
- Removes jsoup from dependencies
- Removes the need to observe author changes to event after loaded
- Turns hashtag icons into programmable vectors
- Moves the Following Vector to a native composable
- Removes unnecessary modifier layouts from the top bar
- Uses the cached thread pool instead of the scheduled thread pool for translation services
- Avoids launching coroutines that were just launched
- Makes a cache for Media Items
- Only changes the keep playing status if different
- Reduces recompositions after video/image hash verification
- Avoiding feed jitter when pressing the notification button twice

Code Quality Improvements:
- Breaks massive NoteCompose down into each event type
- Removes the release drafter plugin on actions. Too buggy
- Removes dependency of the Robohash from CryptoUtils
- Improves Preview helper classes
- Updates secp256k1KmpJniAndroid, compose, zoomable, media3, jackson and firebase libs
- Updates AGP to 8.3.1
- Deletes the old Settings local db
- Refactors some of the old display name structure
- Refactors Relay classes.
- Isolates the LargeCache forEach method to allow quick time measurements on filters
- Reorganizes classes in the commons lib
- Fixes test cases for nip96 uploaders
- Removes unused addMargin param
- Refactoring caching systems for the Compose layer
- Aligns the BOM between implementation and tests
- Refactors the use of dividers out of components
- Refactors composables to load events, check hidden and check report
- Fix Kotlin encryptDecryptTest to decrypt with swapped private and public keys to follow NIP-44 documentation by tyiu (npub1yau…vjmf)
- Finishes the migration of People List updates from LiveData to Flow
- Migrates all Refreshable feeds to the Refreshable box component
- Refactors cache methods in GiftWraps
- Migrates Media3 Videos to the DefaultMediaSourceFactory

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