Commit Graph

9004 Commits

Author SHA1 Message Date
Claude 49e2f2c7c9 feat: add NIP-66 relay monitor and discovery support to quartz
Implements both event kinds from NIP-66 (Relay Monitor Protocol):

- Kind 10166 (RelayMonitorEvent) - replaceable event published by
  monitoring services, declaring check frequency, timeout values, and
  supported check types (open, read, write, auth, nip11, dns, geo)

- Kind 30166 (RelayDiscoveryEvent) - addressable event (keyed by relay
  URL in d-tag) published per monitored relay, carrying RTT metrics,
  network type, relay type, supported NIPs, accepted kinds, access
  requirements, topics, and geohash

Package: nip66RelayMonitor/{monitor,discovery} following existing NIP-88
patterns with tag classes, TagArrayBuilderExt, and TagArrayExt. Both
events registered in EventFactory.

https://claude.ai/code/session_01Wtg56Vudthgfyz8ASTb4p7
2026-03-02 21:20:43 +00:00
David Kaspar 5984292ea5 Merge pull request #1740 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-02 18:03:49 +00:00
Crowdin Bot 408bc86e1d New Crowdin translations by GitHub Action 2026-03-02 18:02:41 +00:00
David Kaspar 95353b5077 Merge pull request #1739 from davotoula/acessibility-issues
Fix minor accessibility issues
2026-03-02 17:59:17 +00:00
davotoula 49ea2a9a5a localize hardcoded Navigate string in UserSearchCard 2026-03-02 16:57:12 +00:00
davotoula daebea262a add user avatar content descriptions in shared components 2026-03-02 16:56:28 +00:00
davotoula 937f30b48d add content description to poll deadline date icon 2026-03-02 16:54:24 +00:00
davotoula 434a7dcf52 correct pause button accessibility label 2026-03-02 16:53:40 +00:00
davotoula 79e39e7e4f unrelated code cleanup 2026-03-02 16:52:50 +00:00
David Kaspar d87f62c330 Merge pull request #1738 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-02 16:28:55 +00:00
Crowdin Bot 7b5a7b8e0f New Crowdin translations by GitHub Action 2026-03-02 16:27:51 +00:00
David Kaspar f207bf14d7 Merge pull request #1737 from vitorpamplona/l10n_crowdin_translations
New Crowdin Translations
2026-03-02 16:26:19 +00:00
David Kaspar 381c3144b6 Merge branch 'main' into l10n_crowdin_translations 2026-03-02 16:26:10 +00:00
Crowdin Bot 35090fcdfb New Crowdin translations by GitHub Action 2026-03-02 16:16:16 +00:00
Vitor Pamplona f18b87db5d Merge pull request #1736 from davotoula/update-translations
update cz, pt, de, sv
2026-03-02 11:12:23 -05:00
Vitor Pamplona c9b8cb677b Merge pull request #1735 from davotoula/remove-unused-imports
Remove unused imports
2026-03-02 11:12:09 -05:00
davotoula 0d513dd63e update cz, pt, de, sv 2026-03-02 16:02:40 +00:00
davotoula 59309c2b1d remove unused imports 2026-03-02 15:53:21 +00:00
davotoula 51ba076f26 remove unused imports 2026-03-02 15:52:03 +00:00
davotoula 8846dd7edb remove unused imports 2026-03-02 15:47:30 +00:00
Vitor Pamplona 89579aa35e Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  feat: add RelayFeedScreen for browsing and following relay-specific feeds
2026-03-02 09:31:39 -05:00
Vitor Pamplona 6b1e6ef267 Fixing the "replying to" line appearing in every reply in the threadview 2026-03-02 09:29:11 -05:00
Vitor Pamplona 2c2102f6e6 refactoring 2026-03-02 08:47:28 -05:00
Vitor Pamplona 0072dd3481 Merge pull request #1733 from vitorpamplona/claude/add-relay-filter-screen-aXgh6
Add relay feed screen with filtering and follow/unfollow functionality
2026-03-02 08:34:08 -05:00
Claude 3a9622fb1e feat: add RelayFeedScreen for browsing and following relay-specific feeds
- Add RelayFeedScreen similar to HashtagScreen but filtered by relay URL
- Follow/Unfollow buttons add/remove the relay from Favorite Relay list
- New post FAB opens the standard note composer (Route.NewShortNote)
- Add RelayFeedFilter (DAL) to show notes seen from a specific relay
- Add SingleRelayFeedViewModel backed by RelayFeedFilter
- Add datasource layer: RelayFeedFilterAssembler, SubAssembler, and
  FilterPostsByRelay for subscribing to relay-specific note streams
- Add Route.RelayFeed(url) and register in AppNavigation
- Add relayFeed to RelaySubscriptionsCoordinator
- Add FavoriteRelayListState.addRelay/removeRelay for single-relay ops
- Add Account.followFavoriteRelay/unfollowFavoriteRelay
- Add AccountViewModel.followFavoriteRelay/unfollowFavoriteRelay
- Add observeUserIsFollowingRelay composable observer

https://claude.ai/code/session_013gNQjBzeSSmesYow7HfAjW
2026-03-02 01:09:52 +00:00
Vitor Pamplona 050ef73530 adds support for NIP-51 favorite relay lists. 2026-03-01 19:50:07 -05:00
Vitor Pamplona 7fd163d6d4 - Adds reactions and zap settings to the settings screen
- Creates a better distinction between settings for the user and for the whole app.
2026-03-01 19:25:13 -05:00
Vitor Pamplona 69e061e4c4 Fixes Stability of the Update Reaction view model 2026-03-01 19:15:36 -05:00
Vitor Pamplona 7889e3a624 Minimizes subs by merging PayTo with the Metadata sub 2026-03-01 18:59:46 -05:00
Vitor Pamplona 4b82ec4022 Removes unecessary subId names 2026-03-01 17:02:12 -05:00
Vitor Pamplona 0cba056932 formatting 2026-03-01 16:50:17 -05:00
Vitor Pamplona bb5e09fe8f Fixes duplicated strings 2026-03-01 16:50:09 -05:00
Vitor Pamplona 7f3d01ce0e Merge pull request #1731 from vitorpamplona/claude/move-strings-to-xml-qav0M
Externalize hardcoded strings to string resources
2026-03-01 16:42:27 -05:00
Claude ba1d61d8d9 feat: move hardcoded UI strings to strings.xml
Replaces hardcoded string literals in composables with string resource
references for proper i18n support. Adds 20 new strings to strings.xml.

Files updated:
- NewUserMetadataScreen: "Social proof" section title
- NoteCompose: "Approve" community post button
- Badge: " and N others" badge awardees text
- Chess: "Decline"/"Accept" challenge buttons
- InteractiveStory: "Restart" story button
- Poll: "Submit" poll button
- ChessGameScreen: "Back", "Relay Settings", "Loading game...",
  "Game Not Found", "This game may have ended...", "Game ID: ...",
  "Go Back"
- ChessLobbyScreen: "Back", "Relay Settings", "New Game",
  "Dismiss", "Connected"
- chess/NewChessGameButton: "New Chess Game" content description
- home/NewChessGameButton: "New Chess Game" content description
- UserSettingsScreen: "Remove <language>" content description

https://claude.ai/code/session_0151CDmy5k2pEWnxhRxet41h
2026-03-01 20:44:43 +00:00
Vitor Pamplona 16088be597 Correct zap colors 2026-03-01 14:40:47 -05:00
Vitor Pamplona 1a2940fba2 Fixes bug that was not recording these EOSEs 2026-03-01 14:40:25 -05:00
Vitor Pamplona 918108118a Adding more event kind names to the relay settings 2026-03-01 14:26:08 -05:00
Vitor Pamplona f8a0f17384 Making filter stable 2026-03-01 14:22:54 -05:00
Vitor Pamplona fbdc8791cd Fixes missing empty paragraphs 2026-03-01 12:59:29 -05:00
Vitor Pamplona cd18fdf79a Merge pull request #1728 from vitorpamplona/claude/add-relay-subscriptions-display-WHbsT
Add active subscriptions and outbox display to relay info screen
2026-03-01 12:48:25 -05:00
Vitor Pamplona 566bdb8a74 Merge pull request #1729 from vitorpamplona/claude/relay-search-suggestions-T1gpP
Add relay URL suggestions to relay input field
2026-03-01 12:47:04 -05:00
Vitor Pamplona 7212e9a879 Adds Relay Url to the Rich Text viewer 2026-03-01 12:45:47 -05:00
Vitor Pamplona ca6af92411 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  feat: add RelayUrlSegment for ws:// and wss:// relay URIs
  fix: treat multibyte characters as URL terminators in RichTextParser
  Simplify profile edit screen layout
  feat: show "Replying to" label in quoted notes
  fix: suppress parent thread in quoted notes
2026-03-01 11:48:46 -05:00
Vitor Pamplona 2ddcf41201 Merge pull request #1730 from vitorpamplona/claude/add-relay-uri-detection-vOdNR
Add RelayUrlSegment for WebSocket relay URL parsing
2026-03-01 11:48:09 -05:00
Claude b472be3a1a feat: add relay search suggestions to all Add a Relay fields
When the user types in any "Add a Relay" field in AllRelayListScreen,
the app now searches HintIndexer's relayDB for matching relay URLs
and displays them as clickable suggestions below the text field.

Clicking a suggestion fills the field with the relay URL, matching
the design pattern of ShowUserSuggestionList in ShortNotePostScreen.

New files:
- RelaySuggestionState: debounced Flow-based state filtering relayDB
- ShowRelaySuggestionList: Column of clickable RelayUrlLine rows

https://claude.ai/code/session_0115sYZGVQBZLX7s9oCDcKoi
2026-03-01 16:39:14 +00:00
Claude 304c348736 feat: add RelayUrlSegment for ws:// and wss:// relay URIs
Adds a new RelayUrlSegment type to RichTextParser that detects and
labels relay URIs (ws:// and wss:// schemes) as a distinct segment
type, separate from generic LinkSegments.

https://claude.ai/code/session_01U21sGdEEMLo4hY8dwxNzPr
2026-03-01 16:33:58 +00:00
Claude ce56f49369 feat: add active relay subscriptions and outbox display to RelayInformationScreen
Adds a new section before Errors and Notices that shows live relay state:
- REQ subscriptions: each subscription card shows its ID and a visual
  breakdown of all active filters using colored chips by kind category
  (notes/social/DM/economic), author counts, tag values, and time bounds
- COUNT subscriptions: same display for count queries
- Pending outbox events: chip list of event IDs awaiting delivery

Filter chips use Material3 color roles to indicate kind categories:
primaryContainer for text events (note/repost/reaction), secondaryContainer
for social/list events, tertiaryContainer for DMs/gift wraps, and
errorContainer for economic events (zap requests/receipts/NWC).

https://claude.ai/code/session_012zzv2j63ibraPNrQx8fGeu
2026-03-01 16:32:41 +00:00
Vitor Pamplona f5a7461fed Adds an emoji name to the preview to see if we can replicate the alignment when loading the username dynamically 2026-03-01 11:02:14 -05:00
Vitor Pamplona 678a97d01b Merge pull request #1727 from kojira/fix/multibyte-url-terminators
fix: treat multibyte characters as URL terminators in RichTextParser
2026-03-01 11:00:21 -05:00
kojira fd28d354e7 fix: treat multibyte characters as URL terminators in RichTextParser 2026-03-01 23:54:12 +09:00