Commit Graph
2745 Commits
Author SHA1 Message Date
kemal.earth bc2dac6d68 feat(studio): add columns and update labels for query performance (#38744)
* feat: change calls label to count

This changes the column title for calls to count for clarity

* feat: add cache hit rate col and number formatting

Adds a cache hit rate column for each query as well as tidies up some number formatting.

* feat: add styling for 0 numbers

This makes anything marked as 0 feint in the table for easier parsing.

* chore: remove debug console log

* fix: silly next-env again

* nit: remove avg rows col

* nit: add toFixed to cache hit rate

* feat: add  tooltip for role column
2025-09-16 13:43:43 +01: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 466760099d Support opening table rows for foreign tables in side panel (read only) (#38699)
* Support opening table rows for foreign tables in side panel (read only)

* Fix TS
2025-09-16 11:54:03 +08:00
Joshen Lim 57a10f2f6d Fix project card provider undefined (#38705) 2025-09-16 11:24:53 +08:00
Alaister Young 7f0fbe378d chore: add compute price to enabled features (#38696) 2025-09-16 03:13:34 +00:00
Saxon FletcherandJoshen Lim 30e73ee44d Home New: Report (#38341)
* new home top

* advisors

* fix ts

* add report section

* add report

* Nit refactor

* refactor row

* prevent adding snippet twice

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-16 11:00:25 +08:00
Joshen Lim 84e3f5041e Fix missing app frameworks in connect modal (#38712)
* Fix missing app frameworks in connect modal

* Clean up

* More clena up

* Deprecate ConnectTabCustomContent
2025-09-15 15:14:11 +00:00
Terry Sutton e4e65b9979 Fix frameworks error (#38710) 2025-09-15 11:46:02 -02:30
hallidayo 22e09b81d0 feat: studio connect framework state (#38637)
* connect using framework state

* initial opening remove params
2025-09-15 11:01:28 -02:30
kemal.earth 604be766a8 feat(studio): query performance metric cards (#38634)
* feat: remove tabs and unify columns

This removes the tabs from Query Performance with unified columns in the table.

* chore: remove unused imports

* chore: small adjustment to min max and mean time col size

* feat: original experiment with metric cards

* fix: height of table container on load

* feat: add percentage background for time consumed col

Adds a percentage based background colour for time consumed column and reshuffles some columns.

* feat: working metrics above rows

* feat: simplify stats + go back full width

* style: bring up percentage bar opacity

* chore: remove reportType again

* feat: add metric queries to reset function

* fix: type error for passing query metrics

* fix: query queries plural thing

* chore: remove next-env weirdness
2025-09-15 12:45:23 +01:00
Joshen Lim 6a1c3390e1 Fix default value placeholder for fields with foreign keys (#38693) 2025-09-15 18:17:44 +08:00
Stojan Dimitrovski 1d0d56a3f3 feat: web3 (ethereum) ui (#38623) 2025-09-15 11:57:03 +02:00
Alaister Young 4cda1d5d38 fix: disable plan selection on billing enabled flag (#38697) 2025-09-15 17:00:28 +08:00
Alaister YoungandJoshen Lim 62ac8d9eb0 chore: move connect modal custom content to enabled features (#38695)
* chore: move connect modal custom content to enabled features

* smol

* Smol nit

* Flip back flags

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-15 16:59:38 +08:00
Riccardo Busetti 262265ef76 fix(replication): Use correct url for tables (#38658) 2025-09-12 19:35:07 +08:00
Han QiaoandJoshen Lim 0487fbf625 fix: let api handle signing key validation error (#38649)
* fix: let api handle signing key validation error

* Fix styles

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 17:50:27 +08:00
CharisandJoshen Lim 229f5560a6 fix: prevent crash on _ page when user has no organizations (#38640)
* fix: prevent crash on _ page when user has no organizations

* Nit refactors to make wild card pages consistent + fix loading state of org wildcard route

* Smol fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 13:50:02 +08:00
CharisandJoshen Lim 271ee3af6d fix: estimate number of users when count is large (#38638)
* fix: estimate number of users when count is large

In the Auth Users table, we always fetch an exact count of users. This
can be a problem for projects with many (>50K) users as the count(*)
might cause performance issues on the database. We already have logic on
the Table Editor to only run automatic count estimates (fetching the
exact count only if usr requests it), this change ports the same logic
over to Auth Users.

* Nit refactor

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 13:07:31 +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 5f3f0610ab Use overflow auto instead of scroll (#38635) 2025-09-12 10:29:51 +08:00
Saxon FletcherandJoshen Lim 3bea8f5bf0 Home New: Project Usage (#38339)
* new home top

* advisors

* add project usage section

* fix ts

* postgres

* add advisor section

* Nit

* Nit

* Attempt to fix ui library build issue

* Revert changes to Row/index.tsx

* Fix icon positioning

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-12 09:34:28 +10:00
Alaister Young 104569ea86 chore: use custom content for client libraries (#38633) 2025-09-11 23:41:07 +08:00
kemal.earth 5fe3383c39 feat(studio): remove query performance tabs (#38606)
* feat: remove tabs and unify columns

This removes the tabs from Query Performance with unified columns in the table.

* chore: remove unused imports

* chore: small adjustment to min max and mean time col size

* chore: remove unused prop
2025-09-11 15:20:52 +01:00
Han Qiao 55154a6065 fix: block data branch creation if PITR is disabled (#38630) 2025-09-11 21:29:27 +08:00
Riccardo Busetti f07c9cad3a ref(replication): Add alpha banner and remove batch size (#38588) 2025-09-11 15:25:39 +08:00
Joshen Lim dabfaa8972 Support for projects pagination part 1 (#38298)
* init

* Infinite scrolling pagination for projects in table view

* Infinite scrolling pagination for projects in cards view

* Shift searching projects to URL state + to server side

* Shift status filter to URL state

* opt to use local storage query for view moe

* update wildcard project route

* add created at value, and shift filter status to server side

* Nit

* final nit

* Address comments

* Fix

* Prettier

* Raise page limit to 96
2025-09-11 14:02:58 +08:00
Charis 3afbbe5986 fix: client side exception in cron jobs details (#38609)
The cron jobs details detail will throw a client side exception while
cron jobs are in running status. This is because the types that we've
defined for cron job details expect both return_message and end_time to
be strings, but they will be null until the cron job is finished.

Fixed the types and added some defensive checks to fix the bug.

Also made some minor tweaks to the table. Figured that end time and
duration can also be shown for failed jobs, doesn't only have to be
succeeded ones.
2025-09-11 11:40:02 +08:00
Saxon FletcherandCharis Lam 697709af58 Home New: Getting Started (#38574)
* getting started row

* refine

* fix: minor type and lint issues

* connect

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-09-11 00:05:03 +00:00
kemal.earthandJoshen Lim 1bb9453b0c feat(studio): update query performance table ui (#38523)
* feat: tidy up query perf column headers

* feat: update col widths and which ones are sortable

This gives a reasonable column width to all cols as well as adds an option for us to filter out which columns we dont want to make the table sortable by.

* feat: column order and word wrapping for query

* feat: column data text align for numbers

* fix: pointer event was preventing index advisor icon popover

* feat: use code block instead of editor

Swapped Editor out for Code block as its less expensive and modified it to add pgsql syntax highlighting

* fix: small truncation issue

* chore: remove unused sort function

* fix: sort menu closing on first click

Sort menu of a column no longer disappears on first click

* feat: move sorting and ordering over to nuqs

This removes the usage of Next Router params and uses Nuqs instead for managing the QP table sorting and ordering.

* feat: add clear sorting button to filter bar

* chore: remove unused files

* fix: add highlighting for selected sort

* Nit update sort

* nit: smol styling update for direction

* feat: inian feedback on time based numbers

* fix: return number instead of string for total time

We were returning a string for total time percentage which meant the sorting was a little bit off

* Shift roles to nuqs

* chore: clean up

* fix: smaller viewport filter bar

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-10 17:40:25 +01:00
Joshen LimandJordi Enric deda982074 Chore/refactor dashboard history logic (#38586)
* Shift dashboard history logic outside of app state, into its own hook

* Self remediate malformed history for sql editor

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

Co-authored-by: Jordi Enric <37541088+jordienr@users.noreply.github.com>

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

Co-authored-by: Jordi Enric <37541088+jordienr@users.noreply.github.com>

---------

Co-authored-by: Jordi Enric <37541088+jordienr@users.noreply.github.com>
2025-09-10 22:19:08 +08:00
hallidayo bc845c26a9 feat: studio connect url tab state (#38596)
Update Connect.tsx
2025-09-10 10:04:14 -02:30
Joshen Lim 7650926b77 Chore/swap use check permissions with use async check project permissions part 7 (#38581)
* Wrap up remaining swapping of useCheckPermissions

* remove OrganizationSettingsLayout on billing, team, integrations and usage org pages

* Fix missing loading state in usage page

* Add comments for next step
2025-09-10 18:09:18 +08:00
Riccardo Busetti 48d76a1c6b feat(replication): Add UI for updating pipeline versions (#38473) 2025-09-10 11:26:37 +02:00
Cemal Kılıç a12243d145 fix: update auth audit logs link (#38585) 2025-09-10 09:23:59 +00:00
Cemal KılıçandJoshen Lim 97c16123b1 feat(auth): add audit logs configuration page (#37409)
* feat(auth): add audit logs configuration page

* chore: prettier

* fix: config name

* Update auth audit logs settings page UI

* Update docs URL

* feat: use log template for auth audit logs

* Nit

* Nit

* Update field reference for auth audit logs

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-10 10:34:06 +02:00
Kevin Grüneberg dfb152ab8c chore: consolidate payment method components / ownership (#38578)
Security approval is required for PCI compliance. This means we need security approval wherever we embed Stripe for payment methods.

Security approval was previously very coarse and most billing changes required security approval unnecessarily.

This PR aims to move all files relevant for payment method display/changes into a single folder and adjusts the ownership to only require security approval for that.
2025-09-10 13:54:36 +08:00
Kevin Grüneberg f5567f3a3c feat: missing billing info banner (#38575)
For compliance reasons we need a billing address for all paying customers. This PR adds a nudge for customers that have not yet put down their billing address.
2025-09-10 13:26:27 +08:00
Ziinc 1482e1a108 feat: add AP2 support for datadog for log drains (#38460)
feat: add AP2 support for datadog
2025-09-10 12:50:15 +08:00
Joshen Lim bc3a473170 Swap useCheckPermissions with useAsyncCheckProjectPermissions Part 6 (#38559)
More swapping
2025-09-10 11:26:26 +08:00
8da4cbc46e Home New: Advisors (#38337)
* new home top

* advisors

* fix ts

* add advisor section

* Update apps/studio/components/interfaces/Linter/Linter.utils.tsx

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

* Update apps/studio/components/interfaces/Linter/LintDetail.tsx

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

* Update apps/studio/components/interfaces/Linter/LinterDataGrid.tsx

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

* Update packages/ui-patterns/src/Row/index.tsx

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

* Update packages/ui-patterns/src/Row/index.tsx

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

* Update apps/studio/components/interfaces/HomeNew/AdvisorSection.tsx

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

* row refactor

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-10 12:49:34 +10:00
TaishiandCharis 9eb7b64ec4 Show an error message with a row number when a user uploads CSV file with an issue (#38422)
* change the location of importing SpreadsheetImportPreview component

* Refactor error handling in SpreadsheetImport components

- show the row number with an issue to give users more actionable message
- show only the first error since Papaparse has an issue for row value in errors array

* Refactor error message for spreadsheet import alerts

* Remove items from `results.errors` with duplicate row and code values

* add comment

* Update error badge to show dynamic issue count

* Make errors stand out

* Refactor import/export for SpreadsheetImportPreview component

* Refactor import statements for SpreadsheetImport component

* use size-[value] class

* Refactor error handling to remove duplicates in preview

* Make only items with details clickable

* use proper list element

* use `button` element for clickable items

* add transition for transform

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-09-09 22:30:23 +00:00
920aeb1e1a Improves the filter bar (#38389)
* Refactor Drawer component and add date-fns dependency

Refactored the Drawer component for improved slot-based structure, updated styles, and added 'use client' directive. Added 'date-fns' as a dependency in design-system, updated tsconfig paths for icons, and marked ToggleGroup as a client component.

* nit: add env for svg path

* fix: instructions

* add-ons design

* chore: new generated llms

* Rebuild the pnpm-lock file.

* fix: update vaul dep in ui for drawer

* chore: update radix dialog deps

* fix: clipPath prop on chart tooltip svg

* fix: update dialog deps

* fix: update hover card deps

* fix: remove legacy next link from nav menu docs

* fix: radio group dep update

* fix: scroll area example key

* fix: sheet form readOnly

* fix: slider dep update

* fix: hide empty toast view

* fix: toggle and toggle group dep update

* Rebuild the lockfile.

* chore: updating branch

* fix: remove unused prop in docs

Removes unused prop on Drawer component inside docs causing type error

* filtering refactor

filter refactor

more

* styling

* use popovers instead

* refactor and fine tune

* remove code

* fix portal popover dismissing

* custom component popover

* tests fix

* fix ts

* rm unrelated changes

* fix type error - remove type cast

* undo previewfilterpanel

* fix type

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: kemal <hello@kemal.earth>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-09-09 20:06:25 +02:00
Joshen Lim e955f69e2d Swap useCheckPermissions with useAsyncCheckProjectPermissions Part 5 (#38552)
Update auth pages
2025-09-09 22:07:55 +08:00
Alaister Young 9ef8ba2648 fix: add email scope to custom sign in (#38551) 2025-09-09 12:36:19 +00:00
kemal.earthandJoshen Lim be994a1f62 feat(studio): simplify query performance filters (#38470)
* feat: remove redundant sort by

We had conflicting sort by dropdown which clashed with the individual column sorting itself. Either we do something similar to our table editor or leave it out for now. Opting to leave it out for now.

* fix: alignment of download dropdown

This aligns the download dropdown on the Query Performance page to look visually correct.

* feat: improved query search

This improves our query search in the Query Performance area. Now it does a local search through the available queries in the table. I removed it requesting the string from server for now. Simple

:x

q

* fix: increased width of filter popover

The roles filter popover is was too narrow for its contents. Increased teh size slightly.

* chore: remove commented out component

* chore: update placeholder for query filter

* fix: leftover prop on query performance page

* feat: reintroduce sql based query for search

Bringing back a hybrid approach - seems to work fine but also returns items that are not in your visible queries.

* feat: use debounce on search query

* feat: use nuqs instead of next router for roles

* Tiny optimization for debounced search to immediately run query if clearing input

* Add clear search CTA

* Remove client side searching

* Revert changes in useIndexInvalidation

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-09 12:18:32 +01:00
Han QiaoandJoshen Lim 1a78aecb05 fix: estimate data branch cost before creation (#38511)
* fix: estimate data branch cost before creation

* chore: comments to clarify conditionals

* Use addons endpoint to check for compute size instead

* Revert branchComputeSize changes

* Fix

* chore: update compute size only on data branch

* chore: replace slow query with disk size estimate

* Add loading and error states for disk attr, and update copy in create branch modal

* Update copy to improve transparency on billing

* Tiny fix

* Nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-09 17:00:12 +08:00
Kevin Grüneberg c0041e0c28 feat: support additional tax ids (#38542) 2025-09-09 15:40:14 +08:00
Alaister YoungandJoshen Lim 774825c1cc chore: customizable dashboard auth (#38516)
* chore: customizable dashboard auth

* minor fixes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-09 07:04:27 +00:00
Saxon Fletcher ce3f7c8e81 generic opt in copy (#38117)
* generic opt in copy

* privacy

* revert privacy

* remove foundation

* update opt in copy

* refine copy
2025-09-09 07:00:59 +00:00
ec50337b0c fix: usage page select project ref (#38524)
* fix: usage page select project ref

* remove other instance of all-projects

* Fix border issue

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: kemal <hello@kemal.earth>
2025-09-09 05:26:30 +00:00