Commit Graph

10305 Commits

Author SHA1 Message Date
Vitor Pamplona cd17badaf4 Merge pull request #2008 from vitorpamplona/claude/add-nip-61-support-KTkuk
Add NIP-61 Nutzaps support with event types and tag handling
2026-03-29 10:17:18 -04:00
Vitor Pamplona a4ce8439de Merge branch 'main' into claude/add-nip-61-support-KTkuk 2026-03-29 10:17:11 -04:00
Vitor Pamplona 2c5f80f613 Merge pull request #2009 from vitorpamplona/claude/add-nip60-support-DOf8B
Add NIP-60 Cashu wallet and spending history event support
2026-03-29 10:16:46 -04:00
Vitor Pamplona ae99700cef Updates media 2026-03-29 10:02:52 -04:00
Vitor Pamplona 03c692a8cf Merge pull request #2005 from davotoula/Introduce-log-level-filtering
Introduce log level filtering
2026-03-29 09:56:21 -04:00
David Kaspar efe0bde005 Merge pull request #2006 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-29 15:42:25 +02:00
Crowdin Bot bc367b2a7b New Crowdin translations by GitHub Action 2026-03-29 13:40:34 +00:00
davotoula 380026c7be optimise imports 2026-03-29 15:38:51 +02:00
davotoula 0b3bce5bc2 fixes for sonar 2026-03-29 15:13:43 +02:00
davotoula c40c1ed383 perf: convert remaining 12 interpolated log calls to lambda overloads
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 13:07:34 +02:00
davotoula c17fb4641a feat: add find-non-lambda-logs skill for auditing log call hygiene
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 13:00:21 +02:00
davotoula 6d89de9444 refactor: simplify PlatformLog actuals and convert remaining interpolated log calls to lambdas
- Extract private log() helper in JVM and iOS PlatformLog to reduce
  copy-paste branching
- Fix JVM formatter to be private and non-nullable
- Convert 60+ interpolated Log.w/e/i calls to lambda overloads,
  including hot-path Filter.kt toJson() and LocalCache event processing

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:58:11 +02:00
davotoula 3b81731771 perf: convert 194 interpolated Log.d() calls to lambda overloads
Defers string construction until after the level check, avoiding
allocation when debug logging is filtered in release/benchmark builds.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:58:10 +02:00
davotoula 541b197a64 feat: add throwable support to Log.d/i and inline lambda overloads
- Add optional throwable parameter to d() and i() across all platforms
- Add inline lambda overloads for all log levels to defer message
  construction, avoiding string allocation when level is filtered
- Restore VoiceMessagePreview to pass throwable directly

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:56:18 +02:00
davotoula 250d89ca0a feat: set Log.minLevel in app entry points and migrate android.util.Log usages
- Set Log.minLevel based on BuildConfig.DEBUG in Amethyst.kt init
- Set Log.minLevel = DEBUG in Desktop Main.kt
- Migrate VideoCompressionHelper to quartz Log + LogLevel enum
- Migrate VoiceAnonymizer, VoiceMessagePreview, LiveStatusIndicator to quartz Log

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:56:18 +02:00
davotoula 25b2cb42d0 feat: convert Log from expect/actual to filtered wrapper over PlatformLog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:56:18 +02:00
davotoula 65bc617222 feat: add PlatformLog actual implementations for all platforms
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:55:18 +02:00
davotoula 067938657f feat: add LogLevel enum and PlatformLog expect declaration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-29 10:55:18 +02:00
Claude 72106ea478 feat: add NIP-61 Nutzaps protocol support in quartz
Implements NIP-61 (Nutzaps) event types following the NIP-88 structure pattern:
- NutzapEvent (kind 9321): P2PK-locked Cashu token payments with proof, mint URL, unit tags
- NutzapInfoEvent (kind 10019): Replaceable event for recipient preferences (mints, relays, P2PK pubkey)
- NutzapRedemptionEvent (kind 7376): Token redemption history with NIP-44 encrypted content
- TokenEvent (kind 7375): Unspent proof storage with NIP-44 encrypted content

https://claude.ai/code/session_013tQRvZXdyh5VD11xENpNE5
2026-03-29 04:37:54 +00:00
Claude 32324e5bbe feat: Add NIP-60 Cashu wallet support in quartz
Implements the NIP-60 specification for cashu-based wallets with four event types:
- CashuWalletEvent (kind:17375) - replaceable wallet definition with encrypted mints/privkey
- CashuTokenEvent (kind:7375) - unspent cashu proofs with NIP-44 encrypted JSON content
- CashuSpendingHistoryEvent (kind:7376) - transaction history with encrypted tag array
- CashuMintQuoteEvent (kind:7374) - optional mint quote state with NIP-40 expiration

Follows the same structural patterns as the NIP-88 polls implementation.

https://claude.ai/code/session_018UfHPzrQCAFMwB1zB1ftDM
2026-03-29 04:34:41 +00:00
Vitor Pamplona 48da76c6a3 Activates the decryption for all types of files if it matches the decryption url with the cipher info 2026-03-28 22:24:54 -04:00
Vitor Pamplona a096d62cfb Adds relay discovery to the node master rendering list 2026-03-28 22:19:56 -04:00
Vitor Pamplona 8702ec4d96 Adds a scroll to the settings page. 2026-03-28 20:22:16 -04:00
Vitor Pamplona 4b5405c6b7 Dynamically adjust the preferred server to the first one when the list changes and the current default is not in the list of servers. 2026-03-28 20:21:57 -04:00
Vitor Pamplona 589bb041b2 Fixes refactoring issues by Claude. 2026-03-28 19:58:04 -04:00
Vitor Pamplona ff9b619d26 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  fix: keep screen on during PiP playback and survive screen lock
  feat: add RelayDiscoveryEvent renderer for feed display
  feat: add OpenGraph preview to WebBookmark cards
  revert: keep INostrClient/NostrClient naming and restore onEose/isLive
  refactor: simplify NostrClient API for beginner-friendliness
2026-03-28 19:25:29 -04:00
Vitor Pamplona 14ff2fbf8c Sends Accept and Content-Type to the NIP86 request 2026-03-28 19:23:48 -04:00
Vitor Pamplona 7290f16d0d sorts pubkeys in the relay management and fixes issues on duplicated keys for the lazy column 2026-03-28 19:23:23 -04:00
Vitor Pamplona 567cfa33e8 Merge pull request #2000 from vitorpamplona/claude/add-relay-discovery-events-NqmlS
Add relay discovery event rendering UI component
2026-03-28 19:12:41 -04:00
Vitor Pamplona 31adfe80ff Merge pull request #1999 from vitorpamplona/claude/pip-wake-lock-investigation-XhK3D
Fix PiP video playback: keep screen on and improve lifecycle
2026-03-28 19:12:05 -04:00
Vitor Pamplona dbd0fe03fa Adds another test case for NIP-11 2026-03-28 18:42:04 -04:00
Claude 1514de53c7 fix: keep screen on during PiP playback and survive screen lock
PiP video now keeps the screen on while playing (matching YouTube behavior)
and no longer kills the activity when the screen locks, allowing audio to
continue through the PlaybackService.

https://claude.ai/code/session_01QJzmFaabSA9YQ3oCQwEHTJ
2026-03-28 22:40:03 +00:00
Claude 0adea4f40a feat: add RelayDiscoveryEvent renderer for feed display
Add a composable to render NIP-66 RelayDiscoveryEvent (kind 30166)
in the note feed, displaying relay URL, RTT metrics with color-coded
chips, network type, relay type, requirements, supported NIPs,
accepted kinds, topics, and geohash location.

https://claude.ai/code/session_01EsPmtRFQgknkDV6zmKkeS2
2026-03-28 22:36:42 +00:00
Vitor Pamplona 23dcda55d3 Solves crashing when multiple relays with the same url are included in the resulting list. 2026-03-28 18:30:21 -04:00
Vitor Pamplona d991af72ff Merge pull request #1986 from vitorpamplona/claude/simplify-nostrclient-api-ZpOTB
Refactor Nostr client API with clearer naming conventions
2026-03-28 18:09:12 -04:00
Vitor Pamplona f96e2c02de Merge pull request #1997 from vitorpamplona/claude/add-opengraph-preview-uaOzk
Enhance web bookmarks with URL preview metadata
2026-03-28 18:08:59 -04:00
Vitor Pamplona c596e16182 Improves layout of the Relay Monitor events. 2026-03-28 18:04:42 -04:00
Claude 9c361dbe1e feat: add OpenGraph preview to WebBookmark cards
Fetches URL metadata via the existing UrlCachedPreviewer to display
OG images, fallback titles, and descriptions in the bookmark list.

https://claude.ai/code/session_016igt51hduwQ7bXF9kNNHGD
2026-03-28 21:29:29 +00:00
Vitor Pamplona 485ed871d1 Finishing up the Poll Screen 2026-03-28 17:12:51 -04:00
Vitor Pamplona 20eb95ae57 Removing more warnings 2026-03-28 16:30:00 -04:00
Vitor Pamplona 3c01c17d59 Clearing more warnings 2026-03-28 15:46:59 -04:00
Vitor Pamplona f3cefe0e13 resolving some more warnings 2026-03-28 15:35:45 -04:00
Vitor Pamplona 4db617aeef fixes the need for coroutine scopes 2026-03-28 15:26:29 -04:00
Vitor Pamplona c0212c09e5 Merge pull request #1996 from vitorpamplona/claude/migrate-autofill-apis-kQZDc
Replace deprecated autofill API with semantics-based approach
2026-03-28 14:58:16 -04:00
Vitor Pamplona 8c1ca8dc8b Merge branch 'main' into claude/migrate-autofill-apis-kQZDc 2026-03-28 14:58:01 -04:00
Vitor Pamplona c44f155a82 Merge pull request #1995 from vitorpamplona/claude/migrate-clipboard-manager-QEupN
Update Compose clipboard API from LocalClipboardManager to LocalClipboard
2026-03-28 14:50:19 -04:00
Claude 0eb32ae4fb refactor: migrate LocalClipboardManager to LocalClipboard
Replace deprecated LocalClipboardManager with LocalClipboard across
all 21 files in both amethyst and desktopApp modules.

https://claude.ai/code/session_01FE2NjKxhUYUFRvhyqbYpUH
2026-03-28 18:46:02 +00:00
Vitor Pamplona 9b3e77e2d5 Merge pull request #1994 from vitorpamplona/claude/migrate-tabrow-material3-FlqJl
Replace TabRow and ScrollableTabRow with Secondary variants
2026-03-28 14:43:54 -04:00
Claude 61cf21a875 feat: migrate from deprecated LocalAutofillTree to semantics-based Autofill API
Replace manual AutofillNode/LocalAutofillTree/LocalAutofill usage with
the new Modifier.semantics { contentType = ContentType.Password } API
from androidx.compose.ui.autofill in KeyTextField, PasswordField, and
AccountBackupScreen.

https://claude.ai/code/session_018e5E6dFATZTEnGtTZbkKhP
2026-03-28 18:40:29 +00:00
Claude 6a13b2b7b7 feat: migrate TabRow/ScrollableTabRow to Material 3 Secondary variants
Replace deprecated material3 TabRow with SecondaryTabRow and
ScrollableTabRow with SecondaryScrollableTabRow across all 12 files.

https://claude.ai/code/session_01VBDx3qQ8n9AzQJV3dGWYff
2026-03-28 18:40:10 +00:00