Commit Graph

9260 Commits

Author SHA1 Message Date
Crowdin Bot db380cfe24 New Crowdin translations by GitHub Action 2026-03-02 20:58:37 +00:00
Vitor Pamplona bb6f052f32 Remove unnecessary params for FeedDefinitions 2026-03-02 15:56:18 -05:00
Vitor Pamplona 333480c29b Moves TopFilter markers from Strings to full objects. 2026-03-02 15:41:44 -05:00
Vitor Pamplona 7fabb6b554 Makes addresses serializable 2026-03-02 15:39:58 -05:00
Vitor Pamplona 88294de509 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  New Crowdin translations by GitHub Action
  localize hardcoded Navigate string in UserSearchCard
  add user avatar content descriptions in shared components
  add content description to poll deadline date icon
  correct pause button accessibility label
  unrelated code cleanup
  New Crowdin translations by GitHub Action
  New Crowdin translations by GitHub Action
2026-03-02 15:39:44 -05:00
davotoula 3220b4a1a7 extract rememberSaveMediaAction to eliminate toast/permission duplication 2026-03-02 20:07:53 +00:00
davotoula 08f389230e restore download toast and permission check
fix overflow button background to solid
2026-03-02 20:07:43 +00:00
M 69e95159e9 fix: check Namecoin name expiry before resolving
Query current block height via blockchain.headers.subscribe and reject
names that have expired (>= 36000 blocks since last update). Populate
expiresIn field in NameShowResult for downstream use.

Unconfirmed transactions (height <= 0) are treated as active.
2026-03-03 06:56:59 +11:00
M 3f39f96e81 fix: route ElectrumX through Tor proxy, add onion server
- ElectrumxClient accepts injected SocketFactory (lambda) so connections
  respect the user's Tor/proxy settings instead of leaking their IP
  through raw sockets
- Add ProxiedSocketFactory for SOCKS5 proxy routing
- Add .onion ElectrumX server as primary when Tor is enabled, with
  electrumx.testls.space as clearnet fallback
- NamecoinNameResolver accepts serverListProvider lambda for dynamic
  server selection based on current Tor settings
- RoleBasedHttpClientBuilder.socketFactoryForNip05() bridges Amethyst's
  Tor settings to the socket factory
- NamecoinNameService now requires explicit init with proxy-aware client
- Remove dead code: Nip05NamecoinAdapter (never referenced),
  NamecoinVerificationDisplay (never called)
- Update design documentation
2026-03-03 06:28:01 +11: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
Vitor Pamplona 5b0f7b5a02 Merge branch 'main' of https://github.com/vitorpamplona/amethyst
* 'main' of https://github.com/vitorpamplona/amethyst:
  update cz, pt, de, sv
  remove unused imports
  remove unused imports
  remove unused imports
2026-03-02 11:25:18 -05:00
Vitor Pamplona e6000cd3e9 Fixes spacing for replying to text 2026-03-02 11:20:09 -05:00
Vitor Pamplona 379dfedf05 Fixes link colors 2026-03-02 11:19:59 -05: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
M f6447d2020 feat: wire Namecoin search into SearchBarViewModel
Resolve .bit, d/, and id/ identifiers from the search bar via
ElectrumX blockchain lookups. Typing any Namecoin identifier format
(m@testls.bit, testls.bit, d/testls, id/alice) now queries the
Namecoin blockchain and shows the resolved user at the top of results.

The namecoinResolvedUser flow in SearchBarViewModel detects Namecoin
identifiers, resolves them through NamecoinNameService, and prepends
the result to the standard local cache search results.

Updated docs with search integration details and manual testing guide.
2026-03-02 19:43:24 +11:00
M d82ace2f63 feat: Namecoin NIP-05 identity verification via ElectrumX
Add censorship-resistant NIP-05 verification using the Namecoin blockchain.
Users can set their nip05 field to a .bit domain (e.g. alice@example.bit)
or direct Namecoin name (d/example, id/alice) and Amethyst will resolve
the pubkey mapping via ElectrumX instead of HTTP.

Resolution uses the standard Electrum protocol (scripthash-based lookups):
- Build canonical name index script matching ElectrumX-NMC indexing
- Query blockchain.scripthash.get_history for the name's tx history
- Parse NAME_UPDATE script from the latest transaction output
- Extract Nostr pubkey from the name's JSON value

Supports both d/ (domain) and id/ (identity) Namecoin namespaces,
simple and extended NIP-05-like value formats with relay hints,
LRU caching with 1h TTL, and self-signed TLS certificates.

New files:
- quartz: ElectrumxClient, NamecoinNameResolver, NamecoinLookupCache
- amethyst: NamecoinNameService, Nip05NamecoinAdapter, NamecoinVerificationDisplay
- docs: namecoin-nip05-design.md
- tests: NamecoinNameResolverTest

Modified:
- Nip05Client: optional namecoinResolver routes .bit to blockchain
- AppModules: wire up resolver

See docs/namecoin-nip05-design.md for full architecture and protocol details.
2026-03-02 13:07:46 +11: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