Repository navigation
feat(events): add transactional booking outbox - #171
fredericklamar342-prog wants to merge 6 commits into
Conversation
|
@fredericklamar342-prog Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
|
@fredericklamar342-prog Thanks for the PR. It can't be merged yet. To unblock it: Merge conflicts: this branch conflicts with Push to this same branch and CI will re-run. Once it's green and conflict-free, it'll be reviewed for merge. |
574330e to
9742a35
Compare
|
@fredericklamar342-prog This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@fredericklamar342-prog This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@fredericklamar342-prog CI is failing at The notifications controller is missing a closing brace (it looks like a merge leftover). Please fix it, run |
|
@fredericklamar342-prog This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
|
@fredericklamar342-prog This push merged |
|
@fredericklamar342-prog This PR now has merge conflicts with git fetch upstream # upstream = https://github.com/DocForum/docforum-core.git
git rebase upstream/main
# resolve the conflicts, re-run the tests, then:
git push --force-with-leaseThe usual culprits are shared docs like Automated message. It won't repeat unless the PR conflicts again after your next push. |
Summary
appointment.bookedis the first event producer.FOR UPDATE SKIP LOCKED, lease stale claims, and apply bounded exponential retries with dead-lettering after five attempts.Shared prerequisite
This branch includes the notification inbox implementation from PR #167, which is required for the booking notification handler. Please merge #167 first. After it lands, this branch may need rebasing to remove the shared prerequisite commit from this PR's diff.
Tests
Passed locally:
npm run prisma:generatenpm run audit:prodnpm run typechecknpm test(96 passed)npm run test:integration(171 passed)npm run buildThe broad
npm run test:allcommand also includes the separate live-testnet payments suite; its setup fails when its external-network tests are skipped. The CI workflow uses the unit and self-contained integration commands listed above and does not include that directory.Architecture and migration
Adds
OutboxEventand a nullable uniqueNotification.sourceEventIdfield. Apply the new Prisma migration with the normal migration deploy process. Events are at-least-once; handlers must remain idempotent. Dead-letter responses omit payloads and expose only stable error codes and event metadata.Closes #94