Finish migration to INostrClient
This commit is contained in:
-1
@@ -31,7 +31,6 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.dal.ThreadFeedFi
|
|||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
import com.vitorpamplona.quartz.nip01Core.crypto.KeyPair
|
||||||
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
|
import com.vitorpamplona.quartz.nip01Core.jackson.JsonMapper
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
|
import com.vitorpamplona.quartz.nip01Core.signers.NostrSignerInternal
|
||||||
import com.vitorpamplona.quartz.nip01Core.tags.addressables.ATag
|
import com.vitorpamplona.quartz.nip01Core.tags.addressables.ATag
|
||||||
import com.vitorpamplona.quartz.nip01Core.verify
|
import com.vitorpamplona.quartz.nip01Core.verify
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ import com.vitorpamplona.amethyst.service.relayClient.speedLogger.RelaySpeedLogg
|
|||||||
import com.vitorpamplona.amethyst.service.uploads.nip95.Nip95CacheFactory
|
import com.vitorpamplona.amethyst.service.uploads.nip95.Nip95CacheFactory
|
||||||
import com.vitorpamplona.amethyst.ui.navigation.navs.EmptyNav.scope
|
import com.vitorpamplona.amethyst.ui.navigation.navs.EmptyNav.scope
|
||||||
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
||||||
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
||||||
import com.vitorpamplona.quartz.nip03Timestamp.VerificationStateCache
|
import com.vitorpamplona.quartz.nip03Timestamp.VerificationStateCache
|
||||||
import com.vitorpamplona.quartz.nip03Timestamp.ots.okhttp.OtsBlockHeightCache
|
import com.vitorpamplona.quartz.nip03Timestamp.ots.okhttp.OtsBlockHeightCache
|
||||||
@@ -136,7 +137,7 @@ class Amethyst : Application() {
|
|||||||
val trimmingService = MemoryTrimmingService(cache)
|
val trimmingService = MemoryTrimmingService(cache)
|
||||||
|
|
||||||
// Provides a relay pool
|
// Provides a relay pool
|
||||||
val client: NostrClient = NostrClient(websocketBuilder, applicationIOScope)
|
val client: INostrClient = NostrClient(websocketBuilder, applicationIOScope)
|
||||||
|
|
||||||
// Watches for changes on Tor and Relay List Settings
|
// Watches for changes on Tor and Relay List Settings
|
||||||
val relayProxyClientConnector = RelayProxyClientConnector(torProxySettingsAnchor, okHttpClients, connManager, client, torManager, applicationIOScope)
|
val relayProxyClientConnector = RelayProxyClientConnector(torProxySettingsAnchor, okHttpClients, connManager, client, torManager, applicationIOScope)
|
||||||
|
|||||||
+2
-2
@@ -22,13 +22,13 @@ package com.vitorpamplona.amethyst.service.relayClient
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.EventCollector
|
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.EventCollector
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.RelayInsertConfirmationCollector
|
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.RelayInsertConfirmationCollector
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
|
|
||||||
class CacheClientConnector(
|
class CacheClientConnector(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val cache: LocalCache,
|
val cache: LocalCache,
|
||||||
) {
|
) {
|
||||||
val receiver =
|
val receiver =
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.service.relayClient
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
|||||||
* Listens to NostrClient's onNotify messages from the relay
|
* Listens to NostrClient's onNotify messages from the relay
|
||||||
*/
|
*/
|
||||||
class RelayLogger(
|
class RelayLogger(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
val TAG = RelayLogger::class.java.simpleName
|
val TAG = RelayLogger::class.java.simpleName
|
||||||
|
|||||||
+2
-2
@@ -28,7 +28,7 @@ import com.vitorpamplona.amethyst.service.okhttp.DualHttpClientManager
|
|||||||
import com.vitorpamplona.amethyst.service.okhttp.ProxySettingsAnchor
|
import com.vitorpamplona.amethyst.service.okhttp.ProxySettingsAnchor
|
||||||
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
||||||
import com.vitorpamplona.amethyst.ui.tor.TorServiceStatus
|
import com.vitorpamplona.amethyst.ui.tor.TorServiceStatus
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
import kotlinx.coroutines.FlowPreview
|
import kotlinx.coroutines.FlowPreview
|
||||||
@@ -48,7 +48,7 @@ class RelayProxyClientConnector(
|
|||||||
val torProxySettingsAnchor: ProxySettingsAnchor,
|
val torProxySettingsAnchor: ProxySettingsAnchor,
|
||||||
val okHttpClients: DualHttpClientManager,
|
val okHttpClients: DualHttpClientManager,
|
||||||
val connManager: ConnectivityManager,
|
val connManager: ConnectivityManager,
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val torManager: TorManager,
|
val torManager: TorManager,
|
||||||
val scope: CoroutineScope,
|
val scope: CoroutineScope,
|
||||||
) {
|
) {
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.service.relayClient.authCommand.model
|
|||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.amethyst.isDebug
|
import com.vitorpamplona.amethyst.isDebug
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.RelayAuthenticator
|
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.RelayAuthenticator
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ class ScreenAuthAccount(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class AuthCoordinator(
|
class AuthCoordinator(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
scope: CoroutineScope,
|
scope: CoroutineScope,
|
||||||
) {
|
) {
|
||||||
private val authWithAccounts = ListWithUniqueSetCache<ScreenAuthAccount, Account> { it.account }
|
private val authWithAccounts = ListWithUniqueSetCache<ScreenAuthAccount, Account> { it.account }
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.service.relayClient.eoseManagers
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relays.EOSEByKey
|
import com.vitorpamplona.amethyst.service.relays.EOSEByKey
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
@@ -37,7 +37,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
|||||||
* shares all EOSEs among all users.
|
* shares all EOSEs among all users.
|
||||||
*/
|
*/
|
||||||
abstract class PerUniqueIdEoseManager<T, U : Any>(
|
abstract class PerUniqueIdEoseManager<T, U : Any>(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<T>,
|
allKeys: () -> Set<T>,
|
||||||
val invalidateAfterEose: Boolean = false,
|
val invalidateAfterEose: Boolean = false,
|
||||||
) : BaseEoseManager<T>(client, allKeys) {
|
) : BaseEoseManager<T>(client, allKeys) {
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.service.relayClient.eoseManagers
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relays.EOSEAccountKey
|
import com.vitorpamplona.amethyst.service.relays.EOSEAccountKey
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
@@ -41,7 +41,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
|||||||
* app reuse the EOSE because it assumes the filter is going to be different
|
* app reuse the EOSE because it assumes the filter is going to be different
|
||||||
*/
|
*/
|
||||||
abstract class PerUserAndFollowListEoseManager<T, U : Any>(
|
abstract class PerUserAndFollowListEoseManager<T, U : Any>(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<T>,
|
allKeys: () -> Set<T>,
|
||||||
val invalidateAfterEose: Boolean = false,
|
val invalidateAfterEose: Boolean = false,
|
||||||
) : BaseEoseManager<T>(client, allKeys) {
|
) : BaseEoseManager<T>(client, allKeys) {
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.service.relayClient.eoseManagers
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
@@ -39,7 +39,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
|||||||
* the subscription disappears and comes back later.
|
* the subscription disappears and comes back later.
|
||||||
*/
|
*/
|
||||||
abstract class PerUserEoseManager<T>(
|
abstract class PerUserEoseManager<T>(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<T>,
|
allKeys: () -> Set<T>,
|
||||||
val invalidateAfterEose: Boolean = false,
|
val invalidateAfterEose: Boolean = false,
|
||||||
) : BaseEoseManager<T>(client, allKeys) {
|
) : BaseEoseManager<T>(client, allKeys) {
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.service.relayClient.eoseManagers
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relays.EOSERelayList
|
import com.vitorpamplona.amethyst.service.relays.EOSERelayList
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.groupByRelay
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
@@ -40,7 +40,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
|||||||
* shares all EOSEs among all users.
|
* shares all EOSEs among all users.
|
||||||
*/
|
*/
|
||||||
abstract class SingleSubEoseManager<T>(
|
abstract class SingleSubEoseManager<T>(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<T>,
|
allKeys: () -> Set<T>,
|
||||||
val invalidateAfterEose: Boolean = false,
|
val invalidateAfterEose: Boolean = false,
|
||||||
) : BaseEoseManager<T>(client, allKeys) {
|
) : BaseEoseManager<T>(client, allKeys) {
|
||||||
|
|||||||
+2
-2
@@ -20,11 +20,11 @@
|
|||||||
*/
|
*/
|
||||||
package com.vitorpamplona.amethyst.service.relayClient.notifyCommand.model
|
package com.vitorpamplona.amethyst.service.relayClient.notifyCommand.model
|
||||||
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.RelayNotifier
|
import com.vitorpamplona.quartz.nip01Core.relay.client.accessories.RelayNotifier
|
||||||
|
|
||||||
class NotifyCoordinator(
|
class NotifyCoordinator(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) {
|
) {
|
||||||
val requests = NotifyRequestsCache()
|
val requests = NotifyRequestsCache()
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -39,12 +39,12 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.HomeFilterA
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource.UserProfileFilterAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource.UserProfileFilterAssembler
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.ThreadFilterAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.ThreadFilterAssembler
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.VideoFilterAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.VideoFilterAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|
||||||
class RelaySubscriptionsCoordinator(
|
class RelaySubscriptionsCoordinator(
|
||||||
cache: LocalCache,
|
cache: LocalCache,
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
scope: CoroutineScope,
|
scope: CoroutineScope,
|
||||||
) {
|
) {
|
||||||
// main one: notifications, dms and account settings
|
// main one: notifications, dms and account settings
|
||||||
|
|||||||
+2
-2
@@ -28,7 +28,7 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.nip01No
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.nip59GiftWraps.AccountGiftWrapsEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.nip59GiftWraps.AccountGiftWrapsEoseManager
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to logged-in accounts.
|
// This allows multiple screen to be listening to logged-in accounts.
|
||||||
class AccountQueryState(
|
class AccountQueryState(
|
||||||
@@ -41,7 +41,7 @@ class AccountQueryState(
|
|||||||
* This assembler loads everything eech account needs.
|
* This assembler loads everything eech account needs.
|
||||||
*/
|
*/
|
||||||
class AccountFilterAssembler(
|
class AccountFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<AccountQueryState>() {
|
) : ComposeSubscriptionManager<AccountQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.User
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -34,7 +34,7 @@ import kotlinx.coroutines.flow.collectLatest
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class AccountMetadataEoseManager(
|
class AccountMetadataEoseManager(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<AccountQueryState>,
|
allKeys: () -> Set<AccountQueryState>,
|
||||||
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
||||||
override fun user(key: AccountQueryState) = key.account.userProfile()
|
override fun user(key: AccountQueryState) = key.account.userProfile()
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.User
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||||
@@ -36,7 +36,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class AccountNotificationsEoseFromInboxRelaysManager(
|
class AccountNotificationsEoseFromInboxRelaysManager(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<AccountQueryState>,
|
allKeys: () -> Set<AccountQueryState>,
|
||||||
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
||||||
override fun user(key: AccountQueryState) = key.account.userProfile()
|
override fun user(key: AccountQueryState) = key.account.userProfile()
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.User
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -36,7 +36,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class AccountNotificationsEoseFromRandomRelaysManager(
|
class AccountNotificationsEoseFromRandomRelaysManager(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<AccountQueryState>,
|
allKeys: () -> Set<AccountQueryState>,
|
||||||
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
||||||
override fun user(key: AccountQueryState) = key.account.userProfile()
|
override fun user(key: AccountQueryState) = key.account.userProfile()
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.User
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -34,7 +34,7 @@ import kotlinx.coroutines.flow.collectLatest
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class AccountGiftWrapsEoseManager(
|
class AccountGiftWrapsEoseManager(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<AccountQueryState>,
|
allKeys: () -> Set<AccountQueryState>,
|
||||||
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
) : PerUserEoseManager<AccountQueryState>(client, allKeys) {
|
||||||
override fun user(key: AccountQueryState) = key.account.userProfile()
|
override fun user(key: AccountQueryState) = key.account.userProfile()
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.Channel
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.mixChatsLive.ChannelMetadataAndLiveActivityWatcherSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.mixChatsLive.ChannelMetadataAndLiveActivityWatcherSubAssembler
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip28PublicChats.ChannelLoaderSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip28PublicChats.ChannelLoaderSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class ChannelFinderQueryState(
|
class ChannelFinderQueryState(
|
||||||
@@ -32,7 +32,7 @@ class ChannelFinderQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class ChannelFinderFilterAssemblyGroup(
|
class ChannelFinderFilterAssemblyGroup(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<ChannelFinderQueryState>() {
|
) : ComposeSubscriptionManager<ChannelFinderQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -27,7 +27,7 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.Channel
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip28PublicChats.filterChannelMetadataUpdatesById
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip28PublicChats.filterChannelMetadataUpdatesById
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip53LiveActivities.filterLiveStreamUpdatesByAddress
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip53LiveActivities.filterLiveStreamUpdatesByAddress
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.utils.mapOfSet
|
import com.vitorpamplona.quartz.utils.mapOfSet
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ import com.vitorpamplona.quartz.utils.mapOfSet
|
|||||||
* only one EOSE for everybody.
|
* only one EOSE for everybody.
|
||||||
*/
|
*/
|
||||||
class ChannelMetadataAndLiveActivityWatcherSubAssembler(
|
class ChannelMetadataAndLiveActivityWatcherSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChannelFinderQueryState>,
|
allKeys: () -> Set<ChannelFinderQueryState>,
|
||||||
) : SingleSubEoseManager<ChannelFinderQueryState>(client, allKeys) {
|
) : SingleSubEoseManager<ChannelFinderQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.nip28P
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,7 +35,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
|||||||
* This is one filter for everybody.
|
* This is one filter for everybody.
|
||||||
*/
|
*/
|
||||||
class ChannelLoaderSubAssembler(
|
class ChannelLoaderSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChannelFinderQueryState>,
|
allKeys: () -> Set<ChannelFinderQueryState>,
|
||||||
) : SingleSubNoEoseCacheEoseManager<ChannelFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
) : SingleSubNoEoseCacheEoseManager<ChannelFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
||||||
override fun updateFilter(keys: List<ChannelFinderQueryState>): List<RelayBasedFilter>? = filterMissingChannelsById(keys)
|
override fun updateFilter(keys: List<ChannelFinderQueryState>): List<RelayBasedFilter>? = filterMissingChannelsById(keys)
|
||||||
|
|||||||
+2
-2
@@ -25,11 +25,11 @@ import com.vitorpamplona.amethyst.model.nip28PublicChats.PublicChatChannel
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class ChannelMetadataWatcherSubAssembler(
|
class ChannelMetadataWatcherSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChannelFinderQueryState>,
|
allKeys: () -> Set<ChannelFinderQueryState>,
|
||||||
) : PerUniqueIdEoseManager<ChannelFinderQueryState, Channel>(client, allKeys) {
|
) : PerUniqueIdEoseManager<ChannelFinderQueryState, Channel>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.model.nip53LiveActivities.LiveActivitiesChanne
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.channel.ChannelFinderQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -33,7 +33,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
|||||||
* since they are replaceable.
|
* since they are replaceable.
|
||||||
*/
|
*/
|
||||||
class LiveActivityWatcherSubAssembly(
|
class LiveActivityWatcherSubAssembly(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChannelFinderQueryState>,
|
allKeys: () -> Set<ChannelFinderQueryState>,
|
||||||
) : PerUniqueIdEoseManager<ChannelFinderQueryState, Channel>(client, allKeys) {
|
) : PerUniqueIdEoseManager<ChannelFinderQueryState, Channel>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.model.Note
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.loaders.NoteEventLoaderSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.loaders.NoteEventLoaderSubAssembler
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.watchers.EventWatcherSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.watchers.EventWatcherSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class EventFinderQueryState(
|
class EventFinderQueryState(
|
||||||
@@ -34,7 +34,7 @@ class EventFinderQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class EventFinderFilterAssembler(
|
class EventFinderFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<EventFinderQueryState>() {
|
) : ComposeSubscriptionManager<EventFinderQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -22,10 +22,10 @@ package com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.loaders
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.EventFinderQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.EventFinderQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
class NoteEventLoaderSubAssembler(
|
class NoteEventLoaderSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<EventFinderQueryState>,
|
allKeys: () -> Set<EventFinderQueryState>,
|
||||||
) : SingleSubNoEoseCacheEoseManager<EventFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
) : SingleSubNoEoseCacheEoseManager<EventFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
||||||
override fun updateFilter(keys: List<EventFinderQueryState>) =
|
override fun updateFilter(keys: List<EventFinderQueryState>) =
|
||||||
|
|||||||
+2
-2
@@ -27,12 +27,12 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.event.EventFind
|
|||||||
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.ammolite.relays.filters.MutableTime
|
import com.vitorpamplona.ammolite.relays.filters.MutableTime
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
|
|
||||||
class EventWatcherSubAssembler(
|
class EventWatcherSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<EventFinderQueryState>,
|
allKeys: () -> Set<EventFinderQueryState>,
|
||||||
) : SingleSubEoseManager<EventFinderQueryState>(client, allKeys) {
|
) : SingleSubEoseManager<EventFinderQueryState>(client, allKeys) {
|
||||||
var lastNotesOnFilter = emptyList<Note>()
|
var lastNotesOnFilter = emptyList<Note>()
|
||||||
|
|||||||
+2
-2
@@ -26,7 +26,7 @@ import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManager
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.loaders.UserLoaderSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.loaders.UserLoaderSubAssembler
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.watchers.UserReportsSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.watchers.UserReportsSubAssembler
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.watchers.UserWatcherSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.watchers.UserWatcherSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class UserFinderQueryState(
|
class UserFinderQueryState(
|
||||||
@@ -35,7 +35,7 @@ class UserFinderQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class UserFinderFilterAssembler(
|
class UserFinderFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<UserFinderQueryState>() {
|
) : ComposeSubscriptionManager<UserFinderQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -24,12 +24,12 @@ import com.vitorpamplona.amethyst.model.LocalCache
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubNoEoseCacheEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinderQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinderQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
|
|
||||||
class UserLoaderSubAssembler(
|
class UserLoaderSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserFinderQueryState>,
|
allKeys: () -> Set<UserFinderQueryState>,
|
||||||
) : SingleSubNoEoseCacheEoseManager<UserFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
) : SingleSubNoEoseCacheEoseManager<UserFinderQueryState>(client, allKeys, invalidateAfterEose = true) {
|
||||||
override fun updateFilter(keys: List<UserFinderQueryState>): List<RelayBasedFilter>? {
|
override fun updateFilter(keys: List<UserFinderQueryState>): List<RelayBasedFilter>? {
|
||||||
|
|||||||
+2
-2
@@ -26,13 +26,13 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinder
|
|||||||
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.ammolite.relays.filters.MutableTime
|
import com.vitorpamplona.ammolite.relays.filters.MutableTime
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
import com.vitorpamplona.quartz.utils.mapOfSet
|
import com.vitorpamplona.quartz.utils.mapOfSet
|
||||||
|
|
||||||
class UserReportsSubAssembler(
|
class UserReportsSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserFinderQueryState>,
|
allKeys: () -> Set<UserFinderQueryState>,
|
||||||
) : SingleSubEoseManager<UserFinderQueryState>(client, allKeys) {
|
) : SingleSubEoseManager<UserFinderQueryState>(client, allKeys) {
|
||||||
var lastUsersOnFilter: Set<User> = emptySet()
|
var lastUsersOnFilter: Set<User> = emptySet()
|
||||||
|
|||||||
+2
-2
@@ -26,12 +26,12 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinder
|
|||||||
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
import com.vitorpamplona.amethyst.service.relays.EOSEAccountFast
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.ammolite.relays.filters.MutableTime
|
import com.vitorpamplona.ammolite.relays.filters.MutableTime
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
|
|
||||||
class UserWatcherSubAssembler(
|
class UserWatcherSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserFinderQueryState>,
|
allKeys: () -> Set<UserFinderQueryState>,
|
||||||
) : SingleSubEoseManager<UserFinderQueryState>(client, allKeys) {
|
) : SingleSubEoseManager<UserFinderQueryState>(client, allKeys) {
|
||||||
var lastUsersOnFilter: Set<User> = emptySet()
|
var lastUsersOnFilter: Set<User> = emptySet()
|
||||||
|
|||||||
+2
-2
@@ -26,7 +26,7 @@ import com.vitorpamplona.amethyst.model.LocalCache
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.MutableComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.MutableComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.MutableQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.MutableQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.searchCommand.subassemblies.SearchWatcherSubAssembler
|
import com.vitorpamplona.amethyst.service.relayClient.searchCommand.subassemblies.SearchWatcherSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.flow.Flow
|
import kotlinx.coroutines.flow.Flow
|
||||||
import kotlinx.coroutines.flow.MutableStateFlow
|
import kotlinx.coroutines.flow.MutableStateFlow
|
||||||
@@ -40,7 +40,7 @@ class SearchQueryState(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class SearchFilterAssembler(
|
class SearchFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
scope: CoroutineScope,
|
scope: CoroutineScope,
|
||||||
val cache: LocalCache,
|
val cache: LocalCache,
|
||||||
) : MutableComposeSubscriptionManager<SearchQueryState>(scope) {
|
) : MutableComposeSubscriptionManager<SearchQueryState>(scope) {
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEo
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.searchCommand.SearchQueryState
|
import com.vitorpamplona.amethyst.service.relayClient.searchCommand.SearchQueryState
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
|
import com.vitorpamplona.quartz.nip01Core.core.toHexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip19Bech32.Nip19Parser
|
import com.vitorpamplona.quartz.nip19Bech32.Nip19Parser
|
||||||
import com.vitorpamplona.quartz.nip19Bech32.entities.NAddress
|
import com.vitorpamplona.quartz.nip19Bech32.entities.NAddress
|
||||||
@@ -44,7 +44,7 @@ import com.vitorpamplona.quartz.utils.Hex
|
|||||||
*/
|
*/
|
||||||
class SearchWatcherSubAssembler(
|
class SearchWatcherSubAssembler(
|
||||||
val cache: LocalCache,
|
val cache: LocalCache,
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<SearchQueryState>,
|
allKeys: () -> Set<SearchQueryState>,
|
||||||
) : PerUniqueIdEoseManager<SearchQueryState, Int>(client, allKeys) {
|
) : PerUniqueIdEoseManager<SearchQueryState, Int>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.service.relayClient.speedLogger
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
|||||||
* Listens to NostrClient's onNotify messages from the relay
|
* Listens to NostrClient's onNotify messages from the relay
|
||||||
*/
|
*/
|
||||||
class RelaySpeedLogger(
|
class RelaySpeedLogger(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
val TAG = RelaySpeedLogger::class.java.simpleName
|
val TAG = RelaySpeedLogger::class.java.simpleName
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip17Dm.base.ChatroomKey
|
import com.vitorpamplona.quartz.nip17Dm.base.ChatroomKey
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
@@ -34,7 +34,7 @@ class ChatroomQueryState(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class ChatroomFilterAssembler(
|
class ChatroomFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<ChatroomQueryState>() {
|
) : ComposeSubscriptionManager<ChatroomQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -22,10 +22,10 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserAndFollowListEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserAndFollowListEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
class ChatroomFilterSubAssembler(
|
class ChatroomFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChatroomQueryState>,
|
allKeys: () -> Set<ChatroomQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<ChatroomQueryState, String>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<ChatroomQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.model.Channel
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.subassemblies.ChannelFromUserFilterSubAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.subassemblies.ChannelFromUserFilterSubAssembler
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.subassemblies.ChannelPublicFilterSubAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.subassemblies.ChannelPublicFilterSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class ChannelQueryState(
|
class ChannelQueryState(
|
||||||
@@ -34,7 +34,7 @@ class ChannelQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class ChannelFilterAssembler(
|
class ChannelFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<ChannelQueryState>() {
|
) : ComposeSubscriptionManager<ChannelQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -27,11 +27,11 @@ import com.vitorpamplona.amethyst.model.nip53LiveActivities.LiveActivitiesChanne
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserAndFollowListEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserAndFollowListEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.ChannelQueryState
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.ChannelQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class ChannelFromUserFilterSubAssembler(
|
class ChannelFromUserFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChannelQueryState>,
|
allKeys: () -> Set<ChannelQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<ChannelQueryState, Channel>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<ChannelQueryState, Channel>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -27,11 +27,11 @@ import com.vitorpamplona.amethyst.model.nip53LiveActivities.LiveActivitiesChanne
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.ChannelQueryState
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.publicChannels.datasource.ChannelQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class ChannelPublicFilterSubAssembler(
|
class ChannelPublicFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChannelQueryState>,
|
allKeys: () -> Set<ChannelQueryState>,
|
||||||
) : PerUniqueIdEoseManager<ChannelQueryState, Channel>(client, allKeys) {
|
) : PerUniqueIdEoseManager<ChannelQueryState, Channel>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class ChatroomListState(
|
class ChatroomListState(
|
||||||
@@ -30,7 +30,7 @@ class ChatroomListState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class ChatroomListFilterAssembler(
|
class ChatroomListFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<ChatroomListState>() {
|
) : ComposeSubscriptionManager<ChatroomListState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.datasource
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -33,7 +33,7 @@ import kotlinx.coroutines.flow.collectLatest
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class DMsFromUserFilterSubAssembler(
|
class DMsFromUserFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChatroomListState>,
|
allKeys: () -> Set<ChatroomListState>,
|
||||||
) : PerUserEoseManager<ChatroomListState>(client, allKeys) {
|
) : PerUserEoseManager<ChatroomListState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.datasource
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -34,7 +34,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class FollowingEphemeralChatSubAssembler(
|
class FollowingEphemeralChatSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChatroomListState>,
|
allKeys: () -> Set<ChatroomListState>,
|
||||||
) : PerUserEoseManager<ChatroomListState>(client, allKeys) {
|
) : PerUserEoseManager<ChatroomListState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.rooms.datasource
|
|||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -34,7 +34,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class FollowingPublicChatSubAssembler(
|
class FollowingPublicChatSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ChatroomListState>,
|
allKeys: () -> Set<ChatroomListState>,
|
||||||
) : PerUserEoseManager<ChatroomListState>(client, allKeys) {
|
) : PerUserEoseManager<ChatroomListState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -23,13 +23,13 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.communities.datasource
|
|||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip72ModCommunities.definition.CommunityDefinitionEvent
|
import com.vitorpamplona.quartz.nip72ModCommunities.definition.CommunityDefinitionEvent
|
||||||
import com.vitorpamplona.quartz.utils.mapOfSet
|
import com.vitorpamplona.quartz.utils.mapOfSet
|
||||||
|
|
||||||
class CommunityFeedFilterSubAssembler(
|
class CommunityFeedFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<CommunityQueryState>,
|
allKeys: () -> Set<CommunityQueryState>,
|
||||||
) : SingleSubEoseManager<CommunityQueryState>(client, allKeys) {
|
) : SingleSubEoseManager<CommunityQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.communities.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.model.AddressableNote
|
import com.vitorpamplona.amethyst.model.AddressableNote
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class CommunityQueryState(
|
class CommunityQueryState(
|
||||||
@@ -30,7 +30,7 @@ class CommunityQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class CommunityFilterAssembler(
|
class CommunityFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<CommunityQueryState>() {
|
) : ComposeSubscriptionManager<CommunityQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -23,7 +23,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.datasource
|
|||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
@@ -34,7 +34,7 @@ class DiscoveryQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class DiscoveryFilterAssembler(
|
class DiscoveryFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<DiscoveryQueryState>() {
|
) : ComposeSubscriptionManager<DiscoveryQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserAndFol
|
|||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip51FollowSets.makeFollowSetsFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip51FollowSets.makeFollowSetsFilter
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip53LiveActivities.makeLiveActivitiesFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip53LiveActivities.makeLiveActivitiesFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -37,7 +37,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class DiscoveryFollowsSetsAndLiveStreamsSubAssembler2(
|
class DiscoveryFollowsSetsAndLiveStreamsSubAssembler2(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<DiscoveryQueryState>,
|
allKeys: () -> Set<DiscoveryQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<DiscoveryQueryState, String>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<DiscoveryQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -26,7 +26,7 @@ import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip23LongForm.makeLongFormFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip23LongForm.makeLongFormFilter
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip90DVMs.makeContentDVMsFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip90DVMs.makeContentDVMsFilter
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip99Classifieds.makeClassifiedsFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip99Classifieds.makeClassifiedsFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -38,7 +38,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class DiscoveryLongFormClassifiedsAndDVMSubAssembler1(
|
class DiscoveryLongFormClassifiedsAndDVMSubAssembler1(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<DiscoveryQueryState>,
|
allKeys: () -> Set<DiscoveryQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<DiscoveryQueryState, String>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<DiscoveryQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserAndFol
|
|||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip28Chats.makePublicChatsFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip28Chats.makePublicChatsFilter
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip72Communities.makeCommunitiesFilter
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.discover.nip72Communities.makeCommunitiesFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -37,7 +37,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class DiscoveryPublicChatsAndCommunitiesSubAssembler3(
|
class DiscoveryPublicChatsAndCommunitiesSubAssembler3(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<DiscoveryQueryState>,
|
allKeys: () -> Set<DiscoveryQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<DiscoveryQueryState, String>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<DiscoveryQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,11 +22,11 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.geohash.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class GeoHashFeedFilterSubAssembler(
|
class GeoHashFeedFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<GeohashQueryState>,
|
allKeys: () -> Set<GeohashQueryState>,
|
||||||
) : PerUniqueIdEoseManager<GeohashQueryState, String>(client, allKeys) {
|
) : PerUniqueIdEoseManager<GeohashQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.geohash.datasource
|
|||||||
|
|
||||||
import androidx.compose.runtime.Stable
|
import androidx.compose.runtime.Stable
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
@@ -38,7 +38,7 @@ class GeohashQueryState(
|
|||||||
*/
|
*/
|
||||||
@Stable
|
@Stable
|
||||||
class GeoHashFilterAssembler(
|
class GeoHashFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<GeohashQueryState>() {
|
) : ComposeSubscriptionManager<GeohashQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -22,11 +22,11 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.hashtag.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class HashtagFeedFilterSubAssembler(
|
class HashtagFeedFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<HashtagQueryState>,
|
allKeys: () -> Set<HashtagQueryState>,
|
||||||
) : PerUniqueIdEoseManager<HashtagQueryState, String>(client, allKeys) {
|
) : PerUniqueIdEoseManager<HashtagQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@
|
|||||||
package com.vitorpamplona.amethyst.ui.screen.loggedIn.hashtag.datasource
|
package com.vitorpamplona.amethyst.ui.screen.loggedIn.hashtag.datasource
|
||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
@@ -33,7 +33,7 @@ class HashtagQueryState(
|
|||||||
}
|
}
|
||||||
|
|
||||||
class HashtagFilterAssembler(
|
class HashtagFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<HashtagQueryState>() {
|
) : ComposeSubscriptionManager<HashtagQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.Account
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip65Follows.HomeOutboxEventsEoseManager
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip65Follows.HomeOutboxEventsEoseManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
@@ -35,7 +35,7 @@ class HomeQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class HomeFilterAssembler(
|
class HomeFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<HomeQueryState>() {
|
) : ComposeSubscriptionManager<HomeQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -37,7 +37,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip01Core.f
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip01Core.filterHomePostsByHashtags
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip01Core.filterHomePostsByHashtags
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip72Communities.filterHomePostsByAllCommunities
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip72Communities.filterHomePostsByAllCommunities
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip72Communities.filterHomePostsByCommunity
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.home.datasource.nip72Communities.filterHomePostsByCommunity
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import kotlinx.coroutines.Dispatchers
|
import kotlinx.coroutines.Dispatchers
|
||||||
@@ -48,7 +48,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class HomeOutboxEventsEoseManager(
|
class HomeOutboxEventsEoseManager(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<HomeQueryState>,
|
allKeys: () -> Set<HomeQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<HomeQueryState, String>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<HomeQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.model.User
|
import com.vitorpamplona.amethyst.model.User
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class UserProfileQueryState(
|
class UserProfileQueryState(
|
||||||
@@ -30,7 +30,7 @@ class UserProfileQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class UserProfileFilterAssembler(
|
class UserProfileFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<UserProfileQueryState>() {
|
) : ComposeSubscriptionManager<UserProfileQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -22,11 +22,11 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class UserProfileFollowersFilterSubAssembler(
|
class UserProfileFollowersFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserProfileQueryState>,
|
allKeys: () -> Set<UserProfileQueryState>,
|
||||||
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,11 +22,11 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class UserProfileMediaFilterSubAssembler(
|
class UserProfileMediaFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserProfileQueryState>,
|
allKeys: () -> Set<UserProfileQueryState>,
|
||||||
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -23,12 +23,12 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource
|
|||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.SingleSubEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.utils.mapOfSet
|
import com.vitorpamplona.quartz.utils.mapOfSet
|
||||||
|
|
||||||
class UserProfileMetadataFilterSubAssembler(
|
class UserProfileMetadataFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserProfileQueryState>,
|
allKeys: () -> Set<UserProfileQueryState>,
|
||||||
) : SingleSubEoseManager<UserProfileQueryState>(client, allKeys) {
|
) : SingleSubEoseManager<UserProfileQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,11 +22,11 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class UserProfilePostsFilterSubAssembler(
|
class UserProfilePostsFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserProfileQueryState>,
|
allKeys: () -> Set<UserProfileQueryState>,
|
||||||
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -22,11 +22,11 @@ package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.datasource
|
|||||||
|
|
||||||
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUserEoseManager
|
||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
class UserProfileZapsFilterSubAssembler(
|
class UserProfileZapsFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<UserProfileQueryState>,
|
allKeys: () -> Set<UserProfileQueryState>,
|
||||||
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
) : PerUserEoseManager<UserProfileQueryState>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManager
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.subassembies.ThreadEventLoaderSubAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.subassembies.ThreadEventLoaderSubAssembler
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.subassembies.ThreadFilterSubAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.subassembies.ThreadFilterSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
class ThreadQueryState(
|
class ThreadQueryState(
|
||||||
@@ -34,7 +34,7 @@ class ThreadQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class ThreadFilterAssembler(
|
class ThreadFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<ThreadQueryState>() {
|
) : ComposeSubscriptionManager<ThreadQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEo
|
|||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.ThreadQueryState
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.ThreadQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -38,7 +38,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
|||||||
* saves the of the thread EOSEs in the long run to avoid re-downloading
|
* saves the of the thread EOSEs in the long run to avoid re-downloading
|
||||||
*/
|
*/
|
||||||
class ThreadEventLoaderSubAssembler(
|
class ThreadEventLoaderSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ThreadQueryState>,
|
allKeys: () -> Set<ThreadQueryState>,
|
||||||
) : PerUniqueIdEoseManager<ThreadQueryState, HexKey>(client, allKeys, invalidateAfterEose = true) {
|
) : PerUniqueIdEoseManager<ThreadQueryState, HexKey>(client, allKeys, invalidateAfterEose = true) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ import com.vitorpamplona.amethyst.service.relayClient.eoseManagers.PerUniqueIdEo
|
|||||||
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
import com.vitorpamplona.amethyst.service.relays.SincePerRelayMap
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.ThreadQueryState
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.threadview.datasources.ThreadQueryState
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,7 +35,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
|||||||
* saves the of the thread EOSEs in the long run to avoid re-downloading
|
* saves the of the thread EOSEs in the long run to avoid re-downloading
|
||||||
*/
|
*/
|
||||||
class ThreadFilterSubAssembler(
|
class ThreadFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<ThreadQueryState>,
|
allKeys: () -> Set<ThreadQueryState>,
|
||||||
) : PerUniqueIdEoseManager<ThreadQueryState, HexKey>(client, allKeys) {
|
) : PerUniqueIdEoseManager<ThreadQueryState, HexKey>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+2
-2
@@ -24,7 +24,7 @@ import com.vitorpamplona.amethyst.model.Account
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
import com.vitorpamplona.amethyst.service.relayClient.composeSubscriptionManagers.ComposeSubscriptionManager
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.AccountFeedContentStates
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.VideoOutboxEventsFilterSubAssembler
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.VideoOutboxEventsFilterSubAssembler
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
|
|
||||||
// This allows multiple screen to be listening to tags, even the same tag
|
// This allows multiple screen to be listening to tags, even the same tag
|
||||||
@@ -35,7 +35,7 @@ class VideoQueryState(
|
|||||||
)
|
)
|
||||||
|
|
||||||
class VideoFilterAssembler(
|
class VideoFilterAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
) : ComposeSubscriptionManager<VideoQueryState>() {
|
) : ComposeSubscriptionManager<VideoQueryState>() {
|
||||||
val group =
|
val group =
|
||||||
listOf(
|
listOf(
|
||||||
|
|||||||
+2
-2
@@ -39,7 +39,7 @@ import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassembl
|
|||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.nip65Follows.filterPictureAndVideoByFollows
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.nip65Follows.filterPictureAndVideoByFollows
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.nip72Communities.filterPictureAndVideoByAllCommunities
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.nip72Communities.filterPictureAndVideoByAllCommunities
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.nip72Communities.filterPictureAndVideoByCommunity
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.video.datasource.subassemblies.nip72Communities.filterPictureAndVideoByCommunity
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
import com.vitorpamplona.quartz.nip01Core.relay.client.pool.RelayBasedFilter
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
import com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions.Subscription
|
||||||
import com.vitorpamplona.quartz.utils.TimeUtils
|
import com.vitorpamplona.quartz.utils.TimeUtils
|
||||||
@@ -51,7 +51,7 @@ import kotlinx.coroutines.flow.sample
|
|||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class VideoOutboxEventsFilterSubAssembler(
|
class VideoOutboxEventsFilterSubAssembler(
|
||||||
client: NostrClient,
|
client: INostrClient,
|
||||||
allKeys: () -> Set<VideoQueryState>,
|
allKeys: () -> Set<VideoQueryState>,
|
||||||
) : PerUserAndFollowListEoseManager<VideoQueryState, String>(client, allKeys) {
|
) : PerUserAndFollowListEoseManager<VideoQueryState, String>(client, allKeys) {
|
||||||
override fun updateFilter(
|
override fun updateFilter(
|
||||||
|
|||||||
+4
@@ -36,6 +36,8 @@ interface INostrClient {
|
|||||||
|
|
||||||
fun disconnect()
|
fun disconnect()
|
||||||
|
|
||||||
|
fun reconnect(onlyIfChanged: Boolean = false)
|
||||||
|
|
||||||
fun isActive(): Boolean
|
fun isActive(): Boolean
|
||||||
|
|
||||||
fun openReqSubscription(
|
fun openReqSubscription(
|
||||||
@@ -76,6 +78,8 @@ object EmptyNostrClient : INostrClient {
|
|||||||
|
|
||||||
override fun disconnect() { }
|
override fun disconnect() { }
|
||||||
|
|
||||||
|
override fun reconnect(onlyIfChanged: Boolean) { }
|
||||||
|
|
||||||
override fun isActive() = false
|
override fun isActive() = false
|
||||||
|
|
||||||
override fun openReqSubscription(
|
override fun openReqSubscription(
|
||||||
|
|||||||
+1
-1
@@ -137,7 +137,7 @@ class NostrClient(
|
|||||||
override fun isActive() = isActive
|
override fun isActive() = isActive
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
fun reconnect(onlyIfChanged: Boolean = false) {
|
override fun reconnect(onlyIfChanged: Boolean) {
|
||||||
if (onlyIfChanged) {
|
if (onlyIfChanged) {
|
||||||
relayPool.reconnectIfNeedsToORIfItIsTime()
|
relayPool.reconnectIfNeedsToORIfItIsTime()
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.normalizer.NormalizedRelayUrl
|
|||||||
import com.vitorpamplona.quartz.utils.RandomInstance
|
import com.vitorpamplona.quartz.utils.RandomInstance
|
||||||
|
|
||||||
class NostrClientSubscription(
|
class NostrClientSubscription(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val filter: () -> Map<NormalizedRelayUrl, List<Filter>> = { emptyMap() },
|
val filter: () -> Map<NormalizedRelayUrl, List<Filter>> = { emptyMap() },
|
||||||
val onEvent: (event: Event) -> Unit = {},
|
val onEvent: (event: Event) -> Unit = {},
|
||||||
) : IRelayClientListener {
|
) : IRelayClientListener {
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
|||||||
* Listens to NostrClient's onEvent messages for caching purposes.
|
* Listens to NostrClient's onEvent messages for caching purposes.
|
||||||
*/
|
*/
|
||||||
class EventCollector(
|
class EventCollector(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val onEvent: (event: Event, relay: IRelayClient) -> Unit,
|
val onEvent: (event: Event, relay: IRelayClient) -> Unit,
|
||||||
) {
|
) {
|
||||||
private val clientListener =
|
private val clientListener =
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.RelayState
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.RelayState
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
@@ -32,7 +32,7 @@ import java.util.concurrent.CountDownLatch
|
|||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
@OptIn(DelicateCoroutinesApi::class)
|
@OptIn(DelicateCoroutinesApi::class)
|
||||||
suspend fun NostrClient.sendAndWaitForResponse(
|
suspend fun INostrClient.sendAndWaitForResponse(
|
||||||
event: Event,
|
event: Event,
|
||||||
relayList: Set<NormalizedRelayUrl>,
|
relayList: Set<NormalizedRelayUrl>,
|
||||||
timeoutInSeconds: Long = 15,
|
timeoutInSeconds: Long = 15,
|
||||||
|
|||||||
+2
-2
@@ -21,14 +21,14 @@
|
|||||||
package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
import kotlinx.coroutines.CoroutineScope
|
import kotlinx.coroutines.CoroutineScope
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
class RelayAuthenticator(
|
class RelayAuthenticator(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val scope: CoroutineScope,
|
val scope: CoroutineScope,
|
||||||
val authenticate: suspend (challenge: String, relay: IRelayClient) -> Unit,
|
val authenticate: suspend (challenge: String, relay: IRelayClient) -> Unit,
|
||||||
) {
|
) {
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
import com.vitorpamplona.quartz.nip01Core.core.HexKey
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
|||||||
* Listens to NostrClient's onEvent messages for caching purposes.
|
* Listens to NostrClient's onEvent messages for caching purposes.
|
||||||
*/
|
*/
|
||||||
class RelayInsertConfirmationCollector(
|
class RelayInsertConfirmationCollector(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val onRelayReceived: (eventId: HexKey, relay: IRelayClient) -> Unit,
|
val onRelayReceived: (eventId: HexKey, relay: IRelayClient) -> Unit,
|
||||||
) {
|
) {
|
||||||
private val clientListener =
|
private val clientListener =
|
||||||
|
|||||||
+2
-2
@@ -22,7 +22,7 @@ package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
|||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
|||||||
* Listens to NostrClient's onNotify messages from the relay
|
* Listens to NostrClient's onNotify messages from the relay
|
||||||
*/
|
*/
|
||||||
class RelayLogger(
|
class RelayLogger(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val notify: (message: String, relay: IRelayClient) -> Unit,
|
val notify: (message: String, relay: IRelayClient) -> Unit,
|
||||||
) {
|
) {
|
||||||
private val clientListener =
|
private val clientListener =
|
||||||
|
|||||||
+2
-2
@@ -21,7 +21,7 @@
|
|||||||
package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
package com.vitorpamplona.quartz.nip01Core.relay.client.accessories
|
||||||
|
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
|||||||
* Listens to NostrClient's onNotify messages from the relay
|
* Listens to NostrClient's onNotify messages from the relay
|
||||||
*/
|
*/
|
||||||
class RelayNotifier(
|
class RelayNotifier(
|
||||||
val client: NostrClient,
|
val client: INostrClient,
|
||||||
val notify: (message: String, relay: IRelayClient) -> Unit,
|
val notify: (message: String, relay: IRelayClient) -> Unit,
|
||||||
) {
|
) {
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
-1
@@ -22,7 +22,6 @@ package com.vitorpamplona.quartz.nip01Core.relay.client.subscriptions
|
|||||||
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.core.Event
|
import com.vitorpamplona.quartz.nip01Core.core.Event
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.INostrClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
|
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
|
||||||
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
import com.vitorpamplona.quartz.nip01Core.relay.filters.Filter
|
||||||
|
|||||||
Reference in New Issue
Block a user