Nan Gao
085924a3d0
fix(channels): run each IM message once across instances, restarts and late redeliveries ( #7104 )
...
* fix(channels): run each IM message once across instances, restarts and late redeliveries
Inbound IM messages were deduplicated only by the 10-minute inbound dedupe
store (#7103 ). Discord direct messages had no key at all, a Discord thread
reply got an instance-dependent key, a Discord thread was created before
dedupe ran, a redelivery past the window started a second run, and two
instances racing on a conversation's first messages bound it to two
threads.
- Discord messages are keyed (discord, guild_id or "dm", posting channel,
message_id); the posting channel is the same on every instance.
- MessageBus.claim_inbound lets an adapter record the manager's dedupe key
before a side effect; Discord claims it on the Gateway loop before
_create_thread, marks the published message dedupe_claimed, and gives the
claim back when the message is never committed.
- runs.wait / runs.stream / runs.create send an Idempotency-Key derived from
the dedupe key, and keyed human message ids are uuid5 of it (a uuid4 per
attempt made every keyed retry a 409). A reused run's status-only /wait or
stream gap is resolved to this message's own turn via threads.get_state;
409s about the message's own keyed run keep the key instead of reading as
a busy thread; an ended reused GitHub run gets no follow-up watcher.
- A conversation's first thread binding is claimed insert-if-absent
(claim_thread_id on channel_conversations and channel_thread_bindings);
the loser adopts the winner and deletes the empty thread it minted.
/new and /agent use still rebind.
Docs: IM_CHANNEL_CONNECTIONS.md, CONFIGURATION.md, channels AGENTS.md,
CHANGELOG (en/zh).
* fix(channels): give back Discord dedupe claims for messages never processed
Review round 1 on #7104 . A Discord claim records the manager's dedupe key
before the message is queued, so every path that drops the message unrun
must release it, or a peer refuses the redelivery for the rest of the TTL:
- The hand-off task releases the claim on cancellation too (stop() drains it
while it resolves the connection identity), via await_drained so the
cancellation still propagates.
- ChannelManager._discard_pending_inbound releases the key of a claimed
message that shutdown drops from the queue, after the grace period and on
a cancelled shutdown.
- The adapter tracks claims until they are committed. A release refused
because stop() already closed cross-loop intake, or a hand-off cancelled
before it ran, leaves the claim tracked, and stop() releases it last.
* fix(gateway): keep IM run idempotency stable when /new rebinds the conversation
Review round 2 on #7104 . The Gateway scoped every Idempotency-Key by owner
and thread. /new rebinds an IM conversation to a fresh thread, so a late
redelivery of a message admitted on the old thread was requested on the new
one, got a different scoped key and started a second run.
- Keys from trusted internal callers (the IM channel manager) are scoped by
owner only (`internal-run:` prefix); browser and API keys keep the
owner-and-thread scope (`http-run:`).
- A key that resolves to a run of another thread or user raises
RunIdempotencyKeyMismatch, a RuntimeError subclass so in-process launchers
see the same type, and start_run answers it with 409 "Idempotency-Key
already used with a different request" instead of a 500. The channel
manager already treats that 409 as the message's admitted run.
Docs: API.md, IM_CHANNEL_CONNECTIONS.md, gateway AGENTS.md (reworded to stay
under its budget), CHANGELOG (en/zh).
---------
Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2026-10-19 22:57:19 +08:00
..
2026-10-19 22:57:19 +08:00
2026-10-18 21:17:02 +08:00
2026-10-13 22:24:46 +08:00
2026-10-08 09:55:54 +08:00
2026-09-14 11:10:41 +08:00
2026-10-07 10:22:15 +08:00
2026-07-26 14:43:08 +08:00
2026-10-14 12:19:26 +08:00
2026-09-29 16:53:18 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 17:16:48 +08:00
2026-09-15 07:26:08 +08:00
2026-10-19 07:40:52 +08:00
2026-09-01 16:49:39 +08:00
2026-09-22 10:38:16 +08:00
2026-10-14 17:15:59 +08:00
2026-10-15 15:26:47 +08:00
2026-07-22 14:47:08 +08:00
2026-10-12 22:16:33 +08:00
2026-10-09 16:09:17 +08:00
2026-10-10 16:43:04 +08:00
2026-10-18 22:03:27 +08:00
2026-09-12 11:09:41 +08:00
2026-10-19 11:33:35 +08:00
2026-10-18 11:12:57 +08:00
2026-09-14 18:17:54 +08:00
2026-10-12 17:49:55 +08:00
2026-09-20 16:31:35 +08:00
2026-10-14 06:05:16 +08:00
2026-10-12 19:00:54 +08:00
2026-09-19 12:14:24 +08:00
2026-10-06 10:20:38 +08:00
2026-10-18 09:57:12 +08:00
2026-09-04 23:46:57 +08:00
2026-10-18 09:57:12 +08:00
2026-10-14 06:43:07 +08:00
2026-09-22 19:49:00 +08:00
2026-10-14 08:58:52 +08:00
2026-10-13 14:55:49 +08:00
2026-10-18 09:26:45 +08:00
2026-10-03 14:29:41 +08:00
2026-10-07 09:39:26 +08:00
2026-09-12 07:12:37 +08:00
2026-10-18 19:23:19 +08:00
2026-09-27 11:09:41 +08:00
2026-10-18 19:23:19 +08:00
2026-10-14 22:39:19 +08:00
2026-09-27 11:09:41 +08:00
2026-09-27 11:09:41 +08:00
2026-09-27 11:09:41 +08:00
2026-10-04 19:39:50 +08:00
2026-09-12 07:41:24 +08:00
2026-09-17 22:13:53 +08:00
2026-10-19 15:53:54 +08:00
2026-10-19 15:06:35 +08:00
2026-10-10 20:51:09 +08:00
2026-09-23 15:37:26 +08:00
2026-10-10 16:43:04 +08:00
2026-10-07 14:59:16 +08:00
2026-10-09 17:22:45 +08:00
2026-10-01 18:26:58 +08:00
2026-08-23 09:57:12 +08:00
2026-09-23 15:37:26 +08:00
2026-07-23 22:51:35 +08:00
2026-07-23 22:51:35 +08:00
2026-10-10 08:53:51 +08:00
2026-09-23 08:33:20 +08:00
2026-10-13 19:52:22 +08:00
2026-10-15 12:02:00 +08:00
2026-10-15 12:02:00 +08:00
2026-10-07 18:37:31 +08:00
2026-10-07 18:43:31 +08:00
2026-09-25 21:40:41 +08:00
2026-09-01 22:36:31 +08:00
2026-09-12 21:09:05 +08:00
2026-09-03 08:17:26 +08:00
2026-09-12 16:20:31 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-09-20 20:01:28 +08:00
2026-10-19 07:45:59 +08:00
2026-10-18 08:10:56 +08:00
2026-10-18 08:10:56 +08:00
2026-10-18 08:10:56 +08:00
2026-10-10 00:20:45 +08:00
2026-10-04 06:46:13 +08:00
2026-09-08 19:21:57 +08:00
2026-09-03 08:17:26 +08:00
2026-10-09 18:22:06 +08:00
2026-09-22 11:18:57 +08:00
2026-10-04 09:09:15 +08:00
2026-10-14 13:50:19 +08:00
2026-07-26 08:00:48 +08:00
2026-10-10 09:52:40 +08:00
2026-09-28 14:35:42 +08:00
2026-10-04 19:27:54 +08:00
2026-10-04 16:36:01 +08:00
2026-09-15 08:14:42 +08:00
2026-10-07 07:07:53 +08:00
2026-10-19 16:27:15 +08:00
2026-10-05 12:15:21 +08:00
2026-10-03 10:05:47 +08:00
2026-10-18 10:52:22 +08:00
2026-10-18 10:52:22 +08:00
2026-10-10 18:45:58 +08:00
2026-10-10 14:05:35 +08:00
2026-09-19 12:14:24 +08:00
2026-10-17 09:41:15 +08:00
2026-08-05 08:29:22 +08:00
2026-10-14 15:59:46 +08:00
2026-09-24 15:16:08 +08:00
2026-10-13 08:34:05 +08:00
2026-10-11 11:45:28 +08:00
2026-09-19 12:14:24 +08:00
2026-10-18 08:10:56 +08:00
2026-10-15 10:30:55 +08:00
2026-10-07 08:26:53 +08:00
2026-10-14 11:14:48 +08:00
2026-10-07 10:22:15 +08:00
2026-10-14 12:19:26 +08:00
2026-10-18 11:10:31 +08:00
2026-10-14 13:51:42 +08:00
2026-10-14 08:43:26 +08:00
2026-10-11 23:58:54 +08:00
2026-10-19 22:57:19 +08:00
2026-10-10 14:00:00 +08:00
2026-10-12 23:05:16 +08:00
2026-10-12 23:05:16 +08:00
2026-10-14 13:51:42 +08:00
2026-10-14 13:51:42 +08:00
2026-10-18 11:10:31 +08:00
2026-09-24 15:11:49 +08:00
2026-10-18 11:10:31 +08:00
2026-10-14 10:21:02 +08:00
2026-10-14 13:51:42 +08:00
2026-10-08 22:29:49 +08:00
2026-10-10 07:43:05 +08:00
2026-09-19 10:29:02 +08:00
2026-10-10 14:00:00 +08:00
2026-10-10 14:00:00 +08:00
2026-10-19 22:57:19 +08:00
2026-09-30 14:56:03 +08:00
2026-10-14 13:51:42 +08:00
2026-10-19 22:57:19 +08:00
2026-10-08 17:44:10 +08:00
2026-08-02 22:25:02 +08:00
2026-10-18 08:13:27 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-10-15 07:52:29 +08:00
2026-10-18 10:30:14 +08:00
2026-10-09 20:30:19 +08:00
2026-08-23 09:57:12 +08:00
2026-07-26 10:44:50 +08:00
2026-09-08 19:21:57 +08:00
2026-09-18 16:46:19 +08:00
2026-09-14 18:17:54 +08:00
2026-10-15 23:45:09 +08:00
2026-08-13 23:55:30 +08:00
2026-08-24 07:37:35 +08:00
2026-09-20 18:57:49 +08:00
2026-10-05 20:21:31 +08:00
2026-10-05 15:39:32 +08:00
2026-10-06 09:05:55 +08:00
2026-10-08 18:16:21 +08:00
2026-10-08 10:24:16 +08:00
2026-09-28 16:16:15 +08:00
2026-10-19 10:41:18 +08:00
2026-10-19 10:41:18 +08:00
2026-10-11 11:45:28 +08:00
2026-09-27 08:06:03 +08:00
2026-10-18 09:24:51 +08:00
2026-07-29 22:16:48 +08:00
2026-10-16 10:38:10 +08:00
2026-10-12 21:50:19 +08:00
2026-10-18 21:17:02 +08:00
2026-10-04 12:44:05 +08:00
2026-10-06 08:11:05 +08:00
2026-10-15 09:58:16 +08:00
2026-10-06 16:53:45 +08:00
2026-08-30 15:37:38 +08:00
2026-10-16 08:59:44 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-09 17:22:45 +08:00
2026-10-10 20:51:09 +08:00
2026-10-07 07:28:29 +08:00
2026-10-06 11:21:51 +08:00
2026-08-23 15:08:39 +08:00
2026-09-27 07:36:35 +08:00
2026-10-14 15:04:52 +08:00
2026-09-12 11:24:46 +08:00
2026-10-04 06:46:13 +08:00
2026-08-23 09:57:12 +08:00
2026-10-16 08:59:44 +08:00
2026-09-15 08:25:08 +08:00
2026-10-04 06:46:13 +08:00
2026-09-15 08:25:08 +08:00
2026-09-14 10:51:01 +08:00
2026-09-16 15:37:57 +08:00
2026-10-19 07:07:11 +08:00
2026-10-10 21:23:27 +08:00
2026-10-05 14:47:14 +08:00
2026-09-28 16:16:15 +08:00
2026-10-10 20:51:09 +08:00
2026-09-30 17:41:11 +08:00
2026-10-13 19:52:22 +08:00
2026-10-18 21:51:39 +08:00
2026-08-12 09:25:05 +08:00
2026-08-08 21:07:55 +08:00
2026-10-18 21:17:02 +08:00
2026-10-15 14:56:46 +08:00
2026-10-15 15:06:51 +08:00
2026-10-12 22:45:08 +08:00
2026-10-11 16:10:26 +08:00
2026-10-18 11:24:41 +08:00
2026-10-11 11:48:57 +08:00
2026-10-18 11:24:41 +08:00
2026-10-18 11:24:41 +08:00
2026-09-27 09:50:30 +08:00
2026-09-24 15:16:08 +08:00
2026-07-28 23:21:23 +08:00
2026-10-10 20:51:09 +08:00
2026-10-10 20:51:09 +08:00
2026-09-14 06:55:57 +08:00
2026-10-07 18:22:15 +08:00
2026-07-29 22:33:45 +08:00
2026-10-18 07:45:41 +08:00
2026-07-29 22:33:45 +08:00
2026-09-14 06:55:57 +08:00
2026-10-12 23:05:16 +08:00
2026-10-14 10:56:31 +08:00
2026-10-03 17:14:19 +08:00
2026-10-19 22:57:19 +08:00
2026-10-14 23:01:02 +08:00
2026-10-06 15:49:27 +08:00
2026-10-16 17:01:51 +08:00
2026-08-18 23:14:17 +08:00
2026-10-10 18:45:58 +08:00
2026-09-27 13:38:32 +08:00
2026-10-19 10:41:18 +08:00
2026-08-11 21:52:12 +08:00
2026-10-14 13:50:19 +08:00
2026-09-23 09:53:49 +08:00
2026-10-19 15:48:10 +08:00
2026-09-25 09:08:21 +08:00
2026-09-12 10:59:31 +08:00
2026-10-08 10:21:18 +08:00
2026-10-19 15:24:53 +08:00
2026-10-19 15:24:53 +08:00
2026-08-04 22:33:26 +08:00
2026-10-14 17:24:32 +08:00
2026-09-01 16:49:39 +08:00
2026-10-14 06:19:43 +08:00
2026-08-11 16:33:22 +08:00
2026-09-27 10:43:19 +08:00
2026-09-16 21:18:05 +08:00
2026-10-18 21:17:02 +08:00
2026-08-04 22:33:26 +08:00
2026-08-04 22:33:26 +08:00
2026-08-23 09:57:12 +08:00
2026-10-02 21:35:56 +08:00
2026-09-25 15:24:09 +08:00
2026-10-06 20:35:54 +08:00
2026-09-27 11:09:41 +08:00
2026-10-01 18:26:58 +08:00
2026-08-13 23:55:30 +08:00
2026-09-23 15:25:45 +08:00
2026-09-23 15:25:45 +08:00
2026-10-06 20:12:39 +08:00
2026-09-30 16:10:29 +08:00
2026-10-01 18:26:58 +08:00
2026-10-16 09:41:20 +08:00
2026-10-08 10:22:48 +08:00
2026-10-01 18:26:58 +08:00
2026-08-23 15:08:39 +08:00
2026-10-07 09:39:26 +08:00
2026-09-28 15:25:06 +08:00
2026-10-07 18:28:48 +08:00
2026-09-22 10:38:16 +08:00
2026-10-06 09:06:33 +08:00
2026-10-10 18:45:58 +08:00
2026-10-13 07:17:56 +08:00
2026-10-14 12:19:26 +08:00
2026-10-14 12:19:26 +08:00
2026-10-11 23:58:54 +08:00
2026-10-11 23:58:54 +08:00
2026-10-15 10:30:55 +08:00
2026-10-13 22:24:46 +08:00
2026-10-17 19:58:50 +08:00
2026-10-17 19:58:50 +08:00
2026-09-16 18:46:18 +08:00
2026-10-15 08:03:10 +08:00
2026-09-12 12:50:22 +08:00
2026-09-19 10:08:09 +08:00
2026-10-08 10:10:07 +08:00
2026-10-04 14:54:08 +08:00
2026-10-05 13:20:00 +08:00
2026-09-12 14:28:15 +08:00
2026-09-08 17:06:28 +08:00
2026-09-29 21:01:18 +08:00
2026-10-10 18:45:58 +08:00
2026-07-31 21:57:22 +08:00
2026-09-25 14:58:06 +08:00
2026-09-24 15:56:38 +08:00
2026-10-18 21:17:02 +08:00
2026-10-08 06:56:33 +08:00
2026-10-10 21:27:35 +08:00
2026-10-15 15:10:39 +08:00
2026-10-07 10:22:15 +08:00
2026-09-18 17:19:10 +08:00
2026-09-14 11:01:31 +08:00
2026-08-13 23:55:30 +08:00
2026-09-17 21:26:52 +08:00
2026-10-10 19:59:55 +08:00
2026-10-19 15:53:54 +08:00
2026-08-13 23:55:30 +08:00
2026-10-19 15:53:54 +08:00
2026-10-14 15:59:08 +08:00
2026-09-12 14:32:05 +08:00
2026-10-14 15:59:08 +08:00
2026-09-30 17:41:11 +08:00
2026-10-02 22:32:21 +08:00
2026-10-10 14:00:00 +08:00
2026-10-10 14:00:00 +08:00
2026-09-30 17:41:11 +08:00
2026-10-16 09:10:35 +08:00
2026-10-11 18:39:54 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-04 06:46:13 +08:00
2026-10-11 18:39:54 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 16:56:42 +08:00
2026-09-28 14:35:42 +08:00
2026-08-23 09:57:12 +08:00
2026-08-23 15:46:10 +08:00
2026-10-10 20:51:09 +08:00
2026-08-23 15:08:39 +08:00
2026-10-08 21:20:45 +08:00
2026-10-06 11:21:51 +08:00
2026-10-07 07:10:05 +08:00
2026-09-30 09:16:00 +08:00
2026-10-09 18:26:23 +08:00
2026-09-13 20:28:32 +08:00
2026-10-18 21:55:19 +08:00
2026-07-27 14:05:31 +08:00
2026-10-15 10:30:55 +08:00
2026-10-12 18:49:41 +08:00
2026-10-15 14:56:46 +08:00
2026-10-18 09:55:27 +08:00
2026-10-15 14:56:46 +08:00
2026-10-05 22:34:57 +08:00
2026-10-17 09:00:50 +08:00
2026-09-28 15:50:42 +08:00
2026-10-19 06:59:40 +08:00
2026-09-25 20:58:17 +08:00
2026-10-18 09:55:27 +08:00
2026-09-24 16:30:36 +08:00
2026-10-08 19:44:52 +08:00
2026-10-11 08:25:53 +08:00
2026-09-27 13:38:32 +08:00
2026-09-20 18:57:49 +08:00
2026-10-11 18:40:31 +08:00
2026-09-24 16:36:30 +08:00
2026-10-16 09:41:20 +08:00
2026-09-25 19:58:36 +08:00
2026-09-25 21:27:25 +08:00
2026-09-25 14:38:59 +08:00
2026-10-09 19:23:51 +08:00
2026-10-11 08:41:22 +08:00
2026-10-13 22:26:28 +08:00
2026-10-13 22:26:28 +08:00
2026-10-09 21:55:42 +08:00
2026-09-28 15:13:34 +08:00
2026-10-07 14:34:24 +08:00
2026-09-18 18:32:42 +08:00
2026-10-10 08:00:47 +08:00
2026-09-16 15:18:29 +08:00
2026-10-10 08:00:47 +08:00
2026-10-10 00:02:23 +08:00
2026-09-14 18:24:51 +08:00
2026-10-15 09:32:03 +08:00
2026-10-14 14:16:08 +08:00
2026-10-15 15:10:39 +08:00
2026-10-15 15:10:39 +08:00
2026-10-15 15:10:39 +08:00
2026-10-15 15:10:39 +08:00
2026-09-18 16:59:31 +08:00
2026-09-18 16:59:31 +08:00
2026-10-15 15:10:39 +08:00
2026-08-15 21:20:34 +08:00
2026-08-16 23:54:06 +08:00
2026-10-02 22:45:26 +08:00
2026-10-03 15:58:01 +08:00
2026-10-11 15:16:52 +08:00
2026-10-15 08:03:10 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 14:28:10 +08:00
2026-10-07 17:02:23 +08:00
2026-10-14 06:19:43 +08:00
2026-10-11 17:46:29 +08:00
2026-10-01 18:26:58 +08:00
2026-09-30 16:10:29 +08:00
2026-10-07 07:47:32 +08:00
2026-07-28 23:21:23 +08:00
2026-09-30 17:54:42 +08:00
2026-10-04 21:14:35 +08:00
2026-09-06 10:21:58 +08:00
2026-10-15 15:10:39 +08:00
2026-10-03 14:51:05 +08:00
2026-10-04 14:52:04 +08:00
2026-10-15 08:39:17 +08:00
2026-09-24 09:08:32 +08:00
2026-10-18 10:25:26 +08:00
2026-10-18 10:46:13 +08:00
2026-10-18 20:58:35 +08:00
2026-10-14 06:19:43 +08:00
2026-10-13 14:27:26 +08:00
2026-09-14 07:30:34 +08:00
2026-10-14 06:19:43 +08:00
2026-10-18 07:48:06 +08:00
2026-09-14 11:01:31 +08:00
2026-09-26 15:06:48 +08:00
2026-10-08 22:35:19 +08:00
2026-10-08 22:35:19 +08:00
2026-10-02 07:30:10 +08:00
2026-10-14 06:03:45 +08:00
2026-07-26 14:43:08 +08:00
2026-10-06 15:32:46 +08:00
2026-09-23 17:58:00 +08:00
2026-10-05 21:28:08 +08:00
2026-08-29 14:54:02 +08:00
2026-09-22 17:53:21 +08:00
2026-10-19 15:45:56 +08:00
2026-10-13 08:14:23 +08:00
2026-10-13 08:14:23 +08:00
2026-10-13 08:14:23 +08:00
2026-08-24 11:04:23 +08:00
2026-08-24 11:04:23 +08:00
2026-10-15 08:03:10 +08:00
2026-10-14 22:55:43 +08:00
2026-10-14 08:44:21 +08:00
2026-10-14 08:44:21 +08:00
2026-09-24 17:19:01 +08:00
2026-10-14 08:44:21 +08:00
2026-09-22 11:15:06 +08:00
2026-10-10 11:03:26 +08:00
2026-09-01 23:24:49 +08:00
2026-10-11 11:45:28 +08:00
2026-10-13 08:38:36 +08:00
2026-09-23 08:33:20 +08:00
2026-10-17 08:13:35 +08:00
2026-08-31 15:07:30 +08:00
2026-10-14 08:44:21 +08:00
2026-10-18 21:17:02 +08:00
2026-10-11 11:45:28 +08:00
2026-10-08 10:44:10 +08:00
2026-10-14 06:40:20 +08:00
2026-10-18 11:24:41 +08:00
2026-07-28 22:59:14 +08:00
2026-09-29 16:53:18 +08:00
2026-10-14 22:55:43 +08:00
2026-10-14 22:55:43 +08:00
2026-10-13 08:38:36 +08:00
2026-08-05 08:56:18 +08:00
2026-10-14 06:40:20 +08:00
2026-08-15 14:26:38 +08:00
2026-09-23 08:33:20 +08:00
2026-10-06 10:27:44 +08:00
2026-09-28 16:02:34 +08:00
2026-09-26 15:37:52 +08:00
2026-10-15 09:42:46 +08:00
2026-10-18 07:49:46 +08:00
2026-09-24 17:19:01 +08:00
2026-10-19 11:32:28 +08:00
2026-10-19 11:32:28 +08:00
2026-10-08 14:24:51 +08:00
2026-08-15 14:26:38 +08:00
2026-10-10 08:53:51 +08:00
2026-10-10 08:53:51 +08:00
2026-10-06 09:08:25 +08:00
2026-10-13 08:38:36 +08:00
2026-09-01 23:24:49 +08:00
2026-09-30 16:50:07 +08:00
2026-09-03 08:00:25 +08:00
2026-08-01 08:39:28 +08:00
2026-08-17 08:20:42 +08:00
2026-09-14 07:22:38 +08:00
2026-10-08 09:25:12 +08:00
2026-09-18 11:32:04 +08:00
2026-07-26 21:16:36 +08:00
2026-09-01 16:49:39 +08:00
2026-09-23 18:29:12 +08:00
2026-09-25 20:05:36 +08:00
2026-09-27 20:28:05 +08:00
2026-09-27 20:28:05 +08:00
2026-09-23 18:29:12 +08:00
2026-10-11 17:16:25 +08:00
2026-10-11 17:16:25 +08:00
2026-10-11 17:16:25 +08:00
2026-10-07 06:58:59 +08:00
2026-09-18 11:32:04 +08:00
2026-10-12 22:54:02 +08:00
2026-10-08 21:20:45 +08:00
2026-10-02 21:41:50 +08:00
2026-08-01 08:39:28 +08:00
2026-08-17 08:20:42 +08:00
2026-10-04 12:37:33 +08:00
2026-10-19 14:44:15 +08:00
2026-10-19 15:27:56 +08:00
2026-10-19 15:27:56 +08:00
2026-09-09 15:52:09 +08:00
2026-10-06 20:43:27 +08:00
2026-10-07 07:23:56 +08:00
2026-10-08 09:25:12 +08:00
2026-10-18 21:00:49 +08:00
2026-09-01 15:26:33 +08:00
2026-10-08 20:22:28 +08:00
2026-07-26 21:16:36 +08:00
2026-08-17 08:20:42 +08:00
2026-09-22 10:38:16 +08:00
2026-10-01 18:26:58 +08:00
2026-09-06 22:50:58 +08:00
2026-09-27 11:09:41 +08:00
2026-09-09 15:52:09 +08:00
2026-09-09 15:52:09 +08:00
2026-07-27 23:07:40 +08:00
2026-09-09 15:52:09 +08:00
2026-08-29 23:50:45 +08:00
2026-09-03 08:17:26 +08:00
2026-09-08 17:00:26 +08:00
2026-09-09 15:52:09 +08:00
2026-09-12 07:35:07 +08:00
2026-10-04 06:46:13 +08:00
2026-10-04 06:46:13 +08:00
2026-10-10 07:11:02 +08:00
2026-10-08 22:35:19 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-07 10:22:15 +08:00
2026-10-18 21:17:02 +08:00
2026-10-07 18:37:31 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-09 17:11:00 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-14 11:14:48 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-08 10:27:10 +08:00
2026-10-14 09:14:20 +08:00
2026-07-31 21:57:22 +08:00
2026-10-10 21:23:27 +08:00
2026-10-18 20:27:17 +08:00
2026-09-20 19:28:21 +08:00
2026-10-16 09:37:18 +08:00
2026-10-16 09:37:18 +08:00
2026-09-16 22:07:42 +08:00
2026-10-09 21:55:42 +08:00
2026-10-11 17:45:06 +08:00
2026-10-10 09:45:17 +08:00
2026-09-24 20:39:30 +08:00
2026-07-31 17:55:24 +08:00
2026-10-19 22:57:19 +08:00
2026-10-14 13:51:42 +08:00
2026-10-19 15:53:54 +08:00
2026-08-01 22:19:59 +08:00
2026-09-27 10:58:54 +08:00
2026-10-10 15:47:30 +08:00
2026-09-27 10:58:54 +08:00
2026-10-16 17:09:02 +08:00
2026-10-14 13:51:42 +08:00
2026-10-07 10:22:15 +08:00
2026-10-08 09:26:31 +08:00
2026-10-15 10:30:55 +08:00
2026-10-15 10:30:55 +08:00
2026-10-15 10:30:55 +08:00
2026-09-30 17:21:43 +08:00
2026-10-14 08:19:22 +08:00
2026-09-01 15:51:37 +08:00
2026-10-15 11:36:41 +08:00
2026-08-11 13:56:02 +08:00
2026-10-07 07:23:56 +08:00
2026-10-18 10:52:22 +08:00
2026-09-17 11:35:13 +08:00
2026-09-16 18:46:18 +08:00
2026-09-18 07:29:34 +08:00
2026-10-09 16:00:32 +08:00
2026-09-27 10:13:05 +08:00
2026-09-22 22:17:11 +08:00
2026-10-05 15:33:29 +08:00
2026-09-09 15:52:09 +08:00
2026-07-30 13:51:17 +08:00
2026-10-14 17:56:25 +08:00
2026-09-23 10:14:35 +08:00
2026-09-20 19:19:29 +08:00
2026-09-28 22:46:39 +08:00
2026-09-12 07:35:07 +08:00
2026-08-23 09:57:12 +08:00
2026-10-06 11:33:58 +08:00
2026-09-22 10:59:41 +08:00
2026-10-15 10:19:26 +08:00
2026-09-23 15:37:26 +08:00
2026-10-07 14:59:16 +08:00
2026-10-03 10:29:56 +08:00
2026-10-08 14:24:51 +08:00
2026-07-30 13:51:17 +08:00
2026-10-06 12:16:18 +08:00
2026-09-25 14:46:12 +08:00
2026-10-17 09:41:15 +08:00
2026-09-25 14:46:12 +08:00
2026-09-25 14:46:12 +08:00
2026-10-14 17:24:32 +08:00
2026-10-10 15:47:30 +08:00
2026-09-22 10:38:16 +08:00
2026-10-07 17:26:57 +08:00
2026-10-15 23:45:09 +08:00
2026-08-05 07:43:54 +08:00
2026-08-05 07:43:54 +08:00
2026-09-16 18:46:18 +08:00
2026-10-06 08:09:15 +08:00
2026-10-10 07:11:02 +08:00
2026-10-19 15:46:42 +08:00
2026-10-18 10:25:26 +08:00
2026-10-19 15:46:42 +08:00
2026-10-10 07:11:02 +08:00
2026-10-10 07:11:02 +08:00
2026-09-18 09:05:26 +08:00
2026-09-16 18:46:18 +08:00
2026-10-10 07:11:02 +08:00
2026-09-16 18:46:18 +08:00
2026-09-08 17:00:26 +08:00
2026-09-16 18:46:18 +08:00
2026-09-25 09:51:11 +08:00
2026-10-11 11:09:49 +08:00
2026-08-31 14:35:08 +08:00
2026-10-19 22:28:19 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 07:56:09 +08:00
2026-10-15 10:30:55 +08:00
2026-10-03 14:32:44 +08:00
2026-10-12 22:19:11 +08:00
2026-10-10 14:00:00 +08:00
2026-10-15 10:30:55 +08:00
2026-10-17 19:36:37 +08:00
2026-10-15 15:10:39 +08:00
2026-09-19 15:09:36 +08:00
2026-09-25 14:46:12 +08:00
2026-10-09 17:46:35 +08:00
2026-10-09 17:46:35 +08:00
2026-10-07 07:07:53 +08:00
2026-09-15 08:25:08 +08:00
2026-10-16 09:01:28 +08:00
2026-10-16 09:01:28 +08:00
2026-10-16 09:01:28 +08:00
2026-10-07 07:07:53 +08:00
2026-09-24 09:43:16 +08:00
2026-10-11 10:53:00 +08:00
2026-09-24 20:39:30 +08:00
2026-08-29 16:56:56 +08:00
2026-10-10 16:32:00 +08:00
2026-10-19 15:53:54 +08:00
2026-10-10 22:28:47 +08:00
2026-09-01 16:49:39 +08:00
2026-09-22 10:56:49 +08:00
2026-10-10 07:51:46 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 14:29:57 +08:00
2026-09-20 19:07:48 +08:00
2026-10-10 21:23:27 +08:00
2026-10-15 15:10:39 +08:00
2026-09-14 11:10:41 +08:00
2026-10-10 20:52:17 +08:00
2026-10-04 06:46:13 +08:00
2026-08-27 14:59:31 +08:00
2026-08-25 08:22:57 +08:00
2026-10-01 20:11:10 +08:00
2026-10-18 21:17:02 +08:00
2026-10-10 08:04:01 +08:00
2026-10-05 10:23:55 +08:00
2026-09-23 15:25:45 +08:00
2026-09-24 17:49:52 +08:00
2026-10-07 17:20:11 +08:00
2026-10-18 09:39:08 +08:00
2026-10-19 15:53:54 +08:00
2026-10-19 10:41:18 +08:00
2026-10-10 14:00:00 +08:00
2026-10-19 15:06:35 +08:00
2026-07-27 22:27:16 +08:00
2026-10-19 15:53:54 +08:00
2026-09-14 18:17:54 +08:00
2026-10-19 15:53:54 +08:00
2026-08-22 16:53:32 +08:00
2026-10-19 15:53:54 +08:00
2026-09-22 11:02:16 +08:00
2026-08-01 19:42:44 +08:00
2026-09-24 08:11:47 +08:00
2026-09-24 17:34:06 +08:00
2026-10-15 10:30:55 +08:00
2026-09-12 07:41:24 +08:00
2026-09-22 10:38:16 +08:00
2026-09-21 22:06:41 +08:00
2026-07-23 22:56:12 +08:00
2026-09-15 22:22:12 +08:00
2026-10-11 23:27:06 +08:00
2026-10-10 07:56:09 +08:00
2026-10-18 07:46:57 +08:00
2026-10-06 11:22:46 +08:00
2026-10-11 17:50:04 +08:00
2026-09-29 21:50:59 +08:00
2026-08-30 10:30:34 +08:00
2026-09-17 22:33:18 +08:00
2026-10-10 07:56:09 +08:00
2026-10-06 09:45:47 +08:00
2026-10-18 08:10:56 +08:00
2026-09-04 23:46:57 +08:00
2026-09-27 07:58:15 +08:00
2026-09-04 23:46:57 +08:00
2026-09-27 11:16:38 +08:00
2026-09-24 18:11:35 +08:00
2026-09-14 14:05:21 +08:00
2026-10-18 08:10:56 +08:00
2026-10-18 08:10:56 +08:00
2026-10-18 09:57:12 +08:00
2026-10-15 11:00:01 +08:00
2026-09-23 09:53:49 +08:00
2026-10-06 11:22:46 +08:00
2026-10-18 20:58:35 +08:00
2026-10-18 07:48:06 +08:00
2026-09-12 10:54:39 +08:00
2026-10-19 15:26:57 +08:00
2026-10-08 21:30:07 +08:00
2026-10-19 15:06:35 +08:00
2026-10-07 10:22:15 +08:00
2026-10-19 15:06:35 +08:00
2026-10-18 10:46:32 +08:00
2026-09-12 07:35:07 +08:00
2026-10-07 07:47:32 +08:00
2026-09-27 21:00:09 +08:00
2026-10-07 07:47:32 +08:00
2026-10-14 11:14:48 +08:00
2026-10-15 10:30:55 +08:00
2026-08-24 15:38:32 +08:00
2026-10-11 19:18:32 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 07:47:32 +08:00
2026-09-30 09:50:39 +08:00
2026-10-13 07:17:56 +08:00
2026-10-04 06:46:13 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 07:47:32 +08:00
2026-09-12 07:35:07 +08:00
2026-09-12 07:35:07 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 07:47:32 +08:00
2026-10-04 06:46:13 +08:00
2026-10-07 07:47:32 +08:00
2026-10-08 23:34:32 +08:00
2026-10-08 23:34:32 +08:00
2026-10-07 14:46:23 +08:00
2026-10-07 07:47:32 +08:00
2026-10-16 08:57:16 +08:00
2026-10-18 13:12:23 +08:00
2026-10-19 15:48:10 +08:00
2026-08-24 21:27:43 +08:00
2026-10-03 21:58:50 +08:00
2026-10-08 21:08:03 +08:00
2026-10-10 10:10:28 +08:00
2026-10-16 08:57:16 +08:00
2026-10-14 23:05:54 +08:00
2026-10-18 07:45:41 +08:00
2026-08-28 10:44:30 +08:00
2026-10-10 15:47:30 +08:00
2026-09-14 06:55:57 +08:00
2026-09-25 22:49:12 +08:00
2026-07-23 08:03:21 +08:00
2026-10-11 14:49:41 +08:00
2026-09-24 15:10:25 +08:00
2026-09-24 20:39:30 +08:00
2026-10-10 20:52:17 +08:00
2026-10-03 14:35:09 +08:00
2026-10-18 21:17:02 +08:00
2026-09-17 07:59:58 +08:00
2026-09-24 15:47:33 +08:00
2026-09-02 17:05:36 +08:00
2026-09-22 17:27:01 +08:00
2026-09-27 09:25:00 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-14 07:51:50 +08:00
2026-10-10 17:33:55 +08:00
2026-10-11 12:52:48 +08:00
2026-10-19 22:28:19 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-18 21:17:02 +08:00
2026-10-06 07:17:22 +08:00
2026-09-08 09:21:38 +08:00
2026-10-18 11:24:41 +08:00
2026-10-19 16:27:15 +08:00
2026-10-15 08:03:10 +08:00
2026-10-14 06:47:38 +08:00
2026-10-14 06:19:43 +08:00
2026-09-14 11:01:31 +08:00
2026-10-18 21:17:02 +08:00
2026-09-26 11:44:48 +08:00
2026-08-25 19:46:04 +08:00
2026-10-08 10:31:06 +08:00
2026-09-30 23:09:05 +08:00
2026-09-24 17:49:52 +08:00
2026-10-09 16:09:17 +08:00
2026-09-22 22:39:49 +08:00
2026-10-19 22:28:19 +08:00
2026-10-10 10:32:31 +08:00
2026-10-10 10:32:31 +08:00
2026-10-06 07:17:22 +08:00
2026-09-19 12:14:24 +08:00
2026-08-28 08:58:59 +08:00
2026-09-24 15:47:33 +08:00
2026-10-08 19:43:04 +08:00
2026-09-18 08:02:52 +08:00
2026-09-24 15:47:33 +08:00
2026-10-06 21:18:53 +08:00
2026-10-11 17:47:20 +08:00
2026-10-08 09:57:13 +08:00
2026-10-11 23:27:06 +08:00
2026-10-19 11:03:46 +08:00
2026-10-18 20:44:39 +08:00
2026-10-05 12:25:41 +08:00
2026-10-13 22:05:40 +08:00
2026-10-13 22:05:40 +08:00
2026-10-15 08:28:36 +08:00
2026-10-18 22:03:27 +08:00
2026-10-12 21:00:24 +08:00
2026-09-25 09:51:11 +08:00
2026-10-07 10:22:15 +08:00
2026-10-19 15:53:54 +08:00
2026-10-07 10:22:15 +08:00
2026-10-19 15:06:35 +08:00
2026-10-04 07:46:59 +08:00
2026-07-31 17:25:07 +08:00
2026-10-07 07:47:32 +08:00
2026-10-19 15:53:54 +08:00
2026-09-25 12:43:04 +08:00
2026-09-01 15:51:37 +08:00
2026-09-08 16:11:49 +08:00
2026-10-14 08:25:57 +08:00
2026-10-15 12:02:00 +08:00
2026-10-09 15:33:58 +08:00
2026-10-14 08:25:57 +08:00
2026-09-30 16:10:29 +08:00
2026-09-16 22:05:20 +08:00
2026-10-01 18:26:58 +08:00
2026-10-11 17:45:06 +08:00
2026-10-18 11:24:41 +08:00
2026-10-01 10:05:39 +08:00
2026-09-02 11:54:40 +08:00
2026-10-18 08:10:56 +08:00
2026-09-15 22:22:12 +08:00
2026-08-24 11:04:23 +08:00
2026-08-30 11:39:25 +08:00
2026-07-30 07:21:55 +08:00
2026-09-18 14:27:33 +08:00
2026-09-01 16:13:41 +08:00
2026-09-17 09:05:25 +08:00
2026-10-04 12:41:13 +08:00
2026-10-01 20:13:57 +08:00
2026-09-24 16:11:46 +08:00
2026-09-24 16:11:46 +08:00
2026-10-16 09:41:20 +08:00
2026-10-16 09:41:20 +08:00
2026-09-30 10:38:19 +08:00
2026-10-05 22:04:36 +08:00
2026-10-16 09:41:20 +08:00
2026-10-16 09:41:20 +08:00
2026-10-16 09:41:20 +08:00
2026-07-27 11:47:49 +08:00
2026-07-27 11:47:49 +08:00
2026-10-10 20:02:39 +08:00
2026-10-07 07:28:29 +08:00
2026-10-07 18:37:31 +08:00
2026-09-14 06:55:57 +08:00
2026-09-14 11:01:31 +08:00
2026-08-23 09:57:12 +08:00
2026-10-10 21:24:21 +08:00
2026-09-30 20:03:35 +08:00
2026-09-29 17:24:29 +08:00
2026-10-11 15:53:01 +08:00
2026-09-26 11:43:32 +08:00
2026-10-06 07:00:09 +08:00
2026-10-14 10:32:30 +08:00
2026-10-02 22:31:40 +08:00
2026-10-14 06:20:33 +08:00
2026-10-18 10:51:13 +08:00
2026-10-03 08:19:14 +08:00
2026-10-19 15:06:35 +08:00
2026-10-19 15:06:35 +08:00
2026-09-18 07:29:34 +08:00
2026-10-19 15:06:35 +08:00
2026-10-08 20:59:50 +08:00
2026-10-07 10:22:15 +08:00
2026-09-06 22:30:26 +08:00
2026-09-25 14:18:09 +08:00
2026-10-10 00:20:45 +08:00
2026-09-16 18:46:18 +08:00
2026-08-01 19:42:44 +08:00
2026-07-27 22:46:51 +08:00
2026-08-11 22:00:57 +08:00
2026-10-07 14:34:24 +08:00
2026-10-07 10:22:15 +08:00
2026-10-10 00:20:45 +08:00
2026-10-19 22:57:19 +08:00
2026-10-05 10:23:55 +08:00
2026-10-05 10:23:55 +08:00
2026-10-04 07:46:59 +08:00
2026-10-05 10:23:55 +08:00
2026-10-19 10:41:18 +08:00
2026-10-18 11:24:41 +08:00
2026-10-14 10:10:25 +08:00
2026-09-18 09:39:14 +08:00
2026-07-28 23:21:23 +08:00
2026-10-10 00:20:45 +08:00
2026-10-06 10:03:56 +08:00
2026-10-02 19:25:14 +08:00
2026-09-12 09:22:27 +08:00
2026-09-22 17:45:01 +08:00
2026-10-01 10:37:09 +08:00
2026-09-16 15:52:17 +08:00
2026-10-05 12:21:39 +08:00
2026-07-28 23:21:23 +08:00
2026-09-24 20:30:45 +08:00
2026-09-13 18:04:51 +08:00
2026-09-15 22:22:12 +08:00
2026-08-22 16:53:32 +08:00
2026-10-10 21:23:27 +08:00
2026-10-06 20:44:49 +08:00
2026-10-03 16:38:00 +08:00
2026-10-06 09:06:33 +08:00
2026-10-07 17:07:59 +08:00
2026-09-16 23:57:38 +08:00
2026-09-16 15:52:17 +08:00
2026-09-15 08:45:08 +08:00
2026-09-25 14:46:12 +08:00
2026-08-29 16:56:56 +08:00
2026-08-29 16:56:56 +08:00
2026-09-15 08:45:08 +08:00
2026-09-01 09:49:32 +08:00
2026-08-23 09:57:12 +08:00
2026-09-01 16:49:39 +08:00
2026-10-10 14:00:00 +08:00
2026-09-01 16:49:39 +08:00
2026-10-08 10:21:18 +08:00
2026-10-11 14:44:27 +08:00
2026-09-30 19:48:32 +08:00
2026-10-11 12:52:11 +08:00
2026-09-18 07:48:24 +08:00
2026-10-03 08:29:29 +08:00
2026-10-04 17:04:58 +08:00
2026-10-11 14:44:27 +08:00
2026-10-17 19:25:18 +08:00
2026-10-11 14:44:27 +08:00
2026-10-07 17:16:48 +08:00
2026-10-04 19:28:32 +08:00
2026-08-05 08:15:28 +08:00
2026-09-27 20:28:05 +08:00
2026-09-27 20:28:05 +08:00
2026-09-27 20:28:05 +08:00
2026-10-02 22:56:24 +08:00
2026-09-28 15:08:49 +08:00
2026-10-15 15:26:47 +08:00
2026-09-12 11:09:41 +08:00
2026-07-26 21:16:36 +08:00
2026-07-26 21:16:36 +08:00
2026-10-06 07:10:55 +08:00
2026-10-14 08:43:26 +08:00
2026-10-15 10:56:26 +08:00
2026-10-02 22:50:30 +08:00
2026-10-14 08:43:26 +08:00
2026-10-01 20:36:35 +08:00
2026-10-14 08:43:26 +08:00
2026-10-10 18:45:58 +08:00
2026-07-28 22:59:14 +08:00
2026-09-03 08:17:26 +08:00
2026-10-07 10:22:15 +08:00
2026-10-18 21:17:02 +08:00
2026-10-11 08:25:53 +08:00
2026-09-19 10:56:21 +08:00
2026-08-13 23:55:30 +08:00
2026-08-23 15:43:37 +08:00
2026-10-10 14:05:35 +08:00
2026-10-14 10:10:25 +08:00
2026-10-12 18:49:41 +08:00
2026-10-12 18:49:41 +08:00
2026-09-24 20:38:12 +08:00
2026-10-12 18:49:41 +08:00
2026-10-05 19:06:16 +08:00
2026-10-08 20:41:40 +08:00
2026-10-11 18:30:09 +08:00
2026-10-04 07:01:13 +08:00
2026-10-10 18:45:58 +08:00
2026-10-10 18:45:58 +08:00
2026-09-08 10:50:03 +08:00
2026-10-10 18:49:59 +08:00
2026-10-13 07:26:59 +08:00
2026-10-19 16:31:48 +08:00
2026-10-07 08:18:55 +08:00
2026-10-19 16:31:48 +08:00
2026-10-14 11:14:48 +08:00
2026-10-06 07:45:18 +08:00
2026-10-14 06:18:58 +08:00
2026-09-12 09:59:58 +08:00
2026-10-15 10:30:55 +08:00
2026-10-18 10:28:30 +08:00
2026-10-18 10:28:30 +08:00
2026-10-18 11:10:38 +08:00
2026-10-01 18:26:58 +08:00
2026-09-27 21:04:39 +08:00
2026-09-14 18:17:54 +08:00
2026-10-17 20:53:43 +08:00
2026-10-19 15:24:53 +08:00
2026-10-19 15:24:53 +08:00
2026-10-19 07:40:52 +08:00
2026-10-09 07:10:54 +08:00
2026-10-11 11:56:32 +08:00