Commit Graph
1622 Commits
Author SHA1 Message Date
Han Qiao e2fddfeeeb fix: move policy requests to query route (#35500) 2025-05-12 23:54:46 +08:00
Raminder Singh 520428680d feat: call the new api endpoints to handle partial failures in pg_replicate (#35418)
* feat: use the new tenant-source api to atomically create the tenant and source in pg_replicate

* feat: use the new sink-pipeline api to atomically create the sink and pipeline in pg_replicate

* fix: remove some unused imports

* feat: use the new sink-pipeline api to atomically update the sink and pipeline in pg_replicate

* feat: deleting the sink cascades to delete the pipeline

* chore: update api types

* fix: revert accidental update to types

* remove unused code

* add a comment explaining why deleting only sink is enough
2025-05-10 12:04:37 +05:30
6d09404779 feat: add mfa enforcement toggle (#34307)
* feat: add mfa enforcement toggle

Allows toggling MFA enforcement on an organization level.

Depends on API change #22088

* fix: toggle and disable action for non-owner

* chore: disable for free plans

* chore: disable toggle for org MFA if current user doesn't have MFA enabled

* set initial state

* move org mfa to security page

* use zod resolver

* fix initial values

* useQueryClient in the organization-mfa-mutation

* chore: warn about losing access to mfa orgs

* Some refactors, fixes and improvements

* chore: feature flag mfa enforce page

* Tiny fix

* Leave comment

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-05-09 16:56:49 +02:00
Joshen Lim 232a26a68d Add custom error handler around fetch method (#35562)
* Add custom error handler for fetch error 'Failed to fetch'

* Refactor EdgeFunctionTesterSheet to use react query instead of manually calling fetch

* Use new fetchHandler for where we're calling fetch

* Revert
2025-05-09 15:22:55 +08:00
Joshen Lim 31a804f6d4 Add integrations to command k (#35550) 2025-05-09 10:55:03 +08:00
Andrew Valleteau 31aad403de fix(studio): early fail query when x-connection-encrypted is invalid (#35331)
* fix(studio): early fail query when x-connection-encrypted is invalid

* fix(studio): uniformize readDatabase and projectDetails connString handling

* chore: update api types

* chore: add connectionString null option

* fix: only enforce x-connection-encrypted on platform

* chore: refactor connString check in a single point

* chore: fix guard logic

* chore: fix pgMetaGuard

* chore: fix types
2025-05-08 12:11:03 +02:00
Kevin Grüneberg 77d99e0f04 chore: branching compute hours copy (#35524) 2025-05-07 15:31:03 +00:00
Jonathan Summers-MuirandJoshen Lim 2815dac7e0 Feat/index suggestions inline (#35107)
* init

* hovercard

* adds button to install index advisor

* hover card now now insert indexes

* update

* moved hook

* align alert dialog to design syste,

* Update index-advisor.utils.ts

* shows all index statements now

* Update query-performance.tsx

* Some refactors

* Clean up

* Fix

* One last nit refactor

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-05-07 19:09:58 +08:00
Joshen Lim 6412f67d5c Add loading state for RLS policies (#35519) 2025-05-07 18:27:59 +08:00
Joshen Lim 2d25d3d56d Use PostgresVersionSelector in ProjectPausedState (#35478)
* Use PostgresVersionSelector in ProjectPausedState

* Remove

* Update PostgresVersionSelector to handle unpause versions too

* Clean up

* Use new flag showPostgresVersionSelector instead of disableProjectVersionSelection
2025-05-07 13:31:38 +08:00
Joshen Lim acd86da9e5 Chore/refactor storage explorer store part 2 (#35382)
* Shift every logic in storage mobx store to storage valtio store

* Deprecate localStores folder

* REMOVE MOBX ENTIRELYYYYYYY 😄

* Update

* Clean up

* Small improvement for rename folder
2025-05-07 12:25:45 +08:00
Alaister YoungandKevin Grüneberg 47159cad86 fix: log drain pricing info (#35514)
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2025-05-07 12:12:49 +08:00
Kevin Grüneberg b4f6cc5cb8 fix: format currency (#35507) 2025-05-07 11:17:11 +12:00
Terry Sutton 5923b60f11 Update pg17 update message (#35429) 2025-05-06 16:22:40 -02:30
Alaister Young 74101318ce Revert "fix: move column create request to query route" (#35503)
Revert "fix: move column create request to query route (#35491)"

This reverts commit 5e75276e9c.
2025-05-06 13:01:30 +00:00
Han Qiao 5e75276e9c fix: move column create request to query route (#35491) 2025-05-06 16:38:36 +08:00
Jordi EnricandJoshen Lim 785fcbacc8 Network Bans fixes (#35472)
* add loading and error states

* fix cmd k menu links

* Add hook for getting user's ip address

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-05-06 09:29:42 +02:00
Kevin Grüneberg e1bd23d66f fix: do not translate USD prices (#35466)
When translation tools go over prices, they wrongfully convert USD into other currencies without changing the price. $25 becomes Rp25 (Rupiah).

By using `translate='no'` we avoid the translation of pricing info. There are some tooltips left that are not covered yet, but this should be the majority already.

Kept the docs Pricing component as simple as possible, just wrapping in a span to avoid translation, not modifying any formatting.
2025-05-06 12:03:35 +08:00
Pamela Chia ef963356ae fix: add missing groups to events (#35437) 2025-05-06 11:38:50 +08:00
Jonathan Summers-MuirandAlaister Young 62d00873c5 Feat/sort via column header (#35139)
* init

* update Popovers to use new hooks

* init

* Update SortPopover.tsx

* Update Header.tsx

* made primitive components for filter and sorts

* Delete FilterPopoverWrapper.tsx

* Delete SortPopoverWrapper.tsx

* remove

* Create README.md

* Update README.md

* fix sort popover issues

* Update SupabaseGrid.tsx

* move DeleteConfirmationDialogs into context

* fix issue with

* more stuff for alaister

* fix ts and tables pages

* Update ColumnMenu.tsx

* Update Header.tsx

* Update useTableSort.ts

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-05-05 21:51:33 +08:00
Francesco SansalvadoreandAlaister Young a4cfcd9b2e global user dropdown in docs and www (#35063)
* docs: user nav dropdown

* www: user dropdown nav

* update menus

* chore: add complete local storage allowlist

* move all local-storage to common

* reload after logOut

* add local storage key changes from #35175

* fix errors

* add more keys

* fix merge bugs

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-05-05 11:48:06 +02:00
Jonathan Summers-Muir 2ed4ef7cf7 Chore/related items support form (#35070)
* Update FormLayout.tsx

* Update SupportFormV2.tsx

* Update SupportFormV2.tsx

* Update SupportFormV2.tsx
2025-05-05 13:36:19 +08:00
2b419c70a1 chore: add usercentrics for consent management (#35384)
* chore: add usercentrics for consent management

* client component to make next.js happy

* address feedback

* move consent state to common

* fix import

* ensure page events are sent correctly

* add feature flag provider to ui library site

* fix ui lib 500 error

* skip in test env

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-05-05 13:18:48 +08:00
Joshen Lim 3c3fe9b5f1 Chore/fix papercuts 020525 (#35427)
* Fix giant icon in roles edit button

* Fix portals for edge functions and realtime inspector

* Set refetchInterval to 2000 in DiskManagementForm if requested_modification in data

* Fix
2025-05-05 11:27:29 +08:00
Jordi Enric f01b4faab0 Update destructive regex and add tests (#35423)
update destructive regex and add tests
2025-05-02 12:03:08 +02:00
Kevin Grüneberg 12ba4da4a5 feat: groundwork for larger instance sizes (#35373) 2025-05-02 15:45:03 +07:00
Saxon Fletcher 3aadc009e6 feat: billing address, name and tax id for org creation/upgrade (#34922)
We currently get support requests about adding or amending invoices due to no billing address being set. Changes in this PR:
- Unify tax id and billing address into a single form
- Add ability to set billing name that diverges from org name
- Add ability to set billing address & tax id during org creation (only paid plans)
- Add ability to set billing address & tax id during plan upgrade
2025-05-02 10:10:41 +08:00
angelicoandJoshen Lim 14562e9c8a chore: init useIsOrioleDbInAws (#35325)
* chore: check for cloud provider in useIsOrioleDb

* chore: introduce useIsOrioleDbInAwsNew instead

* chore: consolidate to using useIsOrioleDb

* chore: selectively include useIsOrioleDbInAwsNew in conditionals

* fix: prettier

* fix: incorrect cloud provider

* fix: update conditional instead

* fix: prettier

* Simplify logic

* Smol fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-04-30 15:29:48 +08:00
Daniel Gabriel 915af35334 fix(ui): enable portal for popover components (#35370) 2025-04-30 06:52:23 +00:00
21bbc93afa Chore/table editor filter sorts logic moved to hooks (#35138)
* init

* update Popovers to use new hooks

* Update Header.tsx

* made primitive components for filter and sorts

* Delete FilterPopoverWrapper.tsx

* Delete SortPopoverWrapper.tsx

* remove

* Create README.md

* Update README.md

* fix sort popover issues

* Update SupabaseGrid.tsx

* move DeleteConfirmationDialogs into context

* fix issue with

* more stuff for alaister

* fix ts and tables pages

* First round of clean up

* Update README.md

* Smol fix

* Fix issues identified

* Smol fix

* Fix updating table name in database/tables not invalidating

* Improve SQL editor invalidation logic

* Add fix to reopen last opened table when landing on table editor

* Smol fix

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-04-30 14:19:21 +08:00
Jordi Enric a5f9142fd4 fix logs datepicker handling global copy events (#35361) 2025-04-30 14:07:59 +08:00
Joshen Lim 34147c3bd2 Fix theme mode radio item large (#35350)
* Fix theme mode radio item large

* Attempt to fix Logs.DatePickers.test by fixing a date for the test

* Revert
2025-04-29 18:06:24 +08:00
Jordi Enric 37ee1c0ca2 fix logs filter popover position (#35334) 2025-04-29 11:17:29 +08:00
Terry Sutton 794e4ea295 Update jwt modal (#34938)
* Update jwt modal

* update key style
2025-04-28 15:05:06 -02:30
Jordi Enric c50b9a7775 fix logs datepickers position (#35329) 2025-04-28 12:47:27 +02:00
Joshen Lim 2c05fb3881 Fix tabs renaming via AI not updating tab label (#35218) 2025-04-28 17:48:26 +08:00
jose-ledesmaandJose Ledesma 9c50c0ab97 feat: add new regions for staging/local (#35275)
Co-authored-by: Jose Ledesma <jose@Joses-MacBook-Pro.local>
2025-04-28 10:38:02 +02:00
Joshen LimandAlaister Young dd03625f55 Chore/refactor triggers to remove mobx (#35254)
* Set up create trigger

* Hook up update trigger

* Deprecate CreateTrigger

* Small clean up DeleteTrigger

* Update apps/studio/components/interfaces/Database/Triggers/TriggerSheet.tsx

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-04-28 11:33:37 +08:00
Joshen Lim d75b7c37bb Update all links that were pointing to settings/auth to their respective updated pages (#35281) 2025-04-25 23:59:53 +07:00
Ivan VasilovandJoshen Lim a915f3d7e7 fix: Delay the autofocus of the input in a treeview (#35270)
* Remove leftover resizable group which weren't interactive.

* Put the input focus in a setTimeout.

* Alternative solution

* Small fix

* Bump threshold to 400ms

* Final fix, hopefully.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-04-25 18:37:41 +02:00
Saxon FletcherandJonathan Summers-Muir 98ae279a2b Add's a filter bar component to design system (#35238)
* add filter bar component

* update filter bar demo

* add custom component support

* filter bar component

* example filter bar in use

* remove search filter

* reinstate older filter bar

* revert

* update registry

* update example name

* clean up example imports

* Update FilterBar.tsx

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2025-04-25 15:11:28 +08:00
Joshen Lim ff653107cf Remove isValidating check on custom domain cancel action (#35259) 2025-04-25 14:59:05 +08:00
Joshen Lim 7a3939d8f5 Add link to table editor from wrappers (#35242) 2025-04-24 21:35:31 +07:00
Ivan VasilovandPamela Chia 77304a4c56 chore: Add two new events for the submit form (#35199)
* Add two new support events and use them in the Studio UI.

* fix: move verb to end

* fix groups instead of properties

* fix groups in event

* Fix the no_project case when sending an event.

* Fix a React warning about setting a prop on Fragment.

* Fix the project ref when sending an event.

---------

Co-authored-by: Pamela Chia <pamelachiamayyee@gmail.com>
2025-04-24 13:28:55 +02:00
Ivan Vasilov 8a321126ac chore: Clean dead code in ui package (#35093)
* Clean up unneeded files and exports in packages/ui.

* Fix references to LogoLoader.

* Import SimpleCodeblock directly from ui package.
2025-04-24 12:24:12 +02:00
Joshen Lim 025c183b16 Add link to reset database password in Connect modal (#35241)
Add link to reset DB password in connect modal
2025-04-24 15:56:52 +07:00
Raminder SinghandSaxon Fletcher 23ceb9072d Add replication UI in Studio (#30090)
* add dummy sinks and pipelines pages

* update api types

* show empty sources state

* show empty replication state at /replication

* create source when enable replication button is clicked

* improve replication page when replication is enabled

* replace sources page with publications page

* publications table

* show publications in table

* create publication wip

* show toast error instead of throwing an exception

* user can now delete a publication

* show empty sinks page

* create and list sinks

* add ui to delete a sink

* show pipelines on the pipelines page

* add ui to create and delete pipelines

* get pipeline status wip

* show pipeline status wip

* show correct label on action buttons

* start and stop pipelines

* remove a couple of console.logs

* fix error when deleting a pipeline

* only consider replication enabled when a source with name = ref is present

* add source and sink names

* correct colspan for 'no pipelines' row

* hide 'supabase_realtime' publication on ui

* move filtering to fetch query

* show sink name in ui

* show source/sink names on pipelines page

* fix start/stop status shown on ui

* fix prettier formatting

* update api types

* extract pipeline action button as a separate component

* fix a crashing page

* fixed publications page crash

* update to match with changes in api

* add new replication page under database

* hide replication page behind feature flag

* update types

* update api types

* show destinations empty state

* add destinations table

* factor out components from Destinations table

* show status dot

* move pipeline fetch query to parent component

* add ability to enable/disable a pipeline

* show loader when starting or stopping a pipeline

* fix a bug in which loading & empty states were shown together

* fix a bug in which error & empty states were shown together

* wrap in default layout

* add new destination panel

* add type field

* fix a forwardRef error

* fix layout

* create destination

* delete destination

* add ability to create or delete destinations with pipelines

* create source if missing

* show only a single error

* add an enable switch

* new layout

* add subsections

* comment out unused code

* show enabled switch only in the header

* close panel when destination is created

* disable buttons when api requests in flight

* reduce panel size

* remove commented out code

* treat max size and max fill secs as numbers

* use drop down to show publications

* simpler vertical layout

* add separators

* add form validation

* remove publications drop down padding

* add new publication button

* hide advanced settings behind an accordion

* add some margin between icon and text

* show publications panel on clicking new publication button

* add header to new publication panel

* fix validation not running for publication drop down

* create publication in the new publication panel

* add table selector in new publication panel

* update api types

* remove old code

* update platform.d.ts

* update navigation bar utils

* remove a redirect from replication page to publications page

* ask user for confirmation before deleting destination

* edit destination panel

* edit destination panel values fixed

* bug fixes

* fix prettier formatting

* enable/disable pipeline after editing

* rename snake_case params to camelCase

* loading button when editing

* remove merge markers

* update api types

* add max_staleness parameter in sinks for bigquery

* add read replicas flow diagram to replication page

* remove an unused import

* Revert "add read replicas flow diagram to replication page"

This reverts commit 8852d7847b457885603dba786141a8aaf8e99350.

* add panel to warn users about additional cost before creating a destination

* hide replication page contents behind a feature flag

* fix merge conflicts

* styling changes

* revert static flag

* styling updates

* fixes

* fix switch

* copy

* fix layout

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2025-04-23 10:52:46 +05:30
Bobbie Soedirgo bc6cca73bb fix: remove refs to pgsodium keys from vault & wrappers (#35168) 2025-04-22 20:49:18 +08:00
Joshen Lim f183ba2c68 Clean up unused logs selection renderers (#35116)
Clean up unused logs selection rendereds
2025-04-22 13:02:30 +02:00
Joshen Lim 58a9db9db5 Chore/fix searching in table editor clearing tabs (#35198)
* Fix searching in table editor clears tabs

* Clean

* clean

* Make close button slightly bigger
2025-04-22 17:33:21 +07:00