Commit Graph
310 Commits
Author SHA1 Message Date
Joshen Lim de50740b04 Chore/request upgrade plan modal (#40889)
* init request upgrade plan modal

* Consolidate UpgradeToPro components across UI + use UpgradePlanButton, UpgradePlanButton determines whether to show request upgrade CTA

* Allow to pass icon to Admonition

* Tiny fix on upgrade plan button CTA to consider addons

* Hook up upgrade request endpoint

* Update API types

* remove hardcode

* Add request upgrade CTA in plan side panel

* Fix disk compute

* Show request upgrade button for change to large compute

* Nit
2025-12-04 16:02:01 +08:00
Joshen Lim 47d99bb1a6 Revert "Support copying by clicking string in TextConfirmationModal" (#40971)
Revert "Support copying by clicking string in TextConfirmationModal (#40765)"

This reverts commit 8de52c4eb3.
2025-12-02 12:40:42 +08:00
Danny WhiteandJoshen Lim 031b227165 studio(chore): badge component defrag (#40118)
* component clean up

* optically center

* docs and type size

* code badge variant

* sensible defaults

* fix product menu flex

* badge sweep

* new project badges

* logs

* compute badge

* studio badge sweep

* www sweep

* docs sweep

* clean up

* fixes

* cleanup

* fixes

* better docs

* fixes

* misc fixes

* consistency

* Minor fixes for issues i found

* simplify mt-0

* mt simplification

* remaining optical alignment

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-02 11:15:50 +11:00
Saxon FletcherandJoshen Lim da0b4c6f57 Storage page components (#40935)
* storage page components

* Nit fixes

* Small refactor

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-01 16:51:34 +08:00
Danny WhiteandJoshen Lim 080cc7aeab chore(studio): authentication empty states (#40883)
* auth hooks and docs

* third-party auth

* remove unrelated changes

* remove unrelated changes

* docs tighten

* docs tighten

* Nit clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-28 14:57:56 +08:00
Francesco Sansalvadore dfecff7629 fix(ui-patterns): responsive with_icon spacing (#40841) 2025-11-27 15:38:10 +00:00
Danny WhiteandJoshen Lim 46ac132051 chore(studio): empty state improvements (#40807)
* migrations

* clearer value prop

* consistent verb

* migration input

* triggers

* extract trigger buttons

* database backups

* schema title

* unrelated nit

* fix

* shared component

* ui-patterns

* rename

* improve docs

* remove redundant overrides

* remove old file

* prettier fix

* fix type error

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-27 17:26:20 +08:00
Pedro Rodrigues ae799da23e Review Supabase MCP config on existing clients and add more clients support (#40525)
* update configs for different clients

* add codex and minor fixes

* sort clients by popularity

* add onCopy handle to other mcp clients

* remove optional operator for onCopy

* fix system theme

* fix rebase

* fix mdx
2025-11-26 19:36:19 +00:00
Joshen Lim 8de52c4eb3 Support copying by clicking string in TextConfirmationModal (#40765)
* Support copying by clicking string in TextConfirmationModal

* Remove enableSelection param
2025-11-26 00:26:25 +08:00
Francesco Sansalvadore b5069bc1e1 change input icon spacing (#40787) 2025-11-25 15:31:11 +00:00
Pedro Rodrigues f29fc05eb5 Refactor MCP copy handler and improve type consistency (#40650)
refactor: consolidate MCP copy handler telemetry and improve type consistency
2025-11-25 17:33:51 +08:00
Danny WhiteandJoshen Lim d653617cdd chore(studio): improve inline code styling (#40724)
* sweep language

* update class docs

* additional

* basic docs

* sweep relevant instances

* replace text-code

* additional in sweep

* Tiny fix

* prettier

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-24 16:34:30 +08:00
Riccardo Busetti 9fdc3dd8de ref(etl): Improve updates, rollbacks and errors UI (#40644) 2025-11-21 10:30:39 +00:00
2209d72990 Update UI to de-couple ETL replication context from Analytics Buckets (#40645)
* Update UI to de-couple ETL replication context from Analytics Buckets

* Nit

* Nit

* nit

* Address all feedback

* Address feedback

* Add enabled feature check for analytics and vector buckets

* FIXX

* Update apps/studio/components/interfaces/Storage/AnalyticsBuckets/AnalyticsBucketDetails/NamespaceWithTables/TableRowComponent.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-11-21 16:28:31 +08:00
Pamela Chia 076a2529eb feat(connect): add telemetry tracking and command menu actions (#40611) 2025-11-20 11:25:13 +08:00
Joshen Lim 11107a4781 Update API types (#40609) 2025-11-19 22:13:28 +08:00
Alaister Young c8a7f5a2e9 fix: 'use client' in page header (#40607) 2025-11-19 15:31:36 +08:00
Saxon Fletcher 61b032751a Database page components (#40509)
* database page components

* fixes

* fixes
2025-11-19 12:06:38 +10:00
Joshen Lim 0d1fac493b Add enable selection prop to FormLabel component (#40554) 2025-11-18 08:20:36 -07:00
Joshen Lim 16fb243141 Swap label for span in TextConfirmModal to support double clicking label (#40552) 2025-11-18 18:00:44 +08:00
kemal.earth 06ac401181 feat(design-system): add <MetricsCard /> component (#40355)
* feat: add metrics block setup

* feat: base block and props for metrics block

* chore: add to do

* feat: simplify metric block component further

* feat: basic layout done

* feat: metrics card orientation

* feat: add variant for differential number

* feat: basic sparkline for my metrics card

* feat: some polish for the sparkline

* feat: with xaxis for the sparkline

* feat: remove the xaxis line

* feat: add loading states

* feat: rename to metricscard

* fix: hydration issues

* feat: add tooltip to sparkline

* feat: add examples to docs

* fix: remove hasLink and hasTooltip props

* fix: re-add accidental removal of timestamps

* fix: add timestamps in correct location

* fix: add screen reader only and aria

* fix: text contrast on label in light mode

* fix: correct icon size

* chore: smol copy update

* chore: de-pluralize naming of component

* chore: rebuild packages
2025-11-14 11:40:57 +00:00
Joshen Lim e36ae95eb7 Refactor polling logic for Analytics Buckets while syncing with namespace (#40381)
* Refactor long polling logic for analytics bucket to automatically long poll when landing back on page and data has yet to be synced

* Nit clean up refactor

* Clean up

* Nit
2025-11-13 17:17:36 +08:00
Joshen Lim d8678921c0 Improve granularity of replication status (#40329)
* Improve granularity of replication status

* Minor copy improvements

* Update toast message copy

* Decouple pipeline status from table replication status
2025-11-13 15:13:03 +08:00
Joshen Lim b6c57fb2ed Hide cmd k keyboard shortcut if disabled in account pref (#40332) 2025-11-12 19:58:54 +08:00
Ivan Vasilov c5bf65b0b4 feat: Create FDW for S3 Vectors buckets (#40206)
* Fix childProps in Admonition so that they're added as a prop to the main div.

* Replace the admonition with Alert in Wrapper tab page to add a gap between childs.

* Add s3 vectors fdw.

* Minor fix to FormSection.

* Update the fdw mutations to support passing in options.

* Refactor the vector flow to create fdws.

* Revert cron description change.

* If the bucket can't be created, don't create a fdw.

* Update/delete the fdw when deleting a table or a bucket.

* Minor fixes.

* Clean up the delete modal.

* Handle edge cases when missing a wrapper.

* Remove the admonition in the create bucket modal.

* Fix the loading state when creating a bucket.

* Fix the createWrapper sheet to work with s3 vectors.

* Fix undefined wrapperMeta issue.

* Create the schema when installing a wrapper.

* Tiny cleanup.

* Clean up unneeded useState. Create a wrapper only if the all conditions are met.

* Fix all comments.

* Add s3 vectors for docs.

* Add a link and fix the file name for S3 Vectors in docs.

* Hide the table editor button if the wrapper instance is missing.

* Small fixes.
2025-11-12 11:00:38 +01:00
Lakshan PereraandJoshen Lim 426c371d59 fix: correctly set entrypoint, import map path and static patterns for new functions (#40368)
* fix: correctly set entrypoint, import map path and static patterns for new functions

* Smol refactor

* Use TimestampInfo for last updated column in edge functions

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-12 17:13:22 +08:00
Prashant Sridharan 5dfe350531 Added speakers to the hackathon (#40363) 2025-11-12 08:52:29 +00:00
kemal.earthandIvan Vasilov af98191cc0 fix(design-system): chart rendering (#40306)
* chore: exploring possible breaking charts

* chore: still exploring why chart container content wont load

* chore: clean up and pin recharts to catalog

* chore: remove comments from comment preview file

* chore: remove react override

* Remove React 19.2 as a dependency.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-11-11 12:57:11 +00:00
ff599edf14 Page components (#40289)
* change database to pagelayout

* page components

* design system documentation

* reduce preview width

* revert studio

* functions apply page

* layout

* interfaces

* remove demos

* pckage

* format

* format

* Apply suggestion from @Copilot

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

* build registry

* pckg

* build script to allow index files

* switch exports

* fixes

* gen exports

* remove invalid prop

* fix typecheck

* fix prettier

* Revert "remove invalid prop"

This reverts commit 118ecd40c5.

* Revert "fix typecheck"

This reverts commit 0e1ec8fb61.

* Revert "fix prettier"

This reverts commit 2f25ed695c.

* pretter

* fresh pnpm i

* Update pnpm lock

* fix import

* revert

* Update packages/ui-patterns/src/PageContainer/index.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update packages/ui-patterns/src/PageHeader/index.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* Update packages/ui-patterns/src/PageSection/index.tsx

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* ts fix

* Update apps/design-system/content/docs/ui-patterns/page.mdx

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

* change to layouts and examples

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-11-11 04:02:30 +00:00
Francesco Sansalvadore ddd1dbc09f Studio: add CommandMenu trigger in top nav (#40011)
* add CommandMenuTriggerInput in top nav in studio
* uniform command trigger in top nav
2025-11-10 11:43:50 +01:00
Joshen Lim eabfebf0f7 Refactor/use text confirm modal for delete buckets (#40291)
* Refactor DeleteBucketModal to use TextConfirmModal

* Refactor DeleteAnalyticsBucket to use TextConfirmModal

* Update TextConfirmModal to disable button until text match

* Refactor DeleteVectorBucketModal to use TextConfirmModal

* Remove test case - no longer valid
2025-11-10 15:28:08 +08: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
Joshen LimandDanny White 1f9906aab3 Use new Storage UI layout (#40076)
* First pass of deprecating old storage UI components

* Clean up local-storage flag for new storage UI

* Add coming soon UI for analytics and vector buckets pages

* Set up warning states for analytics buckets

* fix spelling and margin

* Smol fix

* nit

* Surface wrappers upgrade check in UI instead of toast

* Nit clean up

* update tests

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
2025-11-04 15:37:30 +08:00
Matt Rossman e3d021ea03 docs(mcp): improve Claude Code setup/authorization instructions (#40101)
* docs: prefer project config for Claude Code

* docs: prefer CLI for Claude Code MCP installation

* docs: authentication instructions for Claude Code

* docs: update MCP authentication admonition

Not all clients automatically prompt login, and we now preselect the correct organization for project scoped MCP servers.

* fix: disable `contentEditable` on claude code codeblocks
2025-11-03 16:00:48 -05:00
CharisandJoshen Lim c1505ba617 fix: table editor menu on mobile (#38572)
* fix: table editor menu on mobile

Problem:

On mobile, when the schema selector is changed in the table editor menu,
the menu immediately closes again before the user has a chance to select
a table.

Solution:

The closing is caused by the new schema selection updating the router
query. Whenever router.asPath changes, layout logic causes the mobile
menu to collapse. This layout logic probably makes sense for the vast
majority of cases, and I don't want to touch something that probably
affects many screens, so I opted instead to change the schema selection
locally within the TableEditorMenu.

The schema selection on mobile is now a two-phase commit. In the first
phase, only local schema state changes, so the user has time to select a
table. When the user selects a table or closes the menu, the schema
state is committed, which triggers the global state change, including
the router query update.

* Revert "fix: table editor menu on mobile"

This reverts commit f8835137a1.

* fix: don't close mobile menu simply for query param changes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-03 12:19:12 -05:00
Joshen Lim dad5f01140 Revert form layout changes (#40048) 2025-11-01 01:16:42 +08:00
Saxon Fletcher d66307f98b fix responsive issues (#40029)
* fix responsive issues

* sidebar width
2025-10-31 19:25:41 +10:00
Ivan Vasilov e8d2738acf chore: Bump vulnerable dependencies (#39909)
* Bump @playwright/test to fix a playwright vuln.

* Deduplicate msw.

* Deduplicate yaml.

* Deduplicate tsx.

* Add vitest to the catalog and bump it.

* Deduplicate vitest extra packages.

* Bump and deduplicate vite to v7.

* Bump prismjs.
2025-10-29 18:07:32 +01:00
Danny White 7ab4569508 chore: Discord in command menu (#39836)
* add discord to command menu

* fix type size on input

* revert discord outline icon

* fix docs command menu

* add package

* visually align icons and text

* prettier write

* fix missing import
2025-10-27 15:51:27 +11:00
Pamela Chia 928d5f49c5 fix: cmdk event naming and description (#39860) 2025-10-26 17:01:24 +08:00
Francesco SansalvadoreandCharis af43adb9a4 chore: command events (#39775)
* add CommandMenuTriggerInput in ui-patterns
* optimize search input responsiveness
* add event on commandMenu opened
* add event on debounced commandMenu input submission
* add event on commandMenu command selection
* add commandMenu telemetry to studio, www and docs

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-24 11:06:31 +02:00
CharisandJoshen Lim d8f7cc0d57 feat(support form): attach dashboard logs (#39539)
* o11y: mirror and sanitize breadcrumbs

Mirror Sentry breadcrumbs as the basis for our own support logging. Also
adds more sanitization to breadcrumbs.

* feat(support form): toggle for attaching dashboard  logs

Add a toggle to the support form when the category is "Dashboard bug",
to attach recent dashboard logs. Users can preview the attached logs and
opt out.

* feat(support links): dedicated support link component

Add a new component for support links, which:
- Uses the serializer for support link params to ensure
serialization/deserialization pairs correctly
- Snapshots breadcrumbs so the attached log on the support form will be
cut off at the support link click (otherwise we will get support form
actions cluttering up the log)

* tests(support form): extend timeout on flaky test

* Minor clean up

* fix(support form): allow url to specifically indicate no specified project

* minor nits

* Fix tests

* Fix tests

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 08:57:49 -04:00
Matt RossmanandGreg Richardson 9f5620c7cd feat: self-hosted MCP debugging tools (#39366)
* feat: stub `getDebuggingOperations`

* fix: logflare variables in `generateLocalEnv.js`

* chore: upgrade `supabase`, `@supabase/mcp-server-supabase`

* feat: shared `retrieveAnalyticsData`, implement `getLogs` for MCP

* feat: shared `getLints`, implement MCP security/performance advisors with filter

* chore: update lockfile

* fix: prefer `??`

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

* docs: comment origin of `LINT_SQL`

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

* chore: bump `supabase` devDependency for latest images

Changes rely on fix from loglare v1.23.0

* fix: edge function logs query

Based on https://github.com/supabase/supabase/pull/39388/files#diff-b4e9726d34a406fa1a6133a18bdb972c90be9df0c89598de0695592514e22941R199-R206

---------

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
2025-10-20 13:11:15 -04:00
CharisandJoshen Lim 3eb7da7766 feat(preferences): allow disable hotkeys (#39573)
* feat(preferences): allow disable hotkeys

Add a section in /account/me for disabling hotkeys. Only added one
hotkey for now (Cmd + E for toggling editor side panel) but we can add
more with the same pattern.

* refactor: remove default export on ProjectLayout

* feat(hotkeys): allow toggling of command menu and ai assistant hotkeys

* Nit

* PRettier lint

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 08:09:38 -04:00
Danny White 73f8a15203 chore(studio): consistent copy/reveal input behaviour (#39509)
* user newer input in api keys

* user newer input in s3 connection settings

* improve input read-only styles

* make API text selectable

* disable text until reveal button tapped

* fix build

* revert change

* fix other cases

* revert hardcoded example

* nice region field

* documentation

* cleanup

* better docs

* colour tweaks
2025-10-16 13:44:40 +11:00
Danny White e406beaccb chore(www): remove Select banner and callout (#39253)
chore: remove Select stuff
2025-10-11 11:31:30 +11:00
Saxon FletcherandJoshen Lim 410d76fff3 Getting started step status (#38910)
* home row size

* use prop instead

* revert previewer

* hook getting started up

* report empty state

* remove images for now

* fix paused state

* remove file

* swithed toggles

* remove any

* Simplify top section

* Nit clean

* Simplify

* Add new snippet button to SnippetDropdown, and hide Row arrow if number of children doesnt exceed number of columns

* Hide arrow in Row component if number of children doesnt exceed number of columns

* Fix snippetdropdown if theres snippet with same name

* update hasFirstUser check to return false if count is estimate

* bucket and functions code actions

* reframe sign ups

* fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-10 13:34:04 +10:00
Matt RossmanandGreg Richardson 5722e8dc79 docs: remote MCP UI paper cut improvements (#39211)
* fix: only show "Authentication" note for hosted platform

* fix: platform/project selector wrapping for small screens

* fix: disable contentEditable on codeblock to hide system spellcheck

* feat: standalone codeblock for mcpUrl

* fix: use <Portal> for client select popover to improve scrollIntoView behavior

* feat: remove "Other" client option

* feat: tooltip specifying MCP transport / auth requirements

* feat: update auth tooltip copy, only show for hosted platform

* docs: remove old local Supabase MCP instructions

* feat: improve description on docs feature group

---------

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
2025-10-06 18:57:41 -04:00
Matt Rossman 31b6368049 feat: read-only mode for self-hosted MCP (#39041)
* feat: add `crypto-js`, `encryptString` with sample key

* feat: include POSTGRES_PASSWORD in generated .env.test

* feat: include POSTGRES_PASSWORD in turbo.json for studio

* feat: read only query support

* feat: configurable `POSTGRES_HOST`, `POSTGRES_DB`, `POSTGRES_PORT`

* chore: rename POSTGRES_USER to clarify write permission

* feat: configurable `PG_META_CRYPTO_KEY`

* chore: add `PG_META_CRYPTO_KEY` to generateLocalEnv

* feat: add 'postgres-meta' to linter dictionary

* feat: restore read-only toggle in local MCP URL builder
2025-10-06 16:14:27 -04:00
Danny White 7f224757bd chore(www): update Select banner with replay text (#39252)
chore: banner copywriting
2025-10-04 13:02:28 +10:00