Amethyst v0.88.0: Performance Mode & Performance Improvements

Amethyst is a free and open source Nostr client for Android.

Amethyst v0.88.0: Performance Mode & 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," announced developer Vitor Pamplona.
  • Download via Obtainium or Zap.Store.

What's new

  • 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

Bug Fixes

  • 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
  • Fix hidden notes when hidden words is empty
  • 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, Portuguese, Hindi, Polish, French, Spanish, Chinese, Dutch.

Code Quality Improvements

  • Removes old Robohash bitmap-based generation
  • Upgrades Compose, Lifecycle and Fragments

Announcement / Archive
GitHub Repo