-
Notifications
You must be signed in to change notification settings - Fork 4
feat(core): add immediateProcessing option to event configuration #9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jtomaszewski
wants to merge
9
commits into
Nestixis:main
Choose a base branch
from
fullstackhouse:vk/cb52-make-immediate-p
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
feat(core): add immediateProcessing option to event configuration #9
jtomaszewski
wants to merge
9
commits into
Nestixis:main
from
fullstackhouse:vk/cb52-make-immediate-p
+7,280
−1,640
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* test(mikroorm-driver): add comprehensive test suite for MikroORM driver - Set up Vitest with SWC for decorator metadata support - Add test utilities for spinning up isolated NestJS apps with fresh PostgreSQL databases - Add unit tests for MikroOrmInboxOutboxTransportEvent entity - Add unit tests for MikroORMDatabaseDriver (persist, remove, flush, findAndExtendReadyToRetryEvents) - Add unit tests for MikroORMDatabaseDriverFactory (forked entity managers, isolation) - Add integration tests for TransactionalEventEmitter with real database - Fix integer overflow for timestamps by using bigint column type 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * ci: add GitHub workflow for MikroORM driver tests - Add test-mikroorm-driver.yml workflow with PostgreSQL service - Revert @mikro-orm versions to ^6.3.9 as requested 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * fix(ci): build core package before running MikroORM driver tests 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Fix typo in field name throughout codebase and add database migrations to rename the column from delived_to_listeners to delivered_to_listeners. BREAKING CHANGE: Existing databases require running the new migration to rename the column. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
* fix `npm run build` for all pkgs (vibe-kanban eeb84602) * Done. Updated the paths configuration in `test-core.yml` to match the mikroorm workflow pattern: - Added `branches: [main]` filter for both push and pull_request - Added `package.json` and `package-lock.json` (dependency changes may affect tests) - Added `.github/workflows/test-core.yml` (workflow changes should trigger a run) * Done. Removed `branches: [main]` from both workflows. They'll now trigger on any branch when the relevant paths change.
1. **test-core.yml**: Added a "Type check" step that runs `npm run build` before tests 2. **test-mikroorm-driver.yml**: Added a "Type check MikroORM driver" step that runs `npm run build` on the mikroorm-driver workspace before tests This ensures TypeScript type errors are caught early in CI before tests run, preventing the issue where tests could pass while type errors exist in the code.
* Done. Here's what I added: **Created `.github/workflows/publish-preview.yml`** - A new GitHub Action workflow that: - Triggers on pull requests and pushes to main - Builds all workspace packages - Publishes preview packages using pkg.pr.new with compact URLs **Updated `package.json` (root)** - Added a root-level `build` script for npm workspaces. **Updated `packages/core/package.json`** - Added the `repository` field (other packages already had it) to enable the `--compact` flag for shorter URLs. **Next step**: Install the [pkg.pr.new GitHub App](https://github.com/apps/pkg-pr-new) on the repository to activate the preview publishing. * fix(ci): remove --compact flag (requires npm publish with repository field)
23ef214 to
601c725
Compare
…ntPoller (#4) * test workflows run twice in a PR? (vibe-kanban 7dc44370) see #8 * feat(core): add graceful shutdown handling to RetryableInboxOutboxEventPoller Implement OnModuleDestroy lifecycle hook to properly clean up resources during application shutdown: - Unsubscribe from RxJS interval to stop polling - Track in-flight event processing and wait for completion - Add isShuttingDown flag to prevent new processing during shutdown 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
Add optional `immediateProcessing` boolean to InboxOutboxModuleEventOptions (default: true for backward compatibility). When set to false, events are only saved to DB and processed later by the poller, enabling a safer "fire and forget" pattern for crash recovery scenarios. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
verify that it is not processed immediately, but eventually once poller runs
7c99c58 to
660e05e
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
immediateProcessingboolean toInboxOutboxModuleEventOptions(default:truefor backward compatibility)false, events are only saved to DB and processed later by the poller, enabling a safer "fire and forget" pattern for crash recovery scenariosTest plan
immediateProcessing: falsewith bothemitandemitAsyncimmediateProcessing: true(explicit)immediateProcessing: undefined(default behavior)🤖 Generated with Claude Code