Commit Graph
4673 Commits
Author SHA1 Message Date
bb886317c7 feat(studio): Add expiration date and last used to personal access tokens (#37908)
* feat(studio): Add expiration date and last used to personal access tokens

* Nit polish

* ref: Mark expired tokens as such

* chore: run prettier

* Clean up

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: kemal <hello@kemal.earth>
2025-08-20 07:53:51 +02:00
kemal.earthandJoshen Lim 099304dac0 feat(studio): update access token area ui (#37949)
* chore: branching off breaking down scoped pat work

This branches off the scoped PAT prototype and gives us a first base to go off. In this branch I will be migrating access tokens to their new visual style but they will be behaving as they currently do.

* chore: separate sheet and dialog

Separated the new scoped PAT sheet off. We can interchange. Anyway we will probably need to when opt in and out becomes available.

* fix: remove unused part of test

The test was still checking for permissions. Hidden that for now.

* Fix prettier

* Clean up

* Hide new token banner if deleting the new token that was created

* Clean up

* Nit prettier import sorts

* feat: remove future files for now

This removes some of the upcoming components for Scopted PATs as its not really in scope of this. Also tidys up imports etc in files

* Nit refactors

* Update warning dialog in NewAccessTokenDialog

* chore: regenerate types

* chore: regenerate types again

* fix: update mock response in new access token button test

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-19 11:10:56 +01:00
Han Qiao bc3a6e787b fix: update prod branch name together with git branch (#37976) 2025-08-19 17:32:30 +08:00
Alaister YoungandJoshen Lim 29e107af4a [FE-1712] chore: use /available-regions endpoint for project creation (#37371)
* chore: use /available-regions endpoint for project creation

* fix types

* make postgres version selection work

* Small nit refactors

* Feature flag changes + fix icons for flags in various places

* Fix creating projects when selecting a smart region

* Fix sending region selection to create project endpoint

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-19 16:36:59 +08:00
Alaister YoungandJoshen Lim a0f86b3010 feat: disable users features (#38020)
* feat: disable logs features

* feat: disable project homepage features

* feat: disable org features

* Nit fixes

* reenable billing

* feat: disable database features

* feat: disable users features

* Change create user flag to send invite

* Change create user flag to send invite flag

* Tiny nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-19 14:22:12 +08:00
Alaister YoungandJoshen Lim 33bd798d14 feat: disable database features (#38019)
* feat: disable logs features

* feat: disable project homepage features

* feat: disable org features

* Nit fixes

* reenable billing

* feat: disable database features

* Rename creation_enable_rls_toggle to just enable_rls_toggle and apply it to GridHeaderActions

* Minor nits

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-19 12:52:00 +08:00
Joshen Lim 13d264a57c Fix CSV import for postgres array types (#37995)
* Fix CSV import for postgres array types

* Add test case
2025-08-19 12:39:08 +08:00
Alaister YoungandJoshen Lim 44c8f849ba feat: disable org features (#37991)
* feat: disable logs features

* feat: disable project homepage features

* feat: disable org features

* Nit fixes

* reenable billing

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-19 12:03:29 +08:00
Jordi Enric 03b0f35e3d fix unified logs gate (#38010) 2025-08-18 18:39:10 +02:00
Drake CostaandJoshen Lim 803890f4f9 Update /project/_/settings/api page for consistency with other Project Settings pages (#37996)
* refactor api-settings page

* Minor fix

* nit spacing

* Improve loading

* Improve loading

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-18 23:42:41 +08:00
Ivan Vasilov 46fd122eab fix: Revert permissions change in Vercel integrations component. (#38012)
Revert the changes https://github.com/supabase/supabase/pull/37899/files#diff-1be98329c7b0bc643acf274d192af3447a59c3e4e6dcf62a774c491531d86d89. The component is used in an org page.
2025-08-18 17:31:56 +02:00
Alaister YoungandJoshen Lim be45baf6c4 feat: disable project homepage features (#37990)
* feat: disable logs features

* feat: disable project homepage features

* Minor nit fixes

* Fix TS

* Rename profile:update to profile:show_information

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-18 15:59:24 +08:00
Joshen Lim c153df20c8 Refactor search list in sql editor to have context menu (#37945)
* Refactor search list in sql editor to have context menu

* Add visibility to snippet item in search list tree view

* Address feedback

* Attempt to fix unit test for edit secret modal

* REvert changes to edit secret modal test
2025-08-18 11:26:33 +08:00
Jordi Enric b1261751e8 fix tests (#37958) 2025-08-15 20:01:24 +02:00
Alaister YoungandJoshen Lim 915ba4bd30 feat: enable/disable dashboard features (#37921)
* feat: enable/disable dashboard features

* use the set directly

* move enabled features to common

* remove sneaky any

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-16 01:45:43 +08:00
Jordi Enric e187e212c1 FE-1813: Audit Logs Improvements (#37946)
* use logsdatepicker in audit logs, fix error hiding filters

* use logsdatepicker in acc audit logs

* move filters out of err

* add hideWarnings to logs date picker. make "today" button scroll to current month. change icon and add tooltip in timerange reset button so its not confused with a close button

* fix filters below loading state
2025-08-15 19:41:29 +02:00
Jordi EnricandJoshen Lim 99dcbfe3dc add etl logs (#37930)
* add etl logs

* fix missing desc

* rename to etl-replication-logs

* rename sidebar

* Add links to ETL logs

* Fix

* Smol

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-15 13:22:40 +02:00
Drake CostaandJoshen Lim afd82d1ee0 [Replace yup] Refactor Sign In/Up forms to use shadcn and replace yup with zod (#37913)
* refactor sign-in forms, remove `yup-password`

* add missing disabled state to email field

* Fix zod validations for min length

* minor fix loading state sign up form, and use motion div for success state

* Remove unnecessary useState for isSubmitting

* Nit

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-15 13:12:34 +07:00
Saxon Fletcher 0952d46d40 Fix so can change prod branch (#37937)
* fix so can change prod branch

* update to remove useEffect
2025-08-15 12:26:57 +07:00
Saxon FletcherandJoshen Lim f9a6af7a68 Table consistency (#37924)
* update project tables

* org team table

* Minor fixes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-15 13:16:55 +10:00
Drake Costa ca4b3bc624 Refactor Storage Create/Edit/Empty/Delete Modals to use Shadcn components (#37517)
* Refactor `StorageMenu` modals to replace deprecated patterns

* add test for `DeleteBucketModal` and update test setup

Note: Because this component uses `useParams`, it's necessary to have the dynamic route segment passed to `next-router-mock`'s `createDynamicRouteParser`. In order not to have to manually list all of these as the application grows, I added a glob utility that uses the `pages/` directory  to automatically generate an array of dynamic route paths in this case.

* add test for `EmptyBucketModal`

* add test for `EditBucketModal` and add `isNonNullable` utility function

* add test for `CreateBucketModal`

* implement requested changes

* implement visual fixes
2025-08-14 21:23:08 +02:00
Joshen Lim abf62572a4 Reinstate captureException in SessionTimeoutModal with lowered quota usage (#37925) 2025-08-14 15:41:28 +07:00
Joshen Lim 7a35ad3081 Bump temp API key expiry to an hour just for realtime inspector (#37896)
* Bump temp API key expiry to an hour just for realtime inspector

* Refresh temp api token whenever starting a refresh listen session in realtime inspector if current token in realtime config is a temp key
2025-08-14 15:24:30 +07:00
Joshen Lim 1ab728e8e9 Remove captureException in SessionTimeoutModal (#37895) 2025-08-14 14:42:23 +07:00
Joshen LimandCharis a3e585b4ae Chore/refactor database publications page (#37901)
* Refactor database publications page

* Use new page layout

* Update apps/studio/components/interfaces/Database/Publications/PublicationsList.tsx

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

* Address feedback

* Add tooltips

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-08-14 13:24:06 +07:00
Christian Butcher f3013222ff Update LinterPageFooter.tsx (#37890)
Fix missing "after" in reset suggestion
2025-08-13 15:54:07 +00:00
CharisandJoshen Lim e8a19faa03 feat: drop file to import data in Table Editor (#37888)
* feat: drop file to import data

In the Table Editor for an empty table, make the entire grid area a
dropzone so that files can be dropped onto the grid area for importing.
Dropping a file opens the SpreadsheetImport side panel with the dropped
file already loaded.

* refactor: drag and drop file import

Refactor logic into hooks and utility functions

* refactor: file drop import

Small changes caught in code review

* Opt to pass file through valtio store instead of event listener

* refactor: telemetry properties + cleaning up hook deps

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-13 11:32:06 -04:00
Jordi Enric c03dcc1ead remove effect for logs redirection (#37898)
* rm effect

* diff approach, rm effect for unified logs

* simplify, only redirect to explorer, keep unifiedlog check

* clean up

* dynamic url in the sidebar based on unified logs feature preview

* fix deep link missing ref
2025-08-13 15:37:16 +02:00
Joshen Lim e75c4b2960 Swap useCheckPermissions with useAsyncCheckProjectPermissions part 3 (#37899)
* Swap useCheckPermissions with useAsyncCheckProjectPermissions part 3

* Fix loading state in edge function secrets
2025-08-13 19:07:35 +07:00
Ignacio Dobronich 61379cbe2a chore: add confirmation modal when enabling SMS MFA (#37879) 2025-08-13 09:06:07 -03:00
Kevin Grüneberg d60b3e3b9e feat: cached egress rollout (#37827) 2025-08-13 17:36:48 +08:00
Thomas 90b2288122 feat(billing): add onboarding page for AWS Marketplace 2025-08-13 11:31:14 +02:00
Saxon FletcherandJoshen Lim af9310f5b3 ui consistency issues (#37823)
* ui consistency issues

* storage policies

* copy

* Fix storage policies y gap

* Small fixes

* Add deprecated comments

* Use Card component for S3 settings

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-13 10:55:09 +10:00
hallidayo 3f56fa9bff fix: connect Remix guide (#37865)
remix connect update
2025-08-12 13:59:46 -02:30
Han Qiao c32c74e34c fix: diff all schemas on branch merge (#37754)
* fix: diff all schemas on branch merge

* chore: remove branching limitation on schema and extensions

* chore: remove limitation from blog post

* chore: remove limitation from docs
2025-08-12 21:18:24 +08:00
Joshen Lim e320368dc7 Part 2 of swapping useCheckPermissions with useAsyncCheckProjectPermissions (#37860)
* Part 2 of swapping useCheckPermissions with useAsyncCheckProjectPermissions

* Fix TS

* Address feedback

* Fix
2025-08-12 17:34:53 +07:00
Saxon Fletcher 7b941a0fd7 Attempt to fix completion (#37787)
* attempt to fix completion

* use experimental output
2025-08-12 17:18:24 +07:00
7e367daf73 feat: use temporary api keys for storage explorer (#37696)
* feat: use temporary api keys for storage explorer

* Remove service key from storage explorer store + some minor UI nits

* Address TS

* Another TS

* Update

* Use temp API keys in realtime inspector (#37740)

* Use temp API keys in realtime inspector

* Fix

* fix: typo from github web ui…

* fix: opps

* fix: missing import

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Cemal Kılıç <cemalkilic@users.noreply.github.com>
Co-authored-by: Cemal Kilic <cemalkilic96@gmail.com>
2025-08-12 11:40:45 +02:00
Joshen Lim 4418e6df19 Chore/align bucket and object naming validation with storage api (#37854)
* Align bucket naming validation

* Align folder naming validation

* Remove description
2025-08-12 14:01:34 +07:00
Joshen LimandAlaister Young 7ed5edd320 Add CTA to unrestricted badge in table editor (#37730)
* Add CTA to unrestricted badge in table editor

* Update apps/studio/components/interfaces/TableGridEditor/GridHeaderActions.tsx

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-08-12 10:44:48 +07:00
Riccardo Busetti e9424b98de feat(replication): Delete destination and pipeline atomically (#37790) 2025-08-11 08:23:15 +02:00
Joshen LimandDrake Costa a897cc27f0 Part 1 of swapping useCheckPermissions with useAsyncCheckProjectPermissions (#37751)
* Part 1 of swapping useCheckPermissions with useAsyncCheckProjectPermissions

* Update apps/studio/hooks/misc/useCheckPermissions.ts

Co-authored-by: Drake Costa <drake@saeris.io>

* Address feedback

---------

Co-authored-by: Drake Costa <drake@saeris.io>
2025-08-11 11:53:15 +07:00
Drake CostaandTerry Sutton d6fe8476f3 Refactor EditSecretModal to use shadcn components (#37258)
* chore: Refactor `NewAccessTokenButton` to use shadcn components

This brings `NewAccessTokenButton` into conformance with the latest UI patterns of using shadcn based components, zod schemas, and react-hook-form for form submission.

I based this refactor on the implementation of `CreateSecretAPIKeyDialog`, which already made use of the above.

* add success and failure toasts

* add smoke test for `NewAccessTokenButton`, fix vitest config

This adds a minimal test for `NewAccessTokenButton` but more importantly fixes a critical bug in the vitest configuration for `studio`.

Because `restoreMocks: true` was set in the config, this meant that the mock implementation for `window.matchMedia` defined in the `tests/vitestSetup.ts` file was being **reset** to an empty function before each test suite was run. While this didn't appear to be a problem before, that appears to be because none of the existing tests had `motion.div` in their component trees. Since `motion.div` calls `addListener` on a media query as part of it's lifecycle, that meant that any test which included it would fail as `addListener` would be undefined in this situation. Removing `restoreMocks: true` from the config results in the desired mocking behavior.

This change is necessary in order to test any component that has the `FormItemLayout` component, as it uses `framer-motion` to animate in error messages for input elements.

* add warning comment in case of future config regression

* update test cases, reset form on dialog close, testing setup fixes

This fixes an issue with the polyfills for the testing environment, where a call to `useMutation` would fail as a result of `TransformStream` being set to `null`.

Basic tests for access token creation and form resetting added. Adds `@faker-js/faker` to the studio app devDependencies to generate mock data for `msw` endpoint response.

Adds `shx` to the docs app devDependencies to ensure that the `codegen:examples` script runs cross-platform.

* ensure mocked date is a string

* update testing setup, pollyfills and add rich type support to addAPIMock

* add missing changes

* Move `EditSecretModal` to be child of `SecretRow`

In the accompanying PR for `DeleteSecretModal`, that one will also be moved over to `SecretRow`

* Update studio testing setup files

Improves API mocking type safety and polyfills browser APIs necessary to run tests with framer-motion components

* chore: Refactor `NewAccessTokenButton` to use shadcn components

This brings `NewAccessTokenButton` into conformance with the latest UI patterns of using shadcn based components, zod schemas, and react-hook-form for form submission.

I based this refactor on the implementation of `CreateSecretAPIKeyDialog`, which already made use of the above.

* add success and failure toasts

* add smoke test for `NewAccessTokenButton`, fix vitest config

This adds a minimal test for `NewAccessTokenButton` but more importantly fixes a critical bug in the vitest configuration for `studio`.

Because `restoreMocks: true` was set in the config, this meant that the mock implementation for `window.matchMedia` defined in the `tests/vitestSetup.ts` file was being **reset** to an empty function before each test suite was run. While this didn't appear to be a problem before, that appears to be because none of the existing tests had `motion.div` in their component trees. Since `motion.div` calls `addListener` on a media query as part of it's lifecycle, that meant that any test which included it would fail as `addListener` would be undefined in this situation. Removing `restoreMocks: true` from the config results in the desired mocking behavior.

This change is necessary in order to test any component that has the `FormItemLayout` component, as it uses `framer-motion` to animate in error messages for input elements.

* update test cases, reset form on dialog close, testing setup fixes

This fixes an issue with the polyfills for the testing environment, where a call to `useMutation` would fail as a result of `TransformStream` being set to `null`.

Basic tests for access token creation and form resetting added. Adds `@faker-js/faker` to the studio app devDependencies to generate mock data for `msw` endpoint response.

Adds `shx` to the docs app devDependencies to ensure that the `codegen:examples` script runs cross-platform.

* ensure mocked date is a string

* update testing setup, pollyfills and add rich type support to addAPIMock

* add missing changes

* Move `EditSecretModal` to be child of `SecretRow`

In the accompanying PR for `DeleteSecretModal`, that one will also be moved over to `SecretRow`

* fix imports

* Update test, fix rebase errors

* remove unnecessary code

* resolve type errors

* fix missing listen call for msw, resolve test type error

* fix imports

* Update studio testing setup files

Improves API mocking type safety and polyfills browser APIs necessary to run tests with framer-motion components

* fix missing listen call for msw, resolve test type error

* fix imports

* remove duplicate test

* update testing setup

* implement requested changes

* cleanup unnecessary conditional logic for undefined `secret` prop

* remove unused import

* remove unnecessary code

* cleanup, replace lodash import with JS

* add required router mock

* fix broken lockfile

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-08-08 15:42:06 -02:30
d60aceb562 Prompt and tool refactoring (#37500)
* try a really long context window to maximize caching

* update examples

* attempt to update packages and useChat

* update endpoints

* update zod

* zod

* update to v5

* message update

* Revert "zod"

This reverts commit ec39bac6b6.

* revert zod

* zod i

* fix complete endpoints

* remove async

* change to content

* type cleanup

* Revert the package bumps to rebuild them.

* Bump zod to 2.25.76 in all packages.

* Bump openai in all packages.

* Bump ai and ai-related packages.

* Remove unneeded files.

* Fix the rest of the migration stuff.

* Prettier fixes.

* add policy list tool

* refactor

* ai sdk 5 fixes

* refactor complete endpoint

* edge function prompt

* remove example

* slight prompt change

* Minor clean up

* More clean up

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-08 15:25:57 +07:00
Jordi Enric a023a59ec5 fix crash in query performance (#37758)
* fix crash

* undo query perf

* fix crash
2025-08-08 09:55:01 +02:00
d52e2c252b Update AI SDK 5 (#37656)
* attempt to update packages and useChat

* update endpoints

* update zod

* zod

* update to v5

* message update

* Revert "zod"

This reverts commit ec39bac6b6.

* revert zod

* zod i

* fix complete endpoints

* remove async

* change to content

* type cleanup

* Revert the package bumps to rebuild them.

* Bump zod to 2.25.76 in all packages.

* Bump openai in all packages.

* Bump ai and ai-related packages.

* Remove unneeded files.

* Fix the rest of the migration stuff.

* Prettier fixes.

* zod

* v4 again

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-08-08 14:15:39 +07:00
Stephen Morgan 18f3191b18 discourage email comparison (#37708) 2025-08-08 14:00:12 +07:00
Jordi Enric 9a80869981 fix custom report charts colors (#37595)
fix custom charts colors
2025-08-07 18:51:28 +02:00
Riccardo BusettiandJoshen Lim 1ea8c656db feat(replication): Add new UI for new table state handling (#37662)
* feat(replication): Add new UI for new table state handling

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Improve

* Fix

* Fix

* Fix TS

* Some UI tweaks

* Tweaaakk

* Fix semantics

* Small optimization

* Some adjustments

* Bit more fixes

* Small UI tweak to simplify UI

* Fixy fix

* gahhh tiny tiny tiny

* Last bit of cleanup

* I swear one final tweak

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-07 12:16:03 +02:00
a61927e790 feat: update dpa retrieval (#37563)
* feat: update dpa retrieval

* add tracking for other legal docs

* ci: Autofix updates from GitHub workflow

* update api types

* update pdf

* Refactor DPA with text confirm modal

* Nit consistency with using a and buttons

* Update TextConfirmModal

---------

Co-authored-by: pamelachia <26612111+pamelachia@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-08-07 16:12:54 +08:00