feat: add domain events and mark stable UI actions - #25
Merged
Conversation
Business code announces a committed fact once, and anything that should follow it — notifications, derived data, integrations — subscribes instead of being wired into the endpoint that happened to trigger it. A deployment can register its own listener from a Nitro plugin without forking core code. Delivery is best-effort and off the response path: a listener never delays or fails the business response, and one listener's error cannot reach another.
The attribute value is the action's own name, so anything reading it — end-to-end tests, a deployment's own instrumentation — needs no lookup table. data-fdl-source tells apart entry points that trigger the same action.
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
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.
What this PR does
Add typed domain events so a committed fact is announced once and anything that follows it — notifications, embeddings, integrations
and mark stable UI actions with data-fdl-action so tooling can find them by name.
Checklist
git commit -s)pnpm build)pnpm generate:migration) and committedREADME.md/.env.example/docs/deploy/*updated