[pull] master from supabase:master#888
Merged
Merged
Conversation
## Problem The disk IO exhaustion banner currently warns that the project "may become unresponsive". That phrasing is vague and non-actionable. The actual behaviour when EBS burst credits hit zero is deterministic: sustained throughput is throttled to 5 MB/s until the budget resets. Users either ignore the warning or wait too long because they cannot picture what is about to happen. Reported in [Linear DEBUG-62](https://linear.app/supabase/issue/DEBUG-62). ## Fix Rewrite the `disk_io_exhaustion` banner copy in [ResourceExhaustionWarningBanner.constants.ts](apps/studio/components/ui/ResourceExhaustionWarningBanner/ResourceExhaustionWarningBanner.constants.ts) to name the throttle floor explicitly: - **Warning** (about to deplete): "Once exhausted, disk throughput will be throttled to 5 MB/s until the budget resets." - **Critical** (depleted): title now reads "Disk throughput is throttled to 5 MB/s"; description explains the throttle stays until the budget resets and that upgrading restores full performance. Card copy on the project list (the compact summary) is unchanged so the home page does not get noisy. The banner already renders an "Upgrade compute" primary CTA (via `correctionUrlVariants.disk_io`), so no button changes are needed. ## Test plan - [ ] Mock or trigger a `disk_io` warning at the warning level; confirm new copy renders correctly. - [ ] Same at critical level; confirm both title and description are updated. - [ ] Verify the project list card on the home page still shows the existing short summary. 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Updates** * Improved disk I/O exhaustion warning messages to clearly communicate that disk throughput will be throttled to 5 MB/s and explain when throttling will be lifted. Guidance on upgrading compute or optimizing disk-intensive queries remains available. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated Flutter authentication guides (Auth0, AWS Cognito, Clerk, and Firebase Auth) with corrected Supabase client initialization parameters in code examples. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## I have read the [CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md) file. YES <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated examples and guides to use Supabase publishable (client) keys instead of anon keys for client-side usage across frameworks and platforms. * Renamed environment variable examples and .env templates to reflect publishable key naming. * Adjusted sample requests and client-init examples to send/use the publishable key via the apikey header where applicable. * Updated references from service_role to secret for server-side credential guidance. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: fadymak <fady@fadymak.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Upgraded the UUID library to a newer major version across apps and removed a now-unneeded dev dependency. * Pinned PostCSS to a workspace-specific version to stabilize builds. * **Refactor** * Improved internal identifier generation for more consistent behavior without changing outward functionality. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR updates mgmt api docs automatically. Co-authored-by: phamhieu <689843+phamhieu@users.noreply.github.com>
adding 'Brad Gyger' to humans! ## 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? More humans! ## What is the current behavior? Less Humans! ## What is the new behavior? Bigger = Better ## Additional context Glad to be here! <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Updated contributor list to include a new team member. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## Summary Adds the `O→S` / `Shift+F` / `Shift+N` / `F→C` shortcut set across every Database listing page, on top of the schema-visualizer pattern from #45386. Fixes [FE-3131](https://linear.app/supabase/issue/FE-3131). A shared `list-page.*` registry replaces what would have been a per-page registry file for each route, and `useShortcut`/`Shortcut` gain a `label` override so a single ID renders contextually in Cmd+K and hover tooltips. ## Pages and shortcuts | Page | `O→S` | `Shift+F` | `Shift+N` | `F→C` | | --- | --- | --- | --- | --- | | Tables | Open schema selector | Search tables | Create new table | Clears search + entity-type filter | | Functions | Open schema selector | Search functions | Create new function | Clears search + Return Type + Security | | Triggers — data | Open schema selector | Search triggers | Create new trigger | Clears search + Table filter | | Triggers — event | — | Search event triggers | Create new event trigger | Clears search + Owner filter | | Enumerated Types | Open schema selector | Search enumerated types | Create new enumerated type | Clears search | | Indexes | Open schema selector | Search indexes | Create new index | Clears search | | Roles | — | Search roles | Add new role | Clears search + filter type → 'all' | | Publications | — | Search publications | — | Clears search | | Extensions | — | Search extensions | — | Clears search | `Shift+N` only fires when the page-specific gate allows it (permission + unlocked schema + any other prerequisite like `hasTables` for triggers). ## Test plan - [ ] On each of the 9 pages, all four shortcuts behave as listed in the table above - [ ] Hover the wrapped controls — tooltip shows the page-specific label and the right keybind badge - [ ] Open the schema selector via `O→S` — the hover tooltip is suppressed while the popover is open - [ ] `Shift+N` is a no-op on locked schemas / when permission is missing / when a prereq fails (e.g. no tables on Triggers data) - [ ] `Shift+F` focuses the search input; while focused, Escape clears (with text) → Escape blurs (when empty) - [ ] `Cmd+K` shows the page-specific shortcut name while on each page; the entry goes away on navigation - [ ] `Mod+/` reference sheet shows one "List pages" group with 4 generic entries - [ ] No regression to existing schema-visualizer / table-editor / SQL-editor shortcut behavior <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a dedicated list-page shortcut group in the shortcuts reference. * **Improvements** * Keyboard shortcuts across database list pages: focus & select search, reset filters, and create-new-item shortcuts. * Escape now clears/searches or blurs inputs to avoid accidental popover closes. * Create/new buttons respond to shortcuts when allowed; disabled actions keep permission tooltips for clarity. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## I have read the CONTRIBUTING.md file. YES ## What kind of change does this PR introduce? Bug fix ## What is the current behavior? The Realtime Inspector panel breaks at smaller viewport sizes, causing content to overflow and overlap, making it unusable on mobile and resized windows. Fixes #45464 ## What is the new behavior? The Realtime Inspector panel is now responsive and displays correctly across all viewport sizes. https://github.com/user-attachments/assets/8103a695-b5a1-4498-b523-c25afc0b5b37 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Improved the messages table with enhanced responsive design. The layout now automatically adapts based on screen size: on mobile and smaller screens, panes stack vertically for optimal readability; on larger displays, they appear side-by-side to enable efficient content comparison and provide a more comprehensive viewing experience. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Ali Waseem <waseema393@gmail.com>
…#45385) The link builders in `apps/studio/components/interfaces/Linter/Linter.utils.tsx` interpolate `metadata.schema` and `metadata.name` directly into URL query strings. A schema or table name with `&`, `=`, `+`, or `#` breaks the destination filter on the linked page because `URLSearchParams` stops at the bare `&` and decodes `+` to a space. The `public_bucket_allows_listing` lint at line 338 already wraps `bucket_id` in `encodeURIComponent`. The other 15 builders did not. This wraps each `metadata?.schema` and `metadata?.name` interpolation with `encodeURIComponent(value ?? '')` to match. Added `Linter.utils.test.tsx` that constructs links with a schema `a&b=c` and a name `d e+f` and asserts `URLSearchParams` round-trips them. The bucket precedent is also covered. Closes #45384 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved URL encoding for navigation links in the linter interface to ensure proper handling of special characters in database, schema, and table names. * **Tests** * Added test coverage for URL generation functionality in the linter utility. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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? New case study for Cofounder (General Intelligence). Plan is to publish when they launch on Monday. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new Cofounder customer story page with full article, quotes, assets, and next-steps * Inserted Cofounder into the customer listings and site feeds * **UX** * Product filter labels now show "Supabase for Platforms" for the platforms product * **Chores** * Updated RSS feed metadata to include the new story <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Render blog posts on server so they are available in initial HTML response. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * New collapsible sections for blog content * Server-side MDX compilation for blog posts * Improved TOC extraction producing both structured JSON and markdown * **Refactor** * Blog rendering converted to a server-rendered flow with unified MDX components * Tag handling normalized for related-post matching * **Bug Fixes** * Consistent image/self-closing tag normalization and corrected TOC indentation * Errors are now surfaced instead of being swallowed <!-- 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>
…ropdown (#45524) ## Summary - Adds Claude.ai and ChatGPT as MCP connectors in the existing `/guides/getting-started/mcp` dropdown <img width="1511" height="744" alt="Screenshot 2026-05-04 at 14 53 24" src="https://github.com/user-attachments/assets/8de5b3a4-56e2-45a7-bcce-1051baac30cd" /> - Groups all MCP clients into three categories: **Web Clients** (Claude.ai, ChatGPT, Goose), **AI Agent CLIs** (Claude Code, Codex, Gemini CLI, Opencode, Factory), **IDE** (Cursor, VS Code, Antigravity, Kiro, Windsurf) <img width="1511" height="744" alt="image" src="https://github.com/user-attachments/assets/eb3ecdaa-878a-4f87-abfe-41a9144db5b8" /> - Both connectors use `generateDeepLink` to render a one-click "Connect" button linking to the Supabase connector directory entry - Includes external docs links for each connector - Sets Claude Code as the default selected client Closes [AI-699](https://linear.app/supabase/issue/AI-699/add-claudeai-and-chatgpt-connectors-to-mcp-docs) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added Claude.ai and ChatGPT as selectable client options. * Reorganized the client selector into categorized groups (AI Agent CLI, Web Clients, IDE) for easier discovery. * Improved dropdown rendering and selection behavior for more consistent visuals and interaction. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## 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? Some quick verbiage changes to the Cofounder case study. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Updated Cofounder product messaging and platform positioning narrative. * Refined descriptions of team structure and infrastructure capabilities with enhanced product terminology. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
…5527) ## Summary - The Tailwind v4 migration left `bg-_secondary` unresolved, so the WAL segment of the disk size breakdown bar (and its legend dot) rendered transparent — visible as the gap between Database and System in the screenshot on FE-3138. - Switch both usages to `bg-[hsl(var(--secondary-default))]` to bypass the broken utility while still pulling from the existing per-theme CSS variable, restoring the original purple. Closes [FE-3138](https://linear.app/supabase/issue/FE-3138/adjust-tiiiny-v4-disk-size-breakdown-ui). ## Test plan - [x] On a project's Settings → Compute and Disk page, the WAL slice in the disk size bar renders in purple - [x] The "WAL" legend dot below the bar matches that purple - [x] Verify in light, dark, and classic-dark themes <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Style** * Updated the visual styling of the WAL segment in the disk space visualization to improve consistency with the design system's color palette. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
## 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? Fixed some typos <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Fixed typo and corrected markdown link formatting in customer documentation to improve readability. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Recent changes to blog pages surfaced existing errors because we stopped silently swallowing errors. We were not properly handing the case when the requested slug was not found, now this properly calls notFound() <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Enhanced error handling for missing blog posts to display a proper "Not Found" page instead of showing an application error when users attempt to access unavailable blog content. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
… index collisions (#45374) ## I have read the CONTRIBUTING.md file. YES ## What kind of change does this PR introduce? Bug fix ## What is the current behavior? The query in `sql/indexes.ts` joins `pg_class` with `pg_indexes` using only the index name: ```sql JOIN pg_indexes ix ON c.relname = ix.indexname ``` This can lead to incorrect results when multiple schemas contain indexes with the same name. PostgreSQL allows identical index names across different schemas, so this join may return the wrong index_definition. ## What is the new behavior? The join condition now includes the schema name: ```sql JOIN pg_indexes ix ON c.relname = ix.indexname AND n.nspname = ix.schemaname ``` This ensures the correct index_definition is retrieved for each index, even when duplicate index names exist across schemas. ## Additional context - Added a test case to verify behavior when the same index name exists in multiple schemas. - This change prevents cross-schema collisions and ensures accurate index metadata retrieval. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Bug Fixes** * Improved index listing so indexes that share the same name in different schemas are correctly distinguished and reported. * **Tests** * Added a regression test ensuring indexes with identical names in separate schemas are both detected and contain expected schema-qualified references. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
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 : )