Commit Graph

10053 Commits

Author SHA1 Message Date
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
davotoula 4e5d2e7d2a feat: convert media context menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 19:17:16 +01:00
davotoula b3a61ba288 feat: convert user profile menu to M3 dialog
Replace DropdownMenu with M3ActionDialog in UserProfileDropDownMenu,
structured into share, moderation, and report sections.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 19:14:50 +01:00
davotoula 6632d3f515 feat: convert media playback menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 19:12:13 +01:00
davotoula 2fc9b294ae feat: convert follow pack actions menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 19:08:50 +01:00
davotoula 28dbb3948b feat: convert bookmark group management menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 19:05:47 +01:00
davotoula 5bde93d58f feat: convert people list management menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 18:33:26 +01:00
davotoula 2c6d18607a feat: convert bookmark list actions menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 18:30:58 +01:00
davotoula cbe13f6819 feat: convert add member menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 18:10:45 +01:00
davotoula dce1484dcc feat: convert add bookmark menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 17:19:27 +01:00
davotoula aaed4bf697 feat: convert relay export menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 17:11:46 +01:00
davotoula 289c882d59 feat: convert URL preview copy menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 17:05:03 +01:00
davotoula 29f0b78fdd feat: convert Messages mark-as-read menu to M3 dialog
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 17:02:46 +01:00