Commit Graph

9863 Commits

Author SHA1 Message Date
Crowdin Bot 41539c1b7a New Crowdin translations by GitHub Action 2026-03-22 15:21:49 +00:00
Vitor Pamplona 40c45fb3a1 Adds a RelaySync filter by since/until dates. 2026-03-22 11:18:28 -04:00
Vitor Pamplona b6b4856fe4 Fixes a closing bug when the coroutine crashes
Fixes an index bug on matching subscriptions
Requires the relay to send events that match the sub in order to move forward with the paging
2026-03-22 11:18:12 -04:00
Vitor Pamplona adb3a0e0fc Better transitions to a Nostrclient that is autocloseable, destroying all links to everything else when closing 2026-03-22 11:16:54 -04:00
Vitor Pamplona 459f69ff2c Moves open polls view to a state flow in thew viewmodel 2026-03-21 16:20:15 -04:00
Vitor Pamplona 90cced23d2 Fixes search by noteID returning a version of the note instead of the address 2026-03-21 15:49:19 -04:00
David Kaspar 0dec0164ad Merge pull request #1899 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-21 18:47:46 +01:00
Crowdin Bot 5af0cc7eac New Crowdin translations by GitHub Action 2026-03-21 17:38:51 +00:00
Vitor Pamplona ef5508b60b Merge pull request #1896 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-21 13:38:47 -04:00
Vitor Pamplona fd79da0b09 Merge pull request #1898 from vitorpamplona/claude/nip42-relay-auth-P878m
Implement pluggable relay policies for NIP-42 authentication
2026-03-21 13:37:36 -04:00
Vitor Pamplona 15ff3040b5 Merge branch 'main' into claude/nip42-relay-auth-P878m 2026-03-21 13:37:21 -04:00
Crowdin Bot a86b9ab2e1 New Crowdin translations by GitHub Action 2026-03-21 17:35:12 +00:00
Vitor Pamplona 862aa0cb78 Update CHANGELOG for release v1.06.0
Updated CHANGELOG for release v1.06.0, detailing new features, improvements, and removals including support for NIP-85 Polls, custom NIP-40 Expirations, and various UI enhancements.
2026-03-21 13:33:51 -04:00
Vitor Pamplona cfead47d71 Improves design of the policy 2026-03-21 13:21:21 -04:00
davotoula 32c0efb291 update translations: CZ, DE, PT, SE 2026-03-21 16:04:16 +01:00
Vitor Pamplona b2ad97bb6b merge 2026-03-20 21:19:49 -04:00
Vitor Pamplona df6dc17047 Final touches on the Attestation cards 2026-03-20 21:16:59 -04:00
David Kaspar 81308a2368 Merge pull request #1894 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-21 00:16:29 +01:00
Crowdin Bot 24d2928881 New Crowdin translations by GitHub Action 2026-03-20 23:08:05 +00:00
Vitor Pamplona 2ef634ca01 Fixes showing attestations in the NoteMaster 2026-03-20 19:05:07 -04:00
Vitor Pamplona aca62ec81f Improves layout of the open poll cards 2026-03-20 18:41:11 -04:00
Claude b0a8cae194 refactor: extract AuthPolicy interface from requireAuth boolean
Replace the requireAuth: Boolean parameter in NostrServer with a
pluggable AuthPolicy interface. Each policy has trigger points for
EVENT (acceptEvent), REQ (acceptReq with filter rewriting), COUNT
(acceptCount), and live event delivery (canSendToSession).

Built-in policies: OpenPolicy (allow all) and RequireAuthPolicy
(require auth for all commands, matching the previous behavior).

https://claude.ai/code/session_017vdjbdxdYK1oJMH66koVZE
2026-03-20 22:40:18 +00:00
Vitor Pamplona f2e60986d6 Merge pull request #1895 from vitorpamplona/claude/show-open-polls-notifications-1ZDVi
Add Open Polls section to notifications feed
2026-03-20 18:30:07 -04:00
Vitor Pamplona b93ad35029 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  New Crowdin translations by GitHub Action
  update translations: CZ, DE, PT, SE add: find missing translations skill
2026-03-20 18:18:24 -04:00
Vitor Pamplona d54bc91c20 Updates changelog for next release 2026-03-20 18:12:48 -04:00
David Kaspar b1ca425c46 Merge pull request #1893 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-20 23:11:31 +01:00
Claude 8fd08aa56d feat: implement NIP-42 server-side relay authentication
Add server-side AUTH challenge/response handling per NIP-42 spec:
- RelaySession generates a unique challenge per connection and tracks
  authenticated pubkeys (multiple users can auth on one session)
- NostrServer gains relayUrl and requireAuth parameters; when requireAuth
  is true, EVENT/REQ/COUNT are rejected with auth-required: prefix
- AUTH handler validates kind 22242, created_at within 10 min, challenge
  and relay tag matching
- AuthCmd now accepts Event (not just RelayAuthEvent) so the server can
  gracefully reject wrong-kind auth attempts
- 11 new tests covering auth success, wrong challenge/relay/kind/timestamp,
  multi-user auth, and requireAuth gating

https://claude.ai/code/session_017vdjbdxdYK1oJMH66koVZE
2026-03-20 22:05:53 +00:00
Crowdin Bot 6bdf65da56 New Crowdin translations by GitHub Action 2026-03-20 21:59:53 +00:00
davotoula 64316f7d73 update translations: CZ, DE, PT, SE
add: find missing translations skill
2026-03-20 22:55:31 +01:00
Vitor Pamplona 73536dd421 merge 2026-03-20 17:49:31 -04:00
Vitor Pamplona 817c4c7723 Removes some Attestation events from the feeds, adding on others 2026-03-20 17:45:45 -04:00
Claude 98cda3ba71 style: apply spotless formatting to OpenPollsSection
https://claude.ai/code/session_01LLLN5MDA5nJFYx38MVo81Q
2026-03-20 21:41:13 +00:00
Claude b6e54db81b refactor: use LocalCache.observeNotes flow for open polls
Replace LocalCache.notes.forEach iteration with observeNotes using a
Filter for PollEvent.KIND and ZapPollEvent.KIND by the current user.
This makes the open polls list reactive — it updates automatically
when new polls arrive instead of only computing once on composition.

https://claude.ai/code/session_01LLLN5MDA5nJFYx38MVo81Q
2026-03-20 21:38:48 +00:00
David Kaspar ed624a0a36 Merge pull request #1892 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-20 22:33:58 +01:00
Crowdin Bot 57c046261e New Crowdin translations by GitHub Action 2026-03-20 21:32:27 +00:00
Vitor Pamplona 6cb686f5cb Merge pull request #1889 from davotoula/convert-dropdown-menus-to-M3-action-sheet-dialogs
Convert dropdown menus to m3 action sheet dialogs
2026-03-20 17:30:58 -04:00
Vitor Pamplona bbac00ccb3 Merge branch 'main' into convert-dropdown-menus-to-M3-action-sheet-dialogs 2026-03-20 17:30:50 -04:00
Vitor Pamplona 0f921989b9 Merge pull request #1891 from vitorpamplona/claude/add-attestations-home-feed-lQCT8
Add support for rendering attestation events
2026-03-20 17:28:38 -04:00
Vitor Pamplona a21da546ab Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  New Crowdin translations by GitHub Action
2026-03-20 17:26:22 -04:00
Vitor Pamplona 9bfb170ffa simple documentation 2026-03-20 17:15:05 -04:00
David Kaspar ccffeb1e49 Merge pull request #1890 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-20 22:14:17 +01:00
Crowdin Bot 752f460bc0 New Crowdin translations by GitHub Action 2026-03-20 21:08:30 +00:00
Vitor Pamplona b247310ba7 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  code review fixes:   1. options.isNotEmpty().also → if guard   2. Hardcoded English strings in FeedGroup enum   3. Hardcoded accessibility label   4. Raw 14.sp literals (×6) → replaced with Font14SP theme constant   5. Raw 12.sp literal → replaced with Font12SP theme constant   6. Modifier.size(20.dp) → replaced with existing Size20Modifier theme constant
  update gitignore
  add grouped feed filter dialog with Material 3 styling add icons, reduce text size, center group headers in filter dialog
  modernize SpinnerSelectionDialog with Material 3 styling
  feature switch chess icon on android: visible in debug/benchmark client only
  New Crowdin translations by GitHub Action
  Intentionality: check the return value and log a warning via Log.w() when deletion fails
  Update CS, DE, SV, PT
2026-03-20 17:05:29 -04:00
Vitor Pamplona fc1e3e6b83 Adds a simple relay to quartz 2026-03-20 16:54:04 -04:00
Vitor Pamplona d431b12f94 Migrates EventStore from Android's SQLLite to KMP
Fixes testing of libsodium between java and android
2026-03-20 16:00:17 -04:00
Vitor Pamplona c5066d89c3 Fixes serialization issues when the code falls back to Kotlin Serialization 2026-03-20 15:58:17 -04:00
davotoula 26a97aa141 Code review fixes:
- Replaced manual .semantics with the simpler .clickable - avoids conditional Modifier allocation and a redundant semantics block
 - Moved LocalClipboardManager.current inside the if
 - Merged two consecutive postNostrUri?.let blocks into a single one
 - Wrapped the "Copy & Gallery" M3ActionSection in a condition
 - Removed duplicate string resource
2026-03-20 20:03:54 +01:00
davotoula c9afec47cd style: run spotlessApply after M3 dialog migration
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 19:24:49 +01:00
davotoula bd10f74b2a feat: convert bookmark item options menu to M3 dialog
Replace DropdownMenu with M3ActionDialog, M3ActionSection, and M3ActionRow
components. Move dialog outside ClickableBox. Preserve wantsToEditPost and
reportDialogShowing state holders unchanged.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 19:22:31 +01:00
davotoula 6007e22871 feat: convert note actions menu to M3 dialog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 19:19:53 +01:00