79bd92e17e
Don't abort a batch whose items were all processed (processingCompletedAt set) before the seal landed; those runs resume the parent on their own. Keep expireBatch idempotent: an already-aborted batch still resolves its parent waitpoint, so a retry after a mid-run crash can't leave the parent blocked. Treat ABORTED as terminal in tryCompleteBatch so a straggler run finalizing can't flip the batch back to COMPLETED. Abort the batch if scheduling the reaper fails, so a blocked parent is never stranded with nothing to free it.
Trigger webapp - powered by Remix
To start, run with pnpm run dev --filter webapp
Build the docker image locally:
pnpm run docker:build:webapp
docker run -it triggerdotdev-webapp sh