github vitorpamplona/amethyst v1.14.0
v1.14.0: New Share Intents, Faster Start

2 hours ago

What's Changed

  • Add NIP-84 highlights support: composer, feed, and share intent by @vitorpamplona in #3793
  • New Crowdin Translations by @github-actions[bot] in #3794
  • Desktop: profile screen parity — tabs, header actions, banner/bio, zaps by @nrobi144 in #3795
  • Work around a fatal media3 crash on Low-Latency HLS (LL-HLS), eg NoGoodRadio by @davotoula in #3796
  • Harden workflow-ship.sh and pin it with a regression harness by @davotoula in #3797
  • New Crowdin Translations by @github-actions[bot] in #3799
  • chore: sync geode Homebrew formula to v1.13.1 by @github-actions[bot] in #3802
  • chore: sync amy Homebrew formula to v1.13.1 by @github-actions[bot] in #3801
  • Add Pictures, Videos, Shorts, and Torrents feed types by @vitorpamplona in #3803
  • Address buzz CLI review findings; pin the wrapper copies and the amy arg surface by @davotoula in #3798
  • chore: sync winget manifests to v1.13.1 by @github-actions[bot] in #3805
  • New Crowdin Translations by @github-actions[bot] in #3806
  • Refactor chat bubble swipe gesture to use lower-level pointer APIs by @vitorpamplona in #3807
  • Fix flaky PeerUniStreamDrainTest by confining drainer to producer's event loop by @vitorpamplona in #3809
  • Make draft posts in thread view open edit screen on tap by @vitorpamplona in #3811
  • NIP-29: Channel deletion, archival, and Buzz community UI by @vitorpamplona in #3812
  • New Crowdin Translations by @github-actions[bot] in #3808
  • Consolidate NIP-71 video event types under shared interface by @vitorpamplona in #3813
  • Add Nostr badge watermark to notification icons by @vitorpamplona in #3815
  • Remove facepile from channel rows, simplify layout by @vitorpamplona in #3814
  • feat(nip73): show rich previews for external-content comments by @dmnyc in #3810
  • New Crowdin Translations by @github-actions[bot] in #3816
  • Confine Blossom cache probe and resolver to IO dispatcher by @vitorpamplona in #3818
  • perf(nip73): prefetch external-content preview URLs by @dmnyc in #3820
  • Extract RelayNameChip to shared component and add it to relay group message headers by @vitorpamplona in #3822
  • Fix Tor→clearnet fallback banner logic with live socket state by @vitorpamplona in #3823
  • Redesign channel invite cards as feed rows with metadata-only observers by @vitorpamplona in #3821
  • fix: quiet the default log, add a boot narrative, and stop pinning Concord entities across a Refounding by @vitorpamplona in #3819
  • Handle blank and malformed metadata gracefully by @vitorpamplona in #3824
  • Add media share targets for Pictures, Shorts, and Video feeds by @vitorpamplona in #3825
  • Fix metadata JSON parsing to use lenient parser consistently by @vitorpamplona in #3828
  • Listen only while foregrounded, and fix the meter that measures it by @davotoula in #3827
  • Fix ServiceType parsing to handle edge cases safely by @vitorpamplona in #3830
  • New Crowdin Translations by @github-actions[bot] in #3826
  • Fix SharedKeyCache hash collision vulnerability & add constant-time MAC comparison by @vitorpamplona in #3833
  • feat(relays): explain why every subscription exists, and fix what that exposed by @vitorpamplona in #3832
  • New Crowdin Translations by @github-actions[bot] in #3831
  • chore(actions): bump the actions group with 5 updates by @dependabot[bot] in #3834
  • Add optimized decode64/decode128 and encode64/encode128 to Hex by @vitorpamplona in #3837
  • NIP-66: measure relays from the traffic a client already makes by @vitorpamplona in #3836
  • Fix InProcessWebSocket race condition in connect-time AUTH delivery by @vitorpamplona in #3838
  • New Crowdin Translations by @github-actions[bot] in #3839
  • Let a monitor publish what it learned without dialling by @vitorpamplona in #3841
  • New Crowdin Translations by @github-actions[bot] in #3840
  • Add StoreQueryContext for observer-relative ranking in stores by @vitorpamplona in #3842
  • rtt-open is the transport's handshake, not our own queueing by @vitorpamplona in #3843
  • refactor: decouple LocalCache and Account god classes (behavior-preserving) by @vitorpamplona in #3844
  • Test: Type ExplainedFilter.copy() result as base Filter by @vitorpamplona in #3845
  • fix: request follower-count provider's 30382 cards in UserCardsSubAssembler by @vitorpamplona in #3846
  • Stop COUNT from inheriting the default page size by @vitorpamplona in #3848
  • Fix fetchAllPages cropping streaming pages; normalize accessory timeouts to idle windows by @vitorpamplona in #3850
  • New Crowdin Translations by @github-actions[bot] in #3849
  • fix(relay): stripe the subscription-state lock per relay to end an ANR convoy by @vitorpamplona in #3851
  • docs: Add three store-implementer skills (event-store-semantics, nip85, searchable-events) by @vitorpamplona in #3853
  • nip50Search: search grammar + weighted field extraction; nip01Core: shared store-semantics rules by @vitorpamplona in #3854
  • quartz/geode: sync accessories from vespa-relay, InsertOutcome.Failed contract, mirror resume coverage by @vitorpamplona in #3855
  • fix(relay): compare every filter in FiltersChanged, not just the first by @vitorpamplona in #3856
  • NIP-66 relay monitoring: streaming probes, read/write checks, URL fixes by @vitorpamplona in #3857
  • New Crowdin Translations by @github-actions[bot] in #3852
  • Support IPv6 overlay relays (Yggdrasil) with RFC 5952 canonicalization by @vitorpamplona in #3859
  • Fix URL detection to exclude quotes from parsed URLs by @vitorpamplona in #3860
  • SyncCoverage: one band interval cannot speak for several kinds by @vitorpamplona in #3862
  • Replace BackHandler with KeyboardAwareBackHandler in posting screens by @vitorpamplona in #3864
  • Suspend the incoming-message chain down to SubscriptionListener.onEvent by @vitorpamplona in #3863
  • New Crowdin Translations by @github-actions[bot] in #3861
  • New Crowdin Translations by @github-actions[bot] in #3867
  • Make the left drawer configurable by @davotoula in #3866
  • fix(media): stop rendering non-media NIP-94 files as video by @davotoula in #3868
  • fix(ime): settle the keyboard in Nav so every screen stops stranding imePadding by @vitorpamplona in #3870
  • New Crowdin Translations by @github-actions[bot] in #3869
  • negentropy: size reconcile windows from the caller's index, and state the relay's cap by @vitorpamplona in #3871
  • Stop the outbox getting slower with every publish by @vitorpamplona in #3872
  • Repair bare-subtype imeta MIME types so images can be shared by @davotoula in #3874
  • New Crowdin Translations by @github-actions[bot] in #3875
  • New Crowdin Translations by @github-actions[bot] in #3876
  • Quartz: give SyncCoverage's persistence a typed band key by @vitorpamplona in #3877
  • Rename parameters for clarity and consistency by @vitorpamplona in #3878
  • feat(resourceusage): measure why relay data is spent, not just how much by @davotoula in #3879
  • feat(concord): staff-held control_root write-gates the Control Plane (CORD-02 §2) by @alexgleason in #3873
  • New Crowdin Translations by @github-actions[bot] in #3880
  • fix(quartz): update NIP-66 relay records instead of rebuilding them by @vitorpamplona in #3882
  • fix(quartz): merge probe verdicts into the record they replace by @vitorpamplona in #3883
  • Let a drained paged walk close the sync leg below it by @vitorpamplona in #3884
  • New Crowdin Translations by @github-actions[bot] in #3881
  • fix(concord): close the soft-ban authority holes (audit A1–A4, B1, B2, B4) by @vitorpamplona in #3885
  • fix: stop reposts from being bundled with the always-on service notification by @vitorpamplona in #3886
  • Align napplet host with current NIP-5D and NAPs by @dskvr in #3858
  • quartz: make a paged walk terminate — floor the cursor at 0, stop when a relay ignores it by @vitorpamplona in #3889
  • feat(concord): close the CORD-05/06 invite lifecycle — Invite List, re-mint on Refounding, revocation by @vitorpamplona in #3888
  • negentropy: let a caller decline an id before the download REQ by @vitorpamplona in #3892
  • feat(desktop): per-visible metadata + reaction loading via shared finders in commons by @nrobi144 in #3890
  • New Crowdin Translations by @github-actions[bot] in #3891
  • fix(nav): switching between two pinned web-app tabs crashed onto the wrong one by @vitorpamplona in #3894
  • fix(embed): bring the keyboard back on a tap in an already-focused field by @vitorpamplona in #3895
  • Declare pointer hints on Report, ChatMessage, Classifieds and ChannelCreate events by @vitorpamplona in #3896
  • Add "Copy Original/Translated" chooser for translated notes by @vitorpamplona in #3897
  • feat(polls): extended poll results page with voter list by @vitorpamplona in #3898
  • New Crowdin Translations by @github-actions[bot] in #3893
  • Redesign relay auth permissions UI and decision flow by @vitorpamplona in #3899
  • Optimize locale application to skip redundant system calls by @vitorpamplona in #3901
  • Fix push registration to fail loudly on HTTP errors by @vitorpamplona in #3900
  • New Crowdin Translations by @github-actions[bot] in #3902
  • Add bulk audience picker for short-note composer by @vitorpamplona in #3903
  • New Crowdin Translations by @github-actions[bot] in #3904
  • Auth: recognize NIP-29 groups and Concord communities as joined venues by @vitorpamplona in #3906
  • perf: stop blocking coroutine workers on synchronous OkHttp calls by @vitorpamplona in #3907
  • NIP-42: wait for auth challenge resolution instead of timing out by @vitorpamplona in #3905
  • Remove maxTotalMs ceiling from fetchAll/fetchAllWithHooks by @vitorpamplona in #3908
  • Discoverable key backup: guided first-run save-your-keys + Settings backup (Desktop) + Android nudge by @nrobi144 in #3909
  • NIP-13: refresh created_at while mining, analyze GPU path by @vitorpamplona in #3911
  • New Crowdin Translations by @github-actions[bot] in #3910
  • feat: translate missing strings into cs, de-DE, sv-SE and pt-BR by @davotoula in #3912
  • Fix PDF preview layout stability and aspect ratio handling by @vitorpamplona in #3913
  • New Crowdin Translations by @github-actions[bot] in #3914
  • perf: scan note content by literal instead of driving the regex engine by @vitorpamplona in #3915
  • i18n fixes by @davotoula in #3916
  • perf: AOT-compile the relay ingest path with a baseline profile by @vitorpamplona in #3918
  • perf: drop the S (startup) flag from the hand-authored baseline profile by @vitorpamplona in #3920
  • build: add a baseline profile generator (:baselineprofile) by @vitorpamplona in #3919
  • New Crowdin Translations by @github-actions[bot] in #3917
  • feat(desktop): searchable settings accordion by @nrobi144 in #3922
  • New Crowdin Translations by @github-actions[bot] in #3924
  • perf: bound the dedup decoder cache in size and in time by @vitorpamplona in #3926
  • fix: blank parent card above a top-level community post by @davotoula in #3923
  • New Crowdin Translations by @github-actions[bot] in #3925
  • Bump dependencies and Gradle to latest stable versions by @vitorpamplona in #3927
  • New Crowdin Translations by @github-actions[bot] in #3928
  • feat: disable the automatic high resource usage prompt by @vitorpamplona in #3930
  • feat: default new accounts to always AUTH with relays by @vitorpamplona in #3931
  • Handle IME insets in full-screen napplet hosts by @vitorpamplona in #3932
  • Optimize PoWMiner hot loop for Android runtime by @vitorpamplona in #3935
  • fix: reclaim memory under heap pressure and stop leaking sandbox Activities by @vitorpamplona in #3936
  • New Crowdin Translations by @github-actions[bot] in #3929
  • fix: honour "always log in" for relays the account does not use itself by @vitorpamplona in #3937
  • Fix Cashu wallet balance truncation via proof backfill and history paging by @vitorpamplona in #3941
  • Mute public chats by @davotoula in #3939
  • feat: demote relay/ingest worker threads below the UI thread (~40% faster cold-start first paint) by @vitorpamplona in #3942
  • New Crowdin Translations by @github-actions[bot] in #3943
  • perf: scan hashtags and #[n] references without ICU by @vitorpamplona in #3945
  • perf: scan NIP-19 entities without ICU to stop the cold-start native-heap OOM by @vitorpamplona in #3944
  • fix: cache the painter on its first miss in painterRes by @vitorpamplona in #3946
  • perf: memoize guestbook envelope opens so the Concord fold stops re-decrypting the buffer by @vitorpamplona in #3947
  • Fix Buzz channel invite flickering by deriving from cache by @vitorpamplona in #3940
  • fix: give the invite roster line's member count its unit by @vitorpamplona in #3950
  • feat: keep invite replies, reactions and zaps inside the relay that sent them by @vitorpamplona in #3951
  • Make the "reading someone I follow" relay-auth toggle reachable, and scope Buzz per-account state to the account by @vitorpamplona in #3952
  • fix: collect buzzWorkspaces instead of reading .value in composition by @vitorpamplona in #3956
  • Add session grants for relay auth to survive reconnects by @vitorpamplona in #3955
  • ci: shrink MirrorSyncThroughputTest's corpus to 100k on CI by @vitorpamplona in #3957
  • feat(desktop): enrich the DM chat composer + message UX by @nrobi144 in #3953
  • Fix registry leak in subscription lifecycle by @vitorpamplona in #3958
  • New Crowdin Translations by @github-actions[bot] in #3948
  • Add Trusted Lists (kinds 30392-30395) implementation by @vitorpamplona in #3959
  • New Crowdin Translations by @github-actions[bot] in #3960
  • New Crowdin Translations by @github-actions[bot] in #3962
  • Optimize MetaTagsParser: fix quote tracking in comments/scripts by @vitorpamplona in #3963
  • New Crowdin Translations by @github-actions[bot] in #3964
  • Upgrade dependencies: Firebase, Jackson, OkHttp, Gradle, and others by @vitorpamplona in #3965
  • New Crowdin Translations by @github-actions[bot] in #3966
  • chore(release): v1.14.0 changelog and version bump by @vitorpamplona in #3967

New Contributors

Full Changelog: v1.13.1...v1.14.0

Don't miss a new amethyst release

NewReleases is sending notifications on new releases.