Andrew Valleteau and Ali 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
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
Francesco Sansalvadore
2c5b71aeee
chore(studio): update data api form pattern ( #41306 )
2025-12-16 15:41:21 +01:00
Charis and Joshen 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 Vasilov and Ali 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 Vasilov and Joshen 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
Joshen Lim
34b5e0bf07
Fix deleting a user shows User not found toast error ( #41339 )
2025-12-15 07:42:08 -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üneberg and Joshen 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
Francesco Sansalvadore
7b86edfe54
chore(studio): update storage settings forms layout ( #41285 )
2025-12-15 09:26:54 +01:00
Francesco Sansalvadore and Joshen Lim
3b7a7e4455
chore(studio): auth settings form patterns ( #41303 )
...
* chore(studio): oauth server form styling
* chore(studio): auth sessions form pattern
* chore(studio): auth rate-limits form pattern
* chore(studio): auth mfa form styling
* chore(studio): preposttab lowercase
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com >
2025-12-15 09:26:23 +01:00
Kevin Grüneberg
4b948672a3
feat: support platform plan usage insights ( #41185 )
...
- Adds missing log and active compute hour insights in both usage summary and daily stats (only Platform Plan)
- Adds database size usage insights for platform orgs
- Hide the circular progress bar if the usage item has no included usage (otherwise always 100% filled with any usage)
- Hide percentage if usage item has no included usage
- Adjust upcoming invoice breakdown to properly handle compute and active compute hours
- Hide subscription change button for platform/enterprise orgs (we already have a callout saying they gotta reach out to us)
- Adjusted database size insights for platform to no longer display 0.5 GB per project being included
2025-12-15 16:14:46 +08:00
e98ba379b8
Use page and form components general settings ( #41192 )
...
* use page and form components general settings
* prettier
* Update apps/studio/components/interfaces/Settings/General/General.tsx
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* update custom domain
* card content
* Update apps/studio/components/interfaces/Settings/General/General.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* Address coderabbit comments
* Update apps/studio/components/interfaces/Settings/General/General.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* Update apps/studio/components/interfaces/Settings/General/General.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* Update apps/studio/components/interfaces/Settings/General/General.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* Update apps/studio/components/interfaces/Settings/General/General.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* Update apps/studio/components/interfaces/Settings/General/CustomDomainConfig/CustomDomainsConfigureHostname.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com >
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
2025-12-15 03:28:54 +00:00
Ali Waseem
3a41846044
Feature: Pretty explain in SQL Editor ( #41289 )
...
* added cleaner explanation
* update UI
* refactored components
* updated logic
* removed steps
* updated UI
* updated read
* updated node render styles
* added tests
* updated file naming
* updated utility method
* updated description
* updated spacing
* updated to include header
* updated logic
* added flag to hide pretty explain
* updated cost width
* added aria label
* move index scan down
* updated to catch schema and qoutes
* remove node
* forgot the missed node
* addressed PR feedback
* updated bad slop
* removing tests
* updated node to be undefined, null remove it makes the logic cleaner
* updated function name
* updated row indicator to be separate components
* updated code rabbit feedback
* added divide by zero check
* updated test description
2025-12-12 20:35:18 +00:00
Danny White and Joshen Lim
73ece8a470
chore(studio): improve projects presentation ( #41179 )
...
* improve admonition
* remove redundant loader
* copywriting
* table empty states
* improve integrations presentation
* match integration styling
* fix clipping and h-full container
* revert test
* improve status presentation
* nicer status
* card status improvements
* comment clarification
* prettier lint
* fix testes
* comment
* Fix infinite loading behaviour
* Clean u0p
* Replace NoFilterResults with NoSearchResults
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com >
2025-12-12 20:35:43 +11:00
28e4473953
Update account/me page components ( #41193 )
...
* update account me page
* copy
* Update apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* Update apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* Update apps/studio/components/interfaces/Account/Preferences/ProfileInformation.tsx
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
* fixes
* fix sizes
* Smol fix
---------
Co-authored-by: Francesco Sansalvadore <f.sansalvadore@gmail.com >
Co-authored-by: Joshen Lim <joshenlimek@gmail.com >
2025-12-12 17:32:38 +08:00
3fdacb2cca
chore(studio): delete Confirm Modal component ( #41295 )
...
* docs
* naming
* docs
* mini fix
* update policies component
* use destructured prop
* rls policies dialogs
* custom domain dialogs
* restart server dialog
* remove ConfirmDialog (aka ConfirmModal)
* remove unrelated changes
* delete unrelated file
* language
* Update apps/studio/components/interfaces/Storage/StoragePolicies/StoragePolicies.tsx
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* fixed broken test
---------
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com >
2025-12-12 17:23:24 +08:00
Joshen Lim
27188c147c
Support creating multiple publishable keys, and deleting publishable keys ( #41186 )
...
* Support creating multiple publishable keys, and deleting publishable keys
* FIx types
* Smol
* Smol fix
* Address issues
* Update comment
* Replace all usage of useApiKeysVisiblity for checking permissions to just call useAsyncCheckPermissions directly
* Clean up and deprecate useApiKeysVisibility hook
* ADdress
2025-12-12 16:07:36 +08:00
Joshen Lim
77944aca9a
Decouple foreign schema creation from vector buckets ( #41258 )
...
* Decouple foreign schema creation from vector buckets
* Clean up
* Fix ts
* Fix issues
2025-12-12 14:42:56 +08:00
9f3af6e502
Generate policies experiment ( #40881 )
...
* policy generation
* add ai
* refactor
* table create performance
* policy list
* style
* simplify
* refactor
* flag
* tracking
* track
* ts
* fixes
* connection string
* re-add rls and realtime toggle
* restore old logic
* base path
* badge
* false rls
* copy
* add permissions button
* Refactor based on comments
* Fix TS
* More nudge
* Update tests
* Fix test
* Fixx
* Fix
* Address feedback
* Address issues
* Improve experiment telemetry for generate policies A/B test (#41172 )
* Address code rabbit catch
---------
Co-authored-by: Joshen Lim <joshenlimek@gmail.com >
Co-authored-by: Sean Oliver <882952+seanoliver@users.noreply.github.com >
2025-12-12 12:44:11 +08:00
Charis
85dde8f7db
fix(studio): use older supported syntax rather than Map.groupBy ( #41284 )
...
Some users' browsers do not support Map.groupBy (used in
Storage.utils.ts)
2025-12-11 22:02:43 +00:00
Charis
c0c824809e
feat(studio): add infinite pagination for buckets policies ( #41277 )
...
## Summary of changes
Buckets policies page at /project/_/storage/files/policies now uses the
paginated buckets endpoint to fetch buckets.
## Before
Used a non-paginated query.
## After
To support a paginated query, we now have:
- Infinite scroll loading behavior
- Fixed some of the buckets utilities to account for policy references
to buckets that haven't loaded yet
2025-12-11 15:45:16 -05:00
Charis
39e21ebef6
fix(studio): flash of sign in for join organization page ( #41283 )
...
The join organization page flashes the sign in screen briefly because it
does not check for loading status. Fixed so it goes directly from
loading skeleton to join confirmation view.
Resolves FE-2220
2025-12-11 20:14:07 +00:00
Marouane Souda and Ali Waseem
41ed95bde4
Edit functions protected ( #41203 )
...
* fix(studio): block editing database functions on protected schemas
* modify disabled db function button style
* remove unused import useDatabaseFunctionsQuery
* prettier
* prevent users without permission to edit f unctions
---------
Co-authored-by: Ali Waseem <waseema393@gmail.com >
2025-12-11 12:41:35 -07:00
Joshen Lim
511229f7a6
Fix creating users not invalidating users list and count ( #41254 )
2025-12-11 11:06:06 -07:00
Francesco Sansalvadore
40af66c39d
chore: db settings form pattern ( #41263 )
...
* chore(studio): update connection pooling form layout
* chore(studio): ssl config form pattern
* chore(studio): database settings form styling
* chore(ui): add contrast to PrePostTab text
2025-12-11 17:21:30 +00:00
Francesco Sansalvadore
754af51312
chore: form patterns cursor rules ( #41225 )
...
* chore(studio): integrate cursor rules with form patterns
* chore(studio): update FormLayout inner styling
* chore(studio): align actions form field to the right
* chore(design-system): wrap each form field in a CardContent
2025-12-11 18:03:30 +01:00
Francesco Sansalvadore
263730a8b8
chore: uniform card and panel padding-x ( #41237 )
2025-12-11 09:18:21 +00:00