[pull] master from supabase:master#812
Merged
pull[bot] merged 20 commits intocode:masterfrom Apr 6, 2026
Merged
Conversation
Unknown state is explicitly set before a project is coming up, leading to a bunch of invalid backups list requests
## Summary The `compute_badge_upgrade_clicked` event had zero fires since Apr 1 because the PostHog tracking call was never wired up on the "Upgrade compute" button in the compute badge hover card. This adds the missing `useTrack` call using the existing event definition in `telemetry-constants.ts`. ## Changes - Add `useTrack` hook and `onClick` handler to the upgrade button in `ComputeBadgeWrapper.tsx` - Fires `compute_badge_upgrade_clicked` with `computeSize`, `planId`, and `upgradeType` properties - Preserves existing `asChild` + `<Link>` navigation pattern ## Testing Tested on Vercel preview: - [x] Hover compute badge on a project with non-max compute, click "Upgrade compute", verify `compute_badge_upgrade_clicked` event appears in PostHog live events with correct properties - [x] Verify navigation to compute settings page still works (client-side, no full reload) - [x] Test with paid-plan nano project: `upgradeType` should be `free_micro_upgrade` - [x] Test with paid-plan non-nano project: `upgradeType` should be `compute_upgrade` ## Linear - fixes GROWTH-751 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Added analytics tracking for compute upgrade button clicks to record upgrade type (free micro vs. paid), selected compute size (with fallback), and plan identifier. This ensures upgrade interactions are captured for product insights without changing visible UI behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary - Add an Admonition note to the Fair Use Policy section clarifying that pausing or deleting a project does not remove accumulated usage from the current billing cycle - Addresses a common source of confusion identified in #team-support thread (2026-04-02) ## Test plan - [ ] Preview the MDX locally to confirm Admonition renders correctly <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated billing FAQ to clarify that pausing or deleting a project stops new usage from accruing but does not remove usage already incurred in the current billing cycle; quota-based usage remains counted until the billing period resets. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
) MobileNavigationBar was always mounted on desktop, triggering unnecessary org/project queries even though it's visually hidden with `md:hidden`. Now only rendered when the viewport is at or below the md breakpoint. **Changed:** - Conditionally render `MobileNavigationBar` using `useBreakpoint('md')` so it only mounts on mobile ## To test - Open Studio on a desktop viewport – verify the mobile nav bar is not in the DOM and no unnecessary requests fire - Resize to a mobile viewport – verify the mobile nav bar appears and works normally <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit ## Bug Fixes * Mobile navigation bar now correctly displays only on mobile devices based on screen size, improving responsive design behavior. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
…is empty (#44561) Don't fire the `available-versions` request when `dbRegion` is falsy (undefined or empty string). Fixes race condition where the request fires before a region is selected. ## To test - Confirm no invalid `available-versions` request in the network tab - Confirm create new project still works <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved database region validation during project creation to consistently handle empty or undefined values. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Platform orgs can have very high project cardinality (>1M projects),
making the project count query expensive. This disables the query across
all count-only usages for platform plan orgs.
**Changed:**
- `OrgSelector` — disable query, show "Platform" label instead of count
- `OrganizationCard` — disable query, hide project count for platform
orgs
- `NoProjectsOnPaidOrgInfo` — disable query (component already returned
null for platform orgs)
**Not changed:**
- `TeamSettings` — also uses the count, but the warning it powers is
specifically relevant for orgs with a lot of projects, and it's tucked
away on the team settings page rather than on every page load.
## To test
- On a platform org, verify no `/organizations/{slug}/projects` requests
fire from the org selector, org cards, or billing info
- For regular orgs, verify the project count still displays normally
everywhere
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Improvements**
* Organization selector now shows a dedicated "Platform" label for
platform organizations instead of a project count.
* Reduced unnecessary network activity by skipping project fetching when
a platform organization is selected, improving load performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com>
The data is preloaded even though the modal is never visible
… HA projects (#44569) When high availability is enabled during project creation, automatically switch to AWS (Revamped) and disable other cloud providers – multigres/HA is only supported on v3. <img width="778" height="390" alt="Screenshot 2026-04-06 at 5 09 55 PM" src="https://github.com/user-attachments/assets/c458f345-497e-4963-9c2f-b4b1eafd030b" /> **Changed:** - Cloud provider selector now watches `highAvailability` form state - Non-`AWS_K8S` providers (Fly.io, AWS, AWS Nimbus) are disabled when HA is on - Warning description shown in orange when HA restricts the provider choice **Added:** - `useEffect` in project creation form to auto-switch cloud provider to `AWS_K8S` when HA is toggled on ## To test - Enable the HA toggle on the new project page (requires `instances.high_availability` entitlement) - Verify cloud provider auto-switches to AWS (Revamped) - Verify other providers are greyed out in the dropdown - Verify orange warning text appears below the cloud provider label - Toggle HA off and confirm all providers become selectable again - Ensure project creation still works for both HA and non-HA projects <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * When high availability is enabled, cloud provider selection is restricted to AWS. * A warning appears when high availability is enabled, noting AWS-only support. * The cloud provider selection automatically switches to AWS if high availability is toggled on. * **Bug Fixes** * Improved form validation to prevent incompatible high-availability and provider combinations. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Follow-up to #44562 – the org prop wasn't actually being passed in, so `NoProjectsOnPaidOrgInfo` was always returning null. Switched to `useSelectedOrganizationQuery` hook instead. ## To test - Go to an org on a paid plan with no projects - Verify the admonition banner appears on the general settings page <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Simplified component architecture by replacing prop-based organization retrieval with hook-based approach, reducing component coupling and improving maintainability. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…44523) * **Refactor** * Updated internal module import paths to use standardized alias conventions across the codebase. * Reorganized import statement ordering for improved code consistency.
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Adds a tooltip for the account settings button ## What is the current behavior? It has no tooltip Closes #44524 ## What is the new behavior? Has Tooltip ## Additional context <img width="552" height="167" alt="Screenshot 2026-04-03 at 22 21 35" src="https://github.com/user-attachments/assets/e41caee7-e688-4bd9-8823-0c47133c5470" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Improved interface usability by adding descriptive tooltips to dropdown menu triggers in the studio. The settings dropdown trigger now displays a "Settings" tooltip, while the user account dropdown trigger displays "Account settings" to provide clearer guidance, help users navigate key interface controls, and enhance the overall user experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Ali Waseem <waseema393@gmail.com>
…es (#44555) Follow-up to #44451 which added `literal()` escaping to 4 queue message files. The remaining 5 files in the same directory still use raw string interpolation. The create mutation was the biggest gap -- no `literal()` and no `isQueueNameValid` at all. It could also interpolate `undefined` into SQL when partition config is missing. Applied the same pattern from #44451 to all 5 files: import `literal`, wrap interpolated values. For the metrics query and create mutation, also used `ident()` for table name references. ## Summary by CodeRabbit * **Refactor** * Improved internal SQL query construction for database queue operations to enhance code reliability and maintainability.
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? - Remove queue operations from feature preview into settings - Refactor dashboard settings - Resolves DEPR-434 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Dashboard settings panel in Account preferences with toggles for Inline Editor and Queue Operations; “Dashboard” added to project Configuration. * **Removed** * Old Inline Editor settings UI and the Queue Operations feature-preview UI removed. * **Refactor** * Consolidated dashboard preferences into a single settings surface; banners and actions now navigate to preferences; account/preferences layouts and back-navigation behavior adjusted for platform vs self-hosted. * **Tests** * Added tests for settings UI, menu generation, redirects, and local-storage. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Joshen Lim <joshenlimek@gmail.com> Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
…e table names (#44469) Bug fix & feature ## What is the current behavior? Customers with large schemas have trouble running: pg-meta/{ref}/tables?include_columns=false ## What is the new behavior? In the webhooks view some users with large schemas could not click a table name as the underlying query times out. This just adds a light weight query and fetches the table name ## Additional context Add any other context or screenshots. ## Summary by CodeRabbit * **Refactor** * Optimized table name fetching in the database interface by introducing an enhanced query mechanism that streams table metadata more efficiently from the database.
Refactor authorize page to move Next.js dependencies into the page shell and have Next.js-agnostic code for the core logic. Add unit tests for authorize screen. ## Summary by CodeRabbit * **New Features** * New end-to-end API authorization UI: loading, error, invalid, approved, and main approval screens. * Organization selector with preselection, create-organization link, MCP warning, expiration handling, and approve/decline actions. * Improved page title handling via layout/head provider. * **Tests** * Added comprehensive component tests covering loading, error, approval flows, organization states, validation, and side effects.
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES ## What kind of change does this PR introduce? Missing mock made the pipeline fail 😢 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Tests** * Extended test mock infrastructure to support additional component composition patterns. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…mes (#44575) ## Summary - Adds `min-w-0` to the flex container holding the report block label in `ReportBlockContainer`, so CSS truncation works correctly and the Remove button stays visible even with long report names. ## Test plan - [x] Create a report with a very long name on the Project Overview page - [x] Verify the Remove (X) button remains visible without needing to zoom out - [x] Verify the report name truncates with an ellipsis Fixes FE-2944 ## Demo <img width="938" height="390" alt="image" src="https://github.com/user-attachments/assets/17419035-b03d-4f61-a324-8e446685a109" /> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved text truncation in report block titles to prevent layout overflow in narrow containers. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Automated weekly decrease of ESLint ratchet baselines. Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
See https://supabase.slack.com/archives/C0161K73J1J/p1775482643470329 for context. ## Summary by CodeRabbit This change is an internal configuration update with no user-facing impact. It does not require release notes for end-users.
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )