Commit Graph
2245 Commits
Author SHA1 Message Date
Pamela Chia f27a2d3028 feat(telemetry): track security settings on project creation (#42150)
* feat(telemetry): add security settings to project creation event

Add dataApiEnabled, useApiSchema, and useOrioleDb properties to
project_creation_simple_version_submitted event to track user
security and configuration choices during project creation.

* feat(studio): track security settings on project creation

Include dataApiEnabled, useApiSchema, and useOrioleDb in the
project_creation_simple_version_submitted telemetry event to capture
user's security and configuration choices.

* feat(telemetry): add security settings to confirm modal event

Include dataApiEnabled, useApiSchema, and useOrioleDb in the
project_creation_simple_version_confirm_modal_opened event for
consistency with the submitted event.

* refactor(telemetry): remove extra properties from confirm modal event

Remove dataApiEnabled, useApiSchema, and useOrioleDb from
project_creation_simple_version_confirm_modal_opened as these
are not needed for this event.
2026-01-26 13:49:45 +08:00
Danny White e96199081b feat(studio): show SQL snippet description (#42090)
* show browser title

* show both name and desc

* cleanup

* linebreak and format
2026-01-23 16:11:28 +08:00
kemal.earth ee25ba20dc feat(studio): replace auth overview charts (#41464)
* feat: replace usage metric cards with new charts

* feat: use new chart components for auth api and error codes

* style: some tweaks to the two tables

* fix: padding around empty states

* feat: smol adjustment

* fix: add aria label to go to logs tooltip

* fix: diff value

* fix: status code method font colour

* fix: actions onClick
2026-01-22 12:56:32 +00:00
f293036ec7 Add UX guardrails for edge functions RE unsaved and unimported files (#41921)
* Add UX guardrails for edge functions RE unsaved and unimported files

* useLatest on hasUnsavedChanges

* Remove checking of unimported files + add VS code like indicator for modified and unsaved files

* Nit

* Fix TS

* Fix

* nit

* Fixes

* Nit

* move hasUnsavedChanges on demand

* code rabbit nit

* code rabbit nit 2

* prettier

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2026-01-22 13:31:28 +08:00
Danny WhiteandJoshen Lim 60dfcc00ea fix(studio): PageSectionSummary alignment (#42019)
* system

* nit

* docs and fixes

* more resilient component

* remove redundant text

* format

* nit

* PRettier

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-21 10:18:15 +08:00
Ignacio Dobronich 485dff74e3 chore: project scoped roles entitlement (#41587)
* chore: project access entitlment

* typegen
2026-01-20 22:00:11 +09:00
Danny White 6837e1b9f4 chore(design-system): align PageSectionAside to bottom of text content (#41629)
* docs fixes

* optical alignment

* fix container query
2026-01-20 18:00:35 +11:00
Joshen Lim c6b2fe6fee Popover ui component to use portal by default, remove all manual declaration of portal for PopoverContent in dashboard (#41818)
* Popover ui component to use portal by default, remove all manual declaration of portal for PopoverContent in dashboard

* Forgot to add ui changes lol

* Clean uop
2026-01-20 11:58:31 +08:00
Joshen LimandAlaister Young 3b7bba9a9a Add read replicas details page from database replication (#41784)
* Add read replicas details page from database replication

* Clean

* Address 🐰

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2026-01-19 13:44:41 +08:00
kemal.earth d19385a138 fix(studio): remove wrongly semicolon from export cli command (#41898)
* fix: remove semicolon from export cli

* fix: bump up contrast of string on light mode

* chore: update lightmode green to danny suggestion

* fix: actual suggestion
2026-01-15 09:28:54 +00:00
Prashant Sridharan 94bee5edeb Minor tweaks to the Convex compete page (#41913)
* Minor tweaks to the Convex compete page

* ci: Autofix updates from GitHub workflow
2026-01-15 10:30:19 +07:00
Joshen Lim a2b4e83fc6 Update NoticeBanner content for scheduled maintenance (#41888) 2026-01-14 13:34:03 +07:00
Charis 2c29910d12 Reapply "fix(studio): delegate check for expired token to gotrue" (#4… (#41867)
Reapply "fix(studio): delegate check for expired token to gotrue" (#41268)

This reverts commit 16cdd025b7.
2026-01-13 00:41:37 -05:00
Joshen Lim 5f7b021537 Persist sidebar behaviour on log out (#41866) 2026-01-13 12:39:35 +07:00
Sean Oliver 30adf96a0e Simplify realtime experiment to rely on PostHog targeting (#41210) 2026-01-12 20:58:00 -08: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
Kevin Grüneberg 87d6613620 chore: move cached egress under storage on pricing page (#41815) 2026-01-12 12:26:56 +07:00
Sean OliverandJoshen Lim 4e9b718cf3 Fix table quickstart experiment multi-bucket exposure issue (#41423)
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-09 15:53:12 -08:00
Pamela Chia 2346baf51c chore(telemetry): standardize event naming conventions (#41786)
* docs(telemetry-constants): add naming conventions and review note

* refactor(telemetry): rename event interfaces to include Event suffix

* refactor(telemetry): rename branch merge success event to completed

* refactor(telemetry): rename cron job deleted event to removed

* refactor(telemetry): rename events to submitted/completed

* docs: add previous event names to telemetry comments
2026-01-08 17:11:48 +07:00
kemal.earth 6c6d74fa21 fix(studio): modify area chart colours (#41496)
* fix: modify area chart colours

* feat: tones for dark and light

* chore: cleaning up

* chore: remove weird ai added debug fetches

* fix: suggestion from coderabbit

* chore: clean up

* feat: change from natural to bump on line charts

* fix: much better colour offset

* chore: remove comments

* feat: better dot implementation

* chore: remove unused props

* chore: remove pointless try catch
2026-01-08 10:06:51 +00:00
Francesco Sansalvadore 5bef19528b feat(studio): command search entities (#41554) 2026-01-08 14:13:36 +07:00
Sean Oliver f6cb934b36 fix(telemetry): decouple initial pageview from feature flag loading (#41748) 2026-01-07 08:51:25 -08:00
Charis 84be985a5b fix(ui-patterns): multiselect click behavior (#41726)
* fix(ui-patterns): multiselect click behavior

Multiselect clears only when it opens.

* fix(ui-patterns): multiselect placement

Multiselect placement needs to account for the remaining space so it
doesn't get cut off by the window edges.

* fixup! fix(ui-patterns): multiselect click behavior
2026-01-07 10:41:05 -05:00
Sean Oliver 0b04a7b303 fix: set PostHog ui_host for toolbar auth (#41478) 2026-01-07 05:39:20 -08:00
Riccardo BusettiandJoshen Lim 1238a19fe4 feat(etl): Expose more configuration parameters (#41758)
* feat(etl): Expose more configuration parameters

* Nit nudges

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-07 15:36:32 +08:00
Sean Oliver b49ad92db3 feat(telemetry): set gotrue_id as person property in frontend identify (#41750) 2026-01-06 16:38:30 -08:00
Saxon FletcherandAlaister Young 81098b2926 Event triggers (#41657)
* event triggers

* rename to event

* fixes

* fixes

* template

* use supabase roles instead

* useMemo array operations

* use blank as default

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2026-01-07 09:12:10 +10:00
Riccardo BusettiandJoshen Lim d795240928 feat(etl): Add integration with new validation endpoint (#41731)
* feat(etl): Add integration with new validation endpoint

* Fix

* Fix

* Fix

* Fix

* UI nudges + clean up + refactors

* Fix TS

* Sort issues

* Small improvement

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-07 00:32:08 +08:00
Alaister Young 867aac5308 chore: fix Realtime message limit (#41734)
Actual limit is 256 KB as per docs
2026-01-06 22:54:07 +08:00
kemal.earth 4c3b211076 feat(studio): add dashboard error events (#41431)
* feat: add telemetry event for dashboard error

* feat: add tracking event to alert error component

* fix: remove warning type

* feat: add error tracker for toasts too

* fix: remove message prop from event

* chore: remove unused dep in useeffect

* chore: further tidy up

* fix: useeffect separate component

* fix: use pams suggested verb
2026-01-06 13:54:11 +00:00
Riccardo Busetti c62cd07b86 feat(etl): Implement batch rollback (#41552) 2026-01-06 04:13:25 +01:00
Saxon Fletcher d2f4e808e5 Filter pattern refactor (#41545)
* filter refactor

* update tests

* prettier

* fix ts

* remove filter preview

* Filter bar in table editor behind flag (#41546)

filter bar in table editor behind flag

* fixes

* ts fix

* filter v1 refactor

* rename helpers

* unmount timeout

* fixes

* fix

* more
2026-01-06 08:04:28 +10:00
Sean Oliverandpamelachia 1077b50a5b fix(studio): convert tableCreateGeneratePolicies flag to multivariate for PostHog experimentation (#41706)
Co-authored-by: pamelachia <26612111+pamelachia@users.noreply.github.com>
2026-01-04 20:12:57 -08:00
supabase-supabase-autofixer[bot]andmatlin 7168162ed1 Changes by create-pull-request action (#41506)
[create-pull-request] automated change

Co-authored-by: matlin <7904733+matlin@users.noreply.github.com>
2025-12-31 22:04:19 +08:00
issuedat f9f1e40def feat(auth): make opt-in to improved search dismissible (#41558)
feat(auth): make opt-in to improved search dismissable
2025-12-29 15:17:00 +01:00
Cemal Kılıç 9450cdb7aa feat(auth): remove fetch with timeout (#41633) 2025-12-29 17:12:21 +07:00
Francesco Sansalvadore 5213e681b4 feat(studio): add "create" command menu commands (#41473) 2025-12-29 09:18:06 +01:00
Thomas fbd80939be chore(billing): show hints on aws mp onboarding page in case contract not linkable 2025-12-27 18:31:28 +01:00
Ivan Vasilov ad9cb34304 Bump @tanstack/eslint-plugin-query and migrate the config. (#41577)
* Bump @tanstack/eslint-plugin-query and migrate the config.

* Minor fix for the no default export rule.

* Simplify the eslint config.
2025-12-24 16:14:14 +00:00
issuedat 115ca3a2e3 feat(auth): improved user search (#41199)
* feat(auth): improved user search

* chore: fix types for columns

* feat: cursor-based pagination

* chore: remove trigram indexes in favour of b-tree
2025-12-24 12:24:43 +01:00
072883bcec feat: assistant evals (#41311)
* chore: bump `supabase` CLI

* chore: stricter message types in `generate-v4.ts`

* feat: tutorial eval

https://www.braintrust.dev/docs/evaluation

* feat: project ID for eval

* refactor: `generateAssistantResponse` out of `handlePost`

* refactor: generateAssistantResponse to lib/ai

* feat: factuality eval with assistant response

* chore: upgrade braintrust to v1.0.1

* chore: silence tsconfig warning

* feat: assertion scorer

* fix: aggregate tools across all steps

* refactor: strict tool names, remove need for `as const`

* refactor: generic tool name type in assertions

* feat: transfer mocks from `feature/braintrust`

* feat: LLM criteria assertion

* feat: braintrust evals workflow

* fix: BRAINTRUST_PROJECT_ID

* feat: `sql_similar` assertion

* fix: `OPENAI_API_KEY` in workflow env

* feat: split AssertionScorer into separate scorers

* feat: remove tutorial eval

* feat: 20 minute CI timeout

* feat: category in test case metadata

* feat: score with gpt-5

* refactor: dataset to own file, colocate scorers

* feat: "gpt-5.2-2025-12-11" for llm as a judge

* feat: SQL syntax scorer with `libpg-query`

* feat: `evals:setup` and `evals:run` scripts

* feat: `evals:setup` in CI

* feat: human readable scorer names

* chore: rename to "SQL Validity"

* feat: add 2 "sql_generation" test cases

* feat: update requiredTools in test cases

* chore: ignore Cursor MCP config

* feat: "Conciseness" score

* feat: "Completeness" scorer

* fix: generate-v4 test mocks

* feat: serialize "steps" for scorer inputs

* updated node mem options for typecheck

* updated runner

* remove ram update as actions handle this

* feat: read `BRAINTRUST_PROJECT_ID` from secrets

* feat: score helpfulness, remove old scorers

* feat: separate `evals:run` and `evals:upload` scripts

* feat: passthrough entire classifier result

* feat: use live `search_docs` impl, store docs result in metadata

* feat: reduce classifier options

* feat: filter workflow by `run-evals` PR label or `master` branch

* chore: cleanup stubbed mock tools

* fix: checkout actual branch with `ref:`

* fix: capture search_docs results from all content parts

* feat: simplify sql syntax score calculation

* feat: use AI SDK's UI message validator

* docs: justification for relative `extends`

* fix: cleanup leftover validatedMessages

* doc: note mock token isn't secret for snyk

* fix: mock ui message to pass validation

* feat: revert ignoring Cursor MCP config

Using `.git/info/exclude` instead until we have an opinion on this

* feat: add "tsconfig" as shared-data devDependency, revert relative path in tsconfig

* refactor: tool call parsing into function

* Update apps/studio/evals/assistant.eval.ts

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

* refactor: organize mock schemas and tool factories

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-22 23:45:48 -05:00
0e2c31bf60 feat: Stripe Sync Engine integration (#41317)
* add initial installation flow of stripe sync engine

* update docs link

* Add supabase_vault extension dep

* Add stripe logo to sync engine integration

* Move overview content to bottom of integration pages

* Add sync state to stripe sync page

* only check sync state if stripe integration is installed

* Use proper stripe-sync package and setup flows

* Improve sync engine installation ux

* Remove unused hardcoded dep

* Add alpha status to stripe sync engine integration

* fix typo

* run format

* fix types

* Rename the stripe-sync path to remove the 'integration". The path needs to have BASE_PATH to work on prod.

* Design tidy up (#41337)

UI tidy up

* update to latest sync engine package

* Add stripe key verification

* Remove noop try/catch

* Add integration isntallation telelemtry

* Add basic settings page

* Address coderabbit comments

* remove unused dep

* Remove state setting on render

* s/description/comment

* Cleanup settings screen UI

* Improve settings screen design

* update schema test snapshot

* Use latest stripe-sync-engine package

* Update repo url to new official location

* revert marketing change

* Update stripe sync engine package

* Add link to table from overview page

* Add feature flag and improve telemetry

* Fix missing useMemo dep

* add uninstall telemetry note

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2025-12-20 00:42:10 +00:00
Sean Oliver de8e9f6b1b Fix first-touch referrer for initial $pageview (#41447) 2025-12-19 10:42:16 -08:00
Joshen LimandDanny White cbeb0912a2 Joshen/fe 2195 rework project api overview section with connect button (#41485)
* Update API keys panel

* Dnywh/chore/fe 2195 design pass (#41484)

* first pass

* fancy

* fixes

* text

* lang

* lang

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>

* Clean up

* Clean

* Nit

* Update enabled features

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2025-12-19 16:51:58 +08:00
Ali Waseem ec20b7e326 feature: add explain with AI in query performance (#41415)
* feature: add explain with AI in query performance

* updated comment

* updated to send message right away

* updated prompt

* added event tracking for button

* updated prompt

* updated to use track

* updated event name

* added flag for explain with AI

* updated to remove optional
2025-12-18 19:19:25 +00:00
Danny White 2fbb6cb9a7 chore(studio): clean up support form (#41424)
* admonition

* clean up

* clean up

* plan info improvements

* fix wonky text area

* improve form

* submit button

* success state

* hide callouts on success

* fixes

* fixes

* nit

* rabbit

* deprecate InformationBox in favour of Admonition

* fix tests

* fix

* rabbit

* rabbit

* rabbit

* lint

* US English
2025-12-18 00:16:06 +00:00
Prashant Sridharan f42e46ac56 Added new case studies and a blog post (#41446)
* Waiting for new case sutides to be approved

* WIP case studies

* Added Koodos

* Added avatars

* Added mcp-use blog post

* two new case studies signed off, one new blog post

* ci: Autofix updates from GitHub workflow

* Fixed stats and added eXp Realty

* Cleaned up formatting
2025-12-17 19:52:58 +00: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 RodriguesandClaude Opus 4.5 46960b57f1 docs: Add version requirement note for Windsurf MCP client (#41426)
* docs: Add version requirement note for Windsurf MCP client

Add a warning note to the Windsurf MCP configuration page advising users
to use version 0.1.37 or higher. This version includes the fix for
Protected Resource Metadata Discovery (RFC 9728) in mcp-remote, which is
required for MCP authorization compliance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* minor fixes

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-17 14:57:41 +00:00
Ivan Vasilov cc47bcfa6d chore: Migrate studio to use ui-patterns/shimmeringLoader (#41405)
* Add shimmering-loader CSS to ui-patterns.

* Import the shimmering-loader classes from the ui-patterns component.

* Remove ShimmeringLoader from studio.

* Migrate studio to use ui-patterns/ShimmeringLoader.

* Migrate away from using default import for ShimmeringLoader.

* Fix the css imports in docs and studio.
2025-12-17 14:54:07 +01:00