github vitorpamplona/amethyst v1.12.0

22 hours ago

What's Changed

  • feat(notifications): include public chat mentions in feed by @vitorpamplona in #3027
  • fix: keep Send button visible in onchain zap split mode by @vitorpamplona in #3028
  • Enforce minimum on-chain zap amount and update default zap presets by @vitorpamplona in #3030
  • Calendar Translations (cs, de, pt-BR, sv) and skill update by @davotoula in #3029
  • Surface NIP-47 wallet response errors to user by @vitorpamplona in #3032
  • Use URL SHA for Blossom bridge, not imeta hash by @greenart7c3 in #3035
  • feat(desktop): note action bar — long-press details popups + right-click customize by @nrobi144 in #3034
  • New Crowdin Translations by @github-actions[bot] in #3031
  • feat: pin followed public chats to the top of the Public Chats feed by @vitorpamplona in #3037
  • Add NIP-82 Software Applications support with dedicated feed by @vitorpamplona in #3036
  • Makes the NWC process less strict, while checking for inconsistencies after the request reply is processed. by @vitorpamplona in #3041
  • feat(desktop): wallet zapping, LNURL-pay send, QR receive, and session persistence by @nrobi144 in #3038
  • NIP-BC onchain zaps: add verification state machine & reverify driver by @vitorpamplona in #3039
  • Fix reaction row layout for icon-only rightmost items by @vitorpamplona in #3042
  • Fix account cache race condition in setDefaultAccount by @vitorpamplona in #3043
  • New Crowdin Translations by @github-actions[bot] in #3040
  • Restructure privacy policy and add build-variant legal UI by @vitorpamplona in #3045
  • New Crowdin Translations by @github-actions[bot] in #3046
  • Phase 1: iOS support for Quartz and Commons (KMP purity) by @vitorpamplona in #3047
  • feat(desktop): rich text migration, profile metadata, copy JSON, @mention autocomplete by @nrobi144 in #3049
  • Complete Phase 2 KMP migration to unblock iOS CI by @davotoula in #3050
  • New Crowdin Translations by @github-actions[bot] in #3048
  • Phase 2: Gemini AppFunctions bridge + CLI action verbs by @vitorpamplona in #3051
  • onchain zaps + nip-05 filter when returning users to Gemini by @vitorpamplona in #3052
  • Add Tor self-heal watchdog + integration tests + Arti v2.3.0 by @vitorpamplona in #3053
  • Replace wallet reorder buttons with drag-and-drop UI by @vitorpamplona in #3054
  • fix(user-metadata): fall back to indexer relays when outbox is exhausted by @vitorpamplona in #3055
  • feat(desktop): full profile editing — 13 fields, image upload, NIP-05 verification, drag-and-drop by @nrobi144 in #3058
  • Add "Add/remove to/from emoji list" row to pack-card menu by @davotoula in #3059
  • feat(profile): modern chip layout for payment targets by @vitorpamplona in #3061
  • feat(profile): toast when no app handles a payment target scheme by @vitorpamplona in #3062
  • feat(namecoin): add Namecoin Core RPC backend with optional ElectrumX fallback by @mstrofnone in #3056
  • New Crowdin Translations by @github-actions[bot] in #3060
  • Comprehensive AVIF support (#837) by @davotoula in #3063
  • Add playback error overlay with browser fallback for video codec failures by @vitorpamplona in #3064
  • Exclude author from zap split display logic by @vitorpamplona in #3065
  • fix(playback): hide video controls while the error overlay is shown by @vitorpamplona in #3066
  • feat(namecoin): TOFU pin for Namecoin Core RPC TLS path by @mstrofnone in #3068
  • fix(search): route d/ and id/ Namecoin namespaces through the resolution row by @mstrofnone in #3070
  • Add Software Apps feed with follow list filtering by @vitorpamplona in #3071
  • New Crowdin Translations by @github-actions[bot] in #3069
  • refactor(namecoin): consolidate NamecoinSettings into commons by @mstrofnone in #3072
  • Fix route hint re-firing on activity recreation by @vitorpamplona in #3074
  • New Crowdin Translations by @github-actions[bot] in #3073
  • feat(desktop): persist TOFU-pinned Namecoin ElectrumX certs by @mstrofnone in #3076
  • Add music tracks and playlists support with NIP-51 events by @vitorpamplona in #3067
  • feat(desktop): Namecoin Core RPC backend + composite fallback by @mstrofnone in #3077
  • Add dedicated NIP-82 software app detail screen by @vitorpamplona in #3078
  • Use distinct icons for password visibility toggle by @davotoula in #3079
  • New Crowdin Translations by @github-actions[bot] in #3080
  • New Crowdin Translations by @github-actions[bot] in #3081
  • New Crowdin Translations by @github-actions[bot] in #3082
  • New Crowdin Translations by @github-actions[bot] in #3083
  • New Crowdin Translations by @github-actions[bot] in #3084
  • Fix StrictMode violation in ML Kit translation initialization by @vitorpamplona in #3087
  • Auto-stick feeds to top on prepend with StickToTopOnPrepend by @vitorpamplona in #3088
  • New Crowdin Translations by @github-actions[bot] in #3089
  • Add NIP-71 audio-track support with language and bitrate tags by @vitorpamplona in #3090
  • New Crowdin Translations by @github-actions[bot] in #3091
  • Add NIP-78 AppDataEvent (kind 78) and refactor AppSpecificDataEvent by @vitorpamplona in #3092
  • Add podcast support (NIP-F4) with favorites, metadata, and episodes by @vitorpamplona in #3093
  • docs: consolidate CLAUDE.md guidance and inject skills dynamically by @vitorpamplona in #3094
  • Switch Java distribution from Zulu to Temurin by @vitorpamplona in #3096
  • Fix scroll position restoration in feed lists on return by @vitorpamplona in #3097
  • feat(desktop): Visual Personality Overhaul — Unified Theme, Sidebar, Search, Cards by @nrobi144 in #3098
  • Fix lifecycle-aware subscription grace timer starvation by @greenart7c3 in #3103
  • Use locale-aware date/time formatting throughout the app by @vitorpamplona in #3095
  • New Crowdin Translations by @github-actions[bot] in #3102
  • Fix live stream chat relay fallback by @carpedkm in #3086
  • Add NIP-60 Cashu wallet and NIP-61 nutzap support by @vitorpamplona in #3075
  • Add dedicated podcast screen with episode list and inline player by @vitorpamplona in #3105
  • Redesign Cashu icon as monochrome tintable glyph by @vitorpamplona in #3106
  • Refactor RelayProxyClientConnector to use injected StateFlows by @vitorpamplona in #3107
  • Unify zap amount chips and add cashu reload flow by @vitorpamplona in #3108
  • New Crowdin Translations by @github-actions[bot] in #3104
  • Reorganize commons packages: NIP-64 chess, NIP-AC WebRTC, and model caches by @vitorpamplona in #3109
  • Move utility functions and models to commons module by @vitorpamplona in #3110
  • NIP-32: Add hashtag labeling and label-based hashtag feed by @vitorpamplona in #3111
  • Move NIP-51/72 decryption caches and models to commons by @vitorpamplona in #3112
  • Remove wallet reordering UI and drag-and-drop functionality by @vitorpamplona in #3114
  • feat(cashu): show per-mint balance, drop inline recommend button by @vitorpamplona in #3115
  • New Crowdin Translations by @github-actions[bot] in #3113
  • Run git from rootDir in versionName detection so worktrees work by @davotoula in #3116
  • New Crowdin Translations by @github-actions[bot] in #3117
  • chore(actions): bump the actions group with 2 updates by @dependabot[bot] in #3119
  • Move HTML parsing and broadcast service to commons for KMP by @vitorpamplona in #3120
  • Fix inverted guard in TagArrayBuilder.addUniqueValueIfNew by @vitorpamplona in #3121
  • Support ephemeral signers for anonymous post uploads by @vitorpamplona in #3123
  • Share content directly to a DM ("Send as DM" share target) by @davotoula in #3122
  • feat(desktop): Feed UI refresh — inline expansion, comments, related content by @nrobi144 in #3124
  • feat(desktop): home-feed scroll polish + sidebar tooltips by @nrobi144 in #3126
  • Searchable, data-driven settings screen by @davotoula in #3127
  • fix: address root causes of 6 runtime log noise issues by @nrobi144 in #3125
  • New Crowdin Translations by @github-actions[bot] in #3128
  • Register CommunityRulesEvent in EventFactory for kind 34551 by @vitorpamplona in #3129
  • New Crowdin Translations by @github-actions[bot] in #3130
  • Add ReqResponderServer for non-storage relays + NIP-50 search support by @vitorpamplona in #3131
  • Move authenticated identity from policy to connection scope by @vitorpamplona in #3133
  • New Crowdin Translations by @github-actions[bot] in #3132
  • docs(namecoin): refresh NIP-05 design doc to match current main by @mstrofnone in #3118
  • Fix cache-pruning invariant for onchain zaps and nutzaps by @vitorpamplona in #3134
  • Fullscreen swipe controls for brightness & volume by @davotoula in #3135
  • Hide reposts whose boosted kind is unsupported by @davotoula in #3136
  • feat(desktop): reply context in feeds + profile Replies tab by @nrobi144 in #3138
  • Render Agora fundraiser campaigns (kind 33863) by @davotoula in #3137
  • New Crowdin Translations by @github-actions[bot] in #3139
  • New Crowdin Translations by @github-actions[bot] in #3140
  • fix(quartz): NIP-46 bunker double-resume + retry id-reuse races by @nrobi144 in #3141
  • New Crowdin Translations by @github-actions[bot] in #3142
  • Minimal first-class rendering for Birdstar "Birdex" species collections (kind 12473) by @davotoula in #3143
  • Resilient profile metadata (birthday) by @davotoula in #3144
  • Unify poll and zap poll options into single state map by @vitorpamplona in #3145
  • New Crowdin Translations by @github-actions[bot] in #3146
  • Audio visualiser for audio notes by @davotoula in #3147
  • New Crowdin Translations by @github-actions[bot] in #3148
  • Square the feed audio player by @davotoula in #3149
  • New Crowdin Translations by @github-actions[bot] in #3150
  • Add LaTeX math rendering for $...$ and $$...$$ equations by @vitorpamplona in #3152
  • fix(math): collapse over-escaped backslashes in inline equations by @vitorpamplona in #3153
  • fix(math): center inline equations on the text line by @vitorpamplona in #3154
  • feat(desktop): image compression + preview gate, plus lightbox URL hover/copy by @nrobi144 in #3155
  • New Crowdin Translations by @github-actions[bot] in #3156
  • Inline LaTeX — render wrapped equations, upgrade renderer, baseline alignment by @davotoula in #3157
  • DM history: per-relay backward paging, live-tail split + prune-aware window realignment by @vitorpamplona in #3151
  • New Crowdin Translations by @github-actions[bot] in #3158
  • Count NIP-18 quote-reposts as boosts of quoted notes by @vitorpamplona in #3161
  • fix(commons): make commonTest compile for iOS targets by @vitorpamplona in #3159
  • Replace String.format with toString(16).padStart in test helpers by @vitorpamplona in #3162
  • Add NIP-14 group subjects and improve DM group creation UX by @vitorpamplona in #3163
  • Replace GPLv3 TarsosDSP with an in-house pitch shifter by @davotoula in #3160
  • Work around Compose ui-uikit prebuilt cache linking failure by @vitorpamplona in #3164
  • Add InlineQuoteRenderer strategy for customizing quoted notes by @vitorpamplona in #3168
  • New Crowdin Translations by @github-actions[bot] in #3167
  • fix: treat kind-9 ChatEvent as a chat kind for inline chat-style quotes by @vitorpamplona in #3170
  • Extract Marmot group message composer to ViewModel by @vitorpamplona in #3171
  • New Crowdin Translations by @github-actions[bot] in #3169
  • New Crowdin Translations by @github-actions[bot] in #3172
  • Audit & refresh skill library, docs, and hooks (Phase 2–3) by @vitorpamplona in #3173
  • Compute legacy NIP-71 video addresses with their d tag by @davotoula in #3166
  • New Crowdin Translations by @github-actions[bot] in #3174
  • New Crowdin Translations by @github-actions[bot] in #3176
  • feat(desktop): replace vlcj (GPLv3) with kdroidFilter ComposeMediaPlayer + JCodec/FFmpeg by @nrobi144 in #3175
  • Implement CLINK (Common Lightning Interface for Nostr Keys) by @vitorpamplona in #3177
  • Marmot: seed subscription since from stored messages on restart by @vitorpamplona in #3178
  • Optimize string resource loading in WalletScreen by @vitorpamplona in #3180
  • Fix ThumbnailDiskCache to recreate cache dir if cleared at runtime by @vitorpamplona in #3181
  • Add kotlinx-serialization support for CLINK protocol DTOs by @vitorpamplona in #3182
  • Add pinned chatrooms feature with NIP-78 sync by @vitorpamplona in #3183
  • New Crowdin Translations by @github-actions[bot] in #3179
  • Add NIP-101e fitness workout support (Kind 1301) by @vitorpamplona in #3184
  • Add unified profile payment screen with multi-rail support by @vitorpamplona in #3185
  • New Crowdin Translations by @github-actions[bot] in #3187
  • Localize onchain zap send UI and failure messages by @davotoula in #3188
  • feat(desktop): unhealthy-relay review banner + popup by @nrobi144 in #3186
  • New Crowdin Translations by @github-actions[bot] in #3190
  • Unify payment card UI with PaymentCard component by @vitorpamplona in #3191
  • Add --payer-data flag to offer request command by @vitorpamplona in #3193
  • Exclude metadata tags from text search by @vitorpamplona in #3194
  • Add NIP-89 app recommendation management UI by @vitorpamplona in #3192
  • New Crowdin Translations by @github-actions[bot] in #3195
  • New Crowdin Translations by @github-actions[bot] in #3198
  • Make relay failure logs diagnosable (exception class on null message, correct NIP-11 error label) by @davotoula in #3197
  • Add Selected filter mode for curated notifications by @vitorpamplona in #3196
  • Improve NIP-82 software app UI with author info and screenshots by @vitorpamplona in #3200
  • Support private notes: gift-wrap kind-1 replies and posts to p-tagged users by @vitorpamplona in #3201
  • Refactor notification chips UI with Material 3 components by @vitorpamplona in #3203
  • Add show button to hidden words list by @vitorpamplona in #3204
  • Redesign activity cards (reactions, zaps, nutzaps) with unified UI by @vitorpamplona in #3202
  • New Crowdin Translations by @github-actions[bot] in #3199
  • New Crowdin Translations by @github-actions[bot] in #3205
  • Fix test name grammar in LnZapRequestAnonTagTest by @vitorpamplona in #3206
  • Migrate notification filter from Global to Selected on first load by @vitorpamplona in #3207
  • Remove write-only RelayStat liveness fields by @davotoula in #3208
  • Stop media-server default from resetting on every launch by @davotoula in #3209
  • Reorganize changelog into versioned files by @vitorpamplona in #3210
  • desktop(namecoin): port DiagnosticCard from Android settings by @mstrofnone in #3211
  • docs: Add v1.12.0 release notes by @vitorpamplona in #3214
  • New Crowdin Translations by @github-actions[bot] in #3212
  • New Crowdin Translations by @github-actions[bot] in #3215
  • fix: parse IPv6-literal URLs in post content by @vitorpamplona in #3217
  • Restore iOS test native-cache workaround dropped in dependency bump by @davotoula in #3216
  • Don't reset relay reconnect backoff on momentary connections by @davotoula in #3219
  • New Crowdin Translations by @github-actions[bot] in #3222
  • fix: RelayHealthStore threading + sleep-resume socket recovery (follow-up to #3186) by @nrobi144 in #3221
  • Gate Tor-routed relay dials until Tor is ready by @vitorpamplona in #3223
  • fix: Tor lifecycle race + bounded bootstrap so a hostile network can't wedge Tor by @vitorpamplona in #3224
  • Redesign workout display with hero metric and stats grid by @vitorpamplona in #3226
  • Eagerly preload thread for replies visible in feed by @vitorpamplona in #3227
  • fix(tor): bound Arti bootstrap with a 60s timeout + repeatable network test suite by @vitorpamplona in #3228
  • perf(tor): stop wiping Arti's consensus cache on every start by @vitorpamplona in #3230
  • feat(tor): self-heal when Tor is Active but every circuit is dead by @vitorpamplona in #3231
  • New Crowdin Translations by @github-actions[bot] in #3229
  • New Crowdin Translations by @github-actions[bot] in #3232

New Contributors

Full Changelog: v1.11.0...v1.12.0

Don't miss a new amethyst release

NewReleases is sending notifications on new releases.