Repository navigation
Dispatch admin feedback subscription events - #784
Conversation
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (30)
📝 WalkthroughWalkthroughThis change adds durable ChangesPlatform feedback dispatch
Estimated code review effort: 4 (Complex) | ~60 minutes Sequence Diagram(s)sequenceDiagram
participant FeedbackSubmit
participant DispatchQueue
participant QueueConsumer
participant AdminPackageDispatcher
participant PackageHandler
FeedbackSubmit->>DispatchQueue: enqueue feedbackId
DispatchQueue->>QueueConsumer: deliver feedbackId
QueueConsumer->>AdminPackageDispatcher: dispatch valid feedback
AdminPackageDispatcher->>PackageHandler: invoke matching admin subscription
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
Co-authored-by: Kent C. Dodds <me+github@kentcdodds.com>
|
🔎 Preview deployed: https://kody-pr-784.kody-a99.workers.dev Worker: Mocks:
|
Summary
platform.feedback.submittedevent after successful feedback persistenceTesting
npm run validatepasses: formatting, lint, typecheck, primitive map, 897 unit tests, 15 Playwright E2E tests, and 2 MCP E2E tests.CLEAN.System recap — adds a new primitive (high risk)
Mode: recap · Base:
main@b962f946· Head:69365373Classification: adds — introduces a dedicated durable platform-feedback dispatch queue while extending existing feedback and package-subscription behavior.
Primitives touched
platform-feedback-dispatch-queueplatform-feedbacksaved-packagescapability-registryemail-delivery-queueemailSystem map
Persisted feedback enqueues only its id; the durable consumer rebuilds opaque event metadata, rechecks current admin roles, and invokes matching saved-package handlers with bounded concurrency.
Legend: green = composes (wiring only) · amber = extended by this PR · red = new primitive · gray = context (unchanged, included only when an edge crosses it).
flowchart LR platformFeedback["platform-feedback<br/>Platform feedback"]:::extended feedbackQueue["platform-feedback-dispatch-queue<br/>Platform feedback dispatch queue"]:::added rbac["rbac<br/>Role-based access control"]:::untouched savedPackages["saved-packages<br/>Saved packages"]:::extended packageRuntime["package-runtime<br/>Package runtime"]:::untouched emailQueue["email-delivery-queue<br/>Email delivery event queue"]:::extended platformFeedback -->|"send { feedbackId } after insert"| feedbackQueue feedbackQueue -->|"load opaque id/category/status/time"| rbac rbac -->|"fresh admin-owner selection"| savedPackages savedPackages -->|"bounded idempotent handler invocation"| packageRuntime emailQueue -->|"shared Worker queue router"| packageRuntime classDef touched fill:#1a7f37,color:#fff classDef extended fill:#9a6700,color:#fff classDef added fill:#cf222e,color:#fff classDef untouched fill:#57606a,color:#fffChange flow
Invariants
Summary by CodeRabbit
New Features
platform.feedback.submittedsubscription topic.Documentation
Bug Fixes