fix: stop the device picker hanging on an offer

Two causes. The connect step had no timeout, so an unreachable device was
retried indefinitely instead of falling through to hold-for-later; it now
gives up after 15s and holds the offer as designed.

The picker also waited on the whole exchange, which includes a person on the
other device deciding — up to two minutes. It now closes on tap and reports
the outcome as a message, and a decline or an unanswered offer is shown as
information rather than an error, since the offer did arrive.
This commit is contained in:
2026-08-07 10:49:32 +02:00
parent 677fc3c6d5
commit 225ff9ad22
15 changed files with 139 additions and 8 deletions

View File

@@ -5284,6 +5284,46 @@
"nl": "{device} heeft de overdracht geaccepteerd",
"ru": "{device} принял передачу"
}
},
"contacts_declined_by_device": {
"context": "Shown when the person on the other device declined an offered transfer. {device} = device name.",
"args": [
{
"name": "device",
"type": "string"
}
],
"translations": {
"en": "{device} declined the transfer",
"fr": "{device} a refusé le transfert",
"es": "{device} rechazó la transferencia",
"it": "{device} ha rifiutato il trasferimento",
"de": "{device} hat die Übertragung abgelehnt",
"pt": "{device} recusou a transferência",
"pl": "{device} odrzuciło przesyłkę",
"nl": "{device} heeft de overdracht geweigerd",
"ru": "{device} отклонил передачу"
}
},
"contacts_no_answer": {
"context": "Shown when an offered transfer got no answer on the other device before timing out. {device} = device name.",
"args": [
{
"name": "device",
"type": "string"
}
],
"translations": {
"en": "{device} did not answer",
"fr": "{device} na pas répondu",
"es": "{device} no respondió",
"it": "{device} non ha risposto",
"de": "{device} hat nicht geantwortet",
"pt": "{device} não respondeu",
"pl": "{device} nie odpowiedziało",
"nl": "{device} heeft niet geantwoord",
"ru": "{device} не ответил"
}
}
}
}