From 7c46f1d1ffa17c5262dfcc9872897f79845d2ec2 Mon Sep 17 00:00:00 2001 From: slhafzjw Date: Mon, 9 Feb 2026 20:03:24 +0800 Subject: [PATCH] fix(ActionScheduler): remove triggered hour actions by uuid to avoid removeAll mismatch --- .../modules/action/dispatcher/scheduler/ActionScheduler.kt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/scheduler/ActionScheduler.kt b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/scheduler/ActionScheduler.kt index f335e1d6..5d4a0f06 100644 --- a/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/scheduler/ActionScheduler.kt +++ b/Partner-Main/src/main/java/work/slhaf/partner/module/modules/action/dispatcher/scheduler/ActionScheduler.kt @@ -140,7 +140,8 @@ class ActionScheduler : AgentRunningSubModule, Void>() val bucket = wheel[i] if (bucket.isNotEmpty()) { toTrigger.addAll(bucket) - actionsGroupByHour[triggerHour].removeAll(bucket) + val bucketUuids = bucket.asSequence().map { it.uuid }.toHashSet() + actionsGroupByHour[triggerHour].removeIf { it.uuid in bucketUuids } bucket.clear() // 避免重复触发 } }