Commit Graph
113 Commits
Author SHA1 Message Date
Ivan Vasilov cb1e3a8170 chore: Prep work for pnpm (#29610)
* Add all missing libraries in the packages/apps.

* Add all missing Vitest imports to the tests.

* Add some missing exports to ui.

* Fix the admonition export.

* Fix various minor bugs.

* Migrate the ui package to use vitest.
2024-10-01 11:29:37 +02:00
Joshen Lim f87c2aad46 Chore/deprecate old sql editor nav (#29584)
* Deprecate use of sqlFolderOrganizationFlag

* Deprecate SQLEditorNavV1

* Deprecate use of useSqlEditorStateSnapshot

* Deprecate old sql-editor valtio state
2024-10-01 13:34:14 +08:00
Ivan Vasilov 09a62662d8 chore: Clean up ui-patterns imports (#29132)
* Switch all top-level imports for ui-patterns components to use specific components when importing.

* Remove the @ui-patterns shorthand since it works exactly the same without the @.

* More import fixes.

* Fix the ui-patterns tests.
2024-09-30 21:41:26 +02:00
Terry SuttonandJoshen Lim 7d5c62c518 Chore/update without where warning (#28458)
* Add warning when running update without where

* Account for quotes

* Split warnings to allow them to show independently

* Update

* Combine two modals into one

* Padding bump

* Fix padding

* Return if a query has issues

* Allow queries to run

* Small UI tweaks

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-20 17:33:47 +08:00
Terry SuttonandJoshen Lim 7f0a216c40 Chore/fix move folder 2 (#29326)
* Conditional schema for move query

* Small change

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-17 10:26:00 +08:00
Joshen Lim 9e1d6f909d Chore/sql editor fixes (#29204)
* Add validation for same folder name

* Add validation in move query modal for folder name

* Add validation in move query modal for folder name min length 1

* Handle rename folder failed due to duplicate folder name

* Fix renaming folder to a name that already exists
2024-09-11 14:03:05 +08:00
Joshen Lim d1a9447a85 Add client side validation for payload size in sql editor (#29173) 2024-09-09 20:55:05 +08:00
Ivan VasilovandJoshen Lim 05a542ccea chore: Migrate all feather icons to lucide icons (#29038)
* Add lucide-react to docs (to make the autocomplete work).

* Migrate the docs app icons.

* Migrate the ui-patterns.

* Remove the old icons from ui package.

* Migrate the www app from react-feather icons.

* Migrate all of studio icons.

* Migrate the only component in design-system.

* Fix an old import in ui package. Revert an import in docs app.

* Fix some pages in www.

* Remove unneeded files used in generation of icons.

* Fix a prettier error.

* Fix more issues in www.

* Fix an issue in Log Date picker.

* Replace all string sizes with number sizes because the icons grew in some cases.

* Fix more imports in security page.

* Fix an extra import.

* Remove the size prop from all icons if they're in a button and they match the button size.

* Minor fixes for docs and www.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-04 19:46:21 +08:00
Terry SuttonandIvan Vasilov f8228f1f48 Chore/update opt in message (#28846)
* Working

* Allow for opting-in in place on the SQL Editor page

* Show a warning after the first message

* Fix width

* Remove import

* Add context to schema dropdown

* Cleanup

* no message

* Revert the package-lock.json.

* Remove the extra div.

* Move the confirmation modal outside so that it can be triggered by the first message alert.

* Add another alert to guide the user to selecting a schema.

* Fix imports

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-09-03 15:04:01 -02:30
Jordi EnricandJoshen Lim 3fa447d57d fix layouts and make sure buttons are visible in smol screens (#28939)
* improve table editor headers

* sql editor horizontal scroll auto in headers

* fix headers in tablelist

* fix headers in db roles

* fix database functions in smol screens

* fix table list headers

* fix trigger lists table

* fix enum types headers

* Update Extensions component styling with flex-wrap

* Update Indexes component UI layout and styling

* fix publications table

* move sql editor pagination tobottom

* rm unused imports, add correct label to db selector

* fix layout shift in run button

* add tooltip to results limitter

* make header in sql editor results scrollable

* Fix Button tooltip and table header formatting for database/tables/[id] ColumnList

* Fix SQL editor footer disappearing with resizable panel

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-02 16:46:19 +07:00
df52ea7ee0 feat: Replace all toasts with sonner (#28250)
* Update the design of the sonner toasts. Add the close button by default.

* Migrate studio and www apps to use the SonnerToaster.

* Migrate all toasts from studio.

* Migrate all leftover toasts in studio.

* Add a new toast component with progress. Use it in studio.

* Migrate the design-system app.

* Refactor the consent toast to use sonner.

* Switch docs to use the new sonner toasts.

* Remove toast examples from the design-system app.

* Remove all toast-related components and old code.

* Fix the progress bar in the toast progress component. Also make the bottom components vertically centered.

* Fix the width of the toast progress.

* Use text-foreground-lighter instead of muted for ToastProgress text

* Rename ToastProgress to SonnerProgress.

* Shorten the text in sonner progress.

* Use the correct classes for the close button. Add a const var for the default toast duration. Remove the custom width class from sonner.

* Set the position for all progress toasts to bottom right. Set the duration for all toasts to the default (when reusing a toast id from loading/progress toast, the duration is set to infinity).

* Fix the playwright tests.

* Refactor imports to use ui instead of @ui.

* Change all imports of react-hot-toast with sonner. These components were merged since the last commit to this branch.

* Remove react-hot-toast lib.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2024-08-31 07:50:51 +08:00
Jordi Enric 51f45a1b33 fix sql editor charts (#28915)
* fix

* fix type issues

* fix type err

* fix type error 2 the return of the type

* fix type error 3 tokyo drift
2024-08-27 19:32:51 +02:00
Terry Sutton 1d65841542 Chore/snippet folder nudges (#28889)
SQL Editor nudges
2024-08-26 15:52:40 +00:00
Terry SuttonandJoshen Lim 9ecd5343ce feat/export-as-sql (#28670)
* feat/export-as-sql

* Rename export items

* EntityListItem change dropdown menu items for exporting data to a sub menu

* Set width

* Pull out SQL formatting logic into formatTableRowsToSQL and start a test

* Fix export function

* Do not stringify null values

* Add comment

* Add blank test cases

* Wrap up formatTableRowsToSQL

* Add max export row count validation to exporting actions in EntityListItem + add link to pg _dump docs

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-08-19 15:08:36 +07:00
Ivan VasilovandJoshen Lim 6a29cd2bec feat: Choose which schemas to share with OpenAI (#28594)
* Change the getEntityDefinitions query to accept list of schemas instead of being hardcoded to public schema.

* Add a schema combo box for selecting schemas.

* Use the combobox in the SQL editor to select which schemas should be sent to the AI when asking a question.

* Add configurable schemas to AiPolicyEditor.

* Remove unneeded hook.

* Fix the AI settings modal.

* Add keys to the entity definitions query.

* Fix the AI settings modal which is used by cmdk flow.

* Minor fixes.

* Address feedback

* Some fixes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-08-15 14:38:19 +08:00
Joshen Lim 5869005d85 Fix limit in sql editor (#28582) 2024-08-13 14:55:01 +08:00
Joshen Lim 84e62cb63c Add guard in CellDetailPanel (#28550) 2024-08-12 22:19:30 +08:00
Joshen Lim 355aee7d76 SQL Editor support opening cell into side panel for read only detailed view (#28547)
* SQL Editor support opening cell into side panel for detailed view

* Refactor context menu in SQL editor to use ui lib

* Fix

* Fix for NULL values
2024-08-12 17:16:59 +08:00
Ivan Vasilov d6a33be225 feat: Make the AI panel in the SQL Editor resizable (#28506)
* Fix a "A component is `contentEditable` and contains `children` managed by React." error. Reexport ResizableHandle from react-resizable-panels. Add correct display name for text area.

* Change the AI panel to be resizable.
2024-08-09 16:23:14 +02:00
Charis 84732ff44c feat: add new command menu to studio (#28432)
Add new command menu to studio. Ports over commands from old menu (with some minor reorganization), then adds:
- Branch switcher
- Project switcher
2024-08-08 16:42:07 -04:00
Joshen Lim 4e3b2daabe Use expanding text area fort RLS assistant (#28444)
* Use expanding text area fort RLS assistant

* Use AssistantChatForm in SQL editor AI assistant

* Use AssistantChatForm in RLS AI assistant

* Fix expanding text area height change

* Clean up
2024-08-08 12:45:45 +08:00
Joshen Lim a3ecf36c65 Show correct number of private snippets for SQL folders (#28411)
* Show correct number of private snippets for SQL folders

* Ensure that private snippet count is updated when sharing / unsharing queries

* Fix snippets caching issuie

* Fix move query modal showing more than just the project's folders
2024-08-07 17:38:17 +08:00
Terry SuttonandJoshen Lim fee07c5d36 Chore/show lints on project homepage (#23424)
* Move auth lints to query

* Add exmaple components

* Cleanup

* Add sidebar badge

* type issue

* Remove home warning

* Add loader state

* Small style changes

* Small lint

* Only show navbar dot if we have lints

* Revalidate the lint query when sql editor snippets run

* Fix imports

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-08-05 10:49:19 -02:30
Jordi Enric 03f37bce40 fix chart widths (#28181)
* fix chart width

* update barchart y axis width in default props
2024-07-26 11:40:55 +02:00
Etienne Stalmans 22d66f4999 chore: update docs and templates with search_path (#28066)
Advisor warns about missing search_path on the handle_new_user function,
which we supply in docs and SQL starter templates.
We have updated this in some docs but haven't pulled it through to everything
2024-07-18 17:54:15 +02:00
Joshen Lim 17e0c5dbcf Improve snippet organization in SQL Editor (#27881)
* Init changes for sql fodlers

* Added upsert logic in sql-editor-v2 valtio, hooked up with templates and quickstarts

* Do up logic for creating new snippets by typing in /new or by clicking new query button

* Do up logic for updating and deleting snippets

* Do up logic for favourites and shared snippets

* Do up logic for favourites and shared snippets

* Fix

* Fix saving indicator, add empty states for favorites and shared snippets

* Implement sorting

* Some minor QOL improvements

* Minor fix on empty state for private snippets

* Add delete folder mutation

* Implement create and update folder

* Fix reinstate with AI renaming for new snippets under folder

* Support controlled multi select behaviour in private snippets

* Undo changes to tree-view-multi-select

* Support bulk deletes

* Support moving queries + rendering queries in folders

* Support deleting folders and creating a new folder when moving a query

* Fix bug where renaming query removes content

* Add initial loading state in sql editor nav + handle fallback if cannot retrieve content by id

* Fix some spelling

* Fix TS issue in sql folders mutation keys

* Fix toggling favorite

* Lint

* Revert fallback behaviour in ]id] for now

* Fix favorites and shared snippets not showing

* Fix moving currently opened snippet leads to loading

* Support bulk moving

* Improve multi select logic a little

* Nit lint

* Reinstate AI retitling for untitled snippets when running query

* Remove hardcode in useAFlag

* Support creating new snippet in a folder directly

* Fix sharing snippets that are within a folder

* Fix sharing snippets within a folder

* Fix favorite

* Add loading state when fetching folder contents

* Fix favoriting snippets in folders
2024-07-17 12:23:19 +08:00
Ivan Vasilov 22c5324f0c feat: Use expanding text area in the Ai Assistant (SQL Editor) (#27930)
* Add a new textarea component which autoexpands depending on number of content rows.

* Use the new ExpandingTextArea in the AIAssistantPanel.

* Remove old unused text area.

* Move around some of the props in the ExpandingTextArea.

* Make the value prop mandatory.

* Fix minor stuff in the Design System app.

* Add examples for Expanding Text Area.

* add max height to the expanding text area.

* Add todo comment in database-new app.
2024-07-12 11:32:20 +02:00
Jordi Enric 6608f8765b Add labels and grid to sql editor charts (#27787)
* add opts to see labels and grid for better screenshots

* fix format in x axis

* add missing props to default chart config

* fix typeerr

* rm copypasta cleanup tailwind classes and divs
2024-07-04 14:46:32 +02:00
Alaister YoungandKevin Grüneberg 70da0f1d1d chore: cleanup packages (#27770)
* chore: cleanup packages

- Avoid circular imports
- Export API-types as types
- pg-format without depending on Node internal Buffer (not browser-compatible)
- Avoid importing from barrel files in ui dir

* chore: avoid barrel file imports in studio (#27771)

* chore: avoid barrel file imports

- Removes some unused imports
- Avoids barrel file import for faster builds + less memory

* add eslint rule

* type fixes

* delete layouts barrel

* delete components/grid barrel file

* delete components/grid/utils barrel file

* delete components/grid/components/common barrel file

* delete components/grid/components/editor barrel file

* delete components/grid/components/formatter barrel file

* delete components/grid/components/grid barrel file

* delete components/grid/components/header/filter barrel file

* remote components/grid/store barrel file

* remove components/interfaces/Auth/Policies barrel file

* delete components/interfaces/Settings/Logs barrel file

* delete components/ui/CodeEditor barrel file

* delete components/ui/Forms barrel file

* delete components/ui/Shimmers barrel file

* delete data/analytics barrel file

* delete hooks barrel file

* cleanup lib/common/fetch barrel file

* final * barral files cleanup

* global react-data-grid styles

* remove console.log

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>

* fix build

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-07-04 14:48:10 +08:00
Joshen Lim 45e9f39ae5 Small alignment fix in UtilityPanel (#27529) 2024-06-26 17:58:41 +08:00
Joshen Lim ae8dafd0a4 Chore/optimizations for table editor query (#27553)
* Optimize table editor select query when cutting off column values

* Fix auto limit logic to consider offset
2024-06-26 17:15:20 +08:00
Terry Sutton e225efec66 Chore/fix limit bug (#27540)
Match uppercase limit
2024-06-25 14:01:30 -02:30
Monica KhouryandTerry Sutton c3af755d29 Chore: preserve whitespace in SQL Editor result table (#27324)
* Chore: preserve whitespace in result

* Update apps/studio/components/interfaces/SQLEditor/UtilityPanel/Results.tsx

* Update apps/studio/components/interfaces/SQLEditor/UtilityPanel/Results.tsx

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2024-06-18 12:38:20 -02:30
Terry Sutton 45998fd31a Chore/fix limit in sql query (#27179)
* Dont append limit on fetch first queries

* Add some tests
2024-06-18 20:46:00 +08:00
Joel Lee 7547c52e4f fix: revoke role on public for hooks (#27077)
* fix: revoke role on public for hooks

* fix: update SQL editor queries

* fix: update examples

* fix: update RBAC doc

* fix: update description to describe why we revoke public

* fix: correct use of we

* fix: run prettier

* fix: remove unintentionally added files
2024-06-07 22:03:12 +02:00
Jonathan Summers-Muir 972773ca87 [Dashboard] Chore: update Modal component to use new components (#26844)
* init

* add more examples

* update modal

* update modals

* more modals updated

* update modal

* Update NewAccessTokenButton.tsx

* Update NewAccessTokenButton.tsx

* fix: issue with scale on dialog opening. chore: added bg-dialog color

* fix modals

* add deprecation notices

* revert bg

* revert

* Update Modal.tsx

* Update PITRSelection.tsx

* update dialog docs

* fix: issue with payment method modal

* update terminal instructions

* update padding defaults
2024-06-05 10:06:55 +00:00
Jonathan Summers-MuirandJoshen Lim 79c5bb9788 [Dashboard] Data API on/off switch (#26796)
* init layouts in project settings

* Update general.tsx

* update gap

* Update Scaffold.tsx

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* spacing issues

* now added a enabled switch

* Revert "now added a enabled switch"

This reverts commit f22050302a.

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* revert

* Update project-postgrest-config-update-mutation.ts

* add bottom padding

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* fix

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* add collapible

* update FormPanel component to be more composable

* Update PostgrestConfig.tsx

* Update PostgrestConfig.tsx

* update callout to warning variant

* Update FormLayout.tsx

* Update PostgrestConfig.tsx

* Small copy changes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-06-04 16:02:47 +07:00
Joshen Lim 9e45053d25 Chore/sql editor pagination of results (#26857)
* Add pagination to SQL editor for results longer than 100 rows

* Change pagination to automatically setting a limit

* Fix

* Address initial comments

* Compress SQL editor actions when ai assistant is open and screen is of a certain width

* Fix checking

* Add some fixes and tests

* Add a message if the query had an error and the limit was applied

* Rename to suffixWithLimit

* Small refactor and fix
2024-06-04 15:20:18 +07:00
Joshen Lim e904030bd1 Improve enabled check on ongoing queries (#26984) 2024-06-04 14:19:11 +07:00
Joshen Lim 63493daa65 Allow viewing ongoing queries and aborting them (#26887)
* Allow viewing ongoing queries and aborting them

* Fix

* Add refresh button + shift view running queries CTA

* Fix scrolling in SqlEditorMenu

* Small styling fix for table editor menu schema selector error state
2024-06-04 13:07:55 +07:00
Joshen LimandAlaister Young 4637140e72 Fix downgrade network error causing UI crash (#26919)
* Fix downgrade network error causing UI crash

* Ensure that all try blocks have at least a catch block and not an empty finally block

* Update apps/studio/components/interfaces/Organization/BillingSettings/Subscription/PlanUpdateSidePanel.tsx

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

* Update

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-06-03 11:08:39 +08:00
Joshen Lim cd4b7c0497 Remove all usage of read replicas enabled flag (#26819)
* Remove all usage of read replicas enabled flag

* Add fix for fly

* Fixes

* Prettier

* Swap to DropdownMenuRadioGroup
2024-05-29 11:46:15 +08:00
Wen Bo Xie decccaf763 fix: add logical backup warning to dbdev template (#26816) 2024-05-28 21:13:33 -02:30
Joshen LimandAlaister Young 0c81551110 RQ convert mutateAsync calls to mutate where possible, otherwise add try finally blocks (#26737)
* RQ convert mutateAsync calls to mutate where possible, otherwise add try finally blocks

* Skip eligibility query if project status is coming up

* Small UI update to replicas side panel

* Update apps/studio/components/interfaces/SQLEditor/RenameQueryModal.tsx

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

* Add error handling in CIDR

* Prettier lint

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-05-24 16:58:49 +08:00
Kevin Grüneberg f6fe8238d8 chore: switch to new slug based invoice endpoints (#26693) 2024-05-23 18:51:31 +08:00
Terry Sutton f6fa953d69 Chore/fix cardbutton (#26496)
Fix cardbutton overlapping
2024-05-20 09:42:27 -02:30
Joshen Lim 434d7ea74d Fix maximum call stack error in SQL editor (#26434) 2024-05-17 17:31:40 +08:00
Ivan Vasilov 6f5cabdc62 feat: Make the conversational AI in the SQL editor default (#23142)
* Remove feature preview for the conversational AI for SQL editor.

* Remove all code related to the previous implementation of editor ai.

* Update the snapshots for the ai commands.

* Remove unneeded code from the ai panel.

* Show the diff bar when debugging.

* Convert the updateEditor function into a callback.

* Simplify the debugging functionality by using react state instead of react context.

* Erase the AI disclaimer when formatting code as modification.

* Add a button to clear the chat history.
2024-05-14 15:40:42 +02:00
Joshen Lim 271734eec2 Chore/support checking replication lag in database reports (#26290)
* Init replication lag chart in database reports

* Navigate to replication lag chart via query params

* Add view replication lag CTA in map view

* Add replication lag metric to instance node view

* Prettier
2024-05-14 20:00:20 +08:00
Monica Khoury 448cf84e3d Fix: spelling error in countries quickstarts (#26296) 2024-05-14 08:40:48 -02:30