Status: done Priority: P2 Created: 2026-02-08 Completed: 2026-02-09 Owner: invocation-bug-fixer
In invocation/statechart.cljc:29-37, when a statechart is not found during invocation, the function sends an :error.platform event and logs an error, but always returns true (success). Callers cannot distinguish success from failure.
Additionally, invocation/future.clj:44 has a potential race condition between stop-invocation! calling future-cancel and the future's finally block cleaning up active-futures.
start-invocation! across all InvocationProcessor implementationssrc/main/com/fulcrologic/statecharts/invocation/statechart.cljc - Error return valuesrc/main/com/fulcrologic/statecharts/invocation/future.clj - Race conditionsrc/main/com/fulcrologic/statecharts/protocols.cljc - Document contractfuture.clj - Error Return Value Bug (Fixed)
true regardless of success/failurefalse when src is not a functionfuture.clj - Race Condition (Fixed)
active-futuresfuture.clj - Exception Handling (Added)
catch Throwable to log exceptions in the future bodystatechart.cljc - Already correctly returned false on error
Can you improve this documentation?Edit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |