mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2025-03-26 17:52:29 +01:00
Signs for just one auth event to register with the push notification service instead of the dozens of events, one per relay.
This commit is contained in:
parent
bca941e045
commit
38ba456a22
@ -2358,6 +2358,16 @@ class Account(
|
||||
RelayAuthEvent.create(relayUrl, challenge, signer, onReady = onReady)
|
||||
}
|
||||
|
||||
fun createAuthEvent(
|
||||
relayUrls: List<String>,
|
||||
challenge: String,
|
||||
onReady: (RelayAuthEvent) -> Unit,
|
||||
) {
|
||||
if (!isWriteable()) return
|
||||
|
||||
RelayAuthEvent.create(relayUrls, challenge, signer, onReady = onReady)
|
||||
}
|
||||
|
||||
fun isInPrivateBookmarks(
|
||||
note: Note,
|
||||
onReady: (Boolean) -> Unit,
|
||||
|
@ -55,7 +55,7 @@ class RegisterAccounts(
|
||||
|
||||
private suspend fun signAllAuths(
|
||||
notificationToken: String,
|
||||
remainingTos: List<Pair<Account, String>>,
|
||||
remainingTos: List<Pair<Account, List<String>>>,
|
||||
output: MutableList<RelayAuthEvent>,
|
||||
onReady: (List<RelayAuthEvent>) -> Unit,
|
||||
) {
|
||||
@ -100,7 +100,7 @@ class RegisterAccounts(
|
||||
) {
|
||||
val readyToSend =
|
||||
accounts
|
||||
.map {
|
||||
.mapNotNull {
|
||||
Log.d(tag, "Register Account ${it.npub}")
|
||||
|
||||
val acc = LocalPreferences.loadCurrentAccountFromEncryptedStorage(it.npub)
|
||||
@ -131,13 +131,17 @@ class RegisterAccounts(
|
||||
|
||||
Log.d(tag, "Register Account ${acc.userProfile().toBestDisplayName()} Kind3 Reads ${readKind3Relays.joinToString(", ")}")
|
||||
|
||||
(nip65Read + nip17Read + readKind3Relays).map {
|
||||
Pair(acc, it)
|
||||
val relays = (nip65Read + nip17Read + readKind3Relays)
|
||||
|
||||
if (relays.isNotEmpty()) {
|
||||
Pair(acc, relays)
|
||||
} else {
|
||||
null
|
||||
}
|
||||
} else {
|
||||
emptyList<Pair<Account, String>>()
|
||||
null
|
||||
}
|
||||
}.flatten()
|
||||
}
|
||||
|
||||
val listOfAuthEvents = mutableListOf<RelayAuthEvent>()
|
||||
signAllAuths(
|
||||
|
@ -56,5 +56,23 @@ class RelayAuthEvent(
|
||||
)
|
||||
signer.sign(createdAt, KIND, tags, content, onReady)
|
||||
}
|
||||
|
||||
fun create(
|
||||
relays: List<String>,
|
||||
challenge: String,
|
||||
signer: NostrSigner,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
onReady: (RelayAuthEvent) -> Unit,
|
||||
) {
|
||||
val content = ""
|
||||
val tags =
|
||||
relays
|
||||
.map {
|
||||
arrayOf("relay", it)
|
||||
}.plusElement(
|
||||
arrayOf("challenge", challenge),
|
||||
).toTypedArray()
|
||||
signer.sign(createdAt, KIND, tags, content, onReady)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user