Commit Graph
400 Commits
Author SHA1 Message Date
Danny WhiteandJoshen Lim 46ac132051 chore(studio): empty state improvements (#40807)
* migrations

* clearer value prop

* consistent verb

* migration input

* triggers

* extract trigger buttons

* database backups

* schema title

* unrelated nit

* fix

* shared component

* ui-patterns

* rename

* improve docs

* remove redundant overrides

* remove old file

* prettier fix

* fix type error

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-11-27 17:26:20 +08:00
Kevin Grüneberg f9d4bd20b9 chore: compute cost copy on plan change (#40730) 2025-11-24 16:30:03 +08:00
Danny White e235fd1a05 fix(studio): entity type color contrast (#40723)
* plans

* fix partition entity

* materialised view
2025-11-24 11:53:22 +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
Kevin Grüneberg 8b586a8253 feat: processing invoice status (#40605) 2025-11-20 12:09:36 +08:00
4a9def58c1 feat(studio): rename reports to observability (#40317)
* feat: rename reports to observability on nav sidebar

* fix: observability route

* feat: observability navigation and redirects

* fix: first time load redirects

* feat: change auth overview reports link

* feat: clean up of other links to observability sections

* fix: query perf redirects

* chore: find exhaustive deps and disable for time being

* fix: charis suggested fixes

* fix: forgotten suggested fix

* chore: delete old reports views files

* fix: paths in reports tests

* fix: url sync useEffect should trigger only once

* feat: reorganise observability sidebar

* fix: data api not being selected

* fix: wrong layout for realitime

* fix: custom reports reloading

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-18 17:54:05 +00:00
Joshen LimandAlaister Young 9efe2643e3 Joshen/fe 2141 swap organization settings page to use paginated projects (#40513)
* Use version 2 organization roles endpoint and fix all affected files + unit tests

* Update API codegen

* Replace all usage of old useProjectsQuery with useOrgProjectsInfiniteQuery

* Swap access callout for project roles to use collapsible instead

* Deprecate useProjectsQuery and clean up

* Update apps/studio/components/interfaces/Organization/TeamSettings/UpdateRolesPanel/UpdateRolesPanel.tsx

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-11-18 13:26:09 +08:00
Kevin Grüneberg 7e783dcb0a chore: remove upgrade support notice (#40433)
This no longer applies
2025-11-14 13:56:30 +08:00
Ignacio Dobronich a39b429e0d chore: audit log entitlement (#40242)
* chore: audit log entitlement

* Loading state

* format
2025-11-10 13:59:50 +00:00
kemal.earth 817b9deeaa feat(studio): adding log drains mention to plan features (#40136)
* feat: add mention of log drains to team plan in plan selection

Adds an additional feature row to the Team Plan to mention log drains can be added for another 60 dollars

* feat: experiment with highlighing team plan

* style: minor ring adjustment
2025-11-05 16:14:04 +00:00
Ivan Vasilov 8b657165b5 chore: Migrate to use custom type for ReactQuery queries and mutations (#40073)
* Add custom types for queries, mutations and infinite queries.

* Migrate all queries to use the new type.

* Migrate all infinite queries to useCustomInfiniteQueryOptions.

* Migrate all mutations to use useCustomMutationOptions.

* Add type to all imports in `types` folder.
2025-11-03 13:18:13 +01:00
Joshen Lim 2c0b2ba079 Smol feex (#40041)
* Smol feex

* Small fix
2025-10-31 22:35:02 +08:00
Joshen Lim 64e3e047eb Final final cleaning up barrel files (#40018)
* Final final cleaning up barrel files

* Fix merge conflict
2025-10-31 14:02:59 +08:00
Joshen Lim 75e1717a02 Remove barrel files part 02 (#39956)
* Remove barrel files part 02

* Clean up
2025-10-30 23:50:14 +08:00
Ivan VasilovandAli Waseem 391fdb877c feat: Add a note when upgrading from free to paid plan. (#37631)
Add a note when upgrading from free to paid plan.

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-10-30 14:48:12 +00:00
Joshen Lim 72d50d8ac4 Remove barrel files part 1 (#39955) 2025-10-29 18:07:20 +08:00
Ivan Vasilov da4a40e308 chore: Migrate RQ functions to use object syntax style (#39895)
* Migrate all uses of invalidateQueries to use object syntax.

* Migrate the remainder of useInfiniteQuery.

* Migrate all setQueriesData.

* Migrate all fetchQuery uses.

* Migrate some leftover functions from RQ.

* Fix issues found by Charis.
2025-10-28 10:43:14 +01:00
Kevin Grüneberg c26231a755 fix: usage page project filtering via URL param (#39919)
When opening the usage page with a projectRef param (filter by project), it lead to some odd behaviour where the project is not preselected and then after picking a project, it would end up showing the initially filtered project from the URL.

PR removes the odd all-projects logic and uses nuqs for URL state mgmt
2025-10-28 13:37:35 +08:00
Alaister YoungandJoshen Lim 8855d05803 chore(studio): swap react-query to object syntax (#39842)
* chore(studio): swap react-query to object syntax

* Fix small issues found

* Fix realtime settings

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-27 09:38:27 +01: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
Kevin Grüneberg 9961c3b4e9 fix: use Next Link for proper prefixing (#39891) 2025-10-27 13:35:14 +08: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
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
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
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 52aac9dfa6 Consolidate enabled flag checks to use isOptedIntoProjectLevelPermissions for useProjectsQuery (#39762) 2025-10-22 17:05:18 +08:00
Joshen Lim bf45063e69 Use upgrade plan button in FreeProjectLimitWarning (#39715) 2025-10-22 15:08:11 +08:00
9edc74f1b7 Swap project query to fix team role picker (#39720)
* Swap project query to fix team role picker

* Cleanup

* Fetch the projects in all cases, instead of only when there's no scoped roles.

* Make the projects fetch only when the panel is visible.

* Nit

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 13:13:11 +08:00
Ivan VasilovandCharis 0eec4e2247 feat: Redirect the user after claiming a project (#39527)
* Use the url in the response to redirect the user.

* Fix a title warning.

* Update apps/studio/pages/claim-project.tsx

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

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-17 09:23:30 +02:00
Alaister YoungandJoshen Lim 947d3b2a73 fix: plan upgrade url for org usage pages (#39608)
* fix: plan upgrade url for org usage pages

* nit fix

* fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-17 14:41:54 +08:00
CharisandJoshen Lim 1b8c8b7398 fix(feedback): generate image urls on backend (#39559)
* fix(feedback): generate image urls on backend

* Fix support form skip generate attachment urls if no attachments

* Refactor to use useLocalStorageQuery

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-16 12:52:05 +08:00
Ivan Vasilov 56d40fe0b2 chore: Migrate eslint for all apps to use flat config (#39486)
* Use the "eslint" command instead of built-in next lint since it's getting obsolete.

* Bump all deps to support eslint 9+.

* Convert the rules in eslint-config-supabase to be flat-config compatible.

* Migrate all apps to use the new eslint config rules.

* Fix all errors found in the new setup.

* Fix the no default exports ignores.

* Scan all files for linting in studio.

* Fix all lint errors.

* Make the reportUnusedDisableDirectives a warning.
2025-10-15 16:35:24 +02: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
Danny WhiteandIvan Vasilov 839db84398 chore(studio): better new org and project forms (#39422)
* basic fixes

* improve form contents

* fix border clipping

* remove redundant animation and classes

* polish confirm org

* improvements

* fix header rounding

* prevent password managers from appearing

* Fix the handling of token when redirecting back. Use nuqs for getting URL params. Simplify some logic.

* Minor fix to the useEffect for org name.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-10-13 10:04:41 +02:00
Joshen Lim 7ebb7af1f6 Chore/projects pagination part 07 (#39353)
* CmdK OrgProjectSwitcher to swap useProjectsQuery with useProjectsInfiniteQuery

* Remove usage of useProjectsQuery in ProjectDropdown

* Remove usage of useProjectsQuery in NotificationsPopover

* Remove usage of useProjectsQuery in NotificationsFilter

* Remove usage of useProjectsQuery from LoadingState

* Clean

* Remove usage of getProjects from org-ai-details and fix missing key props in AIOnboarding

* Remove useAutoProjectsPrefetch from org/[slug]/index

* Fix TS  + clean up

* Clean

* Remove usage of useProjectsQuery in NewOrgForm

* Remove usage of useProjectsQuery in SupportForm -> AIAssistantOption

* Remove usage of useProjectsQuery in PlanUpdateSidePanel

* Remove usage of useProjectsQuery in NoProjectsOnPaidPlan

* Remove useProjectsQuery in IntegrationPanels

* Remove useProjectsQuery from IntegrationPanels 2

* Remove useProjectsQuery from IntegrationConnection

* Remove useProjectsQuery from ProjectLinker, SidePanelVercelProjectLinker, and choose-project

* Clean up

* Remove useProjectsQuery in AwsMarketplaceLinkExistingOrg

* Clean

* chore/projects pagination part 08 (#39355)

Optimize useProjectsQuery for Team settings

* Remove console log
2025-10-13 13:39:31 +08:00
Kevin Grüneberg e16ea9e2bd chore: missing address stronger wording (#39420)
Still 30k paying customers with missing address - changing the language to be a bit harsher + showing as danger instead of warning
2025-10-10 11:59:10 +08:00
Joshen LimandIvan Vasilov 8e9d3de3bc chore/projects pagination part 06 (#39351)
* CmdK OrgProjectSwitcher to swap useProjectsQuery with useProjectsInfiniteQuery

* Remove usage of useProjectsQuery in ProjectDropdown

* Remove usage of useProjectsQuery in NotificationsPopover

* Remove usage of useProjectsQuery in NotificationsFilter

* Remove usage of useProjectsQuery from LoadingState

* Clean

* Remove usage of getProjects from org-ai-details and fix missing key props in AIOnboarding

* Remove useAutoProjectsPrefetch from org/[slug]/index

* Fix TS  + clean up

* Clean

* Remove usage of useProjectsQuery in NewOrgForm

* Remove usage of useProjectsQuery in SupportForm -> AIAssistantOption

* Remove usage of useProjectsQuery in PlanUpdateSidePanel

* Remove usage of useProjectsQuery in NoProjectsOnPaidPlan

* Remove useProjectsQuery in IntegrationPanels

* Remove useProjectsQuery from IntegrationPanels 2

* Remove useProjectsQuery from IntegrationConnection

* Remove useProjectsQuery from ProjectLinker, SidePanelVercelProjectLinker, and choose-project

* Clean up

* Rename a state to be in the same style.

* Remove button ref, it was used to match the width. Use sameWidthAsTrigger.

* Remove console.log.

* Remove hardcoded width.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-10-10 10:56:28 +08:00
Kevin Grüneberg 5a886be0c2 feat: use new org daily stat endpoint (#39357) 2025-10-09 18:59:00 +08:00
Joshen Lim 6b7c8116f3 Chore/projects pagination part 05 (#39350)
* CmdK OrgProjectSwitcher to swap useProjectsQuery with useProjectsInfiniteQuery

* Remove usage of useProjectsQuery in ProjectDropdown

* Remove usage of useProjectsQuery in NotificationsPopover

* Remove usage of useProjectsQuery in NotificationsFilter

* Remove usage of useProjectsQuery from LoadingState

* Clean

* Remove usage of getProjects from org-ai-details and fix missing key props in AIOnboarding

* Remove useAutoProjectsPrefetch from org/[slug]/index

* Fix TS  + clean up

* Clean

* Remove usage of useProjectsQuery in NewOrgForm

* Remove usage of useProjectsQuery in SupportForm -> AIAssistantOption

* Remove usage of useProjectsQuery in PlanUpdateSidePanel

* Remove usage of useProjectsQuery in NoProjectsOnPaidPlan

* Remove useProjectsQuery in IntegrationPanels

* Remove useProjectsQuery from IntegrationPanels 2

* Remove useProjectsQuery from IntegrationConnection

* Remove console log

* Small change
2025-10-09 12:26:54 +08:00
Joshen Lim 0f4fc7eee9 Chore/projects pagination part 04 (#39348)
* CmdK OrgProjectSwitcher to swap useProjectsQuery with useProjectsInfiniteQuery

* Remove usage of useProjectsQuery in ProjectDropdown

* Remove usage of useProjectsQuery in NotificationsPopover

* Remove usage of useProjectsQuery in NotificationsFilter

* Remove usage of useProjectsQuery from LoadingState

* Clean

* Remove usage of getProjects from org-ai-details and fix missing key props in AIOnboarding

* Remove useAutoProjectsPrefetch from org/[slug]/index

* Fix TS  + clean up

* Clean

* Remove usage of useProjectsQuery in NewOrgForm
2025-10-08 21:42:49 +08:00
Joshen Lim c65204d111 Chore/projects pagination part 03 (#39321)
* 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

* Remove useProjectsQuery from organization usage page

* Add comment
2025-10-08 11:01:07 +08:00
Joshen Lim fae1dd8b5e Chore/projects pagination part 01 (#39310)
* 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

* Remove useProjectsQuery from Organization Audit logs

* Fix check
2025-10-07 17:11:49 +08:00
Joshen Lim 3ae5bc02f2 Fix org usage hidden UI (#39318) 2025-10-07 17:03:39 +08:00
Kevin Grüneberg 92ce7fb4e1 chore: cache time usage / do not preload invoice breakdown (#39278)
- Increase cache time of usage to 60m
- Ensure org is fully loaded before rendering invoice breakdown (this currently leads to starting to load this endpoint and then cancelling it when directly landing on the org billing page)
2025-10-06 15:49:51 +08:00
ThomasandCharis 7eb70e1d27 fix(billing): hide button for credit top up for orgs billed by a marketplace
---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-02 19:07:53 +02:00
Thomas 564178936d chore(billing): adjust copy for upcoming invoice section for AWS billed orgs 2025-10-02 18:47:52 +02:00
Joshen LimandAlaister Young 75212d44e1 Chore/direct upgrade prompts to support based on flag (#39166)
* Add UpgradePlanButton which handles redirecting either to subscription page or support page

* Update upgrade CTAs to go to support if billing:all flag is disabled

* Nit

* Nit

* Smol fix

* Temp show plan upgrade support category

* revert as instructed

* asChild

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-10-02 04:46:06 +08:00
Joshen Lim 149963f168 Add callout for leaked password that its on the pro plan and above (#39102) 2025-09-30 21:25:25 +08:00
Ignacio Dobronich 7157cc5964 docs: remove credit top ups pay outstanding invoices (#39082) 2025-09-30 10:46:53 +08:00