Fixes sending url without cipher.
This commit is contained in:
+30
@@ -24,11 +24,14 @@ import com.vitorpamplona.amethyst.model.Account
|
|||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.service.uploads.UploadOrchestrator
|
import com.vitorpamplona.amethyst.service.uploads.UploadOrchestrator
|
||||||
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.send.IMetaAttachments
|
import com.vitorpamplona.amethyst.ui.screen.loggedIn.chats.privateDM.send.IMetaAttachments
|
||||||
|
import com.vitorpamplona.quartz.nip01Core.tags.references.references
|
||||||
import com.vitorpamplona.quartz.nip04Dm.messages.PrivateDmEvent
|
import com.vitorpamplona.quartz.nip04Dm.messages.PrivateDmEvent
|
||||||
import com.vitorpamplona.quartz.nip17Dm.base.ChatroomKey
|
import com.vitorpamplona.quartz.nip17Dm.base.ChatroomKey
|
||||||
import com.vitorpamplona.quartz.nip17Dm.files.ChatMessageEncryptedFileHeaderEvent
|
import com.vitorpamplona.quartz.nip17Dm.files.ChatMessageEncryptedFileHeaderEvent
|
||||||
|
import com.vitorpamplona.quartz.nip17Dm.messages.ChatMessageEvent
|
||||||
import com.vitorpamplona.quartz.nip31Alts.alt
|
import com.vitorpamplona.quartz.nip31Alts.alt
|
||||||
import com.vitorpamplona.quartz.nip36SensitiveContent.contentWarning
|
import com.vitorpamplona.quartz.nip36SensitiveContent.contentWarning
|
||||||
|
import com.vitorpamplona.quartz.nip92IMeta.imetas
|
||||||
import com.vitorpamplona.quartz.utils.ciphers.AESGCM
|
import com.vitorpamplona.quartz.utils.ciphers.AESGCM
|
||||||
|
|
||||||
class ChatFileSender(
|
class ChatFileSender(
|
||||||
@@ -39,6 +42,8 @@ class ChatFileSender(
|
|||||||
uploads.forEach {
|
uploads.forEach {
|
||||||
if (it.cipher != null) {
|
if (it.cipher != null) {
|
||||||
sendNIP17(it.result, it.caption, it.contentWarningReason, it.cipher)
|
sendNIP17(it.result, it.caption, it.contentWarningReason, it.cipher)
|
||||||
|
} else {
|
||||||
|
sendNIP17AsHiddenLink(it.result, it.caption, it.contentWarningReason)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -70,6 +75,31 @@ class ChatFileSender(
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
suspend fun sendNIP17AsHiddenLink(
|
||||||
|
result: UploadOrchestrator.OrchestratorResult.ServerResult,
|
||||||
|
caption: String?,
|
||||||
|
contentWarningReason: String?,
|
||||||
|
) {
|
||||||
|
val iMetaAttachments = IMetaAttachments()
|
||||||
|
iMetaAttachments.add(result, caption, contentWarningReason)
|
||||||
|
|
||||||
|
val toUsers = chatroom.users.map { LocalCache.getOrCreateUser(it).toPTag() }
|
||||||
|
|
||||||
|
val template =
|
||||||
|
ChatMessageEvent.build(result.url, toUsers) {
|
||||||
|
references(listOf(result.url))
|
||||||
|
|
||||||
|
if (!caption.isNullOrEmpty()) {
|
||||||
|
alt(caption)
|
||||||
|
}
|
||||||
|
contentWarningReason?.let { contentWarning(it) }
|
||||||
|
|
||||||
|
imetas(iMetaAttachments.filterIsIn(setOf(result.url)))
|
||||||
|
}
|
||||||
|
|
||||||
|
account.sendNip17PrivateMessage(template)
|
||||||
|
}
|
||||||
|
|
||||||
// ------
|
// ------
|
||||||
// NIP 04
|
// NIP 04
|
||||||
// ------
|
// ------
|
||||||
|
|||||||
Reference in New Issue
Block a user