fix: crash when getting all cached metadata (#12)

Reviewed-on: https://git.reya.su/reya/coop-mobile/pulls/12
This commit is contained in:
2026-06-03 07:50:34 +00:00
parent 1e90b8d4b1
commit fcae7d5825
2 changed files with 13 additions and 7 deletions
@@ -500,18 +500,23 @@ class Nostr {
suspend fun getAllCacheMetadata(): Map<PublicKey, Metadata> {
try {
val filter = Filter().kind(Kind.fromStd(KindStandard.METADATA)).limit(200u)
val filter = Filter().kind(Kind.fromStd(KindStandard.METADATA)).limit(100u)
val events = client?.database()?.query(filter)
val results = mutableMapOf<PublicKey, Metadata>()
events?.toVec()?.forEach { event ->
val metadata = Metadata.fromJson(event.content())
results[event.author()] = metadata
try {
val metadata = Metadata.fromJson(event.content())
results[event.author()] = metadata
} catch (e: Exception) {
println("Failed to parse metadata: $e")
}
}
return results
} catch (e: Exception) {
throw IllegalStateException("Failed to get cache metadata: ${e.message}", e)
println("Failed to get all cache metadata: ${e.message}")
return emptyMap()
}
}