- Fix gp3 max-IOPS calculation: was `3000 × size`, is slightly more complicated. The old multiplier let Studio accept IOPS values that the platform API would reject.
- Block IOPS/throughput edits when the disk is smaller than the minimum required for custom IOPS (6 GB for gp3). Previously, a throughput-only change on a 2 GB disk would still ship `provisionedIOPS: 3000` in the payload and get rejected with: `Invalid IOPS value for gp3 volume 3000. Minimum is 3000. Max is 500 IOPS per GB or 16,000, whichever is lower.`
- Show a NoticeBar prompting users to grow the disk first, with a one-click button to bump it to the minimum (mirrors the existing "Change to LARGE Compute" pattern).
- Surface the helpful "Larger Disk size required" message for all disk sizes instead of a cryptic "Invalid IOPS value due to invalid disk size" fallback for disks < 8 GB.
https://linear.app/supabase/issue/FE-2226/fix-incorrect-baseline-and-max-iopsthroughput-values
- Centralized compute/disk limits in
packages/shared-data/compute-disk-limits.ts (MB/s, baseline+max
IOPS/throughput) and re-exported from shared-data.
- Hooked Docs compute/disk table into shared data, converted docs
text/table to MB/s baseline/max.
- Removed duplicated compute IOPS/throughput constants from Studio,
Studio now imports shared data.
- Updated Studio disk schema: compute-aware MAX IOPS/throughput
validation (MB/s), defaults computeSize to ci_micro, and gp3/io2 checks
use compute caps.
- Clarified disk update mutation to send throughput as MB/s despite
backend throughput_mbps field name.
- Added tests for compute-size mappings and IOPS helper logic.
- Added Infra ownership for shared compute/disk data in CODEOWNERS.
- Locked zod version via catalog and added zod dep to shared-data.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Added a reusable Compute Disk Limits table and centralized compute
disk limits dataset for dynamic display.
* **Documentation**
* Replaced static per-size tables with a component-driven MB/s view;
clarified baseline vs. burst behavior and updated guides and
troubleshooting.
* **Bug Fixes**
* Validation and UI guidance now honor compute-size limits for IOPS and
throughput.
* **Tests**
* Expanded unit tests for sizing, mappings, and edge cases.
* **Chores**
* Published shared-data exports, added a validation schema, pinned a
dependency, and added ownership entries.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
* inited. added disk config to a new page
* add instances
* move moar
* moved things around. billing badges updated. compute added
* tidy
* new components
* form now dynamically updating itself
* updated compute form. moved warning panels. added collapsible for advanced options
* review dialog now only showing what is relevant
* Update DiskManagementForm.tsx
* compute sizes now a reccomendation
* fix old form
* started adding flags
* removed unused code. fixed issue with IOPS price showing on smaller compute
* moar clearning
* IOPS logic wrong way round
* type fixes
* start adding better error handling
* TIDY
* moved everything to own file
* tidy
* fix hydration issue
* moved some components around
* clean up
* inline errors
* update form message
* Update DiskManagementForm.tsx
* error fields fixed. some formatting issues. nano added as an option
* fix constants
* add some plan restrictions
* moar
* units updated. labels updated
* Update DiskManagement.schema.ts
* fix a ton of type issues
* text udpates
* add panel to suggest switching to io2
* more notice board stuff
* number formatting. moved a file
* Update DiskManagementForm.tsx
* remove console logs
* upgrade comms. more type fixes
* add empty states for the old areas
* more links
* updated some label issues
* hide labels when chart is active
* Update DiskManagement.utils.ts
* Delete next-env.d.ts
* Update DiskManagementForm.tsx
* Update DiskManagement.schema.ts
* text updates
* Update DiskManagement.constants.tsx
* Update next-env.d.ts
* Update next-env.d.ts
* Small clean uop
* Clean up empty files
* Clean up spelling
* Clean up more
* Fix typo in file name
* Clean up import statements
* Update DiskManagementForm.tsx
* fix issues
* Update ProjectLayout.tsx
* Remove unused import
* Fix
* Address nit
* Update database.tsx
* remove supress toast
* Update DiskManagement.schema.ts
* Update database.tsx
* change upgrade comms
* Update DiskManagementPanelForm.tsx
* fixes
* fix button size on old form
* Update DiskManagementForm.tsx
* Update StorageTypeField.tsx
* update labels on compute
* dont show banner when infra is FLY
* update comms. hide disk config for FLY
* Fix TS
* Last round of clean upo
* fix message state
* fix message
* Fix TS
* Update DiskManagement.utils.ts
* fix errors
* Update BillingChangeBadge.tsx
* fixed some label issues
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
* Add all missing libraries in the packages/apps.
* Add all missing Vitest imports to the tests.
* Add some missing exports to ui.
* Fix the admonition export.
* Fix various minor bugs.
* Migrate the ui package to use vitest.
* Update pricing details in DeployNewReplicaPanel
* Update disk mgt review modal to consider RR pricing
* Update tests
* Hide utilization bar for read replicas in new disk mgt ui
* Add guard
* Update link to docs for deploy replica panel
* Address feedback
* Ensure IOPS and throughput prices are considered for replicas
* Prettier
* Attempt to fix tests
* Attempt to fix tests
* Fix calculateDiskSizePrice for replicas
* Fixes
* Prettier
* Add ternary
* Feeeex
* Various small updates from Kevin's feedback
* smol stuff
* fixes
* Update DiskManagementPanelSchema.ts
---------
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
* Only show new disk billing UI for AWS provider projects
* Fix DiskSpaceBar autoscaling should be fixed at 90%
* Change all MiB to MB and GiB to GB
* Prettier
* init
* moar
* moat
* moar
* add read replica bar
* moar
* Update DiskMangementPanelForm.tsx
* added temp state mang to test
* moar
* Prepare react queries + data from API for disk mgt
* moat
* moat
* moar
* Update DiskMangementReviewAndSubmitDialog.tsx
* badge updates
* Hook up actual endpoints for E2E testing, but commented out for now for local dev
* Hook up real data + clean up files and add tests
* Update APi types
* Hook up E2E and fix all validation logic
* Only show new disk mgt UI for orb billing
* Add note on RRs 25% more disk size
* Add state to handle free plan for disk mgt
* Update increase disk size CTA in reports/database
* Fix file spelling errors
* Address feedback
* Fix missing framer motion package in ui
* Address comments
* Address feedabck
* Minor fix
* Use new disk util endpoint
* Remove unused import
* Address feedback
* More addressing of feedback
* Update pricing details for IO2 - no included disk size
---------
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>