Commit Graph
20627 Commits
Author SHA1 Message Date
Copple 3ba77ce748 clearing up ownership (#42735)
in hydra blog
2026-02-12 09:12:59 +00:00
Kalleby SantosandCharis Lam 70510acf5b feat(studio-local): functions management api - test functions (#42350)
Feature

## What is the current behavior?

Functions page on self-hosted differs from Platform

## What is the new behavior?

Adds the possibility to try/test functions in Self-Host version.

## Summary by CodeRabbit

* **Bug Fixes**
* Improved edge function URL validation so testing works reliably both
on-platform and off-platform, including proper URL handling for local
setups.

* **UI Improvements**
* Moved the Test button in the edge functions interface for more
consistent layout while preserving its behavior.

* **Tests**
  * Expanded tests to cover platform-aware URL validation scenarios.

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2026-02-11 21:26:42 +00:00
6e4aeed6d9 feat: improve empty secrets description (#42467)
## What kind of change does this PR introduce?

feature

## What is the current behavior?

Empty secrets page doesn't mention default `SUPABASE_*` envs.

<details>

<img width="2888" height="1418" alt="image"
src="https://github.com/user-attachments/assets/20a5ab71-9bb5-44c9-8dc4-0069f7605fcb"
/>

</details>

## What is the new behavior?

Add mentions to available default secrets as well useful doc link

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Improvements**
* Clarified the Edge Functions "No secrets created" state to note that
SUPABASE_* default environment variables are available.
* Enhanced empty-state content with an explicit SUPABASE_* code example,
lighter text styling for readability, and an inline link to the
documentation for default secrets.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Kalleby Santos <kallebysantos@Kallebys-MacBook-Pro.local>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-02-11 21:20:57 +00:00
Charis 6168ddc0c1 fix(studio): remove incident banner automation (#42664)
* **Refactor**
* Status banner now displays only ongoing incidents, no longer shows
maintenance events
  * Removed persistent banner dismissal state
2026-02-11 20:47:57 +00:00
Charis 5464d710e9 fix(docs): add missing db id for troubleshooting guide (#42710)
## 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?

Bug fix

## What is the current behavior?

Missing database ID on troubleshooting guide causes its last-updated to
always show up as the present time

## What is the new behavior?

Connected to database entry so correct last-updated date


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated internal metadata for troubleshooting documentation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 17:06:54 -03:30
CoppleandJonathan Summers-Muir 9f3f19951f Add blog post for Hydra joining Supabase (#42604)
Summary
- scaffolded the new `hydra-joins-supabase` blog post with sections on
pg_duckdb, analytics on Postgres, and the open warehouse architecture
- added accompanying social, thumbnail, and diagram assets under
`apps/www/public/images/blog/hydra-joins-supabase`
- confirmed everything remains open source and highlighted the call for
C++/storage hiresRuntime Testing
- Not run (not requested)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Published new blog post announcing Hydra joining Supabase, featuring
details about Hydra, pg_duckdb, Analytics on Postgres, Open Warehouse
Architecture, and invitations to join the Open Warehouse team.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2026-02-11 18:14:35 +01:00
Jordi Enric 7e1b3cdcdc O11y Overview: wait for flags loaded before redirect DEPR-372 (#42689)
https://linear.app/supabase/issue/DEPR-372/observability-overview-redirects-to-custom-reports-on-refresh

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Prevented premature redirect on the observability page by waiting for
feature flags to finish loading before running redirect logic.
* Added an early loading guard to display a logo loader until feature
flags and page data are ready, reducing UI flicker.
* Consistently render the empty-state and report creation UI when the
overview is not shown, simplifying display logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 16:21:57 +00:00
Joshen Lim 749fbdd296 Add table filter for database triggers (#42679)
## Context

Adds a filter for tables in database triggers, will only populate tables
which there's triggers for (similar UX to database functions)

<img width="737" height="427" alt="image"
src="https://github.com/user-attachments/assets/f4ddfbae-282d-4f97-ac3e-d187f7d82229"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Streamlined the database triggers interface state management for
better internal consistency.
* Enhanced filtering logic to support combined search and table-based
filtering.

* **New Features**
* Added a table filter control to the triggers interface for more
granular filtering options.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 23:37:53 +08:00
Ali Waseem 29c158490f chore: Update filters in the new experience to use grouping (#42661)
## 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?

- Filters are now grouped so it easier to navigate
- Cleaned up types
- Cleaned up default command line component, it was a bit messy with all
the new changes
- Added unit tests on new util method

## Demo


https://github.com/user-attachments/assets/1e75ebcc-177d-4fed-b316-a9824c74b01a



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Operators are grouped (comparison, pattern, set-null) with labeled
sections and preselected operator highlighting.
* New command-list UI: selectable items with optional icons, operator
symbol badges, group headers/separators, and an empty-state message.

* **Refactor**
* Internal operator definitions reworked for stronger typing and
consistent grouping.

* **Tests**
  * Added coverage for grouping behavior and menu item ordering.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 08:18:02 -07:00
Saxon FletcherandJoshen Lim 0d761b0434 Connect sheet final content (#42374)
<img width="2892" height="2342" alt="image"
src="https://github.com/user-attachments/assets/7e08929d-abc3-4397-b89d-99cc52d8190e"
/>

This is the third and final PR to complete the new connect sheet. 

First: https://github.com/supabase/supabase/pull/42367

Second: https://github.com/supabase/supabase/pull/42373

This re-adds the Direct, ORM, MCP tabs and their content, including via
connect.schema.

To test:
- Flag will be enabled on all staging projects
- Click connect and notice new Sheet
- Click all tabs and ensure content is correct

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Multi-mode connection flow with mode selector and icons (framework,
direct DB, ORM, MCP)
* New framework/variant/library selector, richer connection guides and
install steps (Prisma, Drizzle, direct)
* MCP onboarding flows (Cursor, Codex, Claude Code) with server/auth
commands and configuration UIs

* **Refactor**
* Connect schema and state rebuilt to be mode-driven with improved step
resolution and cascading state updates

* **Tests**
* Expanded unit tests covering framework resolution, connect flows, and
mode behaviors

* **Chores**
  * ESLint ignores updated for content files
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-11 22:14:18 +08:00
Ivan Vasilov be781d49a0 chore: Remove the cms app from the repo (#42686)
This PR removes the `payload` `cms` app that was added for the marketing
blog posts. We never started using it, it just adds additional work in
keeping the dependencies updated.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Removed the CMS application and associated infrastructure, including
configuration files, build scripts, and environment management.
* Simplified project build configuration and removed CMS-related
dependencies from deployment workflows.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 12:23:24 +01:00
Ivan Vasilov 21d7ac0518 chore: Remove CMS code from the www app (#42648)
This PR removes all CMS code from the `www` app. This includes fetching
of blog posts, API routes for proxying blog posts and types.

All functionality should remain the same (and the number of blog posts
should be the same).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Removed CMS integration, APIs, preview/draft/revalidate endpoints,
related env vars and dependency; switched to static markdown-only blog
pipeline.
* **Refactor**
* Simplified image and author resolution, tightened component props to
static post shapes, and migrated imports to path aliases.
* **Documentation**
  * Deleted CMS integration docs and rich-text conversion helpers.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 11:40:57 +01:00
Ivan Vasilov 69ce915a9e chore: Rename SUPABASE_PUBLISHABLE_OR_ANON_KEY to SUPABASE_PUBLISHABLE_KEY for all blocks (#42652)
This PR renames all `SUPABASE_PUBLISHABLE_OR_ANON_KEY` env vars into
`SUPABASE_PUBLISHABLE_KEY` to make the new API keys default. This is in
coordination with the rest of the docs.

I've also cleaned up the `blocks/vue` package from unused files.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Breaking Changes**
* Public environment variable names renamed from PUBLISHABLE_OR_ANON_KEY
→ PUBLISHABLE_KEY across all framework integrations; update your
environment configs.

* **Documentation**
* All framework guides, .env examples and registry docs updated to use
the new variable names.

* **Chores**
* Cleaned up UI registry/templates: some example Vue registry items and
autogenerated registry artifacts were removed or simplified.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 10:23:16 +01:00
Jordi Enric ac64a902c1 chore: adds tests (#42653) 2026-02-11 09:50:11 +01:00
Tanun Turbo Chalermsinsuwan 19f9df66d7 chore: Add "Tanun Chalermsinsuwan" to humans.txt (#42669)
## 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?

Documentation update

## What is the current behavior?

`https://supabase.com/humans.txt` does not have Tanun's name

## What is the new behavior?

`https://supabase.com/humans.txt` will have Tanun's name

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Updated team member information in public team listing.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 15:14:01 +08:00
Joshen Lim db8486df56 Use OrganizationCard component for org wildcard route (#42671)
## Context

For UI consistency - use `OrganizationCard` component for org wildcard
route as per the /organizations page

### Before
<img width="1228" height="501" alt="image"
src="https://github.com/user-attachments/assets/0a7442f0-d041-4657-9142-c475dbca630c"
/>

### After
<img width="1216" height="328" alt="image"
src="https://github.com/user-attachments/assets/795a39f5-70ea-4681-b087-845fd022ae60"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Fixed URL generation to avoid dangling or empty query strings when
navigating organizations.

* **Refactor**
* Replaced previous button-based organization items with card-based
organization components for a cleaner presentation.
* Deferred organization data initialization until after navigation query
computation to ensure correct results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 15:00:58 +08:00
Danny White da1a02752e fix(studio): colour contrast for selected file storage item (#42668)
## What kind of change does this PR introduce?

- Fix
- Resolves DEPR-334

## What is the current behavior?

Not enough colour contrast on selected item. It’s hard to tel what’s
selected, especially on light mode.

## What is the new behavior?

Updated the storage explorer row styling to use `bg-selection` for
selected, opened, and previewed rows, which increases contrast in light
mode.

| Before | After |
| --- | --- |
| <img width="1166" height="759" alt="Buckets
Supabase-60C5BBB5-FB94-44AA-9435-E9610ACB25AA"
src="https://github.com/user-attachments/assets/4f6071eb-70de-4389-89bf-3f3d127d32a9"
/> | <img width="1166" height="759" alt="Buckets Supabase"
src="https://github.com/user-attachments/assets/7c3d7f53-a340-4718-8224-e5a3bb184181"
/> |


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Updated file explorer row background styling to provide consistent
visual feedback for opened, previewed, and selected item states in the
storage interface.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 17:06:24 +11:00
Danny White c3163fbf74 chore(studio): hide password managers from edge functions (#42667)
## What kind of change does this PR introduce?

- Chore
- Resolves DEPR-163

## What is the current behavior?

1Password and other password managers’ widgets pop up in the _Name_
`input` despite that being irrelevant to password managers.
 
## What is the new behavior?

We tell that field to ignore password mangers.

## Additional context

Apple’s own password manager does not have an attribute and the secret
value is password-like, so I’m unable to hide theirs.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Improved form behavior with password managers by updating input
configuration settings on the edge function secrets form.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 17:05:58 +11:00
Danny White 92bcdcd953 Update delete-organization dialog to TextConfirmModal (#42670)
## What kind of change does this PR introduce?

- ~Feat~ Chore
- Resolves DEPR-33

## What is the current behavior?

The dialog used to delete an organization uses a ”type this org’s name
in before you can press this button” interaction but:

- A) Enables the button the whole time
- B) We already have this componentized in TextConfirmModal

## What is the new behavior?

- Refactored this dialog to use `TextConfirmModal` instead
- Updated design docs to make this prop clearer

| Before | After |
| --- | --- |
| <img width="1024" height="759" alt="Supabase"
src="https://github.com/user-attachments/assets/85c965f6-29d4-4696-8c0c-a54ddcbe6167"
/> | <img width="1024" height="759" alt="Supabase"
src="https://github.com/user-attachments/assets/0a96ca65-15c3-4b1b-bb10-620526c059b8"
/> |

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated Text Confirm Dialog documentation with clarifications: the
confirm action remains disabled until input exactly matches the required
string, and leading/trailing whitespace is trimmed from the input.

* **Refactor**
* Streamlined the organization deletion confirmation workflow for
improved user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 16:40:33 +11:00
Saxon FletcherandJoshen Lim b9a09d8612 Connect sheet content structure (#42373)
This is part two of a [PR
breakdown](https://github.com/supabase/supabase/pull/42276) that
introduces our connect schema and how content is retrieved. This focuses
on the Framework tab to start.

Fields are generated and content is rendered using a connect.schema
file. This schema file defines modes, fields and steps. Each mode has a
set of fields. Each field can be dependent on another field. The steps
generated are then based off the values of the modes and fields. Each
step can also render varying content dynamically using a template
{{framework}}/{{frameworkVariant}}/{{library}} which just replaces those
values with what's in state (fields selected).

[Part one needs to be merged
first.](https://github.com/supabase/supabase/pull/42367)

The next stage will add back all other tabs and content.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* New Connect Sheet UI to guide app-to-project connections with dynamic
configuration and copyable connection parameters.
* Multi-framework & mobile support with ready-to-use code examples,
install commands, and step-by-step setup for 20+ frameworks.
* Multiple PostgreSQL connection methods (direct, transaction, session)
with safe/masked connection previews.
  * Copy-prompt that aggregates step content and code for easy sharing.
* **UI**
* Multi-file code viewer with tabbed code blocks and added syntax
support (Swift, TOML, HTML).
* **Tests**
  * Comprehensive unit tests for resolver and state logic.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-11 13:32:45 +08:00
Charis 6b805289c7 chore(studio): remove feature flag for dataApiExposedBadge (#42563)
Cleanup / chore — removing a feature flag that has been at 100% rollout
with no issues.

## What is the current behavior?

The `dataApiExposedBadge` feature flag is checked at runtime via
ConfigCat, even though it has been set to 100% for a while with no
issues.

## What is the new behavior?

The feature flag check is removed and the gated behavior is now
unconditionally enabled. A reminder has been set to delete the flag from
ConfigCat in a month.

## Summary by CodeRabbit

**Refactor**
* Simplified API access status indicators in the studio editor, ensuring
security-related tooltips now display consistently based on actual
access conditions.
* Updated component interfaces and consolidated internal hook
dependencies for improved code maintainability and organization.
2026-02-10 21:18:53 +00:00
Ali Waseem c39747f8b2 feat: added copy prompt button for AI assistant for your own agent (#42624)
## 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?

Any instance where we want to ask the AI assistant, we create a copy
prompt button for your agent

## Demo


https://github.com/user-attachments/assets/c6afe319-ad36-49b7-a244-a8bf04c809a1



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a new dropdown-style AI assistant trigger across explain,
debug, and lint features with improved interaction flow.
* Added copy-to-clipboard functionality for AI prompts with visual
feedback confirmation.
* Enhanced AI assistant integration across query performance, SQL
editor, and lint detail interfaces for consistent experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 20:41:43 +00:00
Ali Waseem 37748b5078 chore: add E2E tests for simulating a drag and drop CSV (#42658)
## 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?

Chore: test drag and drop on table editor 

follow up for https://github.com/supabase/supabase/issues/42655

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Added comprehensive end-to-end test for CSV drag-and-drop import
functionality that validates the complete import workflow: drag-drop
detection on empty tables, import dialog display with accurate row
counts, and successful data import to the grid.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 20:39:06 +00:00
Vaibhav 997d2c365a fix: CSV drag and drop (#42656)
## Problem

Drag-and-drop CSV import functionality is broken in the Table Editor
when tables are empty. The `pointer-events-none` CSS class on the empty
state overlay blocks all pointer events, including drag events,
preventing users from dropping CSV files onto empty tables.

## Solution

Move drag event handlers (`onDragOver`, `onDragLeave`, `onDrop`) from
the inner overlay div to the parent container div.
This allows:
- Drag events to be captured by the parent container
- The overlay to retain `pointer-events-none` for proper horizontal
scrolling
-  (as intended in #42618)
- Interactive elements inside to use `pointer-events-auto`

This follows the existing pattern used in `FileExplorerColumn.tsx` where
drag handlers are on the parent container while visual overlays have
`pointer-events-none`.

 ## Related 
- Closes https://github.com/supabase/supabase/issues/42655  
- Extends https://github.com/supabase/supabase/pull/42618


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
  * Improved drag-and-drop event detection scope in the grid component.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 17:34:35 +00:00
Katerina Skroumpelou a0b946f1a2 docs: update cors documentation to include new method (#42644)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated Edge Functions CORS header guides with version-specific
approaches for SDK v2.95.0+ and earlier versions.
* Revised code examples across multiple Edge Functions to reflect
current CORS header implementation patterns.
* Enhanced troubleshooting documentation with updated preflight handling
guidance.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 18:32:32 +02:00
Ivan Vasilov 4decdd3680 chore: Update TanStack blocks to latest TanStack libs (#42410)
This PR updates the TanStack blocks to the latest versions of their
libs. There were some minor renames in the functions. Everything should
work the same.

How to test:
1. Install the block for password-based auth and social auth
2. Follow the instructions from
https://supabase.com/ui/docs/tanstack/password-based-auth

Also fixes
https://github.com/supabase/supabase/security/dependabot/2674.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Updated @tanstack/react-router and @tanstack/react-start to v1.150.0,
bringing latest improvements and stability enhancements.
* Refactored internal server-side utilities to align with updated
library APIs, improving code maintainability without affecting user
experience.
  * Added development dependency for build tooling support.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 16:46:08 +01:00
kemal.earth b722726517 feat(studio): scoped pat unit tests (#42646)
## 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?

This is a follow up to #38170 adding unit tests for the functions and
e2e tests for the feature.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Tests**
* Added comprehensive test suites covering access token schemas, token
utilities (sorting, filtering, mapping, formatting, and expiration
logic), and permission utilities (action sorting and resource toggle
behavior). These tests exercise validation rules, edge cases,
deterministic date handling, immutability, and multiple branch scenarios
to improve reliability and coverage.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 15:21:59 +00:00
Terry Sutton 1e749f706b Changelog link in user dropdown menu (#42647)
![screenshot-2026-02-10-at-10 34
14](https://github.com/user-attachments/assets/75b99760-446a-4208-88ed-112c130c5d8b)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added a Changelog link to the user dropdown menu, providing quick
access to product updates.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 11:29:49 -03:30
Matt RossmanandDanny White a5dd0a9671 feat(mcp): Gemini CLI extension instructions (#42622)
### Changes

- Adds instructions to install the [Supabase gemini
extension](https://github.com/supabase-community/gemini-extension) in
our MCP URL builder in docs / studio

Note this is only shown when "Hosted" platform selected since the
published extension [only bundles the hosted MCP
server](https://github.com/supabase-community/gemini-extension/blob/main/gemini-extension.json#L8).

### To verify

- Visit
https://docs-git-mattrossman-ai-341-gemini-cli-extension-docs-supabase.vercel.app/docs/guides/getting-started/mcp
and select Gemini client

<img width="1944" height="1524" alt="CleanShot 2026-02-09 at 15 31
47@2x"
src="https://github.com/user-attachments/assets/0e3cb54d-61f6-4857-b7f9-8e8d19b92158"
/>



Closes AI-341

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* MCP client installation instructions now adapt to deployment:
platform-specific guided setup with external links or simplified local
instructions.
* **Style**
  * Deep-link styling updated for clearer branded link appearance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-02-10 09:42:42 -05:00
Joshen Lim ce3a67d900 Fix data api exposed schemas to handle spaces in schema names (#42645)
## Context

Fixes Data API settings, exposed schemas parameter to handle schemas
with spaces in the name - was buggy due to the global removal of all
spaces in the `db_schema` string (presumably old logic as the input
field used to a free input in the past, which now is a multi select)

Also adjusts the admonition when the public schema is not exposed

Before:
<img width="1104" height="289" alt="image"
src="https://github.com/user-attachments/assets/10611e82-70ac-427b-b369-f1df923d3862"
/>

After:
<img width="1095" height="268" alt="image"
src="https://github.com/user-attachments/assets/425ee6c8-44e7-45ec-8199-22ebd8e4225d"
/>

## To test

- [ ] Have a schema with a space in it's name
- [ ] Verify that you can add + save , remove + save that schema in the
data api settings exposed schemas field with no issues
2026-02-10 07:26:14 -07:00
Ivan Vasilov 3fd58546d6 chore: Remove all extra dependencies from the learn app (#42642)
This PR removes all extra deps from the `learn` app. The `learn` app was
copy-pasted from `ui-library` so it had a lot of unneeded deps.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Streamlined project dependencies by removing unused packages, reducing
the overall dependency surface for better performance and
maintainability.
* Enhanced build cleanup process to remove temporary TypeScript build
artifacts alongside existing cleanup tasks.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 09:17:51 -03:30
720c00e4e0 docs: update js sdk docs (2.95.3) (#42557)
Updates JS sdk documentation following stable release. 
Ran `make` in apps/docs/spec to regenerate tsdoc files.

**Details:**
- **Version:** `2.95.3`
- **Source:** `supabase-js-stable-release`
- **Changes:** Regenerated tsdoc files from latest spec files

🤖 Auto-generated from @supabase/supabase-js stable release.

---------

Co-authored-by: supabase-releaser[bot] <223506987+supabase-releaser[bot]@users.noreply.github.com>
Co-authored-by: Katerina Skroumpelou <sk.katherine@gmail.com>
2026-02-10 12:05:20 +00:00
Katerina Skroumpelou ff52f2fb7b docs: fix wrong topic (#42641)
Builds were failing with zod error introduced here:
https://github.com/supabase/supabase/pull/42464

```
Error:Error [ZodError]: [
  {
    "received": "data api",
    "code": "invalid_enum_value",
    "options": [
      "ai",
      "auth",
      "branching",
      "cli",
      "database",
      "functions",
      "platform",
      "realtime",
      "self-hosting",
      "storage",
      "studio",
      "supavisor",
      "terraform"
    ],
    "path": [
      "topics",
      1
    ],
    "message": "Invalid enum value. Expected 'ai' | 'auth' | 'branching' | 'cli' | 'database' | 'functions' | 'platform' | 'realtime' | 'self-hosting' | 'storage' | 'studio' | 'supavisor' | 'terraform', received 'data api'"
  }
]
```

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated documentation categorization for troubleshooting content to
improve discoverability.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 12:33:54 +02:00
Joshen Lim 0962bccdff Remove default freeze on PK column in table editor (#42636)
## Context

Just removes the default column freeze behaviour on primary key columns
in the table editor. Behaviour should still persist if freezing
manually.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Updates**
  * Grid columns are no longer frozen based on primary key designation.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 11:49:18 +08:00
Joshen LimandKevin Grüneberg 5b8ca1bb66 Chore/fix redeem code UI (#42615)
## Context

Main fix was to address the size of the `OrganizationCard` on the redeem
code page - was taking up the height of the flex div when the number of
cards is <= 3 (Main fix is `max-h-min` in `OrganizationCard`)

### Before
<img width="1270" height="411" alt="image"
src="https://github.com/user-attachments/assets/73228b62-f9db-43c8-813b-cb04c9f6cb2b"
/>

### After
<img width="1255" height="420" alt="image"
src="https://github.com/user-attachments/assets/a1d82753-daba-4c3d-a64d-3bb913ded161"
/>

## Other changes
- Small improvement to perceived loading speed by only rendering the
cards as loaders, text content on the left should render immediately on
page load
- Loading state to consider if the feature flag has been loaded as well
to prevent flicker of UI
- Hide the "Go to org" button when redeemed on the org page already


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Bug Fixes**
* Improved loading/gating so the redemption UI waits for feature flags
and profile data before showing content.
* Disabled submit when the redemption form is invalid to prevent empty
submissions; submit button respects form validity, permissions, and
loading state.

* **UI**
* Conditionally shows upgrade and "Go to organization" options based on
organization plan and current path.
  * Adjusted card layout to better constrain content height.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2026-02-10 10:36:30 +08:00
Danny WhiteandJoshen Lim ee484c8517 chore(studio): restore feedback gating (#42548)
## What kind of change does this PR introduce?

UI improvement for self-debugging efforts.

## What is the current behavior?

https://github.com/supabase/supabase/pull/40937 removed our gating on
the feedback form (plus some related affordances) in an effort to
concentrate support entry into the Help dropdown instead:

| Before | After |
| --- | --- |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/c7dacf40-5ae8-401c-a167-5e56c4c0635d"
/> | _Not applicable. This step is skipped in the new version._ |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/9bd2489d-7e87-49e5-99af-13eb5f387f60"
/> | <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/fa499a40-6d70-4674-9eb6-c7bd96019b27"
/> |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/e253381b-e8ba-476c-bd36-9dd522209498"
/> | <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/b5cf614b-329c-4517-90e9-c4d1b49bd139"
/> |

Despite putting other measures in place such as client-side form
detection, the result is that people are increasingly writing in to
support via the Feedback form.

## What is the new behavior?

- Restores the gating
- But also reuses the same self-debugging help options from the Help
dropdown

Other:

- Renames `HelpPopover` to `HelpDropdown` to match others
- Adjusts font size of `CommandMenu` _Search..._

| Before | After |
| --- | --- |
| <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/12e3be32-743d-488a-a13d-bf400fd0fd8d"
/> | <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/bb064ef1-a771-416d-9b5b-dbdd774efed3"
/> |
| _Not applicable. This step is skipped in the old version._ | <img
width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/3bc0b1c2-7003-4973-8e9c-2c7ee93fb0b4"
/> |
| <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/0bb18df4-d093-4440-8379-680f6c5e3cf9"
/> | <img width="1024" height="756" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/1ef801d3-9cd7-4005-9082-8d229b7cdd19"
/> |
| <img width="1090" height="579" alt="Inventory Nuts Bolts Supabase"
src="https://github.com/user-attachments/assets/e253381b-e8ba-476c-bd36-9dd522209498"
/> | <img width="1024" height="794" alt="Spinner Toolshed Supabase"
src="https://github.com/user-attachments/assets/b80de142-2199-420f-9018-8622b6d24312"
/> |

## To test

To test the “thanks” end state, add something like the following to
`feedback-send.ts`:

```ts
 if (MOCK_FEEDBACK_SUCCESS) {
    return {} as Awaited<ReturnType<typeof sendFeedback>>
  }
```

Where `MOCK_FEEDBACK_SUCCESS` is `true`.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

## Release Notes

* **New Features**
* Introduced multi-stage feedback dropdown with Issue and Idea selection
paths.
* Added AI assistant integration in help menu for quick support access.
* Enhanced help dropdown with expanded options: documentation,
troubleshooting, Discord community, system status, and support links.
* Added Community Support section featuring Discord community promotion.

* **Style**
* Refined command menu placeholder text sizing for improved visual
hierarchy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-10 09:48:54 +11:00
Ali Waseem d9e0f01bf5 fix: pointer events on empty view (#42618)
## 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?

Minor bug fix: update table editor views
2026-02-09 10:42:57 -07:00
Jordi Enric 3f6843a6b1 bug: fix refetch loop (#42613)
Problem:
- new filters are creating an infinite fetch loop of ph.supabase.io 

#  Before:
  snap.filters change → effect → setParams() → router.push()
  → URL updates → filters/sorts recalc → setParams recreated
  → effect re-runs → INFINITE LOOP 🔄

 # After:
snap.filters change → effect → comparison shows change → timeout
scheduled
  → setParams() → router.push(shallow: true) → URL updates
  → filters/sorts recalc → setParams recreated → effect runs
  → comparison check: no content change → early return → LOOP BROKEN ✓

The deep comparison prevents the effect from re-executing when only the
dependency references change
(due to URL updates), not the actual filter content. Test it out and the
PostHog spam should stop!

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Bug Fixes

* **Prevented unnecessary URL updates** when filter state remains
unchanged, improving application responsiveness.
* **Optimized filter and sort parameter handling** with enhanced
callback efficiency and routing behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 16:58:11 +01:00
Ivan Vasilov e41a3f4fb3 chore: Bump payload vulnerability (#42609)
This PR
- reverts changes made in
https://github.com/supabase/supabase/pull/42568 and
https://github.com/supabase/supabase/pull/42570 because they had some
unneeded changes (`@types/node` bumped to v25+, for example)
- bumps only the vulnerable dependency (which is in `cms` app and it's
not currently used).

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
  * Adjusted CMS dependencies to earlier versions
  * Optimized documentation API code organization and type handling

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 15:26:47 +01:00
supabase-supabase-autofixer[bot]andgithub-actions[bot] 0b0bece3ea [bot] Decrease ESLint ratchet baselines (#42588)
Automated weekly decrease of ESLint ratchet baselines.

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-09 15:26:23 +01:00
Ana 6b8c225245 Add blog post: Supabase is now an official Claude connector (#42401) 2026-02-09 08:42:25 -05:00
kemal.earth 8ffdcfc145 feat(studio): scoped pat ui (#38170)
## 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?

Introduces UI for Scoped PAT's.

## Additional context

WIP. Testing endpoints.


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Scoped access tokens: create, view, delete, and manage granular
resource/action permissions with custom expiry options and scoped
creation flows.
* New scoped token UI: modal/sheet creation flow, resource access
selectors, permissions editor, and a scoped token list.

* **UI Improvements**
* Tabbed Classic vs Scoped tokens layout, refreshed tokens page,
improved forms, search/filtering, and table tweaks.

* **Bug Fixes / Maintenance**
  * New data hooks and utilities for scoped tokens and token handling.

* **Removed**
  * Legacy account settings layout and legacy token banner.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 11:32:55 +00:00
Prashant Sridharan 7f13c269ac Added Eric Simons to webinar promo (#42608)
## 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?

Quick change to the webinar metadata to highlight that the Bolt CEO will
be co-hosting with us.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated event marketing materials for the 2026 Enterprise Innovation
webinar with enhanced branding and messaging featuring Bolt.new.

* **Style**
  * Code formatting improvements.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 11:16:31 +00:00
Joshen Lim 839b367375 chore(studio): Consolidate incident banner + maintenance banner, make incident banner dismissible (#42551)
## Context

PR mainly adds a change to allow users to dismiss an incident banner

Am also taking this time to consolidate `IncidentBanner` and
`MaintenanceBanner` into a single component `StatusPageBanner` so that
the logic for rendering either component is more clearer.

## Intended behaviour (should be covered by e2e tests)
- Incident banner shows if there are incidents with impact !== 'none'
- Incident banner still takes precedence over Maintanence banner (if
there's both incident + maintenence events)
- Dismissing the incident banner will subsequently show the maintenance
banner if the maintenance hasn't been dismissed before (just to make
sure that the user doesn't miss any comms)
- Incident banner will not be dismissible if there's an override (via
feature flag or env var)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Unified status page banner showing incident or maintenance
notifications, with dismissible banners that persist across sessions;
incident notices take precedence over maintenance.

* **Refactor**
* Replaced separate incident and maintenance banners with a single
consolidated StatusPageBanner component.

* **Tests**
* Added end-to-end tests covering banner visibility, precedence, and
dismissal behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 17:33:02 +08:00
Joshen Lim a057c951ea Make edge functions page accessible on coming up (#42549)
## Context

Related prior work was making edge functions page accessible while
project is restoring - however the status of the project gets flipped to
COMING_UP while it's restoring hence why the functions page was still
inaccessible.

## Changes involved

- Update `NavigationBar.utils` to have edge functions link to
`/functions` irregardless of project status
- (Unrelated) Disable (with tooltip) deploy new function CTA on edge
functions page if project is not active
<img width="403" height="108" alt="image"
src="https://github.com/user-attachments/assets/88479247-999b-4d41-a444-6705f8c3993e"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Deploy Edge Function button now disables and shows a tooltip when the
project is inactive to make deployment status clear.

* **Bug Fixes**
* Edge Functions link now points consistently to the functions view
regardless of project build state.

* **Refactor**
* Consolidated project-active check and reorganized related UI wiring to
standardize inactive-state handling across settings and controls.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 16:56:23 +08:00
Joshen Lim 608481cfd7 Prevent double click action in ReferenceRecordPeak (#42606)
## Context

Tiny UX behaviour that we came across - just prevents the double click
action when peeking a foreign row in the table editor

Feels odd that double clicking the `ReferenceRecordPeek` opens the side
panel to select a new foreign row to reference

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Enhanced double-click handling to prevent unintended actions in the
foreign key selection popover.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 16:43:35 +08:00
Joshen Lim ddc687bd64 Fix missing loader in table grid editor while rows are loading (#42605)
## Context

Fix missing loader in table grid editor while the rows are loading - the
loading UI was rendering, but its width was 0 hence not showing up

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Style**
* Improved grid layout styling to utilize full-width display
configuration.
* Enhanced loading skeleton container styling with better absolute
positioning and spacing.
* Refined empty state container layout for improved visual presentation.

* **Refactor**
  * Removed unused internal dependencies.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 16:30:02 +08:00
Alaister Young 0628f2f07d [FE-2495] fix(studio): ReferenceRecordPeek breaking with JSONB ARRAY data (#42602)
Issue:
- When opening the peek record foreign key viewer, a full screen React
error would happen

Change:
- Uses the preexisting formatters for the `<ReferenceRecordPeek />`
component

To test:
- Create two tables with a foreign key reference. I did `posts <-
comments`
- On your "posts" table, create a column with a jsonb array column and
**add at least one item to the array**
- On your "comments" table, open the foreign row peek and make sure no
errors occur

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Optimized grid component performance through improved column rendering
and enhanced caching mechanisms.
* Added specialized formatters for binary and JSON data types to improve
display quality.
* Improved memory efficiency and rendering speed, particularly when
working with large datasets.
  * Streamlined cell rendering logic for more responsive data grids.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 16:04:39 +08:00
18cc6f8fe9 Replace Edge Functions legacy OpenAI template with two new AI SDK-based templates (#40904)
## 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?

Edge Functions templates update 

## What is the current behavior?

An OpenAI template using GPT-3 and the legacy completions API.

## What is the new behavior?

Removed

- OpenAI text completion template

Added

- Stream text with AI SDK template
- Generate recipes with AI SDK template

## Additional context

- CORS inline as examples do not support multiple files yet
- Tested both by direct invocation and via `useChat`


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added "Stream text with AI SDK" template for real-time streaming
responses with CORS support and robust error handling.
* Added "Generate recipes with AI SDK" template for producing validated,
structured recipe outputs.

* **Refactor**
* Replaced the previous OpenAI text completion template with two new AI
SDK–based templates to provide streaming and schema-driven content
generation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Kalleby Santos <kallebysantos@Kallebys-MacBook-Pro.local>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-02-09 12:26:01 +08:00
Joshen Lim e803507a0d Add flag disabled UI handler for code redeem page (#42591)
## Context

Adds a UI state for when the feature flag for code redeem is disabled
<img width="1270" height="424" alt="image"
src="https://github.com/user-attachments/assets/90e97869-f1e5-456b-9170-4a0a576f1064"
/>

## Other changes involved

Mostly refactor + clean up here
- Pass `onClick` event to `OrganizationCard`, rather than declaring an
extra parent `div` to handle the click event
- Use `Admonition` instead of the `Alert` components within
`CreditCodeRedemption`
- Adjust element semantics in `CreditCodeRedemption` (Opting for `p`
instead of `h4` and `h1` to show credit related information)
- Use `UpgradePlanButton` component for upgrade CTA (Handles behaviour
depending if user has perms to update plan of the organization)
- Use `TimestampInfo` component for expires at
- Fix error handling when calling `redeemCode` (use `mutate` instead of
`mutateAsync` which requires a try catch)

## To Test

- [ ] Need to verify that the `TimestampInfo` component renders
correctly after redeeming a code

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Organization selection with modal-driven credit code redemption and
URL prefill.
* Upgrade button accepts an organization slug and integrates into the
upgrade flow.
* Organization cards support an optional click handler for custom
interactions.

* **UI/UX Improvements**
* Success/error messaging switched to admonition styling; expiry dates
shown with timestamps.
* Horizontal form layout, medium dialog sizing, compact balance/code
presentation, and invisible CAPTCHA with reset on success.
  * Feature gated by a flag with clearer loading/error states.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-09 11:47:43 +08:00