Commit Graph
120 Commits
Author SHA1 Message Date
kemal.earth 180925bc92 feat(studio): inline actions for projects list (#42141)
## I have read the
[CONTRIBUTING.md](https://github.com/supabase/supabase/blob/master/CONTRIBUTING.md)
file.

YES

## What kind of change does this PR introduce?

Minor nit I wanted to address. Adds "more actions" to the projects list
view so you can delete projects in line (eventually batch delete maybe?)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Dropdown actions on project cards and rows: copy project reference
with visual feedback and delete project action.
* Delete confirmation modal accepts optional organization/project
context.
* Mini bar-chart metrics added to project cards for quick DB health
visualization.
* Header-focused card layout and compact project metadata for clearer
presentation.

* **Bug Fixes / UX**
  * Improved copy-to-clipboard feedback with toasts and icons.
  * Table header adjusted for proper column alignment.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-01-29 15:32:02 +00:00
Danny WhiteandJoshen Lim 8867183cdd chore(studio): handle additional dynamic button variants (#42061)
* update admonition and button

* other instances

* misc

* misc

* pitr

* buttonVariant naming

* fixes

* rabbit

* rename buttonVariant to variant

* rabbit

* fixes

* format

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2026-01-23 15:55:02 +08: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
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
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
Francesco Sansalvadore 263730a8b8 chore: uniform card and panel padding-x (#41237) 2025-12-11 09:18:21 +00:00
Ivan Vasilov 0d5be306ef chore: Bump React Query to v5 (#40174)
* Bump the deps, refactor deprecated code.

* Migrate keepPreviousData usage.

* Migrate all uses of InfiniteQuery.

* Fix refetchInterval in queries.

* Migrate all use of isLoading to isPending in mutations.

* Fix accessing location in claim-project.

* Fix a bug in duplicate query keys.

* Migrate all queries to use isPending.

* Revert "Fix accessing location in claim-project."

This reverts commit 2a07df64b5.

* Revert the rss.xml file to master.
2025-12-10 10:10:29 +01:00
Danny WhiteandJoshen Lim 11dc1324aa chore(studio): improve alert composition and usage (#41147)
* finesse optical alignment

* improvements

* actions styling

* improvements

* margins

* improvements

* fix docs

* fix

* improve schema warning admonition

* misc fixes

* tweaks

* docs and improvements

* alphabetical sidebar navigation

* remove alert-error

* fix build error

* Tiny fixes

* tiny docs update

* semantic description

* handle intro pages

* note NoPermission component

* docs sidebar ordering

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-10 08:05:30 +00:00
Joshen LimandAli Waseem e61d0e69cd Reinstate copy action for TextConfirmModal for staff only (#41042)
* Reinstate copy action for TextConfirmModal for staff only

* Clean

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-12-05 14:52:35 +00:00
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
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
Han Qiao d02926a68f fix: allow branch to be paused and restarted (#40884)
* fix: allow branch to be paused and restarted

* fix: enable pause button on branches

* chore: remove unnecessary query to get project detail
2025-11-28 14:34:46 +08:00
Alaister Young b06d7cd98a [FE-2111] chore: swap custom domains reverify to query (#40777)
chore: swap custom domains reverify to query
2025-11-25 07:24:28 -07: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
Joshen Lim 3ace7cbcac Fix transfer project button (#40672) 2025-11-21 13:12:08 +08:00
Ivan Vasilov 43cc61818c chore: Migrate all isPending uses in react-query (#40642)
* Bump react-query. Minor type and logic fixes.

* Migrate all use of isLoading to isPending in mutations.

* Fix type errors.
2025-11-20 16:44:53 +01:00
Ivan Vasilov a40ccc4b45 chore: Clean onSuccess and onError props on useQuery (#40641)
* Remove all onSuccess and onErrors from useQuery.

* Minor fixes to all refetchInterval.

* Fix smaller type issues.
2025-11-20 14:08:56 +01:00
8582c6a1e0 fix: correct whatsmyip link and missing space (#39519)
* fix: correct whatsmyip link and missing space

* updated formatting

---------

Co-authored-by: Jose Ledesma <jose@Joses-MacBook-Pro.local>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-12 15:27:32 +00:00
Alaister Young 8132f0d1e5 [FE-2111] chore: adjust custom domains refetch interval (#40377)
chore: adjust custom domains refetch interval
2025-11-12 11:36:00 +00:00
Saxon Fletcher d66307f98b fix responsive issues (#40029)
* fix responsive issues

* sidebar width
2025-10-31 19:25:41 +10:00
Saxon FletcherandJoshen Lim 4608b9af8c Simplify paused state (#39922)
* simplify paused state

* copy

* dialog

* Update UI

* More nudges

* nit

* Nudge

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-29 23:56:22 +08:00
Joshen Lim ec27332099 Last part of removing barrel files (#39957) 2025-10-29 19:22:35 +08:00
Joshen Lim 6e2a7feee7 Break down new project page into smaller components (#39812)
* Break down new project page into smaller components

* Fix types

* Address comments

* Add min length check for project name in project settings

* Fix tests
2025-10-27 14:04:56 +08: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
Joshen Lim 2822c259bf Custom domain update link to check TXT record (#39581) 2025-10-16 16:02:05 +08:00
Joshen LimandAlaister Young 0c08d5867f Refactor methods from projects query (#39475)
* Refactor methods from projects query

* Deprecate org-projects.ts

* Clean up

* Update apps/studio/components/interfaces/Organization/Usage/UsageSection/DiskUsage.tsx

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

* Update apps/studio/components/interfaces/Organization/Usage/UsageSection/DiskUsage.tsx

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-10-13 18:08:30 +08:00
Joshen Lim aa22af8ecd Deprecate useProjectByRefQuery, replace all usage with just useProjec… (#39316)
* Midway

* Add projects-infinite-query and remove use projects query in account audit logs

* Remove useProjectsQuery from RouteValidationWrapper

* Remove useProjectsQuery from OrganizationCard

* Remove useProjectsQuery in new project page

* Deprecate useProjectByRefQuery, replace all usage with just useProjectDetailQuery

* Remove useProjectsQuery from Organization Audit logs

* Fix check
2025-10-08 10:50:10 +08:00
Charis 008f654f6c feat: add fallthrough case in CustomDomainConfig (#39243)
We've received some support tickets about the custom domain UI showing nothing under the header. I suspect we're letting some case fallthrough in the nest of chained ternaries, but couldn't find it just by thinking very hard about the problem, so I'm adding some logging.
2025-10-03 12:19:59 -04:00
Joshen LimandAlaister Young 933329b30c Add flag for restarting project (#39153)
Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-10-01 18:40:23 +00:00
5f533247e1 Update docs url to env var (#38772)
* Update Supabase docs URLs to use env variable

Co-authored-by: a <a@alaisteryoung.com>

* Refactor: Use DOCS_URL constant for documentation links

This change centralizes documentation links using a new DOCS_URL constant, improving maintainability and consistency.

Co-authored-by: a <a@alaisteryoung.com>

* Refactor: Use DOCS_URL constant for all documentation links

This change replaces hardcoded documentation URLs with a centralized constant, improving maintainability and consistency.

Co-authored-by: a <a@alaisteryoung.com>

* replace more instances

* ci: Autofix updates from GitHub workflow

* remaining instances

* fix duplicate useRouter

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: alaister <10985857+alaister@users.noreply.github.com>
2025-09-26 10:16:33 +00:00
Raúl Barroso f4afd26d7d fix: top alignment on deleting project warning (#38862)
fix: top alignment
2025-09-22 08:39:57 +00:00
Joshen Lim d46525eac1 Chore/swap use check permissions with use async check project permissions part 8 (Season Finale) (#38619)
* Update perms checking in audit logs

* Deprecate useCheckPermissions, useIsPermissionsLoaded and useCheckProjectPermissions as they're no longer used

* Rename useAsyncCheckProjectPermissions to useAsyncCheckPermissions

* Fix TS
2025-09-16 17:05:57 +08:00
Joshen Lim a3035733d1 Make project infinite query keys fully unique (#38624)
* Make project infinite query keys fully unique

* Clean up
2025-09-12 10:50:55 +08:00
Joshen Lim 4124f0ed98 Shift useFlag hook and configcat library to common package, remove from Studio (#38203)
* Shift useFlag hook and configcat library to common package, remove from studio

* Fix test

* Fix test
2025-08-27 13:42:20 +07: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
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
Joshen Lim cab0585533 Fe 1799/consolidate to useselectedprojectquery and (#37684)
* Replace all usage of useProjectContext with useSelectedProjectQuery

* Replace all usage of useSelectedProject with useSelectedProjectQuery

* Replace all usage of useProjectByRef with useProjectByRefQuery

* Replace all usage of useSelectedOrganization with useSelectedOrganizationQuery

* Deprecate useSelectedProject, useSelectedOrganization, and useProjectByRef hooks

* Deprecate ProjecContext
2025-08-06 10:53:10 +07:00
Joshen Lim 008cca006d Refactor custom domain verification (#37349)
* Refactor custom domain verification

* Add success toast when cancelling custom domain

* Update toast success for other delete custom domain calls

* Revert unnecessary change

* Update copy

* Update copy
2025-07-22 19:47:07 +08:00
Kamil Ogórek 8436b31441 ref: Allow for Vercel-managed projects removal (#37013) 2025-07-10 15:33:13 +02:00
6f5982d635 Chore/update churn survey (#36722)
* update cancellation reasons

* update texts

* randomise options and only single select reasons

* label overrides and reason readability

* minor fixes

* fix reasons sending

* Fixes

* Adjust tooltip side

* improve header description

* add a label for radio options

* wrap shuffledReasons in useState so it doesn't randomly shuffle

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-06-29 17:58:39 +08:00
Bobbie SoedirgoandJoshen Lim 90d355b9cb feat: show upgrade warning if user objects exist in internal schemas (#36654)
* feat: show upgrade warning if user objects exist in internal schemas

* Clean up warnings into a separate file

* Update API types + fix TS issues

* Update apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureInfo.tsx

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-27 08:26:03 +00:00
f6692f2241 chore: Dashboard guards to limit what can and cannot be done by an AWS_K8S project (#36630)
* chore: transition from AWS_NEW to AWS_K8S

* chore: transition from useIsAwsNew to useIsAwsK8s

* chore: new useIsAws method

* chore: disk management protections

* chore: IPV4 addon protections

* chore: AWS_K8S restart protection

* chore: AWS_K8S read replica protections

* chore: restore to new project protections

* Update apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/DeployNewReplicaPanel.tsx

Co-authored-by: Tom Gallacher <tgallacher@users.noreply.github.com>

* chore: changes based on feedback

* fix: prettier

* minor fixes

* Use disabled state for ipv4 address in ipv4sidepanel isntead of hiding the UI entirely

* Revert hardcode in useSelectedProject

---------

Co-authored-by: Tom Gallacher <tgallacher@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-26 12:14:26 +08:00
angelico 84b8695de7 chore: transition from AWS_NEW to AWS_K8S (#36625)
* chore: transition from AWS_NEW to AWS_K8S

* chore: transition from useIsAwsNew to useIsAwsK8s
2025-06-25 11:35:07 +08:00
angelico cb29180283 chore: update definition of isPaidAndNotAwsNew (#36057) 2025-06-16 17:01:19 +08:00
Joshen Lim 363b976e94 Fix service checks coming up state (#35705)
* Fix service checks coming up state

* Fix delete project redirect

* Smol fix

* Remove unnecessary padding in Delete Project Panel

* Address feedback

* Rename confusing isSuccess param to isHealthy
2025-06-02 16:28:23 +08:00
Ivan Vasilov 4add928dae chore: Update API types (#35879)
* Regenerate all types from develop branch.

* Fix all types in studio.

* Remove extra type.
2025-05-26 15:43:14 +02:00
angelicoandJoshen Lim 0880e0e1d0 chore: allow pausing for AWS_NEW projects regardless of pricing tier (#35493)
* chore: gitignore .pnpm-store/*

* chore: allow pausing for aws new projects

* fix: incorrect logic

* chore: clean up logic

* Small refactor

* chore: update conditions for useIsOrioleDbInAwsRevamped

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-05-16 14:16:53 +08:00
Joshen Lim ff653107cf Remove isValidating check on custom domain cancel action (#35259) 2025-04-25 14:59:05 +08:00
Joshen Lim 323ac72cb1 FIx layout in support form (#35065) 2025-04-21 15:36:42 +07:00
Joshen Lim 248d5951e8 Remove isValidating disabled check for CustomDomainVerify cancel action (#35112) 2025-04-21 14:42:51 +07:00