Commit Graph
168 Commits
Author SHA1 Message Date
Joshen LimandAlaister Young 9aabe4a40f Add number of database connections charts in database reports (#29637)
* Add number of database connections charts in database reports

* Fix type issue

* Fix more type issues

* Remove UI for requires_manual_intervention

* Update apps/studio/data/projects/project-upgrade-mutation.ts

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-10-04 16:55:01 +08:00
Joshen Lim c2608f837d Chore/improvements to datetime editing in table editor (#29660)
* Auto open date time picker, add set to null CTA for nullable date time fields

* Add dropdown option instead

* Small fix

* Add docs Url for database functions and triggers, fix space-x-2 in database/tables

* Some fixes
2024-10-04 09:55:04 +08:00
Ivan VasilovandJoshen Lim fd3309c886 feat: UI for pg-cron (#29291)
* Add crons option in the database menu.

* Add react-hook-form to the studio package.json.

* Refactor the functionSelector to be used by other features.

* Add the bulk of the functionality for the cron UI. Some of the code is copy-pasted from functions feature, needs to be cleaned before merging.

* Tons of changes, the Create Cron sheet works now.

* Added some more functionality for the cronjob feature.

* Convert the Cron table to a listing with cards.

* Add click-to-copy in the Auth Hooks feature.

* Remove extra prop.

* Fix type errors.

* Fix some random issues. Fix the tests.

* Fix the tests.

* Add a style for disabled radio button item.

* Make the default SQL snippet. Handle the case pg_net is not installed.

* Fix the heading and save button when creating a new cron job.

* Change the name of the custom label in the schedule dropdown.

* Minor fixes.

* Rename all mentions of cronjobs to cron jobs.

* Always show the cron jobs link.

* Rename the link from crons to cron-jobs.

* Fix the disabled state for the stacked radio group.

* More minor fixes.

* More small fixes.

* Fix the tests.

* Minor UI tweaks

* More minor tweaks

* Add padding bottom

* Add feature flag for the cron ui.

* Fix the SQL function option.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-10-03 15:11:17 -02:30
Terry Sutton a40ccd11bc rls changes (#29118)
* Inital setup

* Add suggest feature to the RLS Assistant

* Add AI button

* Use existing policies in AI editor

* Remove old feature preview

* Cleanup

* Tooltip

* Update

* Change panel width

* Fix type

* Fix types again

* Flag cleanup

* Add tooltip

* Cleanup

* Add a clear history button
2024-10-02 08:52:36 -02:30
Jordi Enric d7f11e717f fix reports layout (#29625)
* fix layout

* use report padding
2024-10-02 12:05:59 +02:00
Joshen Lim bc203b9078 Chore/user management fixes (#29635)
* Fix waiting for verification column as cell was not re-rendering after users are loaded

* Fix waiting for verification column as cell was not re-rendering after users are loaded

* Fix grid, overview panel and linking to providers for SAML users
2024-10-02 14:22:46 +08:00
Terry Sutton 109dd1dc2e Chore/add 24hr notice (#29626)
Add 24h notice to report
2024-10-01 17:05:38 -02:30
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
Ivan VasilovandJonathan Summers-Muir 7d9343cc05 fix: Sticky resource banner (#29562)
* Make the resource banner sticky.

* Remove main from all layouts that are using it.

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

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>

* Fix the whitespace.

* Fix some of the pages with broken layouts.

* Fix a merge error.

* Fix the layout of the SQL editor.

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2024-09-30 17:42:32 +02:00
Jordi Enric d00a939729 new logs & analytics sidebar (#29411)
* ui redesign

* when on a saved query and clicking save, it updates existing query

* fix styles in create dropdown, sticky search

* fix update type err

* fix payload type in logs content update

* fix bug with navigation when clicking dropdown items

* use same dialog ui patterns

* cleanup unused stuff

* rm unused component

* truncate sidebar element labels

* align end in dropdowns, fix zindex issue w expandable sidebar

* add empty state to queries section

* top left of the screen
2024-09-30 16:00:39 +02:00
Terry Sutton d2ab436cad Chore/fix duplicate table (#29486)
Fix duplicate table
2024-09-25 09:16:00 -02:30
Joshen Lim f5ac01ec2e Reinstate feat: allow removing multiple redirect urls (#29405) (#29417)
* Revert "Revert "feat: allow removing multiple redirect urls (#29405)" (#29416)"

This reverts commit cd4b057ef5.

* Fixes

* Tweak UI based on jonny's feedback

* Support multi add for redirect urls

* Validate to prevent adding existing url

* Small fix

* Add scroll area

* Fix focus styling for input fields in add new url modal
2024-09-23 13:09:38 +08:00
Joshen Lim 9e0e4f652b Support downloading storage objects in project paused state (#29339)
* Support downloading storage objects in project paused state

* Update

* Revert hardcode

* Feature flag storage object downlolad
2024-09-21 15:01:35 +08:00
Joshen LimandJonathan Summers-Muir cd4b057ef5 Revert "feat: allow removing multiple redirect urls (#29405)" (#29416)
This reverts commit 3e2f8cf51b.

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2024-09-20 21:55:43 +08:00
Kang MingandJoshen Lim 3e2f8cf51b feat: allow removing multiple redirect urls (#29405)
* feat: allow removing multiple redirect urls

* fix: add checkboxes to redirect url rows

* fix: close modal on success & change bg color on hover

* fix: replace remove button with checkbox

* Some changes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-20 17:47:10 +08:00
Joshen LimandKevin Grüneberg bcb847bbbb Chore/update rr pricing for new disk mgt (#29278)
* Update pricing details in DeployNewReplicaPanel

* Update disk mgt review modal to consider RR pricing

* Update tests

* Hide utilization bar for read replicas in new disk mgt ui

* Add guard

* Update link to docs for deploy replica panel

* Address feedback

* Ensure IOPS and throughput prices are considered for replicas

* Prettier

* Attempt to fix tests

* Attempt to fix tests

* Fix calculateDiskSizePrice for replicas

* Fixes

* Prettier

* Add ternary

* Feeeex

* Various small updates from Kevin's feedback

* smol stuff

* fixes

* Update DiskManagementPanelSchema.ts

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-09-18 18:38:58 +08:00
Jordi Enric 6b66d68df1 prevent use of WITH, ILIKE or wildcards (*) in logs explorer (#29282)
* prevent with

* fix layout, add with clause err

* fix log explorer err message issues and test

* fix type error

* add check for ilike adn tests

* add wildcard check

* rm consolelog
2024-09-17 17:37:42 +02:00
Joshen Lim 71a184738c Chore/more disk mgt UI updates (#29333)
* Only show new disk billing UI for AWS provider projects

* Fix DiskSpaceBar autoscaling should be fixed at 90%

* Change all MiB to MB and GiB to GB

* Prettier
2024-09-17 15:22:18 +08:00
Joshen LimandJonathan Summers-Muir 07699ad76b Chore/disk attributes mangement (#29219)
* init

* moar

* moat

* moar

* add read replica bar

* moar

* Update DiskMangementPanelForm.tsx

* added temp state mang to test

* moar

* Prepare react queries + data from API for disk mgt

* moat

* moat

* moar

* Update DiskMangementReviewAndSubmitDialog.tsx

* badge updates

* Hook up actual endpoints for E2E testing, but commented out for now for local dev

* Hook up real data + clean up files and add tests

* Update APi types

* Hook up E2E and fix all validation logic

* Only show new disk mgt UI for orb billing

* Add note on RRs 25% more disk size

* Add state to handle free plan for disk mgt

* Update increase disk size CTA in reports/database

* Fix file spelling errors

* Address feedback

* Fix missing framer motion package in ui

* Address comments

* Address feedabck

* Minor fix

* Use new disk util endpoint

* Remove unused import

* Address feedback

* More addressing of feedback

* Update pricing details for IO2 - no included disk size

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2024-09-13 11:51:51 +08:00
Joshen Lim 942a2589f7 Allow access to the database backups page irregardless of project status (#29170)
* Allow access to the database backups page irregardless of project status

* Remove access to backups page for pause, pause failed and pausing states

* Remove access to backups page for pause, pause failed and pausing states

* Restoring state show PITR

* Add state to handle project offline for PITR page
2024-09-11 00:12:29 +08:00
Joshen Lim b371266203 Chore/refactor auth users page to use data grid (#29105)
* Convert auth users page to use data grid

* Deprecate old components for auth users

* Remove unused state

* Remove unnecessary file

* Add copy cell value

* Reload -> Refresh

* Fix spelling

* Adjust sizing of search and dropdown

* Add feature flag and reinstate original auth/users UI

* Remove font mono on auth users data grid header and row cells

* Address comments
2024-09-10 11:02:25 +08:00
Jordi EnricandJoshen Lim 6e6910f82b warehouse ui/ux fixes (#29057)
* fix metadata not showing in Raw tab in log detail

* fix rows not filling up horizontal space

* show collection loader only when fetching collections, since the query can be disabled

* simplify language in create collection modal

* fix create collection modal copy in cta

* rm typecast, add tooltip on collection creation

* improve copy on empty collection

* improve copy on colelction empty state

* rm unused code

* prompt users to refresh, add button to refresh, after sending first events to a collection

* use generic mr skelington instead of supalogo

* add template for search in event message

* hide field reference when source is warehouse

* rm font bold on selected log

* update curl example

* add focusable prop to codeblock

* change focus border color in codeblock

* make codeblock focusable by default

* move refresh btn

* rm unnecessary focusable i codeblcok

* fix raw log rendering

* add search

* update plceholder

* add timerange search

* improve empty state copy in wh

* add open in warehouse explorer button

* update test conection dialog ui

* Update apps/studio/components/interfaces/DataWarehouse/TestCollectionDialog.tsx

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>

* Update apps/studio/components/interfaces/DataWarehouse/WarehouseCollectionDetail.tsx

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>

* Update apps/studio/components/interfaces/DataWarehouse/WarehouseCollectionDetail.tsx

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>

* rm clog

* Update apps/studio/components/interfaces/Settings/Logs/LogsQueryPanel.tsx

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>

* fix loading state in collections sidebar

* fix test collection sheet layout

* add some keyboard shortcuts to filters

* use isLoading in wh log detail to prevent double loaders

* make search input longr

* truncate titles

* truncat sidebar names

* rename dayjs

* update copy from warehouse to collections

* update remove collection copy

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-09-09 17:16:12 +02:00
Joshen Lim 17fd107f50 Chore/persist schema visualizer node positions (#29136)
* Midway implementing persist schema visualizer node positions

* Implement persisting node positions in local storage

* Fix SupportForm

* Improve default positions of new nodes
2024-09-09 11:11:32 +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
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
Jonathan Summers-Muir 4b6c2cbec0 feat: add compute badge (#23234) 2024-08-27 18:23:21 +02:00
Ivan Vasilov 8c6d0f1890 feat: Save the selected schema in the URL and local storage (#28662)
* Add nuqs package.

* Add useSchemaQueryState hook.

* Use the new hook in all places where there's is a schema selector.

* Make the useQueryState work with SSR in playwright.

* Fix the saving to local storage to happen as a side effect without any additional rerenders.
2024-08-19 13:28:25 +02:00
Joshen Lim 058698e6e8 Chore/auth policies page fixes (#28579)
* Use ButtonTooltip component for create policy CTAs

* Use ButtonTooltip component in PolicyRow

* Remove use of old tooltip component in PolicyRow

* Update Auth policies to allow read only to access edit policy UI but prevent saving from there

* Fix
2024-08-13 14:04:01 +08:00
Jordi Enric c76c3c4237 LogDrains: add description and gzip (#28551) 2024-08-12 13:20:37 +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
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
hallidayo deb8618187 feat: studio - example project tabs (#27262)
* example project tabs

* imports and alignment changes

* tabs alignment to the left
2024-08-05 09:57:25 -02:30
Jordi Enric 91f6fb72c8 Log Drains Fixes (#28337) 2024-08-02 17:45:03 +02:00
Terry Sutton e32a916f6a Chore/disk resize modal (#28291)
* Add more detail around db resize panel and modal

* Cleanup
2024-08-02 09:54:18 -02:30
Jordi Enric 03665dfdcd Log Drains UI (#28044)
* add main log drain form and navigation

* fix submit and select

* add mutation and update form

* fix submit issue

* fix issues with validation

* fix typeerrs

* add log drain table

* update create log drain mutation

* add delete log drain mutation

* update get log drains query

* fix new log drain click in cards

* add delete mutation

* add delete log drain

* refactor gzip switch

* refactor radiogroup to use formfield

* add headers form

* fix validation, custom headers errors

* refactor to support update in form

* format

* add log drains to nav

* update api spec and list logdrains query

* wire backend

* fix datadog region values

* make api input password

* fix url elastic

* fix typerr

* rm unnecessary value setter

* fix state issue log drains update form

* Add default values setting in useEffect to fix form issues

* format

* Update LogDrains table header width to 250px

* add upgrade plan card when free plan

* fix dumb if statement

* fix the freaking headers

* fix upgrade to team state

* fix plan check and loading state

* disable type update

* Add link to documentation in Log Drains settings

* show add destination only after empty state

* fix bug with inputs not resetting

* add gzip tooltip

* rm command

* defaultValue to value

* add defaultValue

* rm consolelog

* rm anys
2024-08-01 22:03:10 +02:00
jingsam c52fd21580 fix logs title (#28266) 2024-07-30 11:38:11 +00:00
Ivan Vasilov 9ac44f5985 feat: Add Third Party Auth settings (#27564)
* Add queries and mutations for third party auth.

* Show the ThirdPartyAuth form in the auth settings.

* Minor fixes to the mutations.

* Add a comment for TODO.

* Add all components for third party auth.

* Minor fixes.

* Update the firebase icons.

* Update the api-types.

* Fix the barrel file imports.

* Make the sheets more intuitive.

* Add a dialog for adding RLS policies for the firebase integration.

* Hide the 3rd party auth section behind a form.

* Fix a type error.

* Update the wording on the Add RLS policy dialog.

* Replace the sheets with dialogs.

* Add fixes for the comments on github.

* Minor fixes.

* Fix a type error.

* Make the delete integration awaitable.
2024-07-25 11:07:09 +02:00
Jordi EnricandAlaister Young fe8aec6070 Redirect to API report when there are 0 reports (#28145)
* redirect to api report when there are 0 reports

* Update apps/studio/pages/project/[ref]/reports/index.tsx

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-07-23 12:57:17 +02:00
Kamil Ogórek 057b2f1705 fix: Bail on audit logs permissions (#28096) 2024-07-19 19:15:52 +00:00
Joshen LimandJordi Enric 91c63be9c9 Surface error from fillTimeseries to the UI (#28086)
* Surface error from fillTimeseries to the UI

* rm consolelog

---------

Co-authored-by: Jordi Enric <37541088+jordienr@users.noreply.github.com>
2024-07-20 00:47:23 +08:00
Joshen Lim cb4b0fe6d8 Add set search path for query performance query (#28084)
* Add set search path for query performance query

* more
2024-07-19 18:07:27 +08:00
Alaister Young 9ea50f6cee fix: new id in content query (#28064) 2024-07-18 10:38:48 +00:00
Wen Bo XieandKevin Grüneberg f1541878a9 fix: singularize and capitalize Supabase plans (#28052)
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-07-18 04:49:00 +00:00
Alaister YoungandJoshen Lim 3f0cd49a06 chore: new wrappers 16/07/24 (#28014)
* add paddle wrapper

* add snowflake wrapper

* Small style fixes

* fix editing and deleting wasm wrappers

* use alert for minimum version not met

* update wording

* Minor style fix

* small fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-07-17 07:10:07 +00: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
Jordi EnricandJoshen Lim 003cfd6425 feat: warehouse explorer (#27611)
* add basic feature

* rename to datasource

* rename elements in left sidebar

* update copy in titles in left sidebar

* Add optional 'enabled' parameter in useLogsQuery hook

* Update warehouse query state and components

* add template selector for warehouse query builder

* update deprecated input compo

* fix create token and console warnings

* fix type errors

* fix dupped import

* update endpoints and add missing permissions

* update queries with new api path

* fix type errors

* undo last commit

* undo missing file

* fix imports in logs page

* import fixes

* add settings link like in storage menu

* sort imports, fix form submit

* rename access tokens settings section

* align dropdwn

* add overflow to templates dropdown

* add name as defaultvalue to udpate form

* update rm collection dialog

* capitalize

* Update apps/studio/pages/project/[ref]/logs/explorer/index.tsx

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>

* fix typo

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-07-11 12:05:44 +02:00
Jordi Enric 9ea696e460 fix logs query in local (#27861) 2024-07-09 11:14:25 +02:00
Jordi Enric 3cad1a5bf2 Move warehouse access tokens to its own page under settings (#27822)
* move warehouse access tokens to its own page under settings

* add desc

* rm unnecessary imports

* grmmar
2024-07-06 10:18:06 +02:00