Commit Graph
91 Commits
Author SHA1 Message Date
Joshen Lim dcdc3cd230 Fix table editor unable to update PK after renaming table (#21285)
* Fix table editor unable to update PK after renaming table

* Lint
2024-02-26 06:21:42 +00:00
Joshen Lim d1ab275bea Chore/read replica final touches (#21420)
* Add validation for max replicas check

* Small UI fixes

* Add useMemo for edges

* Fix nodes not shwoing up when switching between map and flow view

* Fix logs explorer copy button

* Add edge changes to useEffect

* Bump wait duration when creating replica

* Sync database selector and use pooler checkbox states across panels on settings database

* Fix InstanceConfiguration not showing any nodes

* Sort databases in DatabaseSelector to have primary first

* Logs explorer border fotter

* Add database selector for edge logs

* Make buttons more concise in logs

* Clean up

* Fix

* Fix home page empty empty state

* Attempt to support pooler logs

* minor qol fix for database selector

* Update shared-data pgbouncer to supavisor

* small fix
2024-02-23 18:08:06 +08:00
Joshen Lim 7556a3181c Update error handling for table editor RQs (#21443) 2024-02-22 16:29:10 +08:00
Joshen Lim fc405ce035 Chore/expose load balancer api endpoint in api settings (#21314)
* Expose load balancer API endpoint in API settings

* Add load balancer as a node in infrastructure config

* Add load balancer node to infra config

* Fix
2024-02-21 16:58:15 +08:00
Joshen Lim 632f8f95f4 Chore/pooler strings for read replicas (#21383)
* Midway

* Show respective pooler parameters based on selected database

* Add optional params to DatabaseSelector to de-async state between connection string and connection params on database settings page

* remove badge
2024-02-21 14:50:53 +08:00
Ivan Vasilov d07a820440 feat: Pro+ users can choose compute size during project creation (#21292) 2024-02-20 16:19:26 +08:00
Terry SuttonandJoshen Lim 46051bce17 Chore/table editor header simplification (#18366)
* start

* Update

* Types

* Passhref

* Cleanup

* Update

* Fix

* Updates

* Updates

* Enable RLS from table editor

* Cleanup

* Filter current table policies

* Fix missing footer

* Duplicate role picker

* Remove rls banner

* Add tooltip for rls enabled, but no policies

* Fix footer positioning

* Prettier

* Change wording

* Update button style

* Cleanup

* Small update

* Fix Auth policies button number bg color

* Fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-02-15 09:10:30 -03:30
Ivan Vasilov 4c7ff74a00 fix: Update the types in api.d.ts. (#21287)
* Update the types in api.d.ts.

* Send zero for integration id.
2024-02-15 13:01:12 +01:00
Joshen Lim c915042250 Fix RQ error handling for views query (#21252) 2024-02-15 17:38:37 +08:00
Joshen Lim 7f084ce27b Improve loading states for project settings (#21254)
* Improve loading states for project settings

* Remove console log
2024-02-15 17:10:59 +08:00
646657937d Chore/table editor sidepanel revamp (#19977)
* Animate search, cleanup

* Replace icons, finish search, add rls status

* cleanup

* Cleanup

* chore: update styling, a11y and markup for table editor side panel (#21112)

* chore: removed a bunch of unnecessary tags, removed nested buttons for a11y and stopping duplicate onClick events, updated styling of table items to match design.

* fix: input issues

* Update TableEditorMenu.tsx

* chore: added Esc and backspace control

* Stroke width

* Focus states

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-02-13 09:25:35 -03:30
Joshen Lim 0ee75935f7 Support for composite foreign keys in table editor (#21078)
* Init foreign keys manage

* Midway

* Midway

* Implement functionality for new foreign key management flow in table editor

* Deprecate old add and remove foreign key queries

* Lint

* Set editor dirty when managing foreign keys

* Add basic validation in new ForeignKeySelector

* Remove FK management in column editor, deprecate old foreign key selector components

* Add validation on columnm types for foreign keys

* Set column type to foreign key type if new column

* Show appropriate notices for when referenced column doesnt match source column type

* fix

* Remove comment

* Lint

* ColumnEditor swap position of data type and Fk
2024-02-13 10:42:06 +08:00
Joshen Limandgithub-tidy-bot 53c5500be4 feat/sql editor support bulk deletes (#21004)
* Revert "Revert "Feat/sql editor support bulk deletes" (#21003)"

This reverts commit 30245c9490.

* ci: Autofix updates from GitHub workflow

* Lint

---------

Co-authored-by: github-tidy-bot <github-tidy-bot@supabase.com>
2024-02-07 18:03:15 +08:00
Ivan Vasilov a18c11807d fix: Refetch project details when reseting the database password (#21053)
Invalidate the project details (and refetch the connection string) when the user resets the DB password.
2024-02-06 17:15:07 +01:00
Joshen Lim 351fa698ce Update GET and PATCH pooling config to use supavisor endpoints (#20944)
* Update GET and PATCH pooling config to use supavisor endpoints

* Fix TS warning

* Small fix

* Remove unused import
2024-02-06 15:03:10 +08:00
e81442de56 chore: Migrate TableStore (#20033)
* Add create, update and delete mutations for tables.

* Use the new mutations instead of the table store.

* Fully remove the TableStore from the MetaStore.

* Move the methods from MetaStore into pure functions in SidePanelEditor utils.

* Remove TableStore.

* Refactor the onError callbacks to be on the mutations.

* Convert some of the UIStore invocations.

* Fixed not closing the modal in case of an error. Migrate some uses of uiStore.

* Use onSettled on all RQ hooks.

* Remove the ui param to the create/updateTable functions.

* Add a missing connection string.

* Add progress bar for loading UI for importing rows

* Update apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/SidePanelEditor.utils.tsx

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

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-02-06 14:56:59 +08:00
Alaister YoungandJoshen Lim a4f86bce8f chore: increase react-query stale time (#19465)
* chore: increase react-query stale time

* keep staleTime: 0 for table rows

* use staleTime: 0 for all user sql queries

* use staleTime: 0 for all pg-meta queries

* Some fixes

* fix updating tables

* fix bug while editing column names

* Fix deleting column in database/tables column list not revalidating UI

* Fix updating column in database/tables column list throwing ane rror

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-02-06 13:47:05 +08:00
Alaister Young 3230747a58 fix: refetch project detail on unknown status (#21035) 2024-02-06 02:23:08 +00:00
Kevin Grüneberg becd39cc23 feat: revamped instance size selection (#20765) 2024-02-05 12:03:43 +08:00
Joshen Limandgithub-tidy-bot 30245c9490 Revert "Feat/sql editor support bulk deletes" (#21003)
* Revert "Feat/sql editor support bulk deletes (#20927)"

This reverts commit 27c2cff395.

* ci: Autofix updates from GitHub workflow

* Lint

---------

Co-authored-by: github-tidy-bot <github-tidy-bot@supabase.com>
2024-02-05 14:01:24 +11:00
Joshen Lim 27c2cff395 Feat/sql editor support bulk deletes (#20927)
* Switch over existing delete content to version 2 on API for bulk deletes

* Streamline search behaviour for SQL editor

* Fix SQL query tooltips showing up when dorpdown menu is open or  modal is open for non active query

* Shift project snippets up above favourite snippets

* Basic bulk delete query support

* Support shift select in SQL editor for queries

* Fix lint
2024-02-05 10:31:03 +08:00
Joshen Lim 8e6870abbf Add error handling for subscription and addons (#20866) 2024-01-31 11:04:15 +07:00
Joshen Lim 0c155ec552 Chore/update pgbouncer status check (#20862)
* Update pg-bouncer status check

* Remove nextjs endpoint for pgbouncer check

* Add is platform check
2024-01-30 16:43:51 +07:00
Ivan VasilovandJoshen Lim 3f75f791a6 feat: Show a badge if the pgbouncer hasn't been removed. (#20830)
* Add a badge if the pgbouncer hasn't been removed.

* Force the response to be a boolean.

* Add a CSP exception, just for testing.

* Minor correction for the CSP rule.

* Add a API route for checking whether the pgbouncer has been removed.

* Log the response and error.

* Minor fixes.

* Update based on feedback

* Add additional sanity checks on pg bouncer nextjs endpoint

* Update check

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-30 14:10:57 +07:00
Kevin Grüneberg f7e60bf324 chore: upgrade prettier/eslint + autofix (#20785) 2024-01-30 10:54:02 +08:00
Alaister Young 026d7ee2f3 fix: refetch project detail while project is coming up (#20819)
* fix: refetch project detail while project is not healthy

* switch to only refetching while coming up
2024-01-29 09:56:52 +00:00
Kang Ming 3ef2a4b584 refactor: use the platform route instead of v1 (#20668)
fix: use the platform route instead of v1
2024-01-24 13:43:29 +07:00
Kevin Grüneberg c3976cf73e chore: align naming for micro instance (#20656) 2024-01-23 15:25:25 +08:00
ThomasandKevin Grüneberg 43cc703ce8 Improve Billing Breakdown section (#20498)
* Displays current costs

* Displays Compute Credits

* Adds tooltips for Compute Hours, Compute Credits, Current Costs and Projected Costs

* Formats amounts properly

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-01-22 13:18:51 +01:00
Joshen Lim d76c46cc42 Chore/update db connection string kaizen 2 (#20621)
* Add logic to determine if project resolves to ipv6, change badge text on use pooler connection checkbox based on that

* Fix text

* Fix type
2024-01-22 18:10:25 +07:00
Nabhag Motivaras eaf38b38c8 fix(dashboard): enumerated types window showing other types such as composite (#20576)
fix(dashboard): enumerated types window showing other types
2024-01-22 16:33:16 +11:00
Joshen Lim 89a96c788a Update network restrictions to support IPv6 (#20548)
* Update network restrictions to support IPv6

* Fix conditional

* Fix

* Fix
2024-01-22 11:24:35 +07:00
683fe3a6cd Chore/update database settings (#20575)
* Add connection string syntax

* Add more description to pooling modes

* Fix

* Test

* Fix

* Sm wording change

* Update apps/studio/components/interfaces/Settings/Database/ConnectionPooling/ConnectionPooling.tsx

* prettier

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-01-22 11:07:17 +07:00
Kevin Grüneberg 4152d21478 feat: configure ipv4 addon (#20433) 2024-01-16 16:08:50 +08:00
Joshen Lim 09a77a85e5 Chore/update database connection string settings (#20429)
* Slight refactor to DatabaseConnectionString

* Add IPv4 deprecation warning to database connection strings + link to pooler settings

* Add description in connection pool url to show the format

* Add badges to connection settings and connection pooling settings RE resolving to ipv4 or ipv6

* Add default pooler size as placeholder in connection  pooling depending on compute instance size

* Fix badge

* Add note to use session pool mode in pooler settings if using prepared statements in db

* Shift connection pooling settings up top and change titles of panels

* Fix

* Update pooling size default value based on compute size

* Show max client conns for supavisor pooling settings

* Adjust copywriting

* Combine database settings and connection strings sections

* Address comments

* Update description to use 5432 as alternative for pooling when using prepared statements

* Fix
2024-01-16 13:38:32 +08:00
Ivan VasilovandJoshen Lim 5417ba344f fix: Handle Cloudflare errors in the region selector (#20435)
* Simplify the logic when selecting another cloud provider.

* Make the regionSelector handle errors and not block the selec when it's loading.

* Add retry logic in get default region query

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-15 23:40:00 +08:00
Joshen Lim ade4b3492d Support archiving all notifications, and unarchiving a notification (#20376)
* Support archiving all notifications, and unarchiving a notification

* Small style fix

* Update codegen
2024-01-15 11:22:55 +08:00
Joshen LimandAlaister Young 9d9cb374e6 Chore/update notification v2 filter popover (#20375)
* Update notification v2 popover

* Update notifications empty state language based on  filters

* Fix typo

* Update apps/studio/state/notifications.ts

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-01-12 17:02:26 +08:00
Alaister YoungandJoshen Lim 36476cee5d chore: disable truncation on delete button only (#20368)
* chore: disable truncation on delete button only

* Remove SqlRowService

* deselect rows on role impersonation change

* switch to react-hot-toast

* Update apps/studio/components/grid/components/header/Header.tsx

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-12 17:55:03 +11:00
Alaister Young 6156133cfe fix: truncation while impersonating roles (#20349)
fix: truncation while impersonating
2024-01-11 11:07:28 -03:30
Joshen LimandAlaister Young d609d0d594 Support emptying bucket (#20335)
* Support emptying bucket

* Update apps/studio/components/ui/ConfirmationModal.tsx

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-01-11 16:59:51 +08:00
Joshen LimandAlaister Young 199dd37ac8 Offer select closest region CTA in project creation (#20262)
* Offer select closest region CTA in project creation

* Update region select CTA to use cloudflare and support all regions

* Auto select region, remove CTA

* Update apps/studio/components/interfaces/ProjectCreation/RegionSelector.tsx

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-01-11 15:23:34 +08:00
ef651aa9ba chore: Migrate ColumnsStore (#20032)
* Add react-query mutations for columns APIs.

* Use the new delete column mutation.

* Remove the column store and replace all its methods with mutations from react-query.

* Fix type errors.

* Move some the meta store methods to be pure functions in sidepanel.utils.

* Move the createColumn and updateColumn out of the metaStore.

* Some refactors and fixes

* Shift query invalidation when deleting column to mutation file instead of component file

* reorder some code for my sanity

* remove some @ts-ignores

* remove more @ts-ignores

* Update apps/studio/components/interfaces/TableGridEditor/SidePanelEditor/ColumnEditor/ColumnEditor.utils.ts

* Fix ForeignKeyFormatter crashing client

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-01-10 15:20:18 +08:00
6d121f1546 feat(dashboard): Add column-level privileges management (#13745)
* add privileges page

* fix

* fix: could have both global and column-specific privileges + is global per privilege

* Trigger Build

* load permissions data for current table only

* fix style for light theme

* add a guide to Privileges

* Update apps/docs/pages/guides/auth/column-level-security.mdx

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

* Update apps/docs/pages/guides/auth/column-level-security.mdx

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>

* Update doc

* Update docs

* progress moving privileges to pg-meta

* split up column privileges and table privileges

* adds loading state to toggles

* Add feature flag, move from auth section to database section

* Cleanup

* Update meta store table lists, add header warnings, update docs

* Add alert if any columns have privilages

* Spelling

* fix api.d.ts

* fix link

* move to auth pages

* only show editable schemas

* limit roles

* auto select first table

* remove roles meta store

* inline toggling

* apply privileges all at once

* add preview and use new switch component

* fix spelling

* handle long column names

* warn users about losing changes when changing schemas/tables

* remove strange docs link

* fix feature preview after reload

* use shadcn select

* Update select.tsx

* Minor UX fixes

* Update toast

* Update feature preview image for cls

* update cls warnings

* update warnings

* fix toast message

* Add migration alert to preview page

* Add link to CLS from feature preview, and add empty state on CLS page if feature preview is not enabled

* Shift local storage keys hard code to lib/constants

---------

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-10 17:39:03 +11:00
Ivan Vasilov b6d8e770fa fix: Don't fetch columns when fetching tables by default (#20157)
* Only fetch the tables from the required schema in the MetaStore.

* Don't include the columns in the getTables API call unless a flag is passed.

* Use the new flag in the ForeignKeySelector.

* Columns should be included for the schema visualizer.

* Address comments.
2024-01-09 17:39:40 +01:00
1fb755bfc7 chore: use data/fetchers and API spec (#20196)
* chore: use data/fetchers and API spec

* Remove unused imports

---------

Co-authored-by: Thomas Eckl <31189692+ecktoteckto@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-08 14:39:32 +08:00
Joshen Lim 34a2ccdae3 feat/notifications v2 (#19162)
* Midway implementation notifications v2

* Some updates to Tab component

* Midway implementation notifications v2 again

* implement infinite scrolling and loading for notification sv2

* Add button actions

* Implement archive notifications

* Add filter dropdown for notifications

* Update date format

* Small style fix

* Update

* Update API codegen

* Add empt state

* Add empty state for archived notifications

* Fix type

* Final changes to notifications v2

* Small style fix

* Small fix

* Only mark notifications that come into view as read

* Update package lock
2024-01-08 12:52:48 +08:00
Lakshan Perera 661d8c0668 chore: do not feature flag usage metrics for edge functions (#20226) 2024-01-08 11:33:54 +08:00
Kevin Grüneberg d12332ea5a chore: xmas cleanup (#19938) 2024-01-04 17:27:49 +01:00
Ivan VasilovandJoshen Lim 693294ec85 chore: Migrate VaultStore (#20020)
* Move listEncryptedColumns method to a function.

* Remove encryptColumn method since it's unused.

* Add CRUD RQ queries/mutations for vault secrets.

* Use the new queries/mutations.

* Add RQ for secret/decrypted values of secrets.

* Add RQ queries/mutations for pg-sodium keys.

* Use the new hook for decrypted value.

* Use the new hooks for pg sodium keys.

* Remove unneeded code from the vault store.

* Delete VaultStore and all usages of it.

* Small style fix

* Fix invalidation for create, update, delete secrets

* Small UI fixes to EditSecretModal

* Fix invalidation for pg-sodium-keys rq

* Add default error handler for pg sodium keys rq

* Undo

* Add default error handler for vault secrets RQ

* Remove observer on vault pages

* Fix database wrappers with vault

* Add loading state for vault keys

* fix pg sodium keys invalidation

* Opt for immutable const declaration in SecretsManagement

* remove keyId and keyName context from ColumnEditor, no longer supports TLE

* Address PR comments

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-04 15:15:45 +07:00