Commit Graph

10338 Commits

Author SHA1 Message Date
Vitor Pamplona 9e21fcd2e8 Fixes lack of proxy access to download VLC files in claude's web environment. 2026-03-29 21:43:54 -04:00
Vitor Pamplona 6371f2e0d0 Fixes Url 2026-03-29 21:41:57 -04:00
Vitor Pamplona 207fc6beba removes Volatile (missing import) 2026-03-29 21:30:12 -04:00
Vitor Pamplona 7068263c00 Merge pull request #2018 from vitorpamplona/claude/implement-nip88-rendering-Ps1Ea
Implement NIP-C7 chat messages (kind 9)
2026-03-29 21:24:59 -04:00
Claude 092c057e6f feat: implement NIP-C7 chat messages (kind 9)
Add ChatEvent in quartz/nipC7Chats with support for kind 9 chat
messages and q-tag based replies per the NIP-C7 specification.
Wire up rendering in NoteCompose and NoteMaster (ThreadFeedView).

https://claude.ai/code/session_01BmAMHBCRKXG612i6zrhhP4
2026-03-30 01:17:28 +00:00
Vitor Pamplona 15c4fd61f1 Merge pull request #2017 from vitorpamplona/claude/implement-nip5a-rendering-5ioVq
feat: implement NIP-5A static website event rendering
2026-03-29 20:43:09 -04:00
Vitor Pamplona c89a02eb0d Merge branch 'main' into claude/implement-nip5a-rendering-5ioVq 2026-03-29 20:43:02 -04:00
Claude 104b836bbe refactor: remove path listing from NIP-5A rendering
Users should click through to view the website in the browser
rather than seeing a list of file paths in the note card.

https://claude.ai/code/session_01XTmqQ9QatUA7aPCWt7NHNt
2026-03-30 00:41:00 +00:00
Claude 869628ae16 Revert "refactor: redesign NIP-5A rendering as website preview card"
This reverts commit 07f16c2efe.
2026-03-30 00:37:59 +00:00
Claude 07f16c2efe refactor: redesign NIP-5A rendering as website preview card
Replace the file-listing style with a UrlPreviewCard-like layout
showing nsite host URL, title, description, and optional favicon.
Remove path rendering and unused string resources.

https://claude.ai/code/session_01XTmqQ9QatUA7aPCWt7NHNt
2026-03-30 00:25:09 +00:00
Vitor Pamplona 365a526b12 Merge pull request #2016 from vitorpamplona/claude/implement-nip7d-rendering-d4zgy
feat: implement NIP-7D thread events (kind 11)
2026-03-29 20:19:18 -04:00
Vitor Pamplona 7f4e1f153a Merge pull request #2014 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-29 20:17:43 -04:00
Crowdin Bot d9471f9531 New Crowdin translations by GitHub Action 2026-03-30 00:14:57 +00:00
Vitor Pamplona 5e20806229 Merge pull request #2015 from vitorpamplona/claude/implement-nip87-rendering-PBlES
Add NIP-87 Ecash support with Cashu and Fedimint event types
2026-03-29 20:13:32 -04:00
Vitor Pamplona f91f68a74e Merge pull request #2013 from vitorpamplona/claude/refactor-url-detector-FCLCA
Refactor URL detection and path normalization for clarity
2026-03-29 19:16:05 -04:00
Claude c4044858a9 feat: implement NIP-87 ecash mint discoverability
Add protocol support and UI rendering for NIP-87 which defines ecash
mint discovery via three event kinds: MintRecommendationEvent (38000),
CashuMintEvent (38172), and FedimintEvent (38173).

https://claude.ai/code/session_01JR2nFVPjPGG9jTV4Qq2PUW
2026-03-29 22:25:46 +00:00
Claude 776bc6d36f feat: implement NIP-5A static website event rendering
Add Quartz protocol support for NIP-5A Pubkey Static Websites with
RootSiteEvent (kind 15128) and NamedSiteEvent (kind 35128), including
tag parsers for path, server, title, description, and source. Wire up
rendering in NoteCompose and ThreadFeedView to display site metadata.

https://claude.ai/code/session_01XTmqQ9QatUA7aPCWt7NHNt
2026-03-29 22:18:02 +00:00
Claude 8e66776ee1 feat: implement NIP-7D thread events (kind 11)
Add support for NIP-7D thread events with title rendering in both
NoteCompose (feed view) and ThreadFeedView (detail view). Replies
use existing NIP-22 kind 1111 comments.

https://claude.ai/code/session_01MR2hLpmq3pkzzT11t86dAt
2026-03-29 22:15:21 +00:00
David Kaspar a170335db8 Merge pull request #2012 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-29 21:36:21 +02:00
Crowdin Bot 59c18f2c75 New Crowdin translations by GitHub Action 2026-03-29 18:39:41 +00:00
David Kaspar 6613d1cacd Merge pull request #2011 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-29 20:38:25 +02:00
Crowdin Bot bed5f96f20 New Crowdin translations by GitHub Action 2026-03-29 14:53:06 +00:00
Vitor Pamplona c624293661 Merge branch 'main' of https://github.com/vitorpamplona/amethyst 2026-03-29 10:51:11 -04:00
Vitor Pamplona 9dc208deba Removing internal runBlockings 2026-03-29 10:43:38 -04:00
Vitor Pamplona decf7df2bb Merge pull request #2007 from davotoula/ci-build-stop-daemons-after-build
Added ./gradlew --stop (with if: always()) after the Gradle steps in both test and build-desktop jobs
2026-03-29 10:21:39 -04:00
Vitor Pamplona ebbcb603fb Fixes lazy on trimming service 2026-03-29 10:20:06 -04:00
Vitor Pamplona 8613ae4f31 Speeding up start by parallelizing access to the preference files before they are needed. 2026-03-29 10:17:51 -04:00
Vitor Pamplona 56510e4213 Merge pull request #2010 from vitorpamplona/claude/nip43-relay-members-dWO19
Add NIP-43 relay members support with UI screens
2026-03-29 10:17:29 -04:00
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
Claude cad0ff3d80 fix: Make add/remove member events support multiple p tags and add NIP-43 to NoteMaster
Changes memberPubKey() to memberPubKeys() returning a list of all p tags
in RelayAddMemberEvent and RelayRemoveMemberEvent. Updates renderers to
display multiple members. Adds NIP-43 event rendering to ThreadFeedView
(NoteMaster) alongside NoteCompose.

https://claude.ai/code/session_01PRqe4bBCb9u62oPh8u9sHx
2026-03-29 14:13:41 +00: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
davotoula 3f09150d80 Added ./gradlew --stop (with if: always()) after the Gradle steps in both test and build-desktop jobs 2026-03-29 15:41:40 +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