Amethyst v0.88.0: Performance Mode & Performance Improvements
Amethyst is a free and open source Nostr client for Android.
- "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