Closed avernet closed 6 hours ago
I reproduce this. I see that the persistence proxy returns the error correctly, and that the ProcessInterpreter
obtains the error as well. The issue appears to be in running the process continuation.
Interestingly, we process this:
(nop then new-to-edit then success-message("save-success") recover error-message("database-error"))
This decomposes into a (expr, rest)
, where rest
is Nil
. This later causes the code not to execute rest
.
But removing parentheses:
nop then new-to-edit then success-message("save-success") recover error-message("database-error")
returns a different (expr, rest)
tuple, with rest
being non-empty.
Assuming continue-with-failure
is an action that fails:
continue-with-failure then (a then b recover c)
produces a result different from:
continue-with-failure then a then b recover c
This is by design. Parentheses create groups or blocks.
To reproduce:
gh gist clone 3c72973b745b73ecb30af487bc82cdea 6639
cd 6639
docker compose up -d
+1 from customer