Repository navigation
chore(main): release 4.37.8 - #2122
Eli Bosley (elibosley) merged 2 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Important Review skippedBot user detected. To trigger a single review, invoke the
|
112ccd6 to
31be60d
Compare
|
🚀 Storybook has been deployed to staging: https://unraid-ui-storybook-staging.unraid-workers.workers.dev |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2122 +/- ##
=======================================
Coverage 53.97% 53.97%
=======================================
Files 1046 1046
Lines 73610 73610
Branches 8835 8834 -1
=======================================
Hits 39730 39730
Misses 33752 33752
Partials 128 128 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
31be60d to
2950be2
Compare
|
🚀 Storybook has been deployed to staging: https://unraid-ui-storybook-staging.unraid-workers.workers.dev |
## Summary Make the notification load tests deterministic by delivering fixed event batches to the real service handler after fixture writes complete. ## Why This Exists Work intent: remove the filesystem-event cardinality assumption that intermittently blocks API CI while preserving notification correctness and read-cost coverage. Release PR #2122 failed [Test API](https://github.com/unraid/api/actions/runs/40383834485/job/121796766331?pr=2122) because 100 writes produced 157 change events. The test waited for exactly 100 events and could never complete once the count exceeded that value. Closing the watcher at a transient exact count could also discard later deliveries. ## Resolution Close the real watcher after initialization, then deliver the workload through the existing `handleNotificationEvent` implementation. Keep real fixture files, parsing, index updates, subscriptions, warning scans, and all existing read-cost and final-state assertions. Add repeated-change workloads at each history/burst size to verify duplicate changes preserve exact counts and do not publish additions. ## Reviewer Considerations This separates the fixed workload used to measure handler costs from OS scheduling. The existing `notifications.overview.spec.ts` tests continue to cover real watcher delivery, legacy writes, subscriptions, bursts, hydration, and directory changes. The broadcast tests cover events arriving during scans. Production notification behavior and timeout limits are unchanged. ## Behavior Changes CI no longer requires one filesystem event per logical file write. No customer-facing or API behavior changes. ## Implementation Summary One test file changes. The load matrix grows from 12 to 15 cases, including duplicate change delivery. No production modules or dependencies change. ## Verification - Unchanged baseline: 12 load tests passed locally. - Linux/Node 22/Chokidar 4.0.3 probe: 100 writes produced 200 change events when paused between truncation and content writes; all 100 paths were observed. - `pnpm --filter @unraid/api test src/unraid-api/graph/resolvers/notifications/notifications.load.spec.ts src/unraid-api/graph/resolvers/notifications/notifications.overview.spec.ts src/unraid-api/graph/resolvers/notifications/notifications.broadcast.spec.ts`: 45 passed. - `pnpm --filter @unraid/api run lint`: passed. - `pnpm --filter @unraid/api run type-check`: passed. ## Risk The load test now measures an explicit event batch rather than OS timing. Real watcher and in-flight broadcast integration coverage remains in the adjacent suites. Full Linux CI is pending. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> <!-- coderabbit-ai-generated:v1 --> ## Summary by CodeRabbit * **Tests** * Expanded notification load-test coverage to include repeated changes and verify expected event counts across change and creation operations. * Load-test results now use a consistent handler workload rather than relying on filesystem watcher delivery. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
|
🚀 Storybook has been deployed to staging: https://unraid-ui-storybook-staging.unraid-workers.workers.dev |
|
This plugin has been deployed to Cloudflare R2 and is available for testing. |
🔄 PR Merged - Plugin Redirected to StagingThis PR has been merged and the preview plugin has been updated to redirect to the staging version. For users testing this PR:
Staging URL: Thank you for testing! 🚀 |
|
🤖 Created releases: 🌻 |
🤖 I have created a release beep boop
4.37.8 (2026-10-26)
Bug Fixes
This PR was generated with Release Please. See documentation.