Uses a separate okhttp for DM relays

This commit is contained in:
Vitor Pamplona
2025-08-22 13:50:28 -04:00
parent f9ea1270fa
commit fa80912db2
2 changed files with 16 additions and 1 deletions

View File

@@ -102,12 +102,26 @@ class Amethyst : Application() {
scope = applicationIOScope,
)
// manages all relay connections
val okHttpClientForRelaysForDms =
DualHttpClientManager(
userAgent = appAgent,
proxyPortProvider = torManager.activePortOrNull,
isMobileDataProvider = connManager.isMobileOrNull,
keyCache = keyCache,
scope = applicationIOScope,
)
val torProxySettingsAnchor = ProxySettingsAnchor()
// Connects the NostrClient class with okHttp
val websocketBuilder =
OkHttpWebSocket.Builder { url ->
okHttpClientForRelays.getHttpClient(torProxySettingsAnchor.useProxy(url))
if (torProxySettingsAnchor.isDM(url)) {
okHttpClientForRelaysForDms.getHttpClient(torProxySettingsAnchor.useProxy(url))
} else {
okHttpClientForRelays.getHttpClient(torProxySettingsAnchor.useProxy(url))
}
}
// Caches all events in Memory

View File

@@ -38,5 +38,6 @@ class ProxySettingsAnchor {
),
)
var isDM: (NormalizedRelayUrl) -> Boolean = { it in flow.value.value.dmRelayList }
var useProxy: (NormalizedRelayUrl) -> Boolean = { flow.value.value.useTor(it) }
}