Commit Graph

9577 Commits

Author SHA1 Message Date
davotoula 9d95817b4d drawerGesturesEnabled is true whenever the drawer is in transition (target != current) 2026-03-16 19:04:01 +01:00
davotoula bf6ee6dc87 Split the logic between onPreScroll and onPostScroll 2026-03-16 19:01:51 +01:00
davotoula 844847d871 use 50/50 split for pager vs dock zones 2026-03-16 15:40:59 +01:00
davotoula 2a9c9e4510 fix: allow swipe-to-close when drawer is open on pager screens
Keep drawer gestures enabled when the drawer is open so users can
swipe left to close it. Only disable gestures when the drawer is
closed (to let the pager and ZonedSwipeModifier handle gestures).
2026-03-16 15:40:40 +01:00
Vitor Pamplona 7f6219c846 Merge pull request #1859 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-16 08:19:13 -04:00
Crowdin Bot be09535cd6 New Crowdin translations by GitHub Action 2026-03-16 12:17:53 +00:00
Vitor Pamplona 2acf02945b Merge pull request #1840 from nrobi144/feat/desktop-advanced-search
feat(desktop): advanced search with NIP-50, collapsible sections, and nav state preservation
2026-03-16 08:14:18 -04:00
Vitor Pamplona f5d4d967eb Merge pull request #1858 from dadofsambonzuki/fix/dm-swipe-back-signing
Fix swipe-back triggering unwanted draft deletion signing
2026-03-16 08:12:56 -04:00
Nathan Day 1c663cb26b Fix swipe-back triggering unwanted draft deletion signing
When swiping back on a DM screen with an empty message, the BackHandler
was calling sendDraftSync() which checks if the message is blank and then
calls deleteDraftIgnoreErrors(). This creates and signs a NIP-09 DeletionEvent,
prompting the external signer to sign a deletion event.

The fix adds a check to only call sendDraftSync() when there's actual
content in the message, avoiding the unnecessary signing prompt.
2026-03-16 10:32:18 +00:00
nrobi144 e4b4606ab9 fix: revert ReactionsSettingsScreen to upstream version
Spotless reformatted this file during merge. Restoring upstream's
version to avoid unintended changes to the mobile app.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 07:35:09 +02:00
Vitor Pamplona 78ffd5ec6b Moves nip06 tests to the right package. 2026-03-15 21:32:02 -04:00
Vitor Pamplona d426dbd4ff adds icons for desktop releases 2026-03-15 21:10:59 -04:00
Vitor Pamplona 04b4429809 removes another deprecation 2026-03-15 20:57:46 -04:00
Vitor Pamplona d10b43c098 Migrates old Preview annotation 2026-03-15 20:55:55 -04:00
Vitor Pamplona 8b4a45cb5b Removing deprecated library addresses and deprecated apis 2026-03-15 20:52:01 -04:00
Vitor Pamplona bda7e48a84 removes more warnings 2026-03-15 20:33:31 -04:00
Vitor Pamplona e87ac7468d Removing Locale deprecations 2026-03-15 20:29:05 -04:00
Vitor Pamplona 49f5d9518e Fixes warnings 2026-03-15 20:26:31 -04:00
Vitor Pamplona 19ca7afcb8 fixes warnings 2026-03-15 20:06:20 -04:00
Vitor Pamplona 1cdd061b06 removing warnings 2026-03-15 20:03:39 -04:00
Vitor Pamplona 929b5d6175 Merge pull request #1853 from vitorpamplona/claude/add-relay-event-counters-c7stK
Add NIP-45 COUNT query support to relay management UI
2026-03-15 19:58:19 -04:00
Vitor Pamplona 45b947ec68 Merge branch 'main' into claude/add-relay-event-counters-c7stK 2026-03-15 19:58:12 -04:00
Vitor Pamplona 88565d02ad Merge pull request #1856 from vitorpamplona/claude/cross-platform-github-actions-xeNlt
Refactor CI/CD workflows for multi-platform builds
2026-03-15 19:57:59 -04:00
Vitor Pamplona 0e476c8988 Adds test and some refinements. 2026-03-15 19:51:39 -04:00
Claude d996911cda feat: add cross-platform CI for Linux, macOS, and Windows
- Split build.yml into lint, test (matrix: 3 OS), build-android, and
  build-desktop (matrix: 3 OS with native packaging) jobs
- Tests now run on ubuntu, macos, and windows to validate cross-platform
  compatibility
- Desktop distributions (DEB, DMG, MSI) built on their native OS and
  uploaded as artifacts
- Split create-release.yml into create-release, deploy-android, and
  deploy-desktop jobs so desktop distributions are included in releases
- Android APK/AAB builds and Quartz publishing remain on Linux

https://claude.ai/code/session_016dxFUErY4P6WRir4xxhCEr
2026-03-15 21:34:18 +00:00
Vitor Pamplona 61089fa866 Merge branch 'main' into claude/add-relay-event-counters-c7stK 2026-03-15 17:30:23 -04:00
Vitor Pamplona 91a9dcb9a1 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  Rename build step for Benchmark APK in workflow
  compilation error fix: Changed map to mapNotNull
  spotlessApply
2026-03-15 17:16:00 -04:00
Vitor Pamplona 3624d584db Merge pull request #1855 from vitorpamplona/davotoula-patch-1
Rename build step for Benchmark APK in workflow
2026-03-15 17:15:39 -04:00
Vitor Pamplona 2fd29ab365 uses quiet mode to avoid lots of warnings in the commit screen 2026-03-15 17:15:16 -04:00
Vitor Pamplona cef8f5acde Fixes test case 2026-03-15 17:14:57 -04:00
David Kaspar 76c6f50fa8 Rename build step for Benchmark APK in workflow 2026-03-15 20:57:02 +00:00
Vitor Pamplona 6216f7a618 no casts needed 2026-03-15 16:55:00 -04:00
Vitor Pamplona 0c939bd447 converted from Java arraylist to kotlin arraylist 2026-03-15 16:50:34 -04:00
davotoula 3cfa9e1619 compilation error fix: Changed map to mapNotNull 2026-03-15 21:37:21 +01:00
davotoula cd9d345a0e spotlessApply 2026-03-15 21:35:23 +01:00
Vitor Pamplona 30b76347c5 Spotless 2026-03-15 16:15:44 -04:00
Vitor Pamplona 04d04ebe69 Merge pull request #1854 from vitorpamplona/claude/kotlin-serialization-mapper-4WYOP
Add Kotlin Serialization support for Nostr protocol types
2026-03-15 16:04:21 -04:00
Vitor Pamplona ea48c2a5ec Merge branch 'main' into claude/kotlin-serialization-mapper-4WYOP 2026-03-15 16:03:55 -04:00
Vitor Pamplona badc681511 Merge pull request #1851 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-15 16:01:44 -04:00
Claude d10687d6fe feat: Implement iOS OptimizedJsonMapper using KotlinSerializationMapper
Replace all TODO stubs in the iOS actual implementation with delegation
to KotlinSerializationMapper. Wraps SerializationException into
IllegalArgumentException to match the jvmAndroid error handling pattern.

https://claude.ai/code/session_01QBc4Pb7a6m4TfLZSJKVdjw
2026-03-15 19:58:40 +00:00
Claude 3bea2f795c refactor: Move KSerializers to their respective NIP packages
- Bunker serializers → nip46RemoteSigner/kotlinSerialization/
- NIP-47 serializers → nip47WalletConnect/kotlinSerialization/
- Rumor serializer → nip59Giftwrap/rumors/kotlinSerialization/

Mirrors the existing Jackson serializer directory structure which uses
a jackson/ subpackage within each NIP package.

https://claude.ai/code/session_01QBc4Pb7a6m4TfLZSJKVdjw
2026-03-15 19:55:19 +00:00
Claude ffac682238 feat: Add kotlinx.serialization KSerializers mirroring all Jackson custom serializers
Add 15 KSerializer implementations in commonMain that replicate the exact
behavior of all 21 Jackson serializer/deserializer registrations:

- EventKSerializer, TagArrayKSerializer, FilterKSerializer
- EventTemplateKSerializer, RumorKSerializer, CountResultKSerializer
- MessageKSerializer (8 message types), CommandKSerializer (5 command types)
- BunkerRequest/Response/MessageKSerializer (NIP-46)
- Nip47Request/Response/NotificationKSerializer (NIP-47)
- KotlinSerializationMapper as the main entry point

Uses JsonElement-based approach for performance. All serializers produce
identical JSON output to Jackson. Includes comprehensive test suite (35+
tests) verifying exact output parity and cross-deserialization between
Jackson and kotlinx.serialization.

https://claude.ai/code/session_01QBc4Pb7a6m4TfLZSJKVdjw
2026-03-15 16:37:22 +00:00
Claude 22945b7faa feat: add queryCountSuspend utility to Quartz and simplify ViewModels
Add INostrClient.queryCountSuspend() extension functions in Quartz that
wrap NIP-45 COUNT queries as suspend functions, managing subscription
lifecycle internally. Two overloads: single-relay and multi-relay.

Simplify BasicRelaySetupInfoModel and Nip65RelayListViewModel to use the
new utility — removes IRelayClientListener implementation, subId tracking
maps, onIncomingMessage handlers, and cleanup logic from both ViewModels.

https://claude.ai/code/session_016158D5mq5BygS1uBbLNbsA
2026-03-15 16:14:24 +00:00
Crowdin Bot d8de0a9b84 New Crowdin translations by GitHub Action 2026-03-15 15:47:20 +00:00
Claude 17c3611f50 feat: redesign RelayEventCountRow with pill chip style
Replace the plain icon+text count display with rounded pill chips that
have a subtle green border and tinted background. Each count entry gets
its own pill with an icon and bold text, making the event counts more
visually distinct and scannable.

https://claude.ai/code/session_016158D5mq5BygS1uBbLNbsA
2026-03-15 15:46:56 +00:00
Vitor Pamplona 3bd6ef5f6c changes from damus to nos.lol for more stable relay behavior in tests 2026-03-15 11:44:20 -04:00
Vitor Pamplona 2b157cc383 Fixes throw vs null test cases and nsec hallucinations 2026-03-15 11:18:39 -04:00
Vitor Pamplona a793ff149b Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  New Crowdin translations by GitHub Action
2026-03-15 11:18:10 -04:00
Vitor Pamplona c0a81ef9a2 Merge pull request #1850 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-15 11:07:30 -04:00
Crowdin Bot 68f58c3b8d New Crowdin translations by GitHub Action 2026-03-15 15:06:39 +00:00