summaryrefslogtreecommitdiff
path: root/lua/clever_f
diff options
context:
space:
mode:
authorJackson Moore <jacksonmoore@tuta.io>2026-09-04 13:38:52 +0200
committerJackson Moore <jacksonmoore@tuta.io>2026-09-04 13:38:52 +0200
commit973ca221adfce140eb3ce7e537abfaef70c32e3e (patch)
tree8347445e92f1f5ce4105f026a7ff66d34fee4c4a /lua/clever_f
parentec0bc598ba3b623af5426bec280585ada78489e0 (diff)
Reacquire expired primary sequences
Diffstat (limited to 'lua/clever_f')
-rw-r--r--lua/clever_f/sequence_coordinator.lua10
1 files changed, 10 insertions, 0 deletions
diff --git a/lua/clever_f/sequence_coordinator.lua b/lua/clever_f/sequence_coordinator.lua
index 9e6a9b6..837acf5 100644
--- a/lua/clever_f/sequence_coordinator.lua
+++ b/lua/clever_f/sequence_coordinator.lua
@@ -274,6 +274,16 @@ function SequenceCoordinator:primary(value)
return self:resolve_acquisition(descriptor, invocation)
end
local timeout = self:evaluate_repeat_timeout(invocation)
+ if timeout.decision == repeat_resolver_factory.Decision.ACQUIRE then
+ local record = coordinator_records[self]
+ if timeout.cleanup ~= nil then
+ if type(record.feedback.release_transition_cleanup) ~= "function" then
+ fail("FeedbackService must release reset cleanup", 2)
+ end
+ record.feedback:release_transition_cleanup(timeout.cleanup)
+ end
+ return self:resolve_acquisition(descriptor, invocation)
+ end
return {
kind = "repeat",
invocation = invocation,