Commit Graph
2073 Commits
Author SHA1 Message Date
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
Alaister Young 8b3179ea26 chore: custom ssl cert url (#38464)
* chore: custom ssl cert url

* use lodash template

* fix lock
2025-09-09 13:12:16 +08:00
65b962e771 design system: text color contrast (#38343)
* 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

* accent color docs and basic tidy

* copy value feature

* improve color contrast

* increase contrast on text-warning in light mode

* update changelog

* replace outdated text-warning utility classes

* remove redundant warning-600

* minor design-system docs updates

* docs updates

* remove unused brand-button class

* update docs

* fix: restore brand default

* update docs brand text color

* low hanging branded text fruit

* Nit refactor and clean  up

* re-add Kemal’s README instructions for hot reload

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-09 11:45:08 +10:00
Etienne Stalmans 70e61c2aa9 chore: add lint warning for pg version (#38280) 2025-09-08 17:40:05 +00:00
a578708231 feat(studio): usage area brush up (#38408)
* fix: date range picker dropdown width

This fixes the date range pickers width on the Usage section. No more crumpled up menu items.

* chore: remove AI slop empty classes

* feat: get rid of legacy scaffold header on usage page

* chore: remove legacy scaffold from no permissions layout on usage

* feat: improve styling for sticky header area

* nit: small uppercase for a p

* fix: padding for no permission banner

Was missing the ScaffoldHeader wrapper

* feat: update loading skeleton for header area

* style: same breakpoints for header loading skeletons

* feat: remove ListBox in favour or Select_Shadcn_ for our project dropdown

* fix: logic for admonition when project is selected

* fix: remove rogue border from total usage grid

* fix: use proper background colour for sticky bar

* fix: more info link click area

* fix: reduce width of hover card on compute metrics

* feat: remove separator from usage section headers

* fix: revert width of hover cards for compute and billing metric

* fix type size and chevron tint

* only wrap anchored metrics in Link

otherwise non-anchored metrics get #undefined Link and unnecessary pointer

* style: shore up sections with headers

* fix: reset select state to undefined

The setSelectedProjectRef was causing our rings not to show on the usage table.

* Fixy

* Nit refactors and fixes

---------

Co-authored-by: Danny White <3104761+dnywh@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-08 11:11:51 +01:00
Han QiaoandJoshen Lim fa62afb097 fix: do not auto submit on toggling data branch (#38479)
* fix: display badge instead of tooltip

* Clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-08 16:58:54 +08:00
Kevin Grüneberg 82dcee3788 feat: ensure customer puts down address on upgrade (#38465)
For customers who have not yet put down a billing address, we want to ensure that they put down an address when they upgrade their plan.

Customers can also no longer unset their billing address.
2025-09-08 14:26:03 +08:00
Joshen Lim f066c02c69 Shift refresh button to header in table editor and make realtime + API docs button smaller (#38463)
* Shift refresh button to header in table editor and make realtime button + api docs button smaller

* Fix ts
2025-09-08 14:15:39 +08:00
Joshen Lim b9c8b3087c Swap useCheckPermissions with useAsyncCheckPermissions part 4: Storage (#38458) 2025-09-08 13:39:13 +08:00
Joshen Lim 8c6c3eb0d2 Fix roles (#38501) 2025-09-08 12:38:44 +08:00
Saxon Fletcher ff8a4be0e8 Fix adding bucket policy to schema (#38499)
bucket policy
2025-09-08 12:25:45 +08:00
Taishi e5a26a9202 【CSV file import】Ensure onChange fires when the same file is uploaded twice (#38440)
Reset `event.target.value` to ensure onChange fires when the same file is uploaded twice
2025-09-05 15:35:01 +00:00
Bobbie Soedirgo aadb58bb5a fix(studio): hide internal schemas in create ext modal (#38457) 2025-09-05 20:27:19 +08:00
Jordi Enric dee5ff1194 edge function report: cleanup and url filters (#38446)
* rm dupped value

* use zod in reportsnumericfilter

* use zod in reportsselectfilter

* use nuqs in filters

* validate data before change

* unnecessary changes

* fix some type errs update tests

* use command to add search to select filter

* update styles / clear btn in num filter

* add search to edge fn report

* fix clickable area

* fix test

* default true

* fix availablein

* sum paddin

* fix default values in tests
2025-09-05 11:49:08 +02:00
Joshen Lim 31ad637e9e Add feature flag to disable /chore requests trigger in CreateBranchModal (#38461)
* Add comment

* Lol
2025-09-05 16:25:08 +07:00
Joshen Lim 8f3a8f02dd only trigger request to /clone in create branch modal when modal is o… (#38454)
only trigger request to /clone in create branch modal when modal is opened
2025-09-05 12:32:14 +07:00
Taishi 97b631fff7 Add SQL syntax highlighting to Query Performance page (#38386)
* Add CodeBlock for SQL query display to add syntax highlight

* use monaco editor for better highlighting

* create `SqlMonacoBlock` component for SQL in detail panel

* add mean_time to most_time_comsuming queries

* make outline transparent

* Add keyboard navigation for query performance grid

* Stop default RDG behavior on arrow key navigation

* Update column minWidth values to remove horizontal scrollbar

* Load SqlMonacoBlock and Editor client-side only

- following a pattern in `SQLEditor.tsx`
2025-09-05 00:20:05 +00:00
kemal.earth 541c9f90cc fix(studio): query performance empty columns (#38437)
fix: query performance empty columns

The role and total time columns were not rendering the results that were there. Added a check to make sure they render.
2025-09-04 15:58:24 +01:00
Riccardo Busetti 5e4cc212aa feat(replication): Add ability to copy pipeline id and filter logs by pipeline id (#38407) 2025-09-04 15:47:01 +02:00
Joshen Lim c1edff35e2 Fix missing loading prop in ConfirmationModal for disabling extension (#38430) 2025-09-04 11:04:32 -02:30
Han QiaoandJoshen Lim 10a1deca66 fix: estimate time needed to create data branch (#38426)
* fix: estimate time needed to create data branch

* nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-04 16:59:47 +08:00
Joshen Lim cf90f2e250 Self remediate project scoped roles issue (#38428) 2025-09-04 15:43:26 +07:00
Joshen Lim a90bc51be1 Fix table editor incorrectly showing type change notice for foreign key (#38404)
* Fix table editor incorrectly showing type change notice for foreign key

* nit

* remove log
2025-09-04 15:35:36 +07:00