* 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
* 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
* 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
* 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
* 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>
* 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>
* 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
* 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>
* 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
* 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>
* 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>
* 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>
* 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>
* 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>
* 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.
* 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
* 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>