mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-11-10 11:27:21 +01:00
- 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