refactor(array): retire direct disk removal mutation - #2068
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (5)
💤 Files with no reviewable changes (5)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. WalkthroughThe ChangesArray disk removal mutation
Estimated code review effort: 2 (Simple) | ~5 minutes Merge Risk: ⚪ Minimal · up to This change removes a direct array-disk removal path and updates the generated API surface so callers use the coordinated storage workflow instead. The change is localized, verified by the listed checks, and no actionable merge-blocking risk remains. Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. ✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
📝 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 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: be432fc218
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "Codex (@codex) review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "Codex (@codex) address that feedback".
| """Add new disk to array""" | ||
| addDiskToArray(input: ArrayDiskInput!): UnraidArray! | ||
|
|
||
| """ | ||
| Remove existing disk from array. NOTE: The array must be stopped before running this otherwise it'll throw an error. | ||
| """ | ||
| removeDiskFromArray(input: ArrayDiskInput!): UnraidArray! | ||
|
|
||
| """Mount a disk in the array""" |
There was a problem hiding this comment.
Regenerate the web schema types after removing the field
web/codegen.ts consumes this schema, but the checked-in web/src/composables/gql/graphql.ts still exposes ArrayMutations.removeDiskFromArray and its argument type. The resulting client types falsely advertise a mutation the server now rejects, so web code can type-check against an unavailable API; regenerate and commit the web GraphQL output alongside this schema change.
AGENTS.md reference: AGENTS.md:L115-L120
Useful? React with 👍 / 👎.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2068 +/- ##
==========================================
- Coverage 53.17% 53.16% -0.01%
==========================================
Files 1041 1041
Lines 72476 72455 -21
Branches 8363 8353 -10
==========================================
- Hits 38537 38523 -14
+ Misses 33812 33805 -7
Partials 127 127 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
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! 🚀 |
What changed
removeDiskFromArrayGraphQL resolver and the service method that directly cleared an array slot.Why
Array removal is now coordinated by Core's reviewed, durable storage workflow in the task tray. Keeping a separate GraphQL mutation would allow callers to bypass evacuation, parity-preserving shrink, checkpoints, progress, and recovery handling.
Verification
rg removeDiskFromArray apireturns no matches.Coordination
Work intent: U8-850
Companion changes: Core #937, unraid-e2e #358.
Summary by CodeRabbit
CI note
The dependency-audit job reports advisories in the existing lockfile (
nanoid,postcss, and transitivetar, among others). This PR does not changepackage.json,pnpm-lock.yaml, or any dependency version. Source lint, focused tests, type-check, and generated contract checks pass.