Releases: vitorpamplona/amethyst
Release v0.88.0: Performance Mode
#Amethyst v0.88.0: Performance Mode and Performance improvements
This version adds several performance improvements and includes a new UI mode in Settings that is designed for older phones. On that mode, all CPU-based animations are disabled, the use of transparency is minimized and the individually-generated robots are replaced by a static image. We also recommend disabling the Immersive Scrolling when using older phones.
Features:
- Adds performance mode on Settings
- Adds login with NIP-05 address
- Adds outbox relays to zap request: sender, receiver and author relays.
- Adds the NIP-65 relay to zap split tag instead of kind3 relays.
- Adds support for AVIF images
- Adds flare.pub videos to the media tab
- Replaces the post view count for a Share icon in the main feed.
Performance Improvements:
- Centralizes stringResource calls to cache them and avoid disk use
- Removes several unecessary UI states created during rendering
- Moves uncited hashtag parsing to a thread
- Replaces InputButton for ClickableBox to avoid loading colors during rendering
- Switches Social Icons mip-mapped PNGs to faster SVG versions
- Faster calculation of uncited hashtags in content
- Improves the speed of Robohash rendering
- Moves chatroom user group away from immutable sets
- Speeds up long-press Quick Action menus
- Optimizes NIP-11 fetch and avoids requesting twice in the same minute
- Redesigns the UI Components of the relay icons better performance
- Creates a relay flow cache to speed up the relay layout
- Combines hidden and reporting flows in a new cache
- Removes post reports Live data
- Refactors Full Bleed design of the master note
- Unifies Hidden and Report checks between the Video Feed, the Full Bleed Design and the Card layout.
- Adds a hashcode cache to speed up O(1) requests of spam and blocked user public keys
- Minimizes memory alloc by adding a native forEach and Map functions in the event's tag array
- Reduces double launch of co-routines
- Improves memory use of updates to the subscription after EOSE events
- Simplifies intrinsic size calculations for Image Previews and Videos
- Improves rendering time of chat messages
BugFixes:
- Fixes the inconsistency of button animation size in the reaction row
- Fixes the inconsistency of the Zap button graphics
- Fixes the Giftwraps query by EOSE date mismatch
- Fixes the keyboard's Go Button action on new user screen
- Stops redirecting when resolving nip05 addresses by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
- Fix hidden notes when hidden words is empty by @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
- Fixes Url Preview crop when the image is too small or to big for the preview card.
- Better error messages when NIP-11 queries fail
- Fixes use navigateUp instead of popBackStack to avoid closing the app on double clicks on the back button
- Fixes the centered url on videos without active playback
- Fixes the padding of the reaction row on quotes
- Solves notification dots appearing on the navigation bar due to a hidden post
- Increases the download limit for reactions/zaps to events from 100 to 1000
- Fixes zap split rounding precision
- Fixes padding of the zap raiser
- Avoids showing error message if devs have removed their lnadress on the Zap the Devs card.
- Fixes padding and border of the zap split section on the master note
- Removes gray border in image urls that couldn't be loaded.
- Fixes alignment of reactions
- Fixes not centered Blank Notes
- Fixes scrollable drawer for all screen sizes
- Fixes search limits for profiles from 100 to 1000 events
- Re-normalizes all relays urls before connecting to reduce duplications
- Fixes the jittering from resizing Videos and Images during loading.
- Fixes landscape video centralization
- Forces relay URLs to be single line.
Updated translations:
- Czech, German, Swedish and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
- Hindi by @npub1ww6huwu3xye6r05n3qkjeq62wds5pq0jswhl7uc59lchc0n0ns4sdtw5e6
- Polish by @npub16gjyljum0ksrrm28zzvejydgxwfm7xse98zwc4hlgq8epxeuggushqwyrm
- French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz
- Spanish by @npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
- Chinese by @npub1raspu6ag9kfcw9jz0rz4z693qwmqe5sx6jdhhuvkwz5zy8rygztqnwfhd7
- Dutch by @npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd
Code Quality Improvements:
- Removes old Robohash bitmap-based generation
- Upgrades Compose, Lifecycle and Fragments
Release v0.87.7: Revert Save button
- Reverts Image dialogs to have a separate save button
- Adds save button to video player.
- Fixes not centered Blank Notes
- Fixes scrollable drawer for all screen sizes
Release v0.87.6: AOSP-based keyboard Fix
- Fixes relay drops and difficulty in connecting when switching WIFI to Mobile
- Fixes the scrolling of the followed hashtags feed on User Profile
- Fixes crashing when tagging users with old AOSP-based keyboards
- Adds query by hashtag in reposted notes
- Fixes inbox.nostr.wine Pay Notification when already paid
- Performance: Moves OTS attestations local cache to a flow instead of live data
- Restructures video and image views and dialogs to avoid some buttons getting on top of one another
- Fixes videos re-starting from 0 when clicking in the Playing Video notification card
- Performance: Moves the video release to a threadsafe procedure
- Fixes fiatjaf search: Adds larger search limits for profiles
Release v0.87.5: Re-normalizes all relays
- Re-normalizes all relays urls before connecting to reduce duplications (d10b4c6)
- Normalizes all new relays in the edit screens.
- Adds flare.pub videos to the media tab on Amethyst
- Performance Improvements: Simplifies intrinsic size calculations for Image Previews and Videos
- Improves rendering of chat messages
- Fixes the jittering from resizing Videos and Images during loading.
- Fixes video cut off when loading
- Fixes blurhash covering videos in landscape
- Fixes landscape video centralization
- Fixes chat using Two Pane layout for landscape and regular for portrait
- Improving the detection of image types on the Media Feed.
Release v0.87.4: Fixes Live Streaming getting stuck
Release v0.87.3: Fixes for using the wrong relays for DVMs.
Release v0.87.2: Relay connection bugfix
Release v0.87.1: BugFix missing notification dot
Release v0.87.0: DVMs and Gossip
#Amethyst v0.87.0: Data Vending Machines (DVMs) and Gossip Model
This version adds support for Data Vending Machines for content discovery. You can request a job by simply navigating to the 4th tab and choosing one of the DVMs. It also starts our support for the Inbox/Gossip model. The relay setup screen has been rewritten to support the many types of relays Amethyst will start to use. Please add your relays as you see fit.
Our video caching system has been improved. Most of the high-bandwidth use of the app in the last month has been due to a faulty caching system for some video types. The app was just downloading them at every playback. In a similar way, the caching system for encrypted events has been massively improved. The app should feel visibly lighter at this point.
If you generated your keys from NIP-06 seed words you can now type them on the login screen to start the app. We are not generating seeds yet, but this will be available in the upcoming versions.
We are also moving to deprecate and remove most of the NIP-04 usage in the app. In the future, users won't be able to send new NIP-04 DMs but the history of past DMs will be available for as long as we can support it.
Features:
- Adds support for NIP-90, data vending machines by @npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8
- Adds support for discovery content DVMs in the discovery tab by @npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8
- Adds support for paid DVMs by @npub1nxa4tywfz9nqp7z9zp7nr7d4nchhclsf58lcqt5y782rmf2hefjquaa6q8
- Adds support for NIP-06 seed word key derivation (bip32 and bip39) when logging in
- Adds support for NIP-65 relay lists
- Adds support for NIP-17 private DM relay lists
- Adds support for private relay lists to save Draft events
- Adds support for local relays as a separate relay set, saving locally only.
- Adds message + dialog to setup Search relays when searching
- Adds message + dialog to setup DM relays when messaging
- Adds signString method for Amber by @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
- Prefers NIP-65 relays for zap request relay tags
- Prepares for NIP-96 server list integration
- Adds paste from clipboard button to NWC screen by @npub1w4uswmv6lu9yel005l3qgheysmr7tk9uvwluddznju3nuxalevvs2d0jr5
- Moves video compressing quality to medium instead of low
- Adds recommended amounts for the Zap the Devs
- Reduces default zap amounts due to the change of Bitcoin price
- Allows the new post's relay selection dialog to pick any relays (instead of just writing relays) by @npub10npj3gydmv40m70ehemmal6vsdyfl7tewgvz043g54p0x23y0s8qzztl5h
- Improves Zap efficiency for large zap splits
- Adds a queue of commands while the relay connects
- Makes sure only one connection per URL is made when doing splits
- Removes unnecessary Amber calls when decrypting private zaps
- Improves Zap error messages to include the lnaddress of the error
- Displays Zap Split error messages in sequence instead of in multiple popups.
Bug Fixes:
- Waits 500ms before restarting all connections when saving new relays
- Automatically deactivate writes for search relays (they are read-only)
- Overrides pubkey to avoid impersonators on seals.
- Fixes the rendering of replies on wikipages.
- Fixes duplicated imeta tags when uploading the same image twice
- Removes reposts from the Dot Notification in the home's bottom bar icon
- Fixes a white space when including an image url after a new line
- Fixes alignment of the like icons after the like event
- Fixes wrong display of original and forked notes
- Improves the rendering of Channels and Communities when quoted
- Slightly better rendering Drafts in the thread
- DecimalFormats are not thread safe, moving them to thread objects
- Block error messages from closing the Zap split payment screen
- Better formats zap amounts (don't show .0 if the previous numbers are large)
- Fixes the offset position of the payment amounts on the Zap the Devs message
- Fixes Copy Text function of DraftEvents
- Fixes top bar lists not updating when following communities and hashtags.
- Show toast error if unable to hide words by @npub10ug9xs24ay5339agakaqk556t6zvq9qn5vm0vlhc4pu25cx0l32qxhrm9e
- Adds Autofocus when entering the search screen by @npub10ug9xs24ay5339agakaqk556t6zvq9qn5vm0vlhc4pu25cx0l32qxhrm9e
- Fixes the use of Global-active relays in the Global Feed
- Fixes special chars on URL previews by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
- Fixes the lack of refresh when adding hidden words in the Security filters
- Makes sure only one buffering action is run for each video view
- Increases timeout to Tor connections
- Fixes a bug with
signature-null
in the sig of events from Amber
Updated translations:
- Czech, German, Swedish and Portuguese by @npub1e2yuky03caw4ke3zy68lg0fz3r4gkt94hx4fjmlelacyljgyk79svn3eef
- French by @npub106efcyntxc5qwl3w8krrhyt626m59ya2nk9f40px5s968u5xdwhsjsr8fz
- Polish by @npub16gjyljum0ksrrm28zzvejydgxwfm7xse98zwc4hlgq8epxeuggushqwyrm
- Dutch by @npub1w4la29u3zv09r6crx5u8yxax0ffxgekzdm2egzjkjckef7xc83fs0ftxcd
- Hungarian by @npub1ww8kjxz2akn82qptdpl7glywnchhkx3x04hez3d3rye397turrhssenvtp
- Swahili by @npub1q6ps7m94jfdastx2tx76sj8sq4nxdhlsgmzns2tr4xt6ydx6grzspm0kxr
- Thai by @npub1vm0kq43djwdd4psjgdjgn9z6fm836c35dv7eg7x74z3n3ueq83jqhkxp8e
- Hindi by @npub1ww6huwu3xye6r05n3qkjeq62wds5pq0jswhl7uc59lchc0n0ns4sdtw5e6
- Spanish by @npub1luhyzgce7qtcs6r6v00ryjxza8av8u4dzh3avg0zks38tjktnmxspxq903
Performance Improvements:
- Optimizes Blurhash generation (4x gains)
- Speeds up the URL finder in the new post edit text (8x gains).
- Reduces the use of background colors to improve rendering speeds (15% gains).
- Refactors Giftwrap caching to delete encrypted text and reload the wrap if necessary (20x savings in memory use).
- Changes message wrap host to a host stub to reduce memory use
- Only download GiftWraps form 2 days past the last EOSE
- Moves the thread formatter and calculator out of Note to avoid memory use
- Slight improvement on the thread view for badges
- Unifies NIP01 Serialization with SHA-256 procedures to reduce the creation of several byte arrays at every verification
- Minimizes costs of keeping track of the number of events received per subscription
- Moves ClientController executor to a thread
- Speeds up ID calculations for Amber's Intent call
Code Quality Improvements:
- Major refactoring of the Relay List screens
- Refactors Relay URL formatter to Quartz
- Adds new observer structure for the LocalCache
- Moves Blurhash code to the commons module
- Updates UnifiedPush by @npub1a3tx8wcrt789skl6gg7rqwj4wey0j53eesr4z6asd4h4jwrd62jq0wkq4k
- Migrates to the latest Kotlin, Compose, and AGP 8.4.1 and several other dependencies
Download:
Release v0.86.5
Enables Mutiny Wallet NWC
Removes the use of DM relays to find events due to private inbox settings
Adds vertical scrolling on the Zap page for collaborators.
Avoids decrypting existing Nostr events just to add the relay into the relay list.
Calculates hash in the IO thread from Compose's scope.
New Crowdin translations by GitHub Action