Commit Graph
3242 Commits
Author SHA1 Message Date
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
Ali Waseem 8548f2b98f fix: remove entity fetching as it is not needed anymore (#41503)
remove entity fetching as it is not needed anymore
2025-12-19 16:20:36 -07: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
Danny WhiteandCharis Lam f0acececce feat(studio): incident notice on support ticket creation (#41379)
* callout

* progress

* plural issues

* better handle multiple issues

* refactor

* remove fancy copywriting

* return IncidentAdmonition to support form page

* progress

* cleanup

* rabbit

Potential control flow issue: execution continues after handleError when data is undefined. When a non-401 error occurs, handleError(error) is called but execution continues to line 24 where data is accessed. If handleError doesn't throw, this will cause a runtime error accessing (data as any).is_healthy on undefined. Additionally, the as any cast on line 24 violates the coding guidelines. Consider validating the response shape instead.

* animate in

* fix

* reset

* remove unused dayjs

* rabbit

* rabbit

* fixes from code review

* rabbit

* rabbit

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-12-19 00:28:02 +00: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
CharisandJoshen Lim 1d49e9e954 feat(studio): show icon on tables exposed by data api (#41416)
* feat(studio): show icon on tables exposed by data api

Show an icon in the Table Editor for tables that are exposed via the
Data API.

* refactor(studio): move table api access query up to parent

* fix(studio): invalidate table privileges query on table create

* fix(studio): make RLS disabled warning on table editor more obvious

Change from warning -> danger

* Only show add foreign key in side panel if isSuccess

* chore(studio): put data api exposed badge behind feature flag

Only show badge for now if flag `dataApiExposedBadge` is enabled.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-18 16:50:26 +00:00
Ivan Vasilov 01c6b56a7c feat: Add disabled state for PostgREST (#39625)
* Fix the type for the project service status query.

* Fix the statuses math in ServiceStatus for services health.

* Minor fixes.

* Fix minor type issues.
2025-12-18 16:00:20 +00:00
Ivan Vasilov d247cc0c9d fix: Clear the feedback text area after sending (#41466)
* Remove the stored feedback from local storage when it's sent.

* Minor CSS fixes for the success component in the feedback widget.
2025-12-18 17:00:10 +01:00
Ivan Vasilov a9cb6cde6c fix: Deduplicate foreign schema nodes in Schema Visualizer (#41436)
Check if there's a node for the foreign table column before adding it to reactflow.
2025-12-18 16:48:41 +01:00
Ali Waseem 1df47957c2 chore: middle click, ctrl+click to open new tab for edge functions (#41376)
* updated middle click, ctrl click to open new tab

* updated PR review

* updated to create a wrapper for handling navigation

* updated file spelling

* updated to add edge functions button

* updated navigation for command space and enter

* added inset focus class
2025-12-18 08:33:38 -07:00
kemal.earth 1e84d28c81 feat(studio): filter out internal schemas from index advisor (#41428)
* feat: prototype of filtering out internal schemas from index advisor

* chore: coderabbit suggestion

* chore: use zod for ia schema
2025-12-18 13:24:18 +00:00
Joshen Lim 31d2e8ac5b Shift ETL destination components into a separate folder (#41457)
* Shift ETL destination components into a separate folder

* Small fix
2025-12-18 18:55:07 +08:00
Ivan VasilovandJoshen Lim a36b65e7a3 fix: Refactor all Table Editor links to include sorts and filters (#41075)
* Possible solution with building the URL from local storage.

* Refactor the local storage for tabs to use table ids.

* Fix the saving table state to local storage.

* Minor fixes.

* Open the correct schema when following the link.

* Minor fixes from CodeRabbit.

* Address charis' feedbacks

* Clean

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-18 10:21:09 +01:00
Danny White 9c7357f96f chore(studio) improve ClientSideExceptionHandler admonition (#41448)
* improve admonition

* format
2025-12-18 14:50:44 +08:00
Andrew ValleteauandAli Waseem 38176b82a3 feat(studio): setup soft-delete and easy branch restore (#40353)
* wip: branch deletion grace period

* fix: allow to force delete pending

* fix: update for staging

* fix: typo

* fix: revert soft-delete by default

* chore: revert branch-delete-mutation changes

* fix: revert platform.d.ts changes

* fix: use INVALID status as distinguisher

* fix: hide unusable options

* fix: apply review suggestion

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

* updated formatting

* fix: lint

* fix: react v5 update

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-12-18 12:14:52 +08: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
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
Joshen Lim 4c62839e28 Prevent ForeignRowSelector from firing multiple saves when clicked (#41381)
* Prevent ForeignRowSelector from firing multiple saves when clicked

* Smol
2025-12-17 23:15:53 +08:00
Tom Gallacher 911f1dd21e docs: remove incorrect claim for support of clone of clone (#41433) 2025-12-17 14:21:32 +00:00
Ignacio Dobronich 7535c0eeb4 chore: remove tierKey from backups (#41407) 2025-12-17 11:10:07 -03: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
Joshen Lim d150246ffb Update layout of existing destination panel + add some improvements (#41429)
* Update layout of existing destination panel + add some improvements

* update icn

* Smol fix
2025-12-17 21:33:23 +08:00
Luca Forstner cf41629249 chore: Align profile endpoint usage with api schema corrections (#41430)
* chore: Align profile endpoint usage with api schema corrections

* Update schema and remove usage of unused type

* No unnecessary export
2025-12-17 21:06:08 +08:00
Danny White c6351514b4 chore(studio): improve Alert Dialog component (#41336)
* index advisor

* support button type

* supasquad confirmation

* reset table

* reset table

* out of date notice

* copywriting

* fix inline flow

* nit

* button type

* fix type error

* rabbit

* fix descendants issue

* clearer copy

* remove redundant classes

* fix conflict with button type
2025-12-17 11:05:42 +00:00
Francesco Sansalvadore 76c86731ba chore(studio): show toast after copying strings to clipboard (#41401)
chore(studio): show toast after copying command menu strings to clipboard
2025-12-17 18:45:17 +08:00
Joshen Lim be85bb405f SQL Editor MonacoEditor should invalidate when setSql on debounce called for new snippet (#41422) 2025-12-17 16:34:16 +08:00
Ivan Vasilov 539d5a31fb fix: Sort the folders in the SQL Editor (#41386)
* Sort the folders according to the selected sort approach.

* Minor fixes.

* Minor fixes and clarifications.

* Remove a useEffect dep.
2025-12-17 09:06:44 +01:00
Joshen Lim 0c2f44d0b8 Remove use of useQueryStateWithSelect for auth users (#41380)
* Remove use of useQueryStateWithSelect for auth users

* Address code rabbit
2025-12-17 14:35:52 +08:00
Ali Waseem f807310248 fix: update height for SQL editor when showing pretty explain (#41351)
update spacing for sql editor
2025-12-16 19:44:37 +00:00
Marouane Souda 0905f22d3d fix(studio): show correct column error on composite foreign keys (#41320)
* fix(studio): show correct column error on composite foreign keys

* remove duplicate line
2025-12-16 10:24:39 -07:00
Charis 92db6bf4fa fix(studio): support for language feature in Storage.utils.ts (#41402)
Iterator.prototype.map() is only newly baseline available, which is
causing problems with older browsers.

Switched to Array.from(<iterator>) since that (and Map as an iterable)
date from 2015/2016
2025-12-16 16:30:09 +00:00
Marouane Souda 78fd7350f9 fix(studio): prevent users not permitted or on protected schemas to edit triggers (#41312)
* fix: disable edit trigger button without permission and in protected schemas

* modify edit trigger button disabled style
2025-12-16 09:22:38 -07:00
Joshen Lim d3d8331cae Use totalRows if available from params to validate MAX_EXPORT_ROW_COUNT (#41384)
* Use totalRows if available from params to validate MAX_EXPORT_ROW_COUNT

* Clean
2025-12-16 08:18:51 -07:00
Francesco Sansalvadore 2c5b71aeee chore(studio): update data api form pattern (#41306) 2025-12-16 15:41:21 +01:00
CharisandJoshen Lim 000c79e22b fix(studio): rework global storage size validation (#41378)
The global storage size validation depends on an unpaginated buckets
query to determine whether it is lower than any individual bucket's
cutoff. This causes a problem for users with tens of thousands of
buckets.

There's a bit of a UX/performance problem here, because in order to
determine whether any bucket's `file_size_limit` exceeds the global
setting, we need to get the max `file_size_limit` of `storage.buckets`
-- however, that column is not indexed.

My workaround is:
- Below a certain threshold (10,000) buckets, the query for max
`file_size_limit` is automatically run on form submit.
- Above that threshold, the user must confirm whether they want to run
the query. They're still allowed to change the storage config without
running it -- this does open a loophole where they can have a global
storage setting lower than an individual bucket's file size limit, but
though this is a potentially confusing situation, it's not strictly an
error.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-16 09:02:31 -05:00
Ignacio Dobronich 3e6b8fc875 chore: backups entitlement (#41084) 2025-12-16 08:06:16 -03:00
Ivan VasilovandAli Waseem d7e85ab2ef fix: Fix missing avatar image in Vercel connection settings (#41348)
* Fix the Vercel avatar image when going back to the URL.

* Fix portal issues on org and project linkers.

* Remove misleading comment.

* Use png format when requesting Vercel avatar.

* Fix a type error.

* Fix a missing import.

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-12-16 09:44:11 +01:00
Ivan VasilovandJoshen Lim 5fb5acc0b9 chore: Refactor the generation of ids for snippets (#41264)
* Add a generateDeterministicUuid function and tests for it.

* Use the new function and generate an id automatically when creating a snippet.

* Clean up extra code.

* Don't pass in id when creating a snippet.

* Add generateSnippetTitle function and use it instead of fixed string.

* When SQL editor is open, generate an id form a generated snippet title.

* Add id override for SQL editor to avoid flash when saving the snippet.

* Merge the two generate functions to happen in the same useMemo block.

* Save the snippet to the API when adding it.

* Minor fixes from CodeRabbit review.

* Hide new folder CTA in sql editor for self-hosted

* Don't add the snippet for saving, just set the value.

* UpsertContentPayload always has an id.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-16 09:43:59 +01:00
Ali Waseem 3c2206fddd chore: update wording to match docs (#41370)
update wording to match docs
2025-12-15 20:31:53 +00:00
Ali Waseem 143b1c4e14 fix: update name and description to be selectable in secrets (#41365)
update name and description to be selectable
2025-12-15 13:10:43 -07:00
Jordi Enric 9685711519 chore(query-perf): better error handling and sentry tracking (#41278)
* add retry

* handle and capture errors

* adds tests

* improve Sentry integration

* remove SQL logging from query performance error capture

* fix error msg prop handling

* add max and baseline to alert

* undo change meant for other branch oops
2025-12-15 20:39:09 +01:00
Francesco Sansalvadore 09ae9038ec chore(studio): realtime settings form patterns (#41275) 2025-12-15 18:33:58 +01:00
Jordi Enric 7da8131a63 Fix chart tooltip stacking over legend FE-2130 (#41357)
fix
2025-12-15 18:04:26 +01:00
Joshen Lim 34b5e0bf07 Fix deleting a user shows User not found toast error (#41339) 2025-12-15 07:42:08 -07:00
Joshen Lim 3dfb7ace25 Fix advisor panel header not scrollable (#41340)
* Fix advisor panel header not scrollable

* Smol
2025-12-15 07:41:29 -07:00
Joshen Lim 3a4c160a1f Fix replica panel closing when clicking new replica CTA from database selector (#41341)
* Fix replica panel closing when clicking new replica CTA from database selector

* Add comment

* Fix
2025-12-15 07:38:35 -07:00
Ignacio Dobronich 9ddeb3af03 chore: auth hooks entitlement (#41036) 2025-12-15 11:20:15 -03:00
Kevin GrünebergandJoshen Lim 8d3c3cd7e9 chore: use platform SSO entitlement (#41158)
* chore: use platform SSO entitlement

* Update platform.d.ts

* Update platform.d.ts

* Smol fix

* Fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-15 22:10:37 +08:00
Joshen Lim 84e5df97ea Fix log drains error handling (#41343) 2025-12-15 21:13:36 +08:00
kemal.earth 0bfa1de2ff chore(studio): update metrics api banner events (#41232)
* chore: update keys for metrics api banner

* fix: correct keys in banner
2025-12-15 09:31:34 +00:00