Commit Graph
111 Commits
Author SHA1 Message Date
Danny White ffc76c1e36 feat(studio): give replication destinations a brand mark (#50251)
## What kind of change does this PR introduce?

Studio UI polish. This is the first PR in the Pipelines review stack and
targets `master`. Resolves DEPR-674.

## What is the current behaviour?

Replication destinations use generic line icons across the destination
picker, pipelines list, and replication diagram. The existing shared
ClickHouse and Snowflake assets also use older artwork.

## What is the new behaviour?

Adds a reusable `DestinationLogo` treatment and uses it consistently
across Replication surfaces. BigQuery, ClickHouse, DuckLake, and
Snowflake now use their colour brand marks, while destinations without a
dedicated asset retain their existing line icon in the same frame.

The refreshed ClickHouse and Snowflake artwork replaces the canonical
shared assets, so existing consumers such as the Wrappers catalogue
receive the updated marks too.

| Light | Dark |
| --- | --- |
| <img width="572" height="804" alt="CleanShot 2026-09-11 at 16 48
42@2x"
src="https://github.com/user-attachments/assets/5c2eaef3-8714-4c0a-8bcc-7c8618abd677"
/> | <img width="552" height="788" alt="CleanShot 2026-09-11 at 16 47
30@2x"
src="https://github.com/user-attachments/assets/2aff8775-cdc1-4d6b-9f78-7b40d42e102a"
/> |

| Add Pipeline form |
| --- |
| <img width="1252" height="730" alt="CleanShot 2026-09-11 at 16 48
57@2x"
src="https://github.com/user-attachments/assets/025a158c-57ee-495e-8356-00ed1717d09d"
/> |

## To test

1. Open `/project/<ref>/database/replication` and start adding a
pipeline.
2. Confirm the BigQuery, ClickHouse, DuckLake, and Snowflake marks
appear consistently in the destination picker, pipelines list, and
replication diagram.
3. Open the ClickHouse and Snowflake entries in the Wrappers catalogue
and confirm they use the refreshed artwork.
4. Confirm Analytics Bucket retains its existing fallback icon within
the same frame.


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

## Summary by CodeRabbit

* **Visual Updates**
* Destination logos now display dedicated brand marks for ClickHouse,
DuckLake, Snowflake, and BigQuery.
* Updated replication destination selectors, rows, and diagrams to use
consistent destination logos.
  * Adjusted the destination type column width for improved layout.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-09-14 09:31:27 +10:00
Joshen Lim db0e6b761b Joshenlim/fe 4304 bring database connections out of feature preview (#50107)
## Context

As per PR title - we're bringing Database Connections out of feature
preview and it'll live on the dashboard by default 🙂
Also deprecating the existing Ongoing queries panel which Database
Connections now supercedes.

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

* **New Features**
* Database Connections is now available without feature-preview
activation.
* The SQL editor’s “View running queries” option now links directly to
Database Connections.

* **Bug Fixes**
* Query cancellation and session termination now refresh database
activity data.

* **Removed**
* Removed the in-editor ongoing queries panel and its termination
controls.
* Removed the Database Connections promotional banner, preview
messaging, settings, and related telemetry.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-09-08 17:26:24 +08:00
Joshen Lim 2d1a2ff9a2 Set up feature preview for explorer (#49602)
## Context

Sets up the Explorer behind the feature preview modal + removes the
temporary entry point from the SQL Editor
Changes are still not live on production, so will only affect local +
staging.

Enabling the feature preview will replace the sidebar nav for SQL Editor
to new Explorer (Icon remains unchanged, just the label)

<img width="918" height="647" alt="image"
src="https://github.com/user-attachments/assets/b088eb47-1176-4618-b345-d1ec0521b092"
/>


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

- **New Features**
- Added an “Explorer & Notebooks” feature preview with an overview image
and direct access to Explorer or SQL Editor.
  - Added Explorer navigation when the preview is enabled.

- **Improvements**
- Updated desktop and mobile navigation to consistently display the
available editor destination.
- Improved the Explorer shortcut tooltip to clearly say “Go to
Explorer.”
  - Organized SQL Editor previews under the Editors category.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-26 22:45:11 +08:00
Joshen Lim fc69c45985 Bring database connections to feature preview (#48638)
## Context

As per PR title - brings Database Connections into feature preview
Should be working for both hosted + self-host/local

Also adjusts existing feature previews to remove "New"
- Platform webhooks
- Temporary database access

<img width="600" alt="image"
src="https://github.com/user-attachments/assets/b18ae8ca-ce0b-4649-975c-e70749a87dcd"
/>


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

* **New Features**
* Added a Database Connections preview highlighting live activity, query
blocking detection, session termination, and AI-assisted summaries.
* Added access to project-specific observability connections from the
preview.
* Added a Database Connections entry to the observability menu when
enabled.

* **Improvements**
* Updated feature previews and labels, including changes to “new” status
indicators.
  * Added controls to manage Database Connections preview visibility.

* **Bug Fixes**
* Improved blocker detection so results respect the selected role
filters.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-08-03 16:48:59 +08:00
Francesco Sansalvadore 52030a88fe chore(studio): proper grafana light-mode image (#48232)
Use a real light-mode grafana dashboard rather than an inverted dark
mode one.

<img width="888" height="287" alt="Screenshot 2026-07-23 at 09 45 45"
src="https://github.com/user-attachments/assets/f37a6950-19eb-4edc-b59d-fd48681874dd"
/>
2026-07-23 07:59:12 +00:00
Francesco Sansalvadore 50d7030f48 chore(studio): default opt-in to integrations layout (#48183)
Make the new "one-click" integrations feature preview opt-in by default
so it appears for all users once we switch `marketplaceIntegrations` to
_true_ and reframe the feature preview copywriting.

<img width="1007" height="694" alt="Screenshot 2026-07-22 at 12 01 08"
src="https://github.com/user-attachments/assets/4b35870c-dcf0-45cc-a1b5-69628e7e10b5"
/>


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

* **New Features**
  * Added a visual preview image to the integrations layout preview.
  * Renamed the preview to “One-Click Integrations.”
* Made the preview enabled by default when the marketplace feature is
enabled.
* **Style**
* Refreshed the preview text and updated the layout with improved
spacing, border, and rounded corners.
* **Documentation**
* Updated the page header documentation link to the general integrations
guide.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-22 16:06:28 +02:00
Francesco Sansalvadore a10ebd9097 chore(studio): improve light mode images on featured integrations (#48179)
## What is the current behavior?

featured integration image was looking muddy on light mode
<img width="1479" height="792" alt="Screenshot 2026-07-16 at 16 20 29"
src="https://github.com/user-attachments/assets/d51960f9-7c58-47d6-a751-e310f0edb32e"
/>

## What is the new behavior?

dedicated light-mode preview images
<img width="1482" height="785" alt="Screenshot 2026-07-16 at 16 29 48"
src="https://github.com/user-attachments/assets/5c1b9772-8ea2-4b94-aeba-cb095015df8e"
/>

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

## Summary by CodeRabbit

* **New Features**
  * Added Stripe Sync Engine to the featured integrations list.
  * Added light-theme cover imagery for featured integrations.
* Featured integration cards now display theme-aware images and improved
visual overlays.
* Updated the marketplace grid for improved responsive layouts across
screen sizes.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-22 09:50:36 -04:00
Joshen Lim 1d29b4c5b4 Clean up RLS Tester artifacts (#47866)
## Context

As per PR title - we're pausing the development of the RLS Tester
feature preview while we re-evaluate its direction. Have also updated
the GH discussion
[here](https://github.com/orgs/supabase/discussions/45233) RE this! 🙏

Removes the RLS Tester UI + Sandbox functionality

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

## Summary by CodeRabbit

* **Removed Features**
* Removed the RLS Tester feature preview, banner, and database policy
testing workflow.
* The related SQL testing, role selection, policy summaries, sandbox
management, and result views are no longer available.
* **Bug Fixes**
* Improved accessibility on the database policies page by adding a label
to the clear-filter button.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-13 17:01:05 +08:00
Cemal Kılıç 3667601895 feat(studio): add sign in with ChatGPT (#47772)
## 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?

Feature

## Summary
Introduce a "Sign in with ChatGPT" option gated by the new
`dashboard_auth:sign_in_with_chatgpt` feature flag and a manual
localStorage rollout switch (`SIGN_IN_CHATGPT_ENABLED`), since the
feature is still WIP.

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

## Summary by CodeRabbit

* **New Features**
  * Added support for signing in with ChatGPT alongside GitHub.
* ChatGPT sign-in now depends on both a feature flag and an additional
rollout setting.
* Updated provider availability so the app can show the correct sign-in
options.

* **Bug Fixes**
* Improved validation and coverage to ensure sign-in options appear only
when fully enabled.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-09 16:32:31 +02:00
Ivan Vasilov 0361d1b727 chore: Remove CDN loading for the Monaco editor in all environments (#47182)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Standardized Monaco Editor package versions across the workspace using
the shared dependency catalog.
* **Bug Fixes**
* Improved Monaco initialization by configuring asset loading only on
the client and serving Monaco assets from a single base-path URL
(removing platform-specific switching).
* Streamlined Monaco stylesheet injection in Studio’s document
rendering.
* **New Features**
* Added/updated Monaco language support in Studio, including GraphQL,
SQL, and PostgreSQL, with refreshed HTML, JSON, and CSS editor modes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-30 13:57:31 +02:00
Danny WhiteandCopilot Autofix powered by AI 032bd09b0c feat(studio): use theme-aware OAuth requester logos (#47138)
## What kind of change does this PR introduce?

Bug fix. 

- Follow-up work to FE-3640
- Contributes to DEPR-604

## What is the current behavior?

Known dynamic OAuth requesters on `/dashboard/authorize` relied on
OAuth-specific hard-coded icon assets that were dark-mode only.

Cursor did not have separate light/dark assets in the shared MCP icon
registry, Perplexity only had a light tile asset with baked-in padding,
and OpenAI used the older blossom mark.

## What is the new behavior?

Known OAuth requester logos now resolve through the shared MCP icon
registry while preserving the existing `SupabaseLogo` treatment for
paired authorisation screens.

Cursor uses transparent SVG light/dark variants, Perplexity has cropped
transparent SVG light/dark variants, and OpenAI/ChatGPT uses the newer
monoblossom SVG in black/white variants. Claude remains static until a
suitable variant is available.

Unknown requester icons still render from the provided URL and fall back
to the requester initial if the image fails.

| Before | After |
| --- | --- |
| <img width="828" height="636" alt="Authorize OpenAI
Supabase-E2A05664-589F-458F-8452-9CEE008D558A"
src="https://github.com/user-attachments/assets/140021b1-ff05-4092-98ef-2eae94ff2ddb"
/> | <img width="828" height="636" alt="Authorize OpenAI
Supabase-EC7E00BD-439A-45D1-8E55-240B227C6897"
src="https://github.com/user-attachments/assets/93e603f2-5cbf-4219-b692-d36ac98e8d2a"
/> |
| <img width="828" height="636" alt="66 Authorize OpenAI
Supabase-CB31FF76-86DB-43A6-A426-46B99B8B1B91"
src="https://github.com/user-attachments/assets/b261416e-39b8-40b3-87fd-461653aa0334"
/> | <img width="828" height="636" alt="Authorize OpenAI
Supabase-EAFCF2F2-5CEA-4FE6-8AC0-819F764B414E"
src="https://github.com/user-attachments/assets/35ad7525-0fa9-4438-b117-4e70b78eb719"
/> |

## To test

1. Navigate to `http://localhost:8082/authorize?auth_id=test-auth-id`
2. Open DevTools → Network
3. Find `/platform/oauth/authorizations/test-auth-id`
4. Right-click → Override content
5. Replace the response body with:
	```js
	{
	  "name": "Perplexity",
	  "website": "https://perplexity.ai",
	  "icon": null,
	  "domain": "perplexity.ai",
	  "scopes": [],
	  "expires_at": "2026-12-31T23:59:59.000Z",
	  "approved_at": null,
	  "registration_type": "dynamic"
	}
	```
6. Then change "name" to Cursor, Claude, ChatGPT, or OpenAI and refresh
to inspect each logo

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

* **New Features**
* OAuth app requester logos now dynamically adapt to light and dark
themes, with improved logo selection for known requesters.
  * Cursor now uses a distinct dark icon variant.
  * Added Perplexity client icon support.

* **Bug Fixes**
* Improved logo rendering robustness: if a logo can’t be loaded, the UI
falls back to the requester’s initial.

* **Tests**
* Expanded coverage for theme-aware logo rendering and icon variant
handling, including unknown-icon and fallback scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-06-24 09:30:48 -06:00
Ivan Vasilov f8e682c443 fix: Add custom icon overrides for specific MCP apps (#47130)
This PR hardcodes icons for most used AI apps (`Claude`, `Perplexity`,
`ChatGPT` and `Cursor`) because their icons are coming from other
domains which we don't want to add CORS exemptions for.

<img width="534" height="638" alt="Screenshot 2026-06-19 at 16 44 12"
src="https://github.com/user-attachments/assets/258cfb7b-e0fa-4408-bc2d-911c197f097d"
/>
<img width="499" height="676" alt="Screenshot 2026-06-19 at 16 44 48"
src="https://github.com/user-attachments/assets/67004935-bad1-4cf9-8d4c-edbb5c466288"
/>
<img width="667" height="753" alt="Screenshot 2026-06-19 at 16 48 59"
src="https://github.com/user-attachments/assets/cd12677f-dfde-438b-bc54-4be36c7c0fa2"
/>
<img width="608" height="715" alt="Screenshot 2026-06-19 at 16 49 21"
src="https://github.com/user-attachments/assets/d2b642ca-598d-4ac8-8177-179ef249cb58"
/>


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

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Improved OAuth app authorization detail logos by adding app-specific
fallback icons for known app identifiers, ensuring the correct logo
shows when the original icon is missing or fails to load.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-19 17:23:32 +02:00
Gildas GarciaandIvan Vasilov 96d43099bb chore: refactor Button API so that it can be used a standard button (#46880)
## Problem

Our `<Button>` component breaks the default `button` contract by
redefining the `type` prop to set its variant (`primary`, `default`,
etc) instead of the button type (`submit`, `button`, etc).
This is confusing and forces to write more code when using it with
shadcn components that expect/inject the standard button props.

## Solution

- rename the `type` prop to `variant`
- rename the `htmlType` prop to `type`
- propagate the changes where necessary
- format code

## How to test

As this is just prop renaming, if it builds it's ok

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2026-06-16 23:59:58 +02:00
Francesco Sansalvadore f402b4d464 feat(studio): og image (#46839)
Add proper og image to studio app.
2026-06-11 15:07:49 +02:00
Francesco Sansalvadore f622bc6ea0 feat(studio): dashboard integrations update (#46671)
- remove "Marketplace" branding and naming from integrations section
- remove "featured partners" hero with multiple partners
- keep only _one_ featured partner to start with (Grafana)
- gate each partner integration with separate flags to enable
testing/releasing them separately

## Before
<img width="1487" height="834" alt="Screenshot 2026-06-08 at 11 00 19"
src="https://github.com/user-attachments/assets/9359a98f-18f8-4b1e-be23-63646cf66106"
/>

## After
<img width="1494" height="849" alt="Screenshot 2026-06-08 at 11 03 57"
src="https://github.com/user-attachments/assets/2c28cf36-97f0-4bbd-8c97-7998768e6ce6"
/>
2026-06-09 15:30:42 +02:00
Danny WhiteandJoshen Lim a8720dee1f feat(studio): move AWS Marketplace to connect interstitial (#46058)
## What kind of change does this PR introduce?

Feature. Resolves DEPR-556.

## What is the current behavior?

AWS Marketplace onboarding uses a separate scaffold and AWS-specific
organization selection UI, so it does not match the newer shared connect
interstitial pattern used by Redeem Credits.

## What is the new behavior?

- Moves `/aws-marketplace-onboarding` onto the shared connect
interstitial shell with AWS and Supabase branding
- Reuses the shared organization selector behaviour from Redeem Credits,
including last-visited organization promotion, selected organization
promotion, the create-organization card, and compact overflow disclosure
- Keeps the existing AWS data path for buyer eligibility, onboarding
info, organization linking, AWS-managed organization creation, and
success/error/ineligible states
- Removes the now-unused legacy AWS Marketplace layout/scaffold
components
- Removes the temporary reviewer mocks from the branch before merge

## Additional context

This PR preserves the current AWS-managed organization creation modal so
the AWS flow keeps working while adopting the shared connect sheet.
FE-3216 should move that creation path into the general organization
form later, likely replacing the AWS-specific modal with a preconfigured
`/new` flow that can still return to AWS Marketplace onboarding and link
automatically.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-05-22 13:59:05 +10:00
Joshen Lim fdeaaec098 Add non prod env favicons to improve visual indicator difference (#45871)
## Context

Use a different favicon (black logo on white bg) for dashboard staging
or local CLI
to improve visual differentiation against hosted dashboard (green logo
on black bg)

<img width="357" height="52" alt="image"
src="https://github.com/user-attachments/assets/b5c88a6e-0ab3-40ce-9c85-fddd8d6ce92b"
/>


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

* **New Features**
* Favicon routing now switches automatically to staging icons when
running in non-production or CLI-release contexts so the UI reflects the
environment.

* **Chores**
* Added staging favicon assets, a browserconfig, and a staging web app
manifest to support environment-specific branding.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/supabase/supabase/pull/45871)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-15 16:51:57 +08:00
16db81cc9c chore(studio): clarify Stripe Projects connect flow (#44797)
## What kind of change does this PR introduce?

Studio UI copy and visual polish for the Stripe Projects connect flow.

- Resolves DEPR-428
- Resolves DEPR-429

## What is the current behaviour?

- The Stripe Projects connect flow copy is awkward in request, linked,
wrong-account, and success states.
- The API authorisation layout logo is slightly misaligned.
- The bundled Stripe icon is outdated.

## What is the new behaviour?

- Tightens Stripe Projects copy and CTA text around authorising the
request.
- Keeps the real `ar_id` account-request flow intact without local
preview shortcuts.
- Centres the logo link in `APIAuthorizationLayout`.
- Updates the Stripe icon SVG.
- Note that this affects other areas too, such as Stripe integrations
([more](https://supabase.slack.com/archives/C0429V78ACX/p1777268209661729)).
- Fixes CLI login copy capitalisation.

| Before | After |
| --- | --- |
| <img width="1380" height="856" alt="CleanShot 2026-04-29 at 15 10
26@2x"
src="https://github.com/user-attachments/assets/4ad242c2-1e9e-4128-9661-ef8deee111c1"
/> | <img width="1486" height="892" alt="CleanShot 2026-04-29 at 15 10
36@2x"
src="https://github.com/user-attachments/assets/f6aa4d0a-e5a7-40ff-87b7-845a22ef1c50"
/> |

## Verification

- `pnpm exec eslint pages/partners/stripe/projects/login.tsx`
- `git diff --check`

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2026-04-30 18:31:45 +10:00
Francesco Sansalvadore 072006ba0f chore(studio): remove mobile toolbar flag (#45317) 2026-04-28 13:45:00 +00:00
Joshen Lim 5f867e5f6c Feature Preview: RLS Tester (#45121)
## Context

Resolves FE-3077
Related discussion: https://github.com/orgs/supabase/discussions/45233

Verifying the correctness of your RLS policies set up has always been a
gap, as highlighted by a number of GitHub discussions like
[here](https://github.com/orgs/supabase/discussions/12269) and
[here](https://github.com/orgs/supabase/discussions/14401). As such,
we're piloting a dedicated UI for RLS testing (using role impersonation
as the base), in which you'll be able to
- Run a SQL query as a user (not logged in / logged in - this is the
role impersonation part)
- See which RLS policies are being evaluated as part of the query
- And hopefully be able to debug which policies are not set up correctly

Changes are currently set as a feature preview - and we'll iterate as we
get feedback from everyone 🙂 🙏

<img width="613" height="957" alt="image"
src="https://github.com/user-attachments/assets/83c37f8a-28fc-43b3-b0ff-e28571d8710c"
/>


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

* **New Features**
* RLS Tester: run queries as anon or authenticated users, view inferred
SQL, per-table policy summaries, and data previews of accessible rows.
* UI preview: new RLS Tester preview card and modal with opt-in toggle;
RLS Tester sheet with role/user selector and query editor.
  * SQLEditor: “Explain” tab is always visible.

* **Chores**
* Added supporting API endpoints, background checks for table RLS
status, and a local-storage flag to persist the preview opt-in.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-28 15:02:49 +08:00
Ali WaseemandJoshen Lim ae4f1551f0 chore: make new table filter bar the default (#44910)
## Summary
- Makes the new table filter bar the permanent default by hardcoding
`useIsTableFilterBarEnabled` to return `true`
- Removes the feature preview toggle (opt-out) from the preview modal
- Cleans up E2E tests: removes old filter UI test, removes
`enableFilterBar` helper, fixes race condition in column-drop test
- Old filter code paths are left in place for a follow-up cleanup PR

Closes FE-2819

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

* **Chores**
* Removed the table filter bar preview and its opt-in/local-storage
preview key.
  * Cleared preview content from the feature preview modal.

* **Tests**
* Removed the UI filtering e2e test and associated preview opt-in
helper.
* Updated filter-bar e2e flows to adjust navigation/wait behavior (added
explicit waits, removed redundant reloads).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-04-16 07:59:48 -06:00
kemal.earthandSean Oliver 12989ba7fe feat(studio): prototype for telemetry entry point (#44720)
## 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 small styling brush ups and experimental for internal telemetry
tools.


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

* **New Features**
* Developer toolbar redesigned with compact event/flag lists, “Copy
JSON” per event, and a fixed draggable trigger that snaps and remembers
its position. Toolbar is now available in staging and local
environments.

* **Bug Fixes**
  * ConfigCat readiness wait ensures flags load correctly.
* Feature flag loading made resilient so one provider’s failure won’t
block the other.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Sean Oliver <882952+seanoliver@users.noreply.github.com>
2026-04-14 13:19:28 +01:00
31794b83f2 feat: passkeys config page (#44718)
## Summary by CodeRabbit

* **New Features**
* Added Passkeys configuration page to manage WebAuthn relying-party
settings and enable/disable passkey auth.
  * Added a Beta "Passkeys" item to the Auth settings menu.
  * Enabled saving passkey-related authentication parameters.

* **Tests**
* Added test coverage to ensure the Passkeys menu appears or is omitted
based on feature flags.

* **Chores**
  * Removed an unused import to tidy the code.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: fadymak <dev@fadymak.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2026-04-13 16:37:57 +02:00
Kanishk Dudeja be3737d9d0 feat(billing): use Stripe AddressElement for billing address form (#44105)
### Summary

This PR refactors the billing address form to use Stripe AddressElement
on both the org billing page and the missing-address modal, adding
Google Maps autocomplete and country-aware state/province inputs.

### Testing

- Address element renders on org billing page, autocomplete works, and
state/province options update per country.
- Existing billing address data loads correctly into the form.
  - Need to verify this with invalid country/state as well.
- Save enables only when the form is dirty after editing address or tax
ID fields.
- Cancel restores both address and tax ID to the original values.
- Submitting with missing required address fields shows a validation
toast.
- Tax ID options are filtered by the selected billing country.
- Tax-ID-only edits submit successfully without interacting with the
address form.
- Without billing write permission, address fields are read-only.
- Update billing address modal behaves the same as the org billing page.
- Address element appearance looks correct in both light and dark mode.
- Payment method form remains unchanged and still uses floating labels.

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

* **New Features**
* Billing form now uses Stripe Address Element via Stripe Elements with
an embedded custom font and theme-aware appearance; tax-ID entry remains
separate.

* **Bug Fixes**
* Stronger address validation and submit gating, improved dirty-state
tracking, explicit save confirmation and reset behavior, and clearer
error toasts on update failures.

* **Tests**
* Expanded tests covering hook behavior, address element validation,
submit gating, payloads, reset, and permission scenarios.

* **Style**
  * Adjusted billing email form spacing/layout.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-04-01 15:41:54 +05:30
Danny White 89895a7286 chore(studio): file explorer rows (#43845)
## What kind of change does this PR introduce?

UI touch-up

## What is the current behavior?

Explorer rows in file storage is a bit rough around the edges.

## What is the new behavior?

- Consistent loaders
- Consistent icons

Also includes:

- Fix to `stroke-width` on files-bucket.svg as documented in icons.mdx

| Before | After |
| --- | --- |
| <img width="1024" height="563" alt="Buckets Storage AWS Healthy
Toolshed Supabase"
src="https://github.com/user-attachments/assets/055518b2-6d93-4c9d-879b-6e7dd51e0620"
/> | <img width="1024" height="563" alt="Buckets Storage AWS Healthy
Toolshed Supabase"
src="https://github.com/user-attachments/assets/fae05446-95d9-4ca1-b441-7cd39d1c6036"
/> |
2026-03-17 15:47:25 +08:00
Danny White e8b5b565a9 chore(design-system): centralise MCP client assets (#43730)
## What kind of change does this PR introduce?

Chore

## What is the current behavior?

- We use the MCP client connect dialog in two places: Studio and Docs
- We duplicate image assets for each client in each of those two places

## What is the new behavior?

- Centralised assets
- Consolidation and simplification as a result of it all being a single
source-of-truth now

## To test

- [ ] Everything works as it did before across both Studio and
[Docs](https://supabase.com/docs/guides/getting-started/mcp)
- [ ] All MCP client images load as expected
2026-03-17 11:19:49 +11:00
Francesco Sansalvadore 156f904018 feat: floating mobile toolbar (#43444)
- move navigation components to `apps/studio/components/layouts/Navigation`
- add [FloatingMobileToolbar](https://github.com/supabase/supabase/pull/43444/changes#diff-3dffe47fd51ca851d612d8728e03b2dc344ec213d4f3a46a824d3fa32a7cc851) as quick access to tools such as search, assistant, inline editor, etc - behind feature flag and feature preview (true by default as it's a bit
annoying to have to enable it all the time as previews are stored in
local-storage)
- fix sidebar panels closing on viewport resizing (regression from previous pr)

https://github.com/user-attachments/assets/d6881e3b-5128-4306-bb82-3ca39c755dba

<img width="986" height="697" alt="Screenshot 2026-03-12 at 12 40 11"
src="https://github.com/user-attachments/assets/da8511e2-7d01-4237-b814-596031c747c5"
/>
2026-03-13 12:13:07 +00:00
Matt RossmanandDanny White 24fdbdd201 docs(mcp): add Antigravity client (#43597)
Adds Google Antigravity as an MCP client option in the docs config panel
and Studio, including auth steps.

Icon sourced from https://antigravity.google/press

| Dark | Light |
|--------|--------|
| <img width="1330" height="1214" alt="CleanShot 2026-03-10 at 11 13
15@2x"
src="https://github.com/user-attachments/assets/82180fab-e3e7-44dd-8e49-2935d80a72bb"
/>| <img width="1346" height="1230" alt="CleanShot 2026-03-10 at 11 13
07@2x"
src="https://github.com/user-attachments/assets/46956854-8542-4c3c-9b5e-959b53fcae57"
/> |

Verified this config connects to our remote MCP server in Antigravity:

<img width="850" height="469" alt="CleanShot 2026-03-10 at 10 27 15@2x"
src="https://github.com/user-attachments/assets/5196800e-aa5d-4a51-bdfe-482a9d95f184"
/>



Closes AI-469

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-03-12 16:01:24 -04:00
Jordi Enric e854f3e9e7 FE-2736 chore: optimize world map json (#43550)
- reduce file size to 709K from 4.9MB 
- add antartica back
- everything else stays the same
2026-03-09 19:32:42 +01:00
Danny White a832d62785 chore(studio): update Claude icon and minify dark icons (#43422)
## What kind of change does this PR introduce?

- UI fixes and cleanup

## What is the current behavior?

- We use the _Anthropic_ logo for _Claude Code_ in the MCP connector
panel
- We have a bunch of redundant dark mode logos (visually the same as
their light mode siblings)

| Before | After |
| --- | --- |
| <img width="987" height="373" alt="Krosno Toolshed
Supabase-03CD5E6F-53E6-4282-9087-ACB9F67B6DDA"
src="https://github.com/user-attachments/assets/ca7b5d9c-2a2b-4520-8bd4-8cf26c759c73"
/> | <img width="987" height="373" alt="Krosno Toolshed
Supabase-53F3849B-2D86-494B-BE25-8D23EA050243"
src="https://github.com/user-attachments/assets/7bd2e9a6-82ae-48a1-9ef1-591b7a33632e"
/> |

## What is the new behavior?

- We use the _Claude_ logo for _Claude Code_
- Removed duplicative logos
- Made note of which MCP servers have a different logo for dark mode
2026-03-06 14:00:04 +11:00
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
Kalleby SantosandCharis Lam 997203cd64 feat(studio-local): functions management api - function blob artifacts (#42349)
## What kind of change does this PR introduce?

Feature

## What is the current behavior?

Functions page on self-hosted differs from Platform

## What is the new behavior?

> [!NOTE]  
> This PR only add readonly operations. Function edit and deploy should
be implemented in a future one.

Adds the possibility to download and see function code in Self-Host
version.

<details>

<img width="1465" height="944" alt="image"
src="https://github.com/user-attachments/assets/4bbf8f5c-3390-4de6-9e8b-8ec9cd59ebad"
/>

</details>

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

* **New Features**
* API endpoint to stream function files/artifacts as
multipart/form-data.
* New function file entry type and server-side file listing for
functions.

* **Improvements**
  * Edge Functions "Code" navigation item always visible.
* Download popover reworked: ZIP download always available; CLI section
shown only on supported platforms.
* Editor set to read-only and file actions disabled on unsupported
environments.

* **Editor**
* Added JavaScript, TypeScript, and Markdown language modules for the
embedded editor.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2026-02-06 20:06:37 +00:00
Ali Waseem 11d4da6c4b feat: added new filter bar as feature preview (#42458)
## 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?

Move away from our feature flag service and expose this to users through
the feature preview. Once approved will create discussion and link to
this and the new queue operations

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added a new table filter bar option to the feature preview settings,
allowing users to test and enable the updated table filtering interface.

* **Chores**
* Refactored feature flag infrastructure to improve table filter bar
configuration management.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-04 14:25:32 -07:00
Matt Rossman 0ef949849d docs(mcp): installation instructions for Kiro IDE (#42121)
- Adds Kiro to the list of MCP Clients in [MCP
docs](https://supabase.com/docs/guides/getting-started/mcp) / studio
Connect dialog with deep links to install the Supabase
[powers](https://kiro.dev/powers/)
- Makes description above deep link configurable via
`deepLinkDescription` (so Kiro's text can clarify that this installs the
power)
- Adds options to `generateDeepLink` so deep link can be different for
local/hosted platforms (so we can provide different deep links for the
local/hosted Kiro powers)

See MCP docs in preview:

https://docs-git-mattrossman-ai-301-kiro-installation-docs-supabase.vercel.app/docs/guides/getting-started/mcp

<img width="1756" height="1096" alt="CleanShot 2026-01-23 at 17 03
43@2x"
src="https://github.com/user-attachments/assets/dedc156d-6b86-4238-aa32-f7fda414d069"
/>


Resolves
[AI-301](https://linear.app/supabase/issue/AI-301/kiro-installation-docs)

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added support for Kiro MCP client with platform-aware configuration
handling
* Enhanced MCP configuration display to show platform-specific deep link
descriptions
  * Improved config file rendering with better visual presentation

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-30 19:17:31 -05:00
Ali Waseem ea1b95d29b feature: batch and save operations for cell content updates (#42120)
* added initial queue operations and feature flag

* updated types

* added dirty state tracking on columns

* updated queue operations

* updated operation types and queue

* updated spacing

* removed on cancel

* updated to support saving

* updated to include eye details

* updated spacing for orders

* updated to support shortcuts

* added feature preview

* updated to unify queue methods

* added key generation

* used unique keys rather than random uuid

* updated based on code review

* operation key

* updated handle cancel

* updated remove operation button

* updated views for toast

* updated logic to support optimistic updates

* updated types

* code cleanup: remove LLM slop

* updated PR bug

* updated preview for logout

* updated based on code review

* removed use effect as it was causing problems

* fixed toast mounting away from sql editor

* removed toast for dedicated action bar

* cleaned up logic

* updated queue operations

* renamed method

* updated name for types

* updated comment

* fixed code rabbit solution

* added check for changed column

* added tests
2026-01-28 06:54:30 -07:00
Ali Waseem 56eb4f01a6 feat: add OpenCode support to MCP clients (#41825)
* feat: add OpenCode support to MCP clients

- Add OpenCodeMcpConfig interface and type guard
- Add OpenCode to MCP_CLIENTS array with remote config
- Include OAuth authentication instructions
- Add OpenCode icons with correct naming convention
- Fix duplicate JSON config display by removing primaryInstructions

Resolves FE-2350

* added missing images
2026-01-12 18:26:52 -07:00
Ali Waseem c0e94ec89f chore: Add Expo, Flask and Tanstack connect quick starts (#41498)
* added changes for tan stack, expo and flask

* updated formatting
2026-01-07 08:30:41 -07:00
issuedat 1ee61059ef feat(auth): Add X v2 provider (#41276)
* feat(auth): Add X v2 provider

* chore: reuse the existing twitter docs which will include instructions for both versions
2025-12-23 12:33:29 +01:00
48b372d29b Feature/private link (#41094)
* privatelink integration

* mock queries

* add integration endpoints

* poll for updates on transition states

* prevent ui for multiple posts

* changes to copy for existing accounts

* update privatelink documentation

* hide privatelink for customer under Team plan

* added connected state tip

* linting fixes

* fixed issue due to merge

* Add cc feature flag

* Nit clean up

* Small revert

* Nudge UI a little

* Update react queries to fit new structure

* Fix

* Clean up

* nit

* revert padding

* Fix

* fix: tanstack changes

* added feature to pricing page

* Update apps/docs/content/guides/platform/privatelink.mdx

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* fix: dropdown copy change

* Update apps/docs/content/guides/platform/privatelink.mdx

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>

* Update apps/docs/content/guides/platform/privatelink.mdx

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>

* Smol clean up

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2025-12-18 07:28:38 +13:00
Pedro RodriguesandChris Chinchilla b401bc4d6d feat: Add Gemini CLI client configuration support (#40613)
* add codex and minor fixes

* sort clients by popularity

* fix rebase

* add codex and minor fixes

* add onCopy handle to other mcp clients

* update configs for different clients

* add codex and minor fixes

* sort clients by popularity

* feat: add Gemini CLI client configuration

- Add GeminiMcpConfig type
- Add Gemini CLI client to MCP_CLIENTS array
- Support both direct CLI installation and extension installation methods
- Include authentication instructions via /mcp auth supabase
- Link to Gemini CLI MCP server documentation

* add gemini logos

* add onCopy handle

* fix httpUrl

* fix format

* fix auth command

* add v0.20.2 disclaimer

* Update packages/ui-patterns/src/McpUrlBuilder/constants.tsx

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>

* add gemini logo to studio and minor fixes

* nit: add comment to gemini config

---------

Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2025-12-16 12:26:30 +00:00
Kalleby Santos 39c1e14fd8 fix(studio): adding mcp-clients icons (#41137) 2025-12-08 09:03:55 -07:00
Jordi Enric e07535055d chore: update map (#41082)
update map
2025-12-04 17:52:38 +00:00
Jordi EnricandCopilot 0d95b4f9c4 feat(reports): add request country map (#40903)
* wip

* move map to file, fix projection

* fix

* support micro countries

* cleanup code, add tests, improve theming

* remove border on hover

* fix theme detection

* fix query

* update map json to simplify code

* formatting

* make active color opacity based

* fix names

* rm flaky test

* rm comment

* Update apps/studio/components/interfaces/Reports/renderers/ApiRenderers.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/interfaces/Reports/renderers/ApiRenderers.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update apps/studio/components/interfaces/Reports/renderers/ApiRenderers.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* add missing import

* rename

* validate error safely

* undo tsconfig change

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-03 20:59:02 +00:00
Batuhan Wilhelm 8cfe645f2b docs: update Refine branding (#40378)
* docs: update Refine svg in HeroFrameworks

* docs: use capital R for Refine mentions

* docs: use main branch for Refine repository references

* docs: update connect interface example code for Refine

* docs: update Refine quick start tutorial with Refine v5

* examples(refine-user-management): upgrade to Refine v5

* docs: update Refine getting started tutorial with Refine v5

* chore(studio): update Refine icon on Connect modal

* docs: update Refine svg

* docs: update welcome screen screenshot in Refine tutorial

* docs: update dimensions of welcome screen screenshot in Refine tutorial

* chore: remove leftover dist assets from Refine example

* chore(linter): add Refine to Rule001 and Rule003

* chore: format getting started with Refine.mdx

* chore: remove .prettierrc file from the example
2025-11-18 22:34:00 +09:00
Danny WhiteandJoshen Lim a4928ef049 chore(studio): security notification emails announcements (#40366)
* announcement

* fix link

* Minor clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-12 13:28:42 +11:00
HichemandAli Waseem 7490ca9e88 feat: pwa ready and installable (#38701)
* fix: update application name in manifest and include manifest in studio router

* fix: change display mode to minimal-ui in manifest for refresh and back button

* fix: update display settings in manifest to use display_override for minimal-ui

* Update short_name in manifest.json to 'Supabase'

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-06 14:30:01 +00:00
Danny WhiteandJoshen Lim abd35216f7 chore(studio): clean up storage UI (#40164)
* copywriting updates

* remove unused file and comment

* copy tweaks

* remove stickySidebarBottom

* extraneous comment

* remove unused components

* unused image

* files policies redirect

* Update redirects for storage settings

* Fix loader for storage policies

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-05 14:57:19 +11:00
Danny White afff7f703c chore(studio): put focus on Discord in help menu (#39893)
* basics

* reorder

* layout

* assistant

* cleanup

* remove testing const

* text color

* restore sidebar manager

* remove open prop

* copy refinement
2025-10-30 14:11:54 +11:00
Danny WhiteandJoshen Lim c1681cfcc2 chore(studio): add feature preview for auth security template UI (#39661)
* feature preview logic

* sidebar changes based on feature preview

* singular naming

* minor

* Flip isPlatformOnly for new preview

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-21 15:18:56 +11:00
kemal.earth 1e1b7a05b8 chore(studio): update auth overview light mode images (#39484)
chore: update auth overview light mode images

This provides image alternatives for light mode on the Learn More cards.
2025-10-13 12:22:50 +01:00