Peter Steinberger
a824078101
fix(channels): tombstone corrupt ingress rows ( #105259 )
...
* fix(infra): guard channel ingress queue parseJson against corrupted JSON
* fix(infra): fix type assertion in ingress queue test
* fix(infra): use tagged parse result and validate payload before claiming
* fix(infra): remove unnecessary non-null assertion in ingress queue test
* fix(infra): scan corrupt ingress rows in claimNext
* test(gateway): avoid typed empty mock call tuple access
* fix(infra): tombstone corrupt ingress rows on duplicate enqueue and stale recovery
Two P1 gaps: enqueue() threw on duplicate when the existing row had corrupt
payload_json, and recoverStaleClaims() silently skipped corrupt claimed rows,
leaving them invisible to recovery. Both paths now tombstone the unrecoverable
row as failed with reason "corrupt_payload" and return a proper result.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
* fix(infra): resolve lint shadow and await-thenable in recoverStaleClaims
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com >
* fix(channels): tombstone corrupt ingress rows
* test(channels): use explicit placeholder claim tokens
* refactor(channels): name claim token values
* refactor(channels): keep claim projection direct
* fix(channels): preserve active ingress claims
* fix(channels): make corrupt recovery policy-aware
* refactor(channels): name corrupt claim token
* fix(channels): bound corrupt ingress reconciliation
* fix(channels): paginate pending ingress by key
* refactor(telegram): return live owner check directly
* build(plugin-sdk): refresh public export budget
---------
Co-authored-by: Pick-cat <huang.ting3@xydigit.com >
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com >
2026-07-12 11:09:52 +01:00
..
2026-07-10 18:06:06 +01:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:30:57 -07:00
2026-07-12 05:55:10 -04:00
2026-07-12 10:42:07 +01:00
2026-07-11 06:15:41 -07:00
2026-06-22 17:17:48 +00:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 10:42:36 +01:00
2026-07-12 12:32:20 +08:00
2026-07-11 06:15:41 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:30:57 -07:00
2026-07-12 09:01:33 +01:00
2026-06-21 07:40:06 +02:00
2026-07-10 13:34:03 +01:00
2026-07-12 10:17:00 +01:00
2026-07-07 16:13:55 -07:00
2026-07-07 00:39:59 +01:00
2026-06-16 19:13:44 +02:00
2026-06-16 19:13:44 +02:00
2026-07-09 01:32:13 -05:00
2026-06-20 11:08:34 +08:00
2026-06-20 11:08:34 +08:00
2026-07-11 02:31:17 -07:00
2026-07-12 10:17:00 +01:00
2026-07-10 10:42:36 +01:00
2026-07-11 06:15:41 -07:00
2026-07-03 20:20:28 -07:00
2026-06-21 07:40:06 +02:00
2026-07-12 10:17:00 +01:00
2026-07-12 10:17:00 +01:00
2026-07-12 10:17:00 +01:00
2026-07-12 10:17:00 +01:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-06-23 14:01:29 +02:00
2026-07-11 02:31:17 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 13:22:27 -07:00
2026-06-20 21:36:42 +02:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-12 06:36:36 +01:00
2026-07-12 06:36:36 +01:00
2026-07-11 06:15:41 -07:00
2026-07-12 05:38:05 +02:00
2026-07-12 06:36:36 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 02:31:17 -07:00
2026-07-11 06:15:41 -07:00
2026-07-09 23:28:11 +01:00
2026-07-07 15:48:08 +01:00
2026-07-11 06:15:41 -07:00
2026-07-12 10:19:26 +08:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 13:15:16 -07:00
2026-07-10 13:00:50 +01:00
2026-07-11 06:15:41 -07:00
2026-06-21 19:59:55 +02:00
2026-07-11 06:15:41 -07:00
2026-06-21 21:39:41 +02:00
2026-07-05 01:56:40 -04:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 15:04:25 -07:00
2026-07-11 06:15:41 -07:00
2026-07-09 16:36:31 +01:00
2026-07-07 11:55:57 -07:00
2026-07-12 18:08:16 +08:00
2026-07-11 06:15:41 -07:00
2026-07-11 01:09:51 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 03:27:14 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-04 23:19:38 +01:00
2026-07-07 11:55:57 -07:00
2026-07-11 10:25:14 -07:00
2026-06-20 22:16:26 +02:00
2026-07-11 06:15:41 -07:00
2026-07-04 14:56:50 -04:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-06-23 17:37:53 +02:00
2026-07-11 06:15:41 -07:00
2026-06-21 22:19:54 +02:00
2026-07-10 20:24:53 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-06-26 18:28:35 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 00:21:26 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 14:50:37 -07:00
2026-07-11 06:15:41 -07:00
2026-06-19 10:40:18 -07:00
2026-07-11 14:50:37 -07:00
2026-07-11 14:50:37 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 11:54:08 +01:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-06-20 03:32:08 +02:00
2026-07-11 07:28:20 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-07 11:55:57 -07:00
2026-06-23 17:27:32 +08:00
2026-07-11 06:15:41 -07:00
2026-07-12 06:36:36 +01:00
2026-07-11 03:04:11 -07:00
2026-07-12 10:26:32 +08:00
2026-06-20 20:12:30 +02:00
2026-07-06 04:20:58 -07:00
2026-06-21 18:04:47 +02:00
2026-07-09 22:33:33 +01:00
2026-07-11 06:15:41 -07:00
2026-06-22 18:44:21 +08:00
2026-07-12 07:44:25 +08:00
2026-06-28 17:22:26 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-06-20 21:41:34 +02:00
2026-07-11 00:44:16 +01:00
2026-07-04 23:19:38 +01:00
2026-07-07 16:13:55 -07:00
2026-07-12 10:17:00 +01:00
2026-07-12 10:17:00 +01:00
2026-07-05 02:01:51 -07:00
2026-07-11 06:15:41 -07:00
2026-07-06 14:52:53 -04:00
2026-07-11 16:44:47 -07:00
2026-06-23 09:51:38 +02:00
2026-07-11 13:22:27 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-06-23 13:43:44 +02:00
2026-07-11 06:15:41 -07:00
2026-06-20 02:02:37 +02:00
2026-06-21 10:21:58 +08:00
2026-07-11 00:51:57 -07:00
2026-06-23 16:26:42 +02:00
2026-06-16 07:39:44 +02:00
2026-07-06 10:26:51 -07:00
2026-07-01 01:51:50 -07:00
2026-07-11 06:15:41 -07:00
2026-06-26 15:01:15 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-06-24 13:24:43 +08:00
2026-06-22 19:11:46 +08:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-11 13:45:27 +08:00
2026-07-11 14:10:41 -07:00
2026-07-11 14:10:41 -07:00
2026-07-11 01:33:47 +01:00
2026-07-07 11:55:57 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-03 15:36:11 +00:00
2026-07-10 11:54:08 +01:00
2026-07-12 04:43:33 +02:00
2026-07-11 06:15:41 -07:00
2026-07-10 17:47:32 -07:00
2026-07-11 04:54:27 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 14:50:37 -07:00
2026-07-12 10:17:00 +01:00
2026-07-10 19:28:49 -07:00
2026-07-10 11:54:08 +01:00
2026-07-04 00:03:49 -07:00
2026-07-11 14:00:53 +08:00
2026-06-23 19:18:51 -05:00
2026-06-16 15:59:02 +02:00
2026-06-22 21:07:57 -04:00
2026-07-01 20:24:38 -05:00
2026-07-10 10:42:36 +01:00
2026-06-21 21:39:41 +02:00
2026-07-01 20:24:38 -05:00
2026-07-01 22:05:26 -05:00
2026-06-15 19:27:55 +02:00
2026-07-01 22:05:26 -05:00
2026-06-15 19:27:55 +02:00
2026-07-10 10:42:36 +01:00
2026-07-01 22:05:26 -05:00
2026-07-10 11:54:08 +01:00
2026-07-10 10:42:36 +01:00
2026-07-11 15:57:55 +08:00
2026-06-21 22:19:54 +02:00
2026-07-10 11:54:08 +01:00
2026-06-15 14:23:57 +08:00
2026-07-11 00:34:10 -07:00
2026-07-10 13:33:20 -07:00
2026-07-12 08:18:34 +02:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-07 16:13:55 -07:00
2026-07-12 10:17:00 +01:00
2026-06-20 21:44:09 +02:00
2026-06-21 11:15:14 +02:00
2026-07-11 06:15:41 -07:00
2026-07-11 19:57:54 +08:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-10 20:16:19 +01:00
2026-07-12 10:17:00 +01:00
2026-07-12 10:17:00 +01:00
2026-07-04 08:22:39 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-06-21 22:02:05 +02:00
2026-07-11 19:57:54 +08:00
2026-06-12 20:16:06 -07:00
2026-06-12 20:16:06 -07:00
2026-07-11 02:31:17 -07:00
2026-07-11 12:48:27 +08:00
2026-07-11 02:26:06 -07:00
2026-07-04 08:00:15 +02:00
2026-07-11 06:15:41 -07:00
2026-07-11 12:48:27 +08:00
2026-07-11 06:15:41 -07:00
2026-06-19 10:26:02 +08:00
2026-07-11 06:15:41 -07:00
2026-07-11 02:31:17 -07:00
2026-07-10 13:33:20 -07:00
2026-07-04 15:13:31 -06:00
2026-07-07 11:55:57 -07:00
2026-07-08 08:01:00 -07:00
2026-07-07 11:55:57 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 14:50:00 -07:00
2026-07-07 16:13:55 -07:00
2026-07-11 06:15:41 -07:00
2026-07-12 11:09:52 +01:00
2026-06-21 11:15:14 +02:00
2026-07-11 06:15:41 -07:00
2026-07-07 00:07:05 +01:00
2026-07-11 12:47:07 -07:00
2026-07-05 13:33:04 -04:00
2026-07-11 06:15:41 -07:00
2026-06-21 15:18:57 +02:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 01:09:51 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 11:54:08 +01:00
2026-07-11 06:15:41 -07:00
2026-07-05 08:00:23 -04:00
2026-07-11 07:28:20 -07:00
2026-07-12 10:51:38 +01:00
2026-07-12 10:17:00 +01:00
2026-06-21 17:51:44 +02:00
2026-07-04 06:51:03 -04:00
2026-07-12 10:17:00 +01:00
2026-06-24 10:22:56 +08:00
2026-07-04 06:51:03 -04:00
2026-07-11 01:09:51 -07:00
2026-07-07 16:13:55 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 12:48:27 +08:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 12:48:27 +08:00
2026-06-15 14:23:57 +08:00
2026-07-10 17:47:32 -07:00
2026-07-10 17:47:32 -07:00
2026-07-10 11:32:24 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-10 02:06:53 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 09:44:19 -07:00
2026-07-11 06:15:41 -07:00
2026-07-05 08:00:23 -04:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 17:27:01 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 16:56:46 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 10:22:07 +01:00
2026-06-20 22:37:26 +08:00
2026-07-10 19:18:47 -07:00
2026-06-20 20:07:50 +02:00
2026-06-23 14:08:20 +08:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-06 02:24:37 -07:00
2026-07-11 06:15:41 -07:00
2026-06-21 21:53:58 +02:00
2026-07-11 06:15:41 -07:00
2026-07-11 14:50:37 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 23:30:57 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 02:31:17 -07:00
2026-07-10 22:13:33 -07:00
2026-06-24 22:54:00 +08:00
2026-07-04 06:40:45 -04:00
2026-06-19 08:24:16 +08:00
2026-06-17 00:55:54 +02:00
2026-07-11 00:07:59 -07:00
2026-06-08 18:59:51 -07:00
2026-07-11 06:30:57 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-06-23 13:44:14 +08:00
2026-06-17 12:50:18 +02:00
2026-07-05 01:56:40 -04:00
2026-06-21 07:40:06 +02:00
2026-06-21 07:40:06 +02:00
2026-06-21 07:40:06 +02:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 01:09:51 -07:00
2026-07-11 02:31:17 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 00:51:57 -07:00
2026-06-19 02:21:10 +02:00
2026-07-06 02:58:59 -07:00
2026-07-10 08:18:44 -07:00
2026-07-11 01:03:30 +01:00
2026-07-11 06:30:57 -07:00
2026-06-18 23:26:21 +02:00
2026-06-18 23:33:44 +02:00
2026-07-11 06:15:41 -07:00
2026-07-12 08:27:40 +01:00
2026-07-11 06:30:57 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 00:58:14 -07:00
2026-07-11 06:15:41 -07:00
2026-07-06 07:46:08 -07:00
2026-07-11 15:14:02 -07:00
2026-07-12 10:26:32 +08:00
2026-07-11 06:15:41 -07:00
2026-06-23 12:40:25 +02:00
2026-07-12 10:17:00 +01:00
2026-07-07 16:59:51 -07:00
2026-07-11 06:15:41 -07:00
2026-07-11 12:48:27 +08:00
2026-07-11 02:31:17 -07:00
2026-07-11 06:15:41 -07:00
2026-07-07 15:17:41 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-07 11:55:57 -07:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-11 12:48:27 +08:00
2026-06-26 16:43:51 -07:00
2026-07-10 13:33:20 -07:00
2026-07-11 06:15:41 -07:00
2026-07-10 13:33:20 -07:00
2026-07-11 06:15:41 -07:00
2026-06-21 18:43:05 +02:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 12:33:46 -07:00
2026-07-11 12:33:46 -07:00
2026-07-10 20:16:19 +01:00
2026-07-11 01:09:51 -07:00
2026-07-07 11:55:57 -07:00
2026-07-11 06:15:41 -07:00
2026-06-20 15:35:33 +02:00
2026-07-11 06:15:41 -07:00
2026-07-11 01:58:16 -07:00
2026-06-21 11:15:14 +02:00
2026-06-21 11:15:14 +02:00
2026-07-10 10:42:36 +01:00
2026-07-12 10:17:00 +01:00
2026-07-11 06:15:41 -07:00
2026-07-07 11:55:57 -07:00
2026-07-02 00:21:41 -07:00
2026-06-21 11:15:14 +02:00