Replying to Avatar Vitor Pamplona

#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 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:

- [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 )

Wow these are some long release notes 😅

nostr:nevent1qqs2wp9pzv6w6nlxl3hwd7y9dahsqhdrxez8wpsk79phlzetfz949vgprpmhxue69uhkummnw3ezuendwsh8w6t69e3xj730qgsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqrqsqqqqqp9d96a9

Reply to this note

Please Login to reply.

Discussion

No replies yet.