teknium1
b4345b4e57
fix(gateway): suppress the completion send only when the queued lane's send actually landed
...
The queued-follow-up lane treated "the send call did not raise" as "the text reached the
chat". `_deliver_queued_first_response` returns normally when the adapter reports
`SendResult(success=False)` (flood control, retries exhausted): `_send_queued_final_text`
only logs the failure. The result was then marked `already_sent`, the completion path
suppressed the only remaining send, and the user got nothing at all — the opposite failure
to the duplicate this lane fixes, on the same code path.
`_deliver_queued_first_response` now reports whether the text is in the chat, and the mark is
gated on it. A refused send returns False (and skips the attachment upload, so the completion
send replays text and files together); a connector egress DECLINE still returns True, because
that destination is not approved and must not be re-sent.
Attachments were also uploaded twice on the single-delivery path: the queued lane uploads the
response's MEDIA: files, then the completion path's `already_sent` rescan uploaded them again.
The result now records `media_already_delivered` and the rescan skips them.
Live (real gateway, real IRC adapter, stand-in server/model, temp home): follow-up refused by
the reference guard with the first send refused — pre-fix head delivered nothing, this head
delivers the answer once.
2026-09-20 20:14:04 -07:00
..
2026-09-19 02:28:50 -07:00
2026-09-19 22:34:52 -07:00
2026-09-18 22:04:43 -07:00
2026-09-20 10:20:40 -07:00
2026-09-19 09:42:18 -07:00
2026-09-19 23:49:38 -07:00
2026-09-20 13:20:55 -07:00
2026-09-19 03:30:32 +05:30
2026-09-19 09:48:35 -07:00
2026-09-19 09:48:35 -07:00
2026-09-19 00:44:22 -07:00
2026-09-19 12:11:23 -07:00
2026-09-20 12:13:44 -07:00
2026-09-19 12:38:55 -07:00
2026-09-19 12:11:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 13:37:10 -07:00
2026-09-20 12:48:26 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 00:31:26 +05:30
2026-09-19 09:39:50 -07:00
2026-09-20 18:50:27 +05:30
2026-09-20 15:30:45 -07:00
2026-09-20 18:50:27 +05:30
2026-09-19 09:42:18 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:43:37 +05:30
2026-09-20 17:01:05 -07:00
2026-09-20 10:20:03 -07:00
2026-09-19 21:43:59 +05:30
2026-09-20 10:49:49 -07:00
2026-09-20 12:10:27 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 10:39:37 -07:00
2026-09-20 18:50:27 +05:30
2026-09-19 09:39:50 -07:00
2026-09-19 03:31:00 +05:30
2026-09-20 18:50:27 +05:30
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 20:13:41 -07:00
2026-09-19 10:09:17 -07:00
2026-09-19 00:30:29 -07:00
2026-09-20 14:22:58 -07:00
2026-09-20 14:22:58 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 15:34:03 -07:00
2026-09-20 18:49:23 +05:30
2026-09-18 12:49:13 -07:00
2026-09-20 12:18:03 -07:00
2026-09-19 18:24:11 -07:00
2026-09-20 18:00:06 +05:30
2026-09-20 18:00:06 +05:30
2026-09-20 15:48:51 -07:00
2026-09-20 15:17:14 +05:30
2026-09-19 09:59:32 -07:00
2026-09-19 09:59:32 -07:00
2026-09-19 09:59:32 -07:00
2026-09-20 18:50:27 +05:30
2026-09-20 17:01:05 -07:00
2026-09-20 15:47:33 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 10:27:31 -07:00
2026-09-18 22:36:24 -07:00
2026-09-20 18:50:27 +05:30
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 16:33:19 -07:00
2026-09-20 13:54:22 -07:00
2026-09-20 10:16:51 -07:00
2026-09-20 17:01:05 -07:00
2026-09-20 18:50:27 +05:30
2026-09-20 10:43:38 -07:00
2026-09-19 03:36:24 -07:00
2026-09-20 15:25:46 -07:00
2026-09-19 00:30:29 -07:00
2026-09-18 22:36:24 -07:00
2026-09-19 10:12:15 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 20:14:04 -07:00
2026-09-19 22:34:52 -07:00
2026-09-20 15:58:02 -07:00
2026-09-20 12:24:10 -07:00
2026-09-20 18:50:27 +05:30
2026-09-18 12:49:13 -07:00
2026-09-19 02:28:50 -07:00
2026-09-20 18:46:47 -07:00
2026-09-19 02:06:55 +05:30
2026-09-19 10:38:30 -07:00
2026-09-19 09:42:18 -07:00
2026-09-20 15:48:51 -07:00
2026-09-20 00:16:54 -07:00
2026-09-20 18:50:27 +05:30
2026-09-19 00:31:26 +05:30
2026-09-19 02:28:50 -07:00
2026-09-18 22:04:26 -07:00
2026-09-19 01:16:39 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 13:20:55 -07:00
2026-09-20 13:20:55 -07:00
2026-09-19 01:31:49 -07:00
2026-09-19 23:52:38 -07:00
2026-09-20 15:48:01 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 23:36:24 -07:00
2026-09-19 23:36:24 -07:00
2026-09-20 17:01:05 -07:00
2026-09-19 02:06:55 +05:30
2026-09-19 09:58:27 -07:00
2026-09-19 23:44:44 -07:00
2026-09-19 10:44:26 -07:00
2026-09-20 13:21:24 -07:00
2026-09-18 20:34:42 -07:00
2026-09-20 12:17:23 -07:00
2026-09-19 09:30:22 -07:00
2026-09-20 12:17:23 -07:00
2026-09-19 10:54:38 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 00:09:14 -07:00
2026-09-18 22:36:24 -07:00
2026-09-20 00:19:28 +05:30
2026-09-20 10:30:11 -07:00
2026-09-20 17:57:43 +05:30
2026-09-19 23:37:38 -07:00
2026-09-20 17:57:43 +05:30
2026-09-20 12:17:23 -07:00
2026-09-20 12:17:23 -07:00
2026-09-20 11:20:26 -07:00
2026-09-20 18:14:58 +05:30
2026-09-20 11:40:16 -07:00
2026-09-19 01:55:38 -07:00
2026-09-19 01:28:23 -07:00
2026-09-20 12:12:26 -07:00
2026-09-19 09:40:23 -07:00
2026-09-18 22:36:24 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 03:30:32 +05:30
2026-09-20 15:50:26 -07:00
2026-09-19 01:28:23 -07:00
2026-09-19 03:30:09 +05:30
2026-09-20 15:24:51 -07:00
2026-09-19 03:15:40 +05:30
2026-09-19 03:15:40 +05:30
2026-09-20 10:20:40 -07:00
2026-09-19 03:15:40 +05:30
2026-09-20 18:14:58 +05:30