Brennan Benson
ac909c8d83
fix(mobile): stop reporting delivered chat messages as "Message not sent" ( #9792 )
...
* fix(mobile): stop reporting delivered chat messages as "Message not sent"
A relay drop or response timeout while terminal.send is in flight rejects
the RPC even though the request usually already reached the desktop — only
the ack was lost. The chat composer treated every failure as definite,
showing "Message not sent" and keeping the draft for a message that is
visibly in the transcript after resync (and baiting a duplicate send).
Mark transport failures that happen after the request frame hit the wire
as delivery-unknown, and hold those sends instead of erroring: when the
transcript echo lands the draft clears silently; only if no echo arrives
within 20s is the failure surfaced. Failures before the frame was written
(and host rejections) still error immediately.
* fix(mobile): close delivery ambiguity races
* fix(mobile): harden ambiguous send reconciliation
* test(mobile): assert ambiguity deadline boundary
2026-07-21 18:39:26 -07:00
..
2026-07-20 21:36:15 -07:00
2026-07-20 21:36:15 -07:00
2026-07-20 21:16:08 -07:00
2026-07-20 21:05:40 -07:00
2026-07-20 21:05:40 -07:00
2026-06-17 22:52:12 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-06-17 22:52:12 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-06-08 21:27:33 -07:00
2026-06-08 21:27:33 -07:00
2026-06-15 22:02:51 -07:00
2026-06-15 22:02:51 -07:00
2026-06-18 18:25:06 -07:00
2026-06-18 18:25:06 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-07-05 23:56:37 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-05-31 03:14:29 -07:00
2026-05-31 03:14:29 -07:00
2026-06-13 14:24:26 -07:00
2026-06-29 22:30:46 -07:00
2026-06-29 22:30:46 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-06-17 22:52:12 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-05-26 00:07:53 -07:00
2026-06-08 17:41:27 -07:00
2026-06-08 17:41:27 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-06-15 22:02:51 -07:00
2026-06-30 01:15:56 -07:00
2026-06-16 14:39:25 -07:00
2026-06-16 14:39:25 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-21 18:39:26 -07:00
2026-07-21 18:39:26 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-17 00:34:46 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-20 21:05:40 -07:00
2026-07-20 21:05:40 -07:00
2026-05-29 22:13:27 -04:00
2026-05-29 22:13:27 -04:00
2026-06-17 22:52:12 -07:00
2026-06-17 22:52:12 -07:00
2026-07-09 22:01:22 -07:00
2026-05-31 03:11:53 -07:00
2026-05-31 03:11:53 -07:00
2026-07-14 19:36:47 -07:00
2026-07-21 17:55:02 -07:00
2026-07-20 21:36:15 -07:00
2026-07-20 21:36:15 -07:00
2026-07-17 00:34:46 -07:00
2026-07-14 19:36:47 -07:00
2026-07-14 19:36:47 -07:00
2026-07-02 18:17:47 -07:00
2026-07-05 23:56:37 -07:00
2026-07-10 20:22:16 -07:00
2026-07-10 20:22:16 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-06-29 16:06:27 -07:00
2026-06-29 16:06:27 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-10 13:48:10 -07:00
2026-07-10 13:48:10 -07:00
2026-06-28 01:20:00 -07:00
2026-07-03 16:47:59 -07:00
2026-06-29 22:30:46 -07:00
2026-06-29 22:30:46 -07:00
2026-06-17 22:52:12 -07:00
2026-06-17 22:52:12 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 21:36:15 -07:00
2026-07-20 21:36:15 -07:00
2026-06-17 22:52:12 -07:00
2026-06-28 00:58:17 -07:00
2026-07-20 18:55:45 -07:00
2026-07-20 18:55:45 -07:00
2026-06-17 22:52:12 -07:00
2026-06-17 22:52:12 -07:00
2026-07-19 23:42:31 -07:00
2026-07-19 23:42:31 -07:00
2026-07-19 23:42:31 -07:00
2026-07-19 23:42:31 -07:00
2026-07-19 23:42:31 -07:00
2026-07-19 23:42:31 -07:00
2026-07-10 13:48:10 -07:00
2026-07-10 13:48:10 -07:00
2026-07-14 19:36:47 -07:00
2026-07-14 19:36:47 -07:00
2026-07-20 11:11:23 -07:00
2026-07-20 11:11:23 -07:00
2026-07-09 19:23:36 -07:00
2026-06-12 11:09:08 -07:00
2026-06-12 11:09:08 -07:00
2026-07-11 02:13:15 -07:00
2026-07-20 21:05:40 -07:00
2026-07-20 21:05:40 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-17 00:34:46 -07:00
2026-07-17 00:34:46 -07:00
2026-06-13 14:24:26 -07:00
2026-06-29 22:30:46 -07:00
2026-06-13 14:24:26 -07:00
2026-06-13 14:24:26 -07:00
2026-07-20 21:36:15 -07:00
2026-06-17 22:52:12 -07:00
2026-07-02 02:31:19 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-21 18:39:26 -07:00
2026-07-21 18:39:26 -07:00
2026-07-21 18:39:26 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-20 21:05:40 -07:00
2026-07-20 21:05:40 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-07-20 18:55:45 -07:00
2026-06-17 22:52:12 -07:00
2026-06-17 22:52:12 -07:00
2026-06-27 18:34:58 -07:00
2026-07-09 19:23:36 -07:00
2026-07-20 18:55:45 -07:00
2026-07-09 19:23:36 -07:00
2026-07-09 22:01:22 -07:00
2026-07-20 03:18:35 -07:00
2026-06-17 22:52:12 -07:00
2026-07-17 00:34:46 -07:00
2026-07-17 00:34:46 -07:00
2026-07-10 20:22:16 -07:00
2026-07-12 14:09:15 -07:00
2026-07-19 23:42:31 -07:00
2026-07-19 23:42:31 -07:00
2026-07-02 23:22:30 -07:00
2026-07-02 23:22:30 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-06-20 16:40:34 -07:00
2026-06-20 16:40:34 -07:00
2026-06-09 17:55:20 -07:00