fix(core): report receiver failures to sender

This commit is contained in:
2026-07-24 14:52:09 +02:00
parent 0448137d84
commit 425500ecf2
25 changed files with 430 additions and 22 deletions

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Noch niemand hat diese Übertragung angefragt.</string>
<string name="transfer_receiver_accepted">Genehmigt wartet auf Abschluss</string>
<string name="transfer_receiver_completed">Erfolgreich empfangen</string>
<string name="transfer_receiver_failed">Übertragung fehlgeschlagen</string>
<string name="transfer_receiver_expired">Anfrage abgelaufen</string>
<string name="transfer_receiver_refused">Anfrage abgelehnt</string>
<string name="transfer_receiver_requested">Wartet auf Ihre Genehmigung</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Nadie ha solicitado aún esta transferencia.</string>
<string name="transfer_receiver_accepted">Aprobado: esperando a que se complete</string>
<string name="transfer_receiver_completed">Recibido correctamente</string>
<string name="transfer_receiver_failed">Transferencia fallida</string>
<string name="transfer_receiver_expired">Solicitud caducada</string>
<string name="transfer_receiver_refused">Solicitud rechazada</string>
<string name="transfer_receiver_requested">Esperando su aprobación</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Personne na encore demandé ce transfert.</string>
<string name="transfer_receiver_accepted">Approuvé — en attente de la fin</string>
<string name="transfer_receiver_completed">Reçu avec succès</string>
<string name="transfer_receiver_failed">Transfert échoué</string>
<string name="transfer_receiver_expired">Demande expirée</string>
<string name="transfer_receiver_refused">Demande refusée</string>
<string name="transfer_receiver_requested">En attente de votre approbation</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Nessuno ha ancora richiesto questo trasferimento.</string>
<string name="transfer_receiver_accepted">Approvato: in attesa del completamento</string>
<string name="transfer_receiver_completed">Ricevuto correttamente</string>
<string name="transfer_receiver_failed">Trasferimento non riuscito</string>
<string name="transfer_receiver_expired">Richiesta scaduta</string>
<string name="transfer_receiver_refused">Richiesta rifiutata</string>
<string name="transfer_receiver_requested">In attesa della sua approvazione</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Nog niemand heeft deze overdracht aangevraagd.</string>
<string name="transfer_receiver_accepted">Goedgekeurd — wachten op voltooiing</string>
<string name="transfer_receiver_completed">Succesvol ontvangen</string>
<string name="transfer_receiver_failed">Overdracht mislukt</string>
<string name="transfer_receiver_expired">Verzoek verlopen</string>
<string name="transfer_receiver_refused">Verzoek geweigerd</string>
<string name="transfer_receiver_requested">Wachten op uw goedkeuring</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Nikt jeszcze nie poprosił o ten transfer.</string>
<string name="transfer_receiver_accepted">Zatwierdzono — oczekiwanie na ukończenie</string>
<string name="transfer_receiver_completed">Odebrano pomyślnie</string>
<string name="transfer_receiver_failed">Przesyłanie nie powiodło się</string>
<string name="transfer_receiver_expired">Prośba wygasła</string>
<string name="transfer_receiver_refused">Prośba odrzucona</string>
<string name="transfer_receiver_requested">Oczekiwanie na Twoje zatwierdzenie</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Ainda ninguém pediu esta transferência.</string>
<string name="transfer_receiver_accepted">Aprovado — a aguardar conclusão</string>
<string name="transfer_receiver_completed">Recebido com sucesso</string>
<string name="transfer_receiver_failed">A transferência falhou</string>
<string name="transfer_receiver_expired">Pedido expirado</string>
<string name="transfer_receiver_refused">Pedido recusado</string>
<string name="transfer_receiver_requested">A aguardar a sua aprovação</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Никто ещё не запросил эту передачу.</string>
<string name="transfer_receiver_accepted">Одобрено — ожидание завершения</string>
<string name="transfer_receiver_completed">Успешно получено</string>
<string name="transfer_receiver_failed">Передача не удалась</string>
<string name="transfer_receiver_expired">Запрос истёк</string>
<string name="transfer_receiver_refused">Запрос отклонён</string>
<string name="transfer_receiver_requested">Ожидание вашего одобрения</string>

View File

@@ -274,6 +274,7 @@
<string name="transfer_no_receivers">Nobody has requested this transfer yet.</string>
<string name="transfer_receiver_accepted">Approved — waiting for completion</string>
<string name="transfer_receiver_completed">Received successfully</string>
<string name="transfer_receiver_failed">Transfer failed</string>
<string name="transfer_receiver_expired">Request expired</string>
<string name="transfer_receiver_refused">Request refused</string>
<string name="transfer_receiver_requested">Waiting for your approval</string>

View File

@@ -117,6 +117,7 @@ enum class ReceiverDeliveryStatus {
Refused,
Expired,
Completed,
Failed,
Unknown,
}

View File

@@ -433,6 +433,7 @@ private fun ReceiverRequest.toModel(): ReceiverRequestModel = ReceiverRequestMod
"refused" -> ReceiverDeliveryStatus.Refused
"expired" -> ReceiverDeliveryStatus.Expired
"completed" -> ReceiverDeliveryStatus.Completed
"failed" -> ReceiverDeliveryStatus.Failed
else -> ReceiverDeliveryStatus.Unknown
},
reason = reason,

View File

@@ -409,13 +409,15 @@ private fun receiverStatusText(status: ReceiverDeliveryStatus) = stringResource(
ReceiverDeliveryStatus.Refused -> Res.string.transfer_receiver_refused
ReceiverDeliveryStatus.Expired -> Res.string.transfer_receiver_expired
ReceiverDeliveryStatus.Completed -> Res.string.transfer_receiver_completed
ReceiverDeliveryStatus.Failed -> Res.string.transfer_receiver_failed
ReceiverDeliveryStatus.Unknown -> Res.string.transfer_receiver_unknown
})
@Composable
private fun receiverStatusColor(status: ReceiverDeliveryStatus) = when (status) {
ReceiverDeliveryStatus.Completed -> LocalVniDropColors.current.brandDefault
ReceiverDeliveryStatus.Refused, ReceiverDeliveryStatus.Expired -> LocalVniDropColors.current.destructiveDefault
ReceiverDeliveryStatus.Refused, ReceiverDeliveryStatus.Expired, ReceiverDeliveryStatus.Failed ->
LocalVniDropColors.current.destructiveDefault
else -> LocalVniDropColors.current.foregroundLighter
}