Commit Graph
3910 Commits
Author SHA1 Message Date
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
Alaister Young 92587df2e0 chore: add show testimonial as an enabled feature (#38651) 2025-09-12 13:56:24 +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
Cemal Kılıç f54f58f53c feat: show warning on oauth app connect (#38431)
* feat: show warning on oauth app connect

* fix: update copy

* fix: format
2025-09-11 16:36:07 +02: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
Saxon Fletcher 5fa0987a80 Replace clear messages with new chat (#38621) 2025-09-11 19:03:21 +10:00
Riccardo Busetti f07c9cad3a ref(replication): Add alpha banner and remove batch size (#38588) 2025-09-11 15:25:39 +08:00
Saxon Fletcher b3a687e7a4 Fix filtering issue (#38613)
filter issue
2025-09-11 16:32:26 +10:00
Saxon Fletcher 3775607213 Re-add get_logs tool (#38612)
readd log tool
2025-09-11 16:32:04 +10: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
Kevin Grüneberg b78f56d5c1 fix: disable turbopack for now (#38617) 2025-09-11 05:06:06 +00:00
Kevin Grüneberg 145dee8d20 ci: use turbopack for builds (#38615) 2025-09-11 06:35:06 +02: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
Saxon Fletcher 577c3bf9bf Refine prompt (#38576)
refine prompt
2025-09-10 15:14:34 +08:00
Kevin Grüneberg 1a41febacc fix: hide missing billing info banner for partner-managed orgs (#38580) 2025-09-10 06:21:56 +00: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
Saxon Fletcher 781f9dbaea use ref for selected org to ensure not outdated (#38573)
* use ref for selected org to ensure not outdated

* update comment
2025-09-10 13:38:32 +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 3963cbdf8f Gracefully handle feature flag set up (#38394)
* Gracefully handle feature flag set up

* Update FeatureFlagProvider to support granular provider toggling, and make getConfigCatFlags an optional prop

* Nit

* Fix TS
2025-09-10 12:00:16 +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
Terry Sutton be0871ea6e Temp hide the vulnerable_postgres_version lint (#38553)
* Temp hide the vulnerable_postgres_version lint

* Console log
2025-09-09 13:20:16 +00:00
CharisandJoshen Lim bb5861f5a1 fix: table editor mobile view (#38539)
There is a bug in the Table Editor mobile view:

1. Open the Table Editor in mobile.
2. Open a tab with a table.
3. Use the Table Editor Menu to switch schemas. This switches the schema
   in the URL and in local storage, but the Table Editor Menu closes
   immediately and you can't see the list of tables in the new schema to
   pick.
4. Open the Table Editor Menu again to pick a new table. The schema
   automatically flips back to the previous schema, and the Table Editor
   Menu only flickers open temporarily before closing again. There is no
   way to access the tables for your newly selected schema.

The cause of the bug:

There is a useEffect that triggers every time the Table Editor Menu is
opened in mobile. (It technically has selectedTable?.schema in its
dependency array, but since the menu unmounts and remounts on visibility
toggle, the effect runs regardless of whether global selectedTable state
has changed. That's also why desktop works fine, because the menu is
continuously mounted in desktop view.)

When the useEffect runs, it sets the schema to the schema of the
currently selected table. Therefore, what actually happens:

1. Schema is set to `schema_a`. The currently selected table is
   `schema_a.table_a`.
2. User changes schema to `schema_b`.
3. User reopens Table Editor Menu. useEffect runs. Currently selected
   table is `schema_a.table_a`, so the schema automatically changes back
   to `schema_a`. Menu automatically closes.

The fix:

The actual behavior on desktop right now is probably what we want:
- The selected table is only used to set the schema if no explicit
  schema is provided.
- If an explicit schema is provided, the user probably chose it, so we
  allow the schema to not match the currently selected table. The table tabs
  update to include the table schema anyway if the schema changes, so it should
  be somewhat obvious that the schema of the menu and the selected table
  don't match.

Therefore, the logic we want is `!!selectedTable?.schema &&
!selectedSchema`. Because of this change, we can also take it out of the
useEffect, which means less circular logic.
  that

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-09 21:06:30 +08:00
Alaister Young 9ef8ba2648 fix: add email scope to custom sign in (#38551) 2025-09-09 12:36:19 +00:00
Andrew ValleteauandKevin Grüneberg 1ddfaf5a9e fix(types): update branching types for api route changes (#38548)
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2025-09-09 19:47:46 +08: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
Saxon FletcherandJoshen Lim bf004b8a1d Choose provider and model (#38267)
* choose provider and model

* fix test

* Fix lint

* Nit clean up

* add provider options and remove anthropic

* remove package

* use chat model and update prompt

* prompt rendering

* default to pro

* fix test

* low

* remove log

* remove redundant part.text

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-09-09 10:05:39 +00: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
Joshen Lim b27ad019ce (Clean up) Remove secrets:pull command (#38541)
Remove secrets:pull command
2025-09-09 15:52:45 +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