Commit Graph
2736 Commits
Author SHA1 Message Date
Saxon Fletcher d6f076bda7 Hide GettingStarted if mature (#39582)
* hide if mature

* use project
2025-10-16 14:36:10 +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
Charis de42e14887 feat(support form): add commit sha (#39572)
Knowing the commit SHA will help us debug issues by matching them to Git
timeline. Added the commit SHA in two places:

1. Automatically as part of the message on support requests
2. Logged within the console, so we can ask the user to double-check
when checking if issues persist/are fixed
2025-10-16 11:43:05 +08:00
Danny White 73f8a15203 chore(studio): consistent copy/reveal input behaviour (#39509)
* user newer input in api keys

* user newer input in s3 connection settings

* improve input read-only styles

* make API text selectable

* disable text until reveal button tapped

* fix build

* revert change

* fix other cases

* revert hardcoded example

* nice region field

* documentation

* cleanup

* better docs

* colour tweaks
2025-10-16 13:44:40 +11:00
Raminder Singh a21fa43d8f feat: add iceberg (analytics bucket) destination in UI (#39324) 2025-10-16 06:56:11 +05:30
Saxon Fletcher 43b686e31a Drag query to home (#39506)
* drag report to home

* drag handle styling and report overlay
2025-10-16 09:01:55 +10:00
Joshen Lim 95074abb9f Table Editor to hide count for foreign tables (#39567)
* Table Editor to hide count for foreign tables

* Add loader
2025-10-16 02:57:50 +08:00
Jordi Enric cab167c151 fix chart headers (#39542)
fix
2025-10-15 17:07:24 +02: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
kemal.earth 70a64f8c00 feat(studio): query performance metrics chart (#39431)
* feat: setup chart area and tabs

This sets up the area where we can expect the insights chart as well as the tabs mechanism.

* feat: parse pg_stat_monitor logs as json

* feat: create query perf chart utils and move transfrom function

Created a utils file for our QueryPerformanceChart component. This moves the logs to JSON transform function there.

* feat: add timerange to chart

* feat: add date selector to query perf overview

This adds the selector to the top right of the page allowing the user to switch between last hour, 3 hours and 24 hours

* feat: modify chart component to accomodate hiding bits

* feat: add metrics to each tab

* chore: update to 60 min by default and some css

* feat: centralise data parsing for logs

* feat: clean up filters bar

This rewires the export to give you the aggregate pg_stat_monitor data. Also removes unused buttons and filters.

* feat: percentiles for query latency chart

* feat: filter out non evenets from pg_stat_monitor logs

* feat: utils for cache misses and hits

* feat: add selected query to chart on click

* feat: add click through to query panel

* chore: tidy up files

* chore: distinction between selected and open panel

* feat: move query performance fully into reports area

* fix: preserve query params on reports link

* fix: remove right icon syntax in report menu

* chore: remove cache misses from cache chart

* refactor: backwards compatibility for statements if right db version isnt available

* chore: delete randomly generated empty file

* chore: tidy up unused imports and vars

* chore: remove console logs

* chore: remove isMounted from query perf

* fix: cmd k query perf path

* feat: simplify query latency only p50 and p95

This seems to give us a more accurate reading as we can calculate these two

* fix: cache hit rate not showing inside query details

* chore: chart bg colour adjust

So it contrasts a little better on light mode.

* feat: show selected query on other verticals

* feat: bring back symlink in advisors
2025-10-15 13:39:29 +01:00
Joshen Lim 3b825b886a add dashboard bug to allow support access (#39552)
* add dashboard bug to allow support access

* Update tests
2025-10-15 17:55:17 +08:00
issuedat 2b512439b2 chore: add telemetry for users search (#39409) 2025-10-15 11:28:36 +02:00
Joshen Lim 8dc5ee77f3 Clean up support upload flag (#39550) 2025-10-15 17:27:20 +08:00
CharisandJoshen Lim 4f0ce0a0e3 fix(support form): create api route to upload attachments (#39543)
* fix(support form): api route to create attachment urls

* clean: remove console log

* fix staging and prod

* Minor clean up

* Shift generation of urls to data folder

* refactor

* Final

* Fix tests

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-15 16:29:35 +08:00
Danny WhiteandJoshen Lim bf3f26d0a6 feat(studio): list existing analytics buckets (#39500)
* specialized dialog for analytics (and vector) bucket creation

* handle missing wrapper extension and iceberg wrapper integration

* bucket creation improvements

* extension and integration checks

* dialog header consistency

* simplify bucket dialog creation button trigger

* fix subtitle ternary

* example bucket without dynamic route

* create dynamic segment

* fancy connection table

* improve bucket page

* connection table polish

* polish

* delete bucket modal

* improve missing installations design

* new table modal

* fix copy icon

* copy all env button placeholder

* list all analytics buckets

* specialised bucket modal

* shared installer hooks and components

* make iceberg wrapper not dependent on wrapper extension

There are cases where the Iceberg Wrapper can be installed but the Wrapper extension has since been removed

* better admonition copywriting

* todo

* remove later features

* more removal of later work

* remove old comment

* remove unused content

* Nits and hook up create analytics bucket logic

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-15 11:48:14 +11:00
Danny WhiteandJoshen Lim 6617418e1a chore(studio): consistent table rows across pages (#39507)
* consistent table rows across pages

* remove comments

* match copy

* Nit add loading icon when revealing secret key

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-15 10:45:17 +11:00
Charis 507a00e7f4 disable screenshots (#39541) 2025-10-14 21:30:37 +00:00
Sean Oliver e1703d4429 feat: add basic table template infrastructure (1 of 3) (#38933)
* Use useLocalStorage hook for quickstart dismiss state

* Standardize varchar to text and remove local storage keys

* Remove gen_random_uuid() defaults from templates

* feat(studio): flatten table quickstart selector; show for any new table\n\n- Flattened category→template flow into single-step with category chips\n- Removed first-table-only guard so panel appears for all new tables when flag is on

* add comments to clarify diff btwn false and undefined in feature flag response type

* refactor: improve performance and type safety in table quickstart

- Memoize categories and displayed templates to prevent unnecessary re-renders
- Use generic type parameter instead of type assertion for feature flag
- Simplify dismiss handler with inline function
- Add JSDoc comment explaining feature flag return states

* Mark variant param as intentionally unused for future PR

* chore: clean up unused import in TableEditor

Remove unused useTablesQuery import after switching to localStorage-based dismissal.

* add 7 day project creation gate and fixed uuid default

* Improve table template selector UX with success feedback and clearer copy

- Add success toast when template is applied
- Update heading from "Quickstart: choose a template" to "Start faster with a table template"
- Improve subheading to explain time-saving benefit
- Use monospace font for table names to match code convention
- Update template rationales to be more descriptive and specific
- Increase font sizes for better readability
- Remove redundant category display
- Reorder imports alphabetically

* Apply prettier formatting to TableTemplateSelector
2025-10-14 16:12:36 +00:00
Charis 92a79d5156 fix(support form): project selector, test timeout (#39529)
* fix(support form): fetch projects on mount

The OrganizationProjectSelector was updated to only fetch when opened to
save on API requests. This causes a problem for the Support Form, which
expects the projects to be fetched immediately so it can fall back to
the first project if no project was paused in the URL.

Added a fetchOnMount prop to OrganizationProjectSelector, which defaults
to false, so we can override this behaviour for the Support Form.

* fix(tests): increase timeout on support form tests
2025-10-14 10:52:05 -04:00
Alaister Young c6a09b3fcf chore: hideable legal org documents tab (#39531) 2025-10-14 10:49:51 -04:00
Alaister Young 2d986e5b7f chore: hideable TOS link on sign in/up page (#39530) 2025-10-14 10:48:12 -04:00
Kevin Grüneberg 15c9a6ced3 perf: pass org slug / project ref to resource warnings endpoint (#39471)
Based on https://github.com/supabase/infrastructure/pull/26483 - pass in project ref / org slug to ensure we filter down and not query across all orgs unnecessarily
2025-10-14 18:27:34 +08:00
Joshen Lim 63b4f1d838 OrganizationProjectSelector to only fetch projects when its opened (#39516)
* OrganizationProjectSelector to only fetch projects when its opened

* Nit
2025-10-14 16:04:49 +08:00
Stojan DimitrovskiandJoshen Lim 0a3f4184a7 feat: optimized users page (#39349)
* feat: optimized users page

* Update UI

* Reinstate footer with count if mode is freeform

* Simplify disabled sort in performance mode

* Clean

* Small fix

* Final fixes

* Shift users SQL query to packages/pg-meta

* Nit unrelated: Clear query params from useLogsUrlState when going to logs tab of a selected user

* Shift user count SQL and get count estimate SQL into packages/pg-meta

* Fix

* Nit

* Nit

* Minor nits

* Refactor UX for searching

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-14 15:02:00 +08:00
CharisandJoshen Lim f5ff10e195 refactor,tests(support form) (#39410)
* refactor: refactor support form

Refactor support form to make it easier to maintain:
- Split up large components into smaller components and hooks
- Lift state up so we don't have to do complex child/parent
state-syncing via useEffect
- Use nuqs parsing for consistent serialization/deserialization of
support form prefilled fields

* test: support form

Add comprehensive tests for support form

* fix(support form): project and org empty state

* Nit clean up

* More clean up

* cleannnn

* fix(support form): allow case-insensitive category in url

* clean(support form tests): remove unused param

* fix(support form): incorrect logic for sending affected services in payload

* clean(support form): use NO_ORG_MARKER and NO_PROJECT_MARKER instead of strings

* fix(support form): don't show upgrade cta if already on enterprise

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-14 11:04:33 +08:00
Matt JohnstonandJoshen Lim 68fbcad6cf fix: omit quotes in values when .env contents are pasted into input (#39497)
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-14 10:42:00 +08:00
Saxon FletcherandJoshen Lim 622486f750 Refresh report and status update (#39473)
* refresh report

* project status

* prettier

* Minor refactors

* add back refreshing

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-14 08:09:48 +10:00
Jordi Enric b36792aa49 Auth Overview fixes (#39483)
* rm arrows

* clean

* add overview table

* add errors sql

* add overview monitoring section

* update overview usage rm monitoring from it

* add monitoring to overview page

* reusable link

* text-foreground-light

* links to header

* fix links

* fix links

* width fix
2025-10-13 18:50:59 +02:00
kemal.earth 1e1b7a05b8 chore(studio): update auth overview light mode images (#39484)
chore: update auth overview light mode images

This provides image alternatives for light mode on the Learn More cards.
2025-10-13 12:22:50 +01:00
Alaister Young d30e4d3aa0 chore(studio): custom docs rls guide path (#39480)
* chore(studio): custom docs rls guide path

* required keys
2025-10-13 19:20:31 +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
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
Han Qiao 6026a824a3 fix: update queries for local edge function and cron logs (#39388) 2025-10-13 15:20:23 +08: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
kemal.earthandJordi Enric a4d7bc6231 feat(studio): auth overview monitoring section (#39327)
* feat: begin monitoring with compute metrics

* chore: simplify monitoring constants

* chore: something got added

* feat: add database connections chart

* make it success rate instead of error rate

* add new metrics

* hide monitoring

* rm unused

* rm

* rm

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-10-10 21:52:15 +02:00
Ivan Vasilov d32ccb0d17 fix: Send a hashed user id with every Sentry event (#39430)
* Generate and set the sentry user id for better sentry reports.

* Delete unused files.

* Fix a small react warning.
2025-10-10 16:44:53 +02:00
Saxon Fletcher afc97c6413 Remove has configured auth step (#39424) 2025-10-10 18:28:28 +10:00
Alaister Young 79700f28fd chore: bump logo size slightly (#39426)
* chore: bump logo size

* consistency is nice
2025-10-10 07:55:39 +00:00
Alaister Young 09d5b8a18f chore: branding customisation (#39425) 2025-10-10 15:25:33 +08:00
Timothy Lim 1b5c1c8d2f Fix prefilled Support Form subject for failed pausing and restoring states (#39380) 2025-10-10 15:09:40 +08:00
Alaister Young 3c2d849e1c [FE-1926] chore: show sign in error (#39392)
chore: show sign in error
2025-10-10 14:09: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
Charis ba75692228 fix: form (#39413) 2025-10-10 11:42:12 +08:00
Saxon FletcherandJoshen Lim 410d76fff3 Getting started step status (#38910)
* home row size

* use prop instead

* revert previewer

* hook getting started up

* report empty state

* remove images for now

* fix paused state

* remove file

* swithed toggles

* remove any

* Simplify top section

* Nit clean

* Simplify

* Add new snippet button to SnippetDropdown, and hide Row arrow if number of children doesnt exceed number of columns

* Hide arrow in Row component if number of children doesnt exceed number of columns

* Fix snippetdropdown if theres snippet with same name

* update hasFirstUser check to return false if count is estimate

* bucket and functions code actions

* reframe sign ups

* fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-10 13:34:04 +10:00
Joshen Lim 085bddafc5 Chore/consolidate copy icons (#39386)
* Replace all clipboard icons with copy icons

* Fix Menu.Item active styling for light mode

* Update

* Use bg side bar accent
2025-10-10 11:06:42 +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
kemal.earth 5c174b7ee6 fix(studio): dynamic size for query perf time consumed col (#39379)
* fix: dynamic size for query perf time consumed col

* fix: dynamic col types
2025-10-09 18:39:38 +01:00
kemal.earth a37468dee1 chore(studio): update auth overview learn more copy (#39393)
* chore: update auth overview learn more copy

* chore: few more authentication to auth changes
2025-10-09 18:23:26 +01:00
Kevin Grüneberg 5a886be0c2 feat: use new org daily stat endpoint (#39357) 2025-10-09 18:59:00 +08:00
Joshen Lim f142a77a1c Mitigate SQL Editor "Unable to find snippet" issue (#39364)
* Use useDebounce to handle debouncing logic, don't save when first adding the snippet, let the debounce handle the save

* nit

* nit
2025-10-09 16:04:49 +08:00