Commit Graph

852 Commits

Author SHA1 Message Date
Vitor Pamplona a0cb2a7db6 Creates a default relay list for indexers in new accounts 2025-10-20 20:22:20 -04:00
Vitor Pamplona f663bb78aa Reduce error log sizes 2025-10-20 18:41:43 -04:00
Vitor Pamplona e4ce7415a3 Don't use "when" when just one line is needed 2025-10-20 17:13:11 -04:00
Vitor Pamplona e45b4b11dc Restructuring Relay systems to:
- Maintain order of incoming messages for relay listeners
- Defers all processing of incoming messages to coroutines via channels, freeing OkHttp's thread as soon as possible.
- Simplifies the main relay class by using attached listener modules for each function of the relay client.
- Migrate defaultOnConnect calls to become listener based and moved to NostrClients
- Treat counts as query only, not subscriptions.
- Coordinates REQs so that if an update is required to be sent but the server has not finished processing events, waits for it to finish and sends it later as soon as EOSE or Close arrives
- Correctly sustain the local state of each Req.
- Creates an Account follow list per Relay state that only includes shared relays as a better source of functioning relays
- Changes UserLoading features in a tentative to make them faster since they are used by all functions in the app.
- Correctly marks EOSE for filters that are aligned with the Req State from NostrClient
- Avoid subsequent REQ updates before EOSE or CLOSE calls.
- Refactoring RelayClient listener to be not dependent of which module is active for a relay client.
- Refactors authenticators to do complete operation as a module
- Breaks down Relay Client modules (Auth, Reqs, Counts, Event submissions) in the Relay Pool class.
- Creates listeners just for special REQ situations
- Move statistics to outside the base relay class as a listener
- Move logs to outside the base relay class as a listener
- Better structures a Standalone Relay client
- More appropriately communicate errors to the listeners
- Remove relay state on listeners
2025-10-18 18:10:45 -04:00
Vitor Pamplona e20afd39a3 Removing onClosing listener because it isn't being used. 2025-10-18 17:12:10 -04:00
Vitor Pamplona 4c633c7dec Merge branch 'main' of https://github.com/vitorpamplona/amethyst 2025-10-18 08:44:21 -04:00
Vitor Pamplona 990cca3d64 Moving the EmptyOTS resolver to Quartz for test cases 2025-10-17 14:29:46 -04:00
davotoula 5d6e7d1921 change from runBlocking to runTest where appropriate 2025-10-15 21:00:00 +02:00
Vitor Pamplona 7a05f527dd Moving Log.java to Log.kt 2025-10-14 15:18:45 -04:00
Vitor Pamplona 0668f2caa4 Updates Compose, Firebase, GMS, JNA, mock, okhttp, secp256, spotless, vico, zoomable, androidXCamera 2025-10-14 14:38:28 -04:00
Vitor Pamplona 4af576f5f4 Merge branch 'main' of https://github.com/vitorpamplona/amethyst 2025-10-14 14:15:38 -04:00
Vitor Pamplona e422dcda50 Merge pull request #1519 from davotoula/1516-Private-Public-Bookmark-Removal-Issue
Private public bookmark removal issue
2025-10-14 13:42:42 -04:00
davotoula 3a3d1a6f25 bugfix: don't remove from public bookmarks when removing from private 2025-10-14 13:31:27 +02:00
davotoula 85bdf67ac3 added failing test: Public tags should be preserved when removing from private bookmarks 2025-10-14 13:21:46 +02:00
KotlinGeekDev ba756c9acd Take into account profile membership when removing profile. 2025-10-13 20:30:18 +01:00
Vitor Pamplona 0fab3afea2 Moves static relay stats to a injectable object 2025-10-10 11:38:22 -04:00
Vitor Pamplona 0bc38c1fa4 Removes sub stats from the Subscription controller to move outside. 2025-10-10 11:34:25 -04:00
Vitor Pamplona 0c0410d1dd Adds an isValid function to all commands so we can check before sending 2025-10-10 11:33:18 -04:00
Vitor Pamplona fa971b1822 Removes stats from Orchestrator to move out of the inner classes and be an option for app developers instead. 2025-10-10 11:31:32 -04:00
Vitor Pamplona 24f7d76dc4 Adds a Count reply message to relays 2025-10-10 11:17:43 -04:00
Vitor Pamplona 5c09cd0b55 Rejects additional urls with %20 and fixes Wss ones. 2025-10-10 10:55:46 -04:00
Vitor Pamplona 5975130824 Avoids logging at the BasicOkHttp level 2025-10-10 10:51:09 -04:00
Vitor Pamplona 0a23e23801 Moves quartz to Java 21 due to binary inconsistencies between the multiple builds of KMP (tests conflicting with main) 2025-10-10 10:49:35 -04:00
Vitor Pamplona a0c1b01a4b Adds a build template option for NIP42 auths 2025-10-10 10:48:39 -04:00
Vitor Pamplona 0708936c23 Mocks the android log on test cases 2025-10-10 10:47:59 -04:00
KotlinGeekDev 3c622f544c Make a method specially for cloning/copying. Refactor createListWithDescription(). 2025-10-09 19:55:40 +01:00
KotlinGeekDev a8d01e3667 Put in the relevant code in PeopleListEvent. Use DescriptionTag instead of manual construction. 2025-10-09 17:02:42 +01:00
KotlinGeekDev 192a257780 Merge branch 'vitorpamplona:main' into followset-improvements 2025-10-08 01:53:14 +00:00
Vitor Pamplona 0ab7dd9797 Adds test cases for the new sub map filters. 2025-10-06 18:55:23 -04:00
Vitor Pamplona a6e4a8d4fc Performance improvement for the address serializer. 2025-10-06 18:05:03 -04:00
Vitor Pamplona 5f59f1ab41 Adds submap queries to the addressable large cache 2025-10-06 18:04:37 -04:00
KotlinGeekDev eb99febb2b Merge branch 'vitorpamplona:main' into followset-improvements 2025-10-04 06:48:59 +00:00
Vitor Pamplona cf8c8e47a2 Creates an option to ignore reconnection relays that should be used when the network settings change. 2025-10-03 18:03:04 -04:00
Vitor Pamplona 26462a150e Makes sure the scope is cancelled when the NostrClient is done 2025-10-03 18:01:34 -04:00
Vitor Pamplona b002f9f37e Uses the new isHex64 in the ContactList 2025-10-03 15:58:38 -04:00
Vitor Pamplona 7994945209 30% Faster isHex for strings with 64 bytes. 2025-10-03 15:58:01 -04:00
KotlinGeekDev 2df575d4af Modify the models to support creating a new list with several profiles. Use IO dispatcher in FollowSetState. Introduce follow set copying/cloning, with custom names/descriptions for the clones. 2025-10-03 16:02:15 +01:00
Vitor Pamplona 97668513b5 Fixes passing onClosed messages forward from NostrClient 2025-10-03 09:11:28 -04:00
Vitor Pamplona bc8e18a01b Initial test cases for NostrClient and extensions 2025-10-02 17:54:56 -04:00
Vitor Pamplona 90b682a38f Avoid sending close to subs that are already closed. 2025-10-02 17:48:06 -04:00
Vitor Pamplona c6107dd784 Starts NostrClient in active instead of waiting for a connect() call 2025-10-02 17:47:39 -04:00
Vitor Pamplona fd6be80b7e Offers a way to destroy subscriptions 2025-10-02 17:46:54 -04:00
Vitor Pamplona f901f8ab8f Must use unlimited channels to avoid blocking the OkHttp threads. 2025-10-02 17:46:35 -04:00
Vitor Pamplona b83ea61522 Moves OKHttp relay implementations to use a Channel in order to guarantee incoming message order. 2025-10-02 17:45:58 -04:00
Vitor Pamplona 168caf0ec6 Fixes comment 2025-10-02 17:42:33 -04:00
Vitor Pamplona 04f5e8738a Forces an updateFilter at the start of new subs. 2025-10-02 16:54:34 -04:00
Vitor Pamplona c8f51380aa Fixes error messages in BasicRelayClient 2025-10-02 16:41:47 -04:00
Vitor Pamplona 612dd175b3 Creates the relay on sending new requests instead of waiting for updatePool method. 2025-10-02 16:40:45 -04:00
Vitor Pamplona a56d9631ed Solves the issue of not connecting in the first time reconnect is called 2025-10-02 16:40:16 -04:00
Vitor Pamplona 1fd5ba0451 Adds ease of use functions for the downloadFirst Event extension method 2025-10-02 16:39:47 -04:00