Skip to content

Releases: vitorpamplona/amethyst

Release v0.86.0 Draft Support

04 Apr 21:32
Compare
Choose a tag to compare

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 nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
  • Adds autosave for Drafts by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
  • Adds edit draft in the dropdown menu and the long press popup by nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
  • Adds a Draft feed screen for all posts
  • Adds new algorithm to parse OpenGraph tags by nostr:npub168ghgug469n4r2tuyw05dmqhqv5jcwm7nxytn67afmz8qkc4a4zqsu2dlc
  • 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 nostr:npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef

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 nostr:npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
  • 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 nostr:npub168ghgug469n4r2tuyw05dmqhqv5jcwm7nxytn67afmz8qkc4a4zqsu2dlc
  • 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 nostr:npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
  • French by nostr:npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz
  • Dutch by nostr:npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd
  • Swahili by nostr:npub1q6ps7m94jfdastx2tx76sj8sq4nxdhlsgmzns2tr4xt6ydx6grzspm0kxr
  • Chinese by nostr:npub1raspu6ag9kfcw9jz0rz4z693qwmqe5sx6jdhhuvkwz5zy8rygztqnwfhd7
  • Bengali by nostr:npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t
  • Hungarian by nostr:npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
  • Czech, German, Swedish and Portuguese by nostr:npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
  • Arabic by nostr:npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t
  • Thai by nostr:npub1tr66yvqghfdgwv9yxhmg7xx6pvgvu5uvdc42tgdhsys8vvzdt8msev06fl and nostr:npub1vm0kq43djwdd4psjgdjgn9z6fm836c35dv7eg7x74z3n3ueq83jqhkxp8e

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 nostr:npub1yaul8k059377u9lsu67de7y637w4jtgeuwcmh5n7788l6xnlnrgs3tvjmf
  • 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:

Read more

Release v0.85.3

Release v0.85.1: Medical Data fix

04 Mar 17:11
Compare
Choose a tag to compare

Release v0.85.0 Edits, Git, Embed, etc

04 Mar 14:24
Compare
Choose a tag to compare

Adds support for post edits, post forks, pull requests, open timestamp, git repositories, issues, patches and replies, wiki pages and some medical data.

New Additions:

  • Adds support for editing of notes (NIP-37 / kind: 1010)
  • Adds support for sending edit proposals.
  • Adds embeded events in NIP-19 uris
  • Adds support for NIP-03: OpenTime Stamp attestations (kind: 1040)
  • Adds support for Decentralized Wikis (event kind 30818)
  • Adds basic support for NIP-34: Git repositories (kind 30617), patches (kind 1617), issues (kind 1621) and replies (kind 1622).
  • Adds rendering support for FHIR payloads (kind 82).
  • Adds support for the q tag
  • Adds early support for Kind1 forks.
  • Sets zap splits automatically for quotes and forks
  • V4V: Ask for donations in the Notification page
  • Adds relay icon rendering from the NIP11 document

Bug Fixes:

  • Fixes the text's vertical alignment when emoji's are present
  • Fixes DM Chatroom edit button
  • Fixes the crash when images are not being present in the image dialog.
  • Inserts uploaded URLs where the cursor is and not at the end of the new post.
  • Fixes the rendering of Japanese characters, hashtags and custom emojis in the same line.
  • Fixes the dissapearance of some Quartz classes when exporting to maven
  • Fixing stack overflow with more than 200 zaps in a single note.
  • Fixes image preview visualization on a new post
  • Adds support for a new report option as Other
  • Fixes missing nsec processing when parsing NIP-29 uris
  • Fixes caching issue when creating a Bitcoin invoice for the first time
  • Fixes UI issues due to the caching of Polls
  • Better aligns post header elements
  • Fixes bug with NIP-11s with null kind arrays
  • Fixes quote and repost notes partially disappearing when they contain hidden users or words.
  • Fixes content title for the video playback notification

Updated translations:

  • Hungarian by @npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
  • Spanish, Spanish, Mexico and Spanish, United States by @npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
  • French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz
  • Swahili by @npub1q6ps7m94jfdastx2tx76sj8sq4nxdhlsgmzns2tr4xt6ydx6grzspm0kxr
  • Czech, German, Swedish and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
  • Arabic by @npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t
  • Dutch by @npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd

Performance Improvements:

  • Improves the speed of the text parser
  • Reduced memory footprint of navigation buttons
  • Faster hex validation
  • Increases the speed of the Robohash SVG to byte buffer function
  • Adds Benchmark tests for the content parser
  • Adds Benchmark tests for the url detector
  • Speeds up image compositions
  • Improves relay list NIP-11 caching
  • Faster Longform tag filters
  • Speeds up the loop through local cache
  • Improves the speed of Location services
  • Improves the cache of LnInvoices
  • Improves cache of cashu tokens
  • Reduces memory footprint for parsed posts.

Code Quality Improvements:

  • Moves content parsers and media classes to commons.
  • Moves emoji parsers to commons
  • Moves Wallet Connect code to Quartz
  • Moves Relay information code to Quartz
  • Removes dependency on Kotlin serialization
  • Adds a release draft generator to CI
  • Updates Vico, Compose UI Version, Coil and Google Service dependencies
  • Refactors the code to manage extra characters after Bech32 Links
  • Moves to Android Studio Iguana | 2023.2.1
  • Moves gradle to 8.4
  • Moves project to version catalogs

Release v0.84.3: Emoji Passwords in NIP49

16 Feb 21:11
Compare
Choose a tag to compare

#Amethyst v0.84.3: NIP-49 Emoji Password fix

If you exported your secret key with any composable Unicode characters as passwords (like an emoji), please export it again.

Bugfixes:

  • Counts any quoted post as retweets in the notification stats
  • Avoids the need to p-tag the user to count as a mention
  • Normalizes passwords to Unicode's NFKC in NIP49
  • Adapts Scrypt lib to support empty keys

Code Quality Improvements:

  • Refactors clickable text and notification feed filter
  • Updates secp256k1

Download:

Release v0.84.2: Fixes text alignment issues

15 Feb 16:16
Compare
Choose a tag to compare

#Amethyst v0.84.2: Text alignment fix

Bugfixes:

  • Fixes link misalignment in posts

Updated translations:

  • Czech, German, Swedish, and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
  • French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz

Download:

Release v0.84.1 Support for NIP-49

14 Feb 23:02
Compare
Choose a tag to compare

#Amethyst v0.84.1: ncryptsec support (NIP-49)

Now you can export and log in with a password-protected version of your private key. This new format starts with ncryptsec and requires inputting a password to decrypt the key before loading it into a client. Keep in mind that the new format is not designed to replace your nsec, but to work side-by-side with it. Keep your nsec in the safest place you can and use the ncryptsec to move your key between devices, deleting it as soon as you are done with the transfer.

New Additions:

  • Adds support for NIP49 to login and back up key screens
  • Adds cryptographic support for NIP-49 to Quartz
  • Enables citation on chats via @
  • Adds "₿itcoin" to the set of custom hashtags

Updated translations:

  • Portuguese by @npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
  • Hungarian by @npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
  • Dutch by @npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd
  • Chinese by @npub1raspu6ag9kfcw9jz0rz4z693qwmqe5sx6jdhhuvkwz5zy8rygztqnwfhd7

Performance Improvements:

  • Avoids the memory use of the flatten operation on Notification counters
  • Adds a check for the main thread when pulling opengraph tags.
  • No need to crossfade when clicking on Show More

Code Quality Improvements:

  • Updates Compose dependencies

Download:

Release v0.83.13: Community and Public Chats early support

12 Feb 21:20
Compare
Choose a tag to compare

New Additions:

  • Adds background support for community and public chat list events from NIP-51
  • Removes the confusing notification dot of the discovery tab

Bugfixes:

  • Fixes thread rendering when mention events are added without mentioning any event.
  • Unwrapps the reply message if the GiftWrap was tagged as a reply instead of the correct message id.
  • Fixes Send to Top in the marketplace
  • Fixes text-to-voice accessibility issues in the main feed UI
  • Inverts the order of the hidden users in the security screen: last blocked goes first
  • Fixes crash when mute list has e tags that are not valid hexes
  • Fixes crash when opening an incorrect nostr: uri

Updated translations:

  • Czech, German, Swedish, and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
  • French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz

Performance Improvements:

  • Moves language translation cleanup to the IO thread since it clears disk files as well
  • Small adjustments in the re-use of modifiers

Code Quality Improvements:

  • Small refactoring to focus the encrypted storage procedures to the application context.

Download:

Release v0.83.12

06 Feb 01:44
Compare
Choose a tag to compare

Performance Improvements:

  • Improved scroll performance with faster text parsing tools

Release v0.83.10: Bug Fixes

05 Feb 17:54
Compare
Choose a tag to compare

#Amethyst v0.83.10: Bug Fixes

New Additions:

  • Adds Horizontal Scroll to the action buttons in the New Post screen to partially fix hidden buttons in small/thin screens.

Bugfixes:

  • Fixes crash with an invalid custom Zap Amount
  • Fixes relay re-connection issues when the relay closes a connection
  • Fixes the top padding of the quoted note in a post
  • Optimizes memory use of the visual user and url tagger in new posts

Updated translations:

  • Persian by @npub1cpazafytvafazxkjn43zjfwtfzatfz508r54f6z6a3rf2ws8223qc3xxpk
  • French and English, United Kingdom by @npub13qtw3yu0uc9r4yj5x0rhgy8nj5q0uyeq0pavkgt9ly69uuzxgkfqwvx23t

Performance Improvements:

Code Quality Improvements:

Download: