Finishes the migration of adressable ids on the local cache.

This commit is contained in:
Vitor Pamplona
2025-07-31 19:11:55 -04:00
parent e1b5f0f7b5
commit e82c09e1c3
3 changed files with 8 additions and 15 deletions

View File

@@ -21,10 +21,12 @@
package com.vitorpamplona.amethyst.ui.actions
import androidx.compose.runtime.Immutable
import com.vitorpamplona.amethyst.model.AddressableNote
import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.crypto.Nip01
import com.vitorpamplona.quartz.nip01Core.tags.addressables.Address
import com.vitorpamplona.quartz.nip19Bech32.Nip19Parser
import com.vitorpamplona.quartz.nip19Bech32.bech32.Bech32
import com.vitorpamplona.quartz.nip19Bech32.bech32.bechToBytes
@@ -77,7 +79,7 @@ class NewMessageTagger(
is NEmbed -> addNoteToReplyTos(dao.getOrCreateNote(entity.event.id))
is NAddress -> {
val note = dao.checkGetOrCreateAddressableNote(entity.aTag())
val note = dao.getOrCreateAddressableNote(entity.address())
if (note != null) {
addNoteToReplyTos(note)
}
@@ -114,9 +116,9 @@ class NewMessageTagger(
}
is NAddress -> {
val note = dao.checkGetOrCreateAddressableNote(entity.aTag())
val note = dao.getOrCreateAddressableNote(entity.address())
if (note != null) {
getNostrAddress(note.idNote(), results.restOfWord)
getNostrAddress(note.toNAddr(), results.restOfWord)
} else {
word
}
@@ -234,5 +236,5 @@ interface Dao {
suspend fun getOrCreateNote(hex: String): Note
suspend fun checkGetOrCreateAddressableNote(hex: String): Note?
suspend fun getOrCreateAddressableNote(address: Address): AddressableNote?
}

View File

@@ -205,7 +205,7 @@ private fun DisplayAddress(
if (noteBase == null) {
LaunchedEffect(key1 = nip19) {
accountViewModel.checkGetOrCreateAddressableNote(nip19.aTag()) { noteBase = it }
noteBase = accountViewModel.getOrCreateAddressableNote(nip19.address())
}
}

View File

@@ -1056,16 +1056,7 @@ class AccountViewModel(
fun getNoteIfExists(hex: HexKey): Note? = LocalCache.getNoteIfExists(hex)
override suspend fun checkGetOrCreateAddressableNote(key: HexKey): AddressableNote? = LocalCache.checkGetOrCreateAddressableNote(key)
fun checkGetOrCreateAddressableNote(
key: HexKey,
onResult: (AddressableNote?) -> Unit,
) {
viewModelScope.launch(Dispatchers.IO) { onResult(checkGetOrCreateAddressableNote(key)) }
}
suspend fun getOrCreateAddressableNote(key: Address): AddressableNote = LocalCache.getOrCreateAddressableNote(key)
override suspend fun getOrCreateAddressableNote(address: Address): AddressableNote = LocalCache.getOrCreateAddressableNote(address)
fun getOrCreateAddressableNote(
key: Address,