Commit Graph
34027 Commits
Author SHA1 Message Date
Kevin Grüneberg 9961c3b4e9 fix: use Next Link for proper prefixing (#39891) 2025-10-27 13:35:14 +08:00
Danny White 0c65581e6c chore(studio): split auth templates into subpages (#39831)
* basic subpages

* add template descriptions

* keep tabbed navigation alive

* revert active tab

* use bespoke layout for each template

* redirect non-feature preview users away

* template page improvements

* fix docs link

* add TemplateEditor

* fix errors

* better error for missing routes

* extract slugifyTitle function to ensure consistent slugs
2025-10-27 15:52:34 +11: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
Danny White 85b84e04b4 chore: put focus on Discord for community help (#39888)
* single button clarity

* support policy

* troubleshooting docs

* fix telemetry bug
2025-10-27 14:23:46 +11:00
Pamela Chia 928d5f49c5 fix: cmdk event naming and description (#39860) 2025-10-26 17:01:24 +08:00
Kevin Grüneberg 312259b704 chore: user v2 content count query for search (#39869)
* chore: user v2 content count query for search

Instead of using two different endpoint versions, we can rely on v2 for all cases.

* Update SearchList.tsx
2025-10-26 13:49:33 +08:00
hallidayo af48b1c34d fix: revert 39818 (#39875)
revert 39818
2025-10-25 15:34:54 -06:00
Ivan VasilovandWen Bo Xie 977b867bef fix: During project claim, disable the orgs for choosing who can't add another projects (#39398)
* If the auth id has already been used for approving the same org, ignore the error.

* Accidentally committed the wrong code while testing.

* Disable the choose org button if the org can't add more free projects.

* Hide the tooltip if the condition is met.

---------

Co-authored-by: Wen Bo Xie <wenbox323@gmail.com>
2025-10-25 14:17:19 +02:00
Kevin GrünebergandJoshen Lim 03c1cc0500 fix: confirmation modal on paid org creation (#39857)
* fix: confirmation modal org creation

The button when confirming org creation was not working as it was just returning early.

The submit handler is triggered both on initially clicking the "Create organization" button and on the confirmation button, but it always early returns if the customer has other free plan orgs with projects, so it doesn't let the customer submit the form
12:44
How to reproduce:
- Create a free plan org with an active project
- Create a new paid plan organization
- Confirmation modal appears
- Clicking the button just closes the modal and does not create the org as there is an early return in the onSubmit handler

Moved away from ConfirmationModal to an inline info instead

* Update NewOrgForm.tsx

* Nit refactor

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-25 17:54:45 +08:00
Sean Oliver e05981cf2c feat: add assistant variation to table quickstart experiment (2.5 of 3) (#39825)
feat: add assistant variation to table quickstart experiment

Adds ASSISTANT variant to table quickstart that opens AI assistant with
pre-populated conversation to guide users through creating their first
database table.

Changes:
- Add QuickstartVariant.ASSISTANT enum value
- Add 'Create with Assistant' card for new projects (<7 days old)
- Implement handleOpenAssistant with proper loading states and error handling
- Add pre-populated messages to guide table creation workflow

The assistant card appears only for users bucketed into the assistant
variation of the tableQuickstart experiment on new projects.
2025-10-24 12:20:38 -07:00
Sean Oliver 73e3143b0c Add type-safe event tracking utility (#39745)
Adds a clean, type-safe wrapper for telemetry event tracking that automatically injects project and organization context.

- Export TelemetryGroups type from telemetry-constants
- Add useTrack() hook with full TypeScript event validation
- Refactor project creation events to use new API
- Reduces boilerplate from ~10 lines to ~2 lines per event
2025-10-24 18:25:26 +00:00
Ben IsensteinandAli Waseem 5576b37a64 Fix #39827 (#39829)
fix: storage ui failing to authenticate uploads #39827

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-10-24 12:08:00 -06:00
Ali WaseemandCharis 3eb8507566 Feature: Abililty to duplicate triggers from the dashboard (#39828)
* updated to support on close and duplicate

* updated formatting

* added confirmation panel for triggers

* updated form to select the correct table for defaults

* updated to support trigger intial tables selected

* updated to mark select field as dirty

* Update apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx

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

* Update apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx

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

* updated to remove undefined error

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-24 11:31:30 -06:00
Ali Waseem 0a99c0eb04 Fix: Removed default array value in case memo is broken (#39851)
Removed default array value in case memo is broken
2025-10-24 11:19:25 -06:00
Ali Waseem 31045d35fd Fix: infinite re-render on table when computing foreign keys (#39850)
fix infinite re-render on table editor
2025-10-24 10:48:59 -06:00
Andrew Valleteau 268c29cd9d feat(studio): give action shortcut for persistent branches deletion (#39786)
* feat(studio): give action shortcut for persistent branches deletion

* chore: refactor dedup trigger

* chore: no-biome
2025-10-24 18:25:16 +02:00
Jordi Enric 4c151ec01d e2e fixes (#39845)
* only require approval on forks

* update readme

* update example

* update readme
2025-10-24 16:24:55 +02:00
Charis 21d27b9a62 perf(storage menu): improve bucket list for users with many thousand buckets (#39826)
* perf(storage menu): virtualize and memoize bucket rows

The Storage Menu fails to render properly when the user has thousands of
buckets. Virtualizing and memoizing BucketRows to reduce rendering work.

* refactor(bucket list): only virtualize bucket list when more than 50 buckets

* style(storage menu): improve styling for virtualized and unvirtualized lists
2025-10-24 12:27:43 +00:00
kemal.earth ebf9db565b fix(studio): syntax error in banner (#38601)
* fix: rendering anchor inside button

* chore: revert banner logic out of testing purposes

* chore: debugging the gap

* chore: remove unused css
2025-10-24 12:52:01 +01:00
kemal.earth b8bc7ffc18 fix(studio): comma formatting for auth overview numbers (#39838)
fix: bring commans in for big numbers
2025-10-24 11:37:00 +01: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
Katerina Skroumpelou 416df4afa4 chore: respect catalog version for postgrest-js (#39837) 2025-10-24 11:58:56 +03:00
Alaister Young 45713e2910 fix: nimbus local/staging region (#39841) 2025-10-24 08:55:26 +00:00
Guilherme Souza c73296e549 docs: add missing Dart examples (#39815) 2025-10-24 05:26:04 -03:00
Saxon Fletcher 7ade636a79 Improve database functions list (#39835) 2025-10-24 17:18:59 +10:00
Kanishk Dudeja cbf676c83e refactor(billing): show success toast for 202 accepted response from subscription confirm endpoints (#39823)
* refactor(billing): show success toast if backend returns 202 Accepted status code

* don't need to check slug for sub confirm endpoint
2025-10-24 12:11:38 +05:30
Ali WaseemandAli Waseem c41a5be8a5 Feature: Duplicate functions from the studio dashboard (#39821)
* added feature to duplicate functions

* updated formatting for index file

* removed unused ai assitant code

---------

Co-authored-by: Ali Waseem <awaseem@Alis-MacBook-Pro.local>
2025-10-23 15:48:53 -06:00
Ali Waseem f236876270 Bug fix: update headers so that they are sent correctly (#39824)
fixed bug to send correct headers using form vals
2025-10-23 15:48:18 -06:00
Greg Richardson 62be8c815b docs(mcp): add section on manual authentication (#39816) 2025-10-23 13:22:03 -06:00
Charis 33e716c684 fix(support form): bug with log snapshot (#39819)
The log snapshot is properly cut off at support form navigation in the
preview, but not when it is actually uploaded. That happens because we
try to take ownership of the current log snapshot twice, so the second
time it falls back to the non-snapshotted logs. Changed to take the
snapshot once when the support form is mounted and then pass it to child
components/handlers.
2025-10-23 14:55:56 -04:00
Charis 7ad5891e45 fix(table editor): don't show dialog separator for hidden context menu items (#39818) 2025-10-23 14:51:31 -04:00
Greg Richardson 38cae5aa41 chore: @supabase/postgres as code owner for pg-meta package (#39817) 2025-10-23 12:45:31 -06:00
Sean Oliver f73ea9bd74 feat: add AI-powered table generation variant (2 of 3) (#38934)
* Add table quickstart with templates and AI generation

Implement table quickstart feature with two variants:
- Template-based: Pre-built schemas across multiple categories (social, ecommerce, content, productivity)
- AI-powered: Generate custom table schemas from natural language prompts

Key features:
- Template selector with category tabs and schema previews
- AI generation using gpt-oss-120b via Bedrock for fast response times
- Streaming responses with real-time table generation
- Quick idea chips for common use cases
- Success feedback and seamless integration with table editor
- Feature flag gated (tableQuickstart) with 7-day new project window
- Comprehensive error handling and retry logic
- ARIA labels and accessibility improvements

Technical implementation:
- Custom React hooks for AI generation and state management
- Zod schema validation for type-safe streaming
- API endpoint with structured object streaming
- localStorage-based dismissal state
- Consistent styling with existing UI patterns

* Refactor and optimize AI table generation

Refactor to use AI SDK streaming with structured object generation:
- Use streamObject() with Zod schema validation for type-safe streaming
- Add 50KB buffer limit to prevent memory issues from oversized responses
- Replace custom stream parsing with Object.assign() for efficient merging
- Use fetchHandler utility for consistent error messages across codebase
- Clean up comments and unused code

* Update quickstart widget styling to match action card

- Changed background from bg-surface-75 to bg-surface-100
- Changed hover background to bg-surface-200
- Applied to AI widget, template widget, and quick idea buttons

* Address PR review feedback

- Persist AI results to localStorage so users can create multiple tables from same generation
- Remove unnecessary isMountedRef checks before synchronous state updates
- Change Quick ideas label to semantic h4 element for accessibility
- Add TODO comment about migrating to experimental_useObject() hook

* Clean up table quickstart implementation

- Match SQL Editor ActionCard styling with circular icons
- Implement smart Generate/Regenerate button logic
- Add tooltips for column counts
- Persist prompt to localStorage
- Fix React hook dependency warnings
- Remove debugging artifacts
2025-10-23 11:35:43 -07:00
Guilherme Souza 3b8b20b038 docs: fix updateUser method call in auth-anonymous guide (#39811)
* docs: fix updateUser method call in auth-anonymous guide

* Update auth-anonymous.mdx
2025-10-23 16:04:44 +00:00
kemal.earth e5beda1b0e fix(studio): auth overview table arrow styling (#39810)
* fix: align arrows to end always

* chore: remove dummy data
2025-10-23 16:48:49 +01:00
Joshen Lim bbf93f0c2f Fix region empty after selecting cloud provider (#39797) 2025-10-23 22:15:28 +08:00
Chris Chinchilla 7f7cea24d8 docs: Correct code path in SvelteKit getting started (#39806)
Correct code path in SvelteKit getting started
2025-10-23 15:32:32 +02:00
Jordi Enric c44220c096 add coming up state to new project home DESIGN-300 (#39680)
* add coming up state to new project home

* handle redirect correctly

* tweak spinner/laben logic

* show empty state in advisor whiel coming up

* prevent query while advisor is forcing empty state

* fix enabled

* rm state dep

* move complex bool to variable
2025-10-23 15:25:43 +02:00
Charis f1e4970352 db: allow public read access to troubleshooting entries table (#33172)
* db: allow public read access to troubleshooting entries table

* chore: allow troubleshooting generation from public client
2025-10-23 13:24:23 +00:00
Jordi Enric 37500328a2 Rename Active Users to Auth Activity (#39805)
rename active users to auth activity
2025-10-23 15:22:06 +02:00
hallidayo de6bf4f036 docs: nextjs auth based cookie link (#39655)
next js cookie auth links
2025-10-23 12:35:39 +00:00
kemal.earth ec53ba827b fix(studio): cache hit rate on query perf with pg_stat_statements (#39804)
fix: cache hit rate on query perf with pg_stat_statements

On the old table the number wasnt rendering due to it being a string. Added a guard.
2025-10-23 13:12:36 +01:00
Thomas f1ca06f2ea fix(billing): do not show auto-renewal banner on aws marketplace onboarding page for private offers 2025-10-23 13:33:47 +02:00
Jordi Enric e38f55530b add redirect to query performance (#39800)
fix
2025-10-23 13:02:33 +02:00
Filipe CabaçoandJoshen Lim 3613309626 fix: add modal to realtime settings to warn users of disconnect (#39787)
---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-23 11:01:28 +01:00
kemal.earth 53163c5bc3 feat(studio): auth overview ui tidy (#39785)
* feat: overview usage card match homepage

This matches the tiles for auth overview usage to the card styling on the homepage.

* style: smol tweak to card header

* style: table empty state

* style: table row styling

* feat: remove dummy test codes

* chore: remove ai slop empty file

* nit: remove border top from spacer

* chore: remove loading label from table cards

* fix: loading state for stat cards

* style: skeleton loader of cards tidy
2025-10-23 10:55:04 +01:00
a523211ab3 docs: Update postgres.mdx to improve migration methods (#37868)
* Update postgres.mdx to improve migration methods

1. Updated existing migration methods description.
2. Added logical replication.

* Update db size query

* Misc updates

Some updates to the connection settings and misc grammar fixes.

* Minor changes to code snippets

* Minor updates to migrate from Postgres to Supabase

- Clarify connection types
- Update notes

* Update resource increase on pg_restore description

Update resource increase on pg_restore description

* Misc fixes to Postgres to Supabase docs

- Update connection modes information
- Change analyze call

* Apply suggestions from code review

Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>

* Formatter

* Linter

* Fix links

* More linting

* Formatter

---------

Co-authored-by: Chris Chinchilla <chris@chrischinchilla.com>
Co-authored-by: Chris Chinchilla <chris.ward@supabase.io>
2025-10-23 08:17:19 +02:00
Joshen LimandAli Waseem a3fc267d4a Add threshold value to persist sort by in auth users (#39782)
* Add threshold value to persist sort by in auth users

* Update apps/studio/components/interfaces/Auth/Users/UsersV2.tsx

Co-authored-by: Ali Waseem <waseema393@gmail.com>

* Fix local storage values getting overriden when landing on auth users page directly, and merge useEffect for loading local storage values

* Nit

* Fix

* Update warning

* Fix

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-10-23 11:40:57 +08:00
Joshen Lim fe4d394fa8 Chore/improve error handling ux for insert before and remove child errors (#39779)
* Improve error handling UX for insertBefore and removeChild client exception errors

* nit

* nit refactor
2025-10-23 09:28:35 +08:00
Charis 13c4b1584c fix,perf(policies search) (#39790)
* fix(policies search): replace useUrlState with nuqs

There is a bug when typing quickly into the search field on the policies
page: because useUrlState naively uses router.replace, which is
asynchronous, the search term can get corrupted, e.g., searching for
"dummy" might end up with a final value of "dum". Switched to nuqs for
better handling.

* perf(policies page): memoize and optimize for projects with many tables

A project with hundreds of tables will have extremely slow search
performance for the policies page, because of heavy rerendering. Made
some optimizations:
- Memoized to reduce rerendering
- Hid filtered-out tables instead of unmounting, so we don't have to
remount when the search is cleared

* refactor(policies page): pass policies info through context

Avoid having a mess of props by creating a PoliciesDataContext to share
policy information.

* cleanup(policies pages): minor code cleanup, no user-facing changes
2025-10-22 20:57:11 +00:00