fix profile not loading
This commit is contained in:
-10
@@ -104,18 +104,8 @@ open class RelayConnectionManager(
|
||||
* Events will be sent to relays as they become connected.
|
||||
*/
|
||||
fun broadcastToAll(event: Event) {
|
||||
// Use all configured relays, not just currently connected ones
|
||||
// The NostrClient will queue/send events as relays connect
|
||||
val configuredRelays = relayStatuses.value.keys
|
||||
val connectedCount = connectedRelays.value.size
|
||||
println("[RelayManager] broadcastToAll: event kind=${event.kind}, ID=${event.id.take(8)}...")
|
||||
println("[RelayManager] Configured relays: ${configuredRelays.size}, Connected: $connectedCount")
|
||||
configuredRelays.forEach { relay ->
|
||||
val isConnected = connectedRelays.value.contains(relay)
|
||||
println("[RelayManager] - $relay: ${if (isConnected) "CONNECTED" else "pending"}")
|
||||
}
|
||||
send(event, configuredRelays)
|
||||
println("[RelayManager] broadcastToAll complete")
|
||||
}
|
||||
|
||||
private fun updateRelayStatus(
|
||||
|
||||
+1
-1
@@ -81,7 +81,7 @@ fun createContactListSubscription(
|
||||
onEose: (NormalizedRelayUrl, List<Filter>?) -> Unit = { _, _ -> },
|
||||
): SubscriptionConfig =
|
||||
SubscriptionConfig(
|
||||
subId = generateSubId("contact-list-$pubKeyHex"),
|
||||
subId = generateSubId("contacts-${pubKeyHex.take(8)}"),
|
||||
filters = listOf(FilterBuilders.contactList(pubKeyHex)),
|
||||
relays = relays,
|
||||
onEvent = onEvent,
|
||||
|
||||
+3
-3
@@ -35,7 +35,7 @@ fun createMetadataSubscription(
|
||||
onEose: (NormalizedRelayUrl, List<Filter>?) -> Unit = { _, _ -> },
|
||||
): SubscriptionConfig =
|
||||
SubscriptionConfig(
|
||||
subId = generateSubId("profile-metadata-$pubKeyHex"),
|
||||
subId = generateSubId("meta-${pubKeyHex.take(8)}"),
|
||||
filters = listOf(FilterBuilders.userMetadata(pubKeyHex)),
|
||||
relays = relays,
|
||||
onEvent = onEvent,
|
||||
@@ -53,7 +53,7 @@ fun createUserPostsSubscription(
|
||||
onEose: (NormalizedRelayUrl, List<Filter>?) -> Unit = { _, _ -> },
|
||||
): SubscriptionConfig =
|
||||
SubscriptionConfig(
|
||||
subId = generateSubId("profile-posts-$pubKeyHex"),
|
||||
subId = generateSubId("posts-${pubKeyHex.take(8)}"),
|
||||
filters = listOf(FilterBuilders.textNotesFromAuthors(listOf(pubKeyHex), limit = limit)),
|
||||
relays = relays,
|
||||
onEvent = onEvent,
|
||||
@@ -71,7 +71,7 @@ fun createNotificationsSubscription(
|
||||
onEose: (NormalizedRelayUrl, List<Filter>?) -> Unit = { _, _ -> },
|
||||
): SubscriptionConfig =
|
||||
SubscriptionConfig(
|
||||
subId = generateSubId("notifications-$pubKeyHex"),
|
||||
subId = generateSubId("notif-${pubKeyHex.take(8)}"),
|
||||
filters = listOf(FilterBuilders.notificationsForUser(pubKeyHex, limit = limit)),
|
||||
relays = relays,
|
||||
onEvent = onEvent,
|
||||
|
||||
@@ -138,29 +138,39 @@ fun FeedScreen(
|
||||
}
|
||||
|
||||
// Clear events when feed mode changes
|
||||
remember(feedMode) { eventState.clear() }
|
||||
remember(feedMode) {
|
||||
eventState.clear()
|
||||
}
|
||||
|
||||
// Subscribe to feed based on mode
|
||||
rememberSubscription(relayStatuses, feedMode, followedUsers, relayManager = relayManager) {
|
||||
val configuredRelays = relayStatuses.keys
|
||||
if (configuredRelays.isEmpty()) return@rememberSubscription null
|
||||
if (configuredRelays.isEmpty()) {
|
||||
return@rememberSubscription null
|
||||
}
|
||||
|
||||
when (feedMode) {
|
||||
FeedMode.GLOBAL ->
|
||||
FeedMode.GLOBAL -> {
|
||||
createGlobalFeedSubscription(
|
||||
relays = configuredRelays,
|
||||
onEvent = { event, _, _, _ -> eventState.addItem(event) },
|
||||
onEvent = { event, _, _, _ ->
|
||||
eventState.addItem(event)
|
||||
},
|
||||
)
|
||||
FeedMode.FOLLOWING ->
|
||||
}
|
||||
FeedMode.FOLLOWING -> {
|
||||
if (followedUsers.isNotEmpty()) {
|
||||
createFollowingFeedSubscription(
|
||||
relays = configuredRelays,
|
||||
followedUsers = followedUsers.toList(),
|
||||
onEvent = { event, _, _, _ -> eventState.addItem(event) },
|
||||
onEvent = { event, _, _, _ ->
|
||||
eventState.addItem(event)
|
||||
},
|
||||
)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
@@ -174,6 +174,8 @@ fun UserProfileScreen(
|
||||
rememberSubscription(relayStatuses, pubKeyHex, retryTrigger, relayManager = relayManager) {
|
||||
val configuredRelays = relayStatuses.keys
|
||||
if (configuredRelays.isNotEmpty()) {
|
||||
postsLoading = true
|
||||
postsError = null
|
||||
createUserPostsSubscription(
|
||||
relays = configuredRelays,
|
||||
pubKeyHex = pubKeyHex,
|
||||
@@ -225,6 +227,7 @@ fun UserProfileScreen(
|
||||
}
|
||||
followState.setFollowSuccess(updatedEvent, pubKeyHex)
|
||||
} catch (e: Exception) {
|
||||
e.printStackTrace()
|
||||
followState.setFollowError(e.message ?: "Failed to update follow status", e)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user