Commit Graph
439 Commits
Author SHA1 Message Date
Saxon Fletcher 77dfe11248 Edit edge functions (#33727) 2025-03-26 19:54:12 +10:00
Andrew Valleteau 23aec2190d fix(studio): update table-query-rows generated sql for truncation (#34237)
* chore(studio): move Query to pgMeta add tests

- Move the Query builder from studio to pgMeta
- Add e2e tests over the generated sql to ensure syntax and runtime
  result over pg database
- fix bug with orde by for table with undefined column

* chore: add table-row-query to pgMeta and tests

* chore: fix query import path

* chore: reduce maxArraySize

* chore: use pg-meta getTableRowsSql implementation in studio

* chore: add truncation on large array fields

* chore: set ES target for lint

* chore: update comment

* chore: reduce test size for CI
2025-03-25 16:51:55 +01:00
Kamil Ogórek 861fe9ec88 fix: Update TS checks according to latest API changes (#34372) 2025-03-25 14:24:52 +01:00
Alaister YoungandJoshen Lim 8fd6c9276d chore: remove react-tracked part 2 (#34153)
* chore: remove react-tracked part 1

* move out table specific state to own store

* chore: remove react-tracked part 2

* remove unused type

* ensure table is properly updated on changes

* remove all filters save in local storage

* Tiny fixes

* fix sort / filters applying issue + feedback

* fix entity links

* remove unnecessary style

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-03-24 21:11:11 +08:00
Kevin Grüneberg 2b94dd7430 feat: Dedicated Pooler rollout (#34240) 2025-03-21 14:46:58 +01:00
divit 4cf91b7742 feat: change default US region to us east (#34322) 2025-03-21 16:57:31 +05:30
Joshen Lim 40ca927808 Chore/support updating email and unlinking identities (#33966)
* Support updating email address for email identity

* Support unlinking identity

* Deprecate AccountInformation component

* Invalidate identities after unlinking

* Address feedback

* Smol

* Fix type issues

* Update toast message

* Set up email change pending badge

* Fix

* Address feedback

* Resolve ts-expect-errors

* Fix TS issues + Fix GH icon on light mode + Address feedback
2025-03-21 17:15:05 +08:00
Tom GallacherandJoshen Lim 0cb2a9e27f chore: improve memoization of getDiskAttributes (#34287)
* chore: improve memoization of useRemainingDurationForDiskAttributeUpdate

* Fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-03-21 16:11:05 +08:00
Andrew Valleteau eb7efdef7f chore(studio): move Query to pgMeta add tests (#34232)
* chore(studio): move Query to pgMeta add tests

- Move the Query builder from studio to pgMeta
- Add e2e tests over the generated sql to ensure syntax and runtime
  result over pg database
- fix bug with orde by for table with undefined column

* chore: fix query import path

* chore: set ES target for lint

* chore: add github action for pg-meta test package

* chore: add tsconfig to sparse checkout
2025-03-20 19:04:58 +00:00
2a4c6c38ad Fix/table editor export (#33906)
* Fix table editor export

* Types

* Fix return

* Fix pagination

* Formatting

* Throw instead of returning []

* Add progress bar for exporting all rows in table editor

* Add error handling

* Cleanup toast

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-03-19 10:38:15 -02:30
Joshen Lim 81cd4ae3b1 Custom domains set refetch interval to false if 0_not_allowed (#34178)
* Custom domains set refetch interval to false

* Alter

* Feed

* Check for custom domain project addon in custom domains query

* Update API codegen and fix ts issues

* update API codegen

* Fix
2025-03-14 11:30:35 +01:00
Kamil Ogórek 315a189577 feat: Add created_by and app_id to approved oauth apps table (#34045)
* feat: Add created_by to approved apps table

* feat: Add app_id to approved apps table
2025-03-14 10:43:28 +01:00
Alaister Young 6c7f3c9181 fix: allow null values for update bucket (#34093) 2025-03-10 19:23:36 +08:00
Alaister Young 3273b5de50 fix(studio): whitelist duplicate name error on project creation (#33983) 2025-03-04 21:45:32 +08:00
Joshen Lim 548afeb2e0 Hide pool mode field in connection pooling (#33962)
* Hide pool mode field in connection pooling

* Add comment
2025-03-04 08:28:53 +08:00
Joshen Lim 1655a17e70 Add support for configuring realtime settings (#33875)
* Add support for configuring realtime settings

* Refactor

* Fix TS

* Fix TS

* Smol update

* Hide new UI for local selfhosted

* Add feature flag

* Fix reset logic

* Fix

* minor refactor

* Fix package.json

* Simplify
2025-03-03 20:08:15 +08:00
Joshen Lim 342c9c4112 Fix connection pooling feature flag (#33914)
* Fix connection pooling feature flag

* Fix type issues with lint-query after updating API typs

* Apply same fix for connection_string to ConnectTabContent

* Update useMemo dependency arrays in ConnectionPooling

* Remove allowPgBouncerSelection enabled check on react queries - feels unnecessary and adds some complexity to the loading state of the forms

* Remove conosle log
2025-02-28 17:50:16 +08:00
Joshen Lim 0a4166a587 Support for Dedicated Pooler in Connection Pooling Part 2 (#33829)
* Init

* Initial set up for hooking up supavisor and pgbouncer

* Hook up pgbouncer status check after swapping pooler type

* Add check for nano compute for switching to pg bouncer

* Add check for ipv4 addon

* Remove expect error tag

* Update copy in IPv4SidePanel

* Add badge to select options for pooler types

* Hook up pgbouncer config for connect UI

* Refactor pooling-configuration react queries to supavisor-configuration

* Update Ipv4 compatability UI indicators in Connect UI when on pgbouncer

* Remove statement mode

* Resolve undefined problem with react hook form

* Fix

* Update UI texts from PgBouncer to Dedicated Pooler

* Feature flag changes

* Add pooler settings link in Connect UI

* Smol update

* Update session pooler description for pgbouncer
2025-02-28 16:26:47 +08:00
Joshen Lim cb32aa9579 Use TimestampInfo for scheduled backups (#33892)
* Use TimestampInfo for scheduled backups

* Fix

* Update TimestampInfo

* Fix

* Fix
2025-02-28 15:55:30 +08:00
Kevin Grüneberg c28fe37fe1 chore: increase stale time for project addons / org subscription (#33911)
Occasionally results in a 429 in API - there are plans to fix this on the API level, but it's not a quick change, so hoping to reduce the likeliness of 429 with a higher stale time. Subscriptions and project addons rarely change and if they are changed, it's invalidated on the client anyway.
2025-02-28 12:00:07 +08:00
Joshen Lim a458977e2d Support for Dedicated Pooler in Connection Pooling (#33817)
* Init

* Initial set up for hooking up supavisor and pgbouncer

* Hook up pgbouncer status check after swapping pooler type

* Add check for nano compute for switching to pg bouncer

* Add check for ipv4 addon

* Remove expect error tag

* Add badge to select options for pooler types

* Remove statement mode

* Resolve undefined problem with react hook form

* Fix

* Update UI texts from PgBouncer to Dedicated Pooler

* Feex

* FEEX

* Fix

* Small update to UI

* Smol update
2025-02-28 11:14:42 +08:00
Saxon FletcherandJoshen Lim 593625c574 Edge functions empty state (#33802)
* page components

* page component changes

* settings but broken saving

* rvert

* use sheet for provider

* styling

* remove things

* Some refactoring and fixing, added JSDocs to layouts

* Smol refactor

* Fix

* Update JSDocs

* updated scaffolding

* update edge functions layout

* remove params

* Clean up

* Spelling

* Clean up FormFieldWrappers

* One last clean up

* create edge functon

* use component

* flag

* fix merge errors

* fix imports

* fix merge issues

* fix import

* fix flag

* remove unused

* simple empty

* empty state improvements

* move templates

* re-add flag

* use templates

* flag

* copy functions

* feature flag it

* Fix issues and clean up

* Smol fix

* Add comment

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-28 01:15:59 +08:00
angelicoandAlaister Young 9b34521bed chore: add AWS_NEW provider (#33697)
* feat: add AWS_NEW provider

* fix selecting aws region

* chore: add valid instance sizes

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-02-26 17:48:36 +08:00
Jordi EnricandJoshen Lim d10db0f735 add pgbouncer config and status queries (#33772)
* add queries

* use different keys

* move folder

* rm old files

* Small refactoir

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-24 11:41:35 +08:00
Kevin Grüneberg a283da6ddb chore: only include platform/v1 routes in api types (#33753) 2025-02-21 20:04:57 +08:00
Kevin Grüneberg be2271b9c2 feat: break down log drain egress (#33763) 2025-02-21 10:23:03 +00:00
Joshen LimandAlaister Young ae2203b5e7 Reinstate SQL editor results events (#33736)
* Reinstate SQL editor results events

* remove random console.log

* fix event name

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-02-20 18:46:23 +07:00
Kamil Ogórek 1a7c01770b feat: Add supavisor connections to infra report (#33682) 2025-02-20 15:57:41 +08:00
Kamil OgórekandJoshen Lim f553065a2e feat: Add Login event to account audit logs (#33660)
* feat: Add Login event to account audit logs

* refactor

* Remove unrelated files

* Remove audit login events for sign in with GH and SSO

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-19 18:02:53 +08:00
Alaister YoungandJoshen Lim e1eaa9844c fix: indexes in use (#33672)
* fix: indexes in use

* add error state for indexes in use

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-18 18:06:06 +08:00
dff6c817ae Chore/assistant in self hosted (#33422)
* Add layoutheader to self-hosted to allow showing assistant

* Fix layout

* Remove debug checks

* Check for key

* Dont load tables

* Fix assistant error handling

* Yeet

* Update turbo.json

* Another one

* god

* Fix

* Add fallback

* last attempt to fix

* Clean up

* take the wheel

* Tiny fix

* Skip enrich query for local, to match prod

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-18 17:37:53 +08:00
Joshen Lim 98a5f06070 Chore/next round of refactoring rqs to use data fetchers (#33556)
* Update several files to use data fetcher methods

* Remove unused files from lib/common/fetch

* Revert "Remove unused files from lib/common/fetch"

This reverts commit b314b05f06.

* Fix GraphQL

* Fix types

* Add IS_PLATFORM check in useOrgUsageQuery

* Fix type issues
2025-02-17 15:23:38 +08:00
Joshen LimandTerry Sutton 8b4fb55b54 Add IS_PLATFORM checks for some unnecessary queries and UI for local (#33557)
* Add IS_PLATFORM checks for some unnecessary queries and UI for local

* Revert changes for analytics/endpoint/[name]

* Smol

* Smol

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-02-17 15:09:36 +08:00
Joshen Lim e539b892a6 Chore/more refactoring of data fetchers methods (#33553)
* Update postgres-service-status-query, password-strength, and free-project-limit-check-query

* Update exit-survey-send

* Update project-postgrest-config-query

* Update project-disk-resize-mutation

* Update project-update-mutation

* Update project-postgrest-config-update-mutation

* Update organization-audit-logs-query

* Fix types

* Update bucket-object-download-mutation

* Update organization-member-delete-invitation

* remove console log

* Add integer validation for disk size (enforced on the API, but lacking client side validation)

* Fix audit logs
2025-02-13 13:34:12 +08:00
Joshen Lim 561e39ddc4 Update bucket methods to use data fetchers (#33551)
* Update bucket methods to use data fetchers

* Fix type issue
2025-02-12 16:06:00 +08:00
Joshen LimandIvan Vasilov 8d527f7f9e Update database-triggers react queries to use methods from data/fetchers (#33546)
* Update database-triggers-query to use get from data/fetchers

* Update database triggers mutation RQs to use methods from data/fetchers

* Don't cd to the directory, use the --dir parameter of pnpm.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-02-12 16:04:35 +08:00
Kevin Grüneberg d78768cec4 feat: additional billing email addresses (#33408)
Customers can now set up additional billing email addresses themselves without having to reach out to us. This covers the following emails thus far:
- Invoice emails
- Payment failure emails

Dunning emails will still go out to all members to ensure visibility. The only thing this does not cover is payment receipts from Stripe, as Stripe still provides no API for setting additional emails (dashboard only for many years now)
2025-02-11 11:52:17 +08:00
Joshen Lim 3167c1f803 Edge function redirect if slug doesnt exist (#33479) 2025-02-10 21:59:56 +08:00
Joshen Lim 4dcd9f36c1 Render GH profile image in NavigationBar if user is GH (#33476)
* Render GH profile image in NavigationBar if user is GH

* Small refactor

* Clean up
2025-02-10 17:54:43 +08:00
Saxon FletcherandIvan Vasilov d6245f4c08 deploy edge function mutaton (#33371)
* deploy edge function mutaton

* update url

* use openapi-fetch POST in the deploy mutation.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-02-06 08:08:24 +00:00
4649bf911e feat: new api keys [hidden] (#33252)
* feat: add basic api keys ui

* init JWT secrets. rough

* Update JWTSecretKeysTable.tsx

* added some info hover cards.

• found this this is probably the wrong direction
• will create a new page for next iteration.

* init new version

* add illustrations

* Update JWTSecretKeysTablev2.tsx

* chore: delete API key now works

* some style changes

* added better tables

* Update JWTSecretKeysTablev2.tsx

* add public JWT dialog

* moar

* adding sub layout in

* starts adding in a ButtonGroup

* about to make into separate components

* added quick copy to project loading screen

* build state

* basic loading

* confirm dialog and loading states

* switched for better loading experience

* moved styles of Input to InputVariants

* issue with ref type

* loading,error and rest states

* new loading states

* alt l;ayout

* add group

* updated error states for permissions

* copy button behaviour for secret keys

* delete dialog

* Update QuickKeyCopy.tsx

* fix type errors

* Update JWTSecretKeysTablev2.tsx

* update menu to hide pages

* Update SettingsMenu.utils.tsx

* Update resource-query.ts

* remove old file

* moved JWT secrets to use valtio

* Update api-keys-query.ts

* fix typecheck

* rename files

* remove JWT stuff

* revert file

* remove more JWT stuff

* Update package.json

* Update pnpm-lock.yaml

* Update ProjectLayout.tsx

* Update PublishableAPIKeys.tsx

* Update api-keys-query.ts

* refactor api-keys-query

* Update SettingsMenu.utils.tsx

* Some clean up

* more clean up and refactor

* Update APIKeyRow.tsx

* Update LayoutHeader.tsx

* resolve comments

* Update CreateSecretAPIKeyModal.tsx

* Update APIKeyRow.tsx

* Add perms check for delete API keys

* Remove console log

* Delete ConnectDialog.tsx

* use project ref

---------

Co-authored-by: Stojan Dimitrovski <sdimitrovski@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-05 15:21:10 +01:00
Joshen Lim 357936f9eb Only send required data for reset password, magic link and send OTP (#33352) 2025-02-05 18:59:59 +08:00
Bobbie Soedirgo 02f7e75b4d fix: use vault functions for creating/updating secrets (#33337) 2025-02-05 13:24:52 +08:00
Joshen LimandAlaister Young cc6c6bf096 Fix unnecessary requests in auth users (#33269)
* Fix unnecessary requests in auth users

* fix hasNextPage

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-02-04 15:45:13 +08:00
Joshen Lim 5024df75c0 Refactor auth users the way we retrieve providers (#33258)
* Refactor auth users the way we retrieve providers

* Fix

* Fix
2025-02-04 10:38:12 +08:00
Kamil Ogórek 5f3594bb8f misc: Regenerate openapi spec (#33263)
* misc: Regenerate openapi spec

* ref: Use OrganizationRoleResponse and remove Version header
2025-02-03 11:47:12 +01:00
Joshen Lim 02d943e9d6 Add refresh button to reports (#33211)
* Add refresh to custom reports

* Add refresh button to API and storage reports

* Add refresh button to database report

* Clean up database report

* Clean up custom report
2025-02-03 11:59:28 +08:00
Joshen Lim 7dc467d843 Hide auth header from invoke command if enforce jwt is not true (#33209) 2025-02-03 11:36:04 +08:00
Ivan Vasilov 8f90c86050 chore: Use react-query cache for file previews (#23398)
* Empty spaces.

* Remove prop drilling for selectedFilePreview and just use it from the store.

* Add a hook for getting a fetch url. Use it in all places where it's needed. Remove the file cache from the store.

* Simplify the onCopyUrl hook further.

* Fix some bugs in the preview pane.
2025-01-27 14:32:03 +01:00
Ivan Vasilov 98ca85156a chore: Use sql-formatter for formatting all SQL in the studio (#33071)
* Bump the sql-formatter dependency.

* Add a function formatQuery which is a wrapper around sql-formatter.

* Replace all formatSQL features to use the new function formatSql.

* Remove unneeded RQ for formatting.

* Small fix.
2025-01-27 13:04:31 +01:00