Commit Graph
197 Commits
Author SHA1 Message Date
Saxon FletcherandJoshen Lim 48c0578ff7 Feat/assistant triggers (#30665)
* add assistant to triggers

* adjust copy

* remove console

* Lint

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-27 09:57:21 +10:00
Saxon FletcherandJoshen Lim 2bcc17d514 Feat/assistant convert supabasejs (#30648)
* add ability to convert sql to js

* remove console

* Merge master + small style fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-27 09:56:46 +10:00
Saxon FletcherandJoshen Lim 72910fc30f Feat/assistant additions (#30647)
* show thinking if last message is empty

* sql toggle copy and border fix

* add table and schema context

* add suggestions for policy

* Add snippet content to ai assistant if on sql editor and assistant is open

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-26 20:17:54 +08:00
Kevin Grüneberg 2a5072d722 chore: replace Markdown component in some generic studio components (#30666)
We no longer want to use Markdown when not necessary. I checked the props for these components and we were only passing in a regular text without any actual markdown
2024-11-26 19:56:50 +08:00
590ed362ab feat: Redesign for the integrations pages (#30476)
* Initial commit.

* Minor type fixes.

* Add a integration for Queues. Refactor some of the integration layout.

* Migrate the Cron integration to the new style.

* Add useInstalledIntegrations hook.

* Add an integration entry for vault.

* Add an integration entry for GraphiQL.

* Add supabase webhooks.

* Feat/integrations get layout (#30538)

* scroll based icon

* Update header.tsx

* remove dep from overview

* moar

* more table stuff

* moar

* alt nav put in

* fix MotionNumber issues

* more

* trying both layouts

* Fix bunch of type errors.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>

* Migrate Vercel and Github files to their own folders.

* Switch all integrations with the new designs.

* More fixes for links, pages structure and other random stuff.

* Remove unneeded file.

* Another set of fixes. Migrated most of the extension integrations.

* Migrated Vault and webhooks to the new style.

* Various fixes to make the animation work.

* Remove extra code.

* Tiny fixes 😬 i swear its tiny

* Refactor IntegrationOverviewTab

* chore/ update integrations routes (#30585)

* init

* add child support in tabs

* add webhooks

* Update IntegrationPageHandler.tsx

* fix id issues

* use messageId instead

* animation tweaks

* Move the description to the wrappers array.

* The useInstalledIntegrations now provides integrations which could be installed.

* Add static content for the various integrations.

* Move the page handler logic into the integrations definitions.

* Clean up some extra code.

* Add logic to make the overview tab the default tab.

* Don't show the header until the integration id has been checked.

* Add logic to the integration pages to avoid weird loading bugs, deselecting tabs if the integration hasn't been installed etc.

* Fix the webhooks overview tab.

* Fix the buttons for enabling extensions.

* Add padding to all custom tab contents.

* Small fixes

* Prettier lint

* Fix icon color + add empty state for when available integrations are all installed

* Fix ts errors

* Fiox

* Add enable webhooks cta

* Fix key

* Fix all lints

* Fix the queues create sheet.

* Fix the deletion of wrappers.

* Fix the minimum version alert for the wrappers extension.

* Make the queues table fit the whole container.

* Fix an issue which reset the tab when installing an extension.

* Address comments

* Add loading state for installed integrations in side nav

* Fix edit secret not rendering value in input field after subsequent openings

* Fix vault keys auto filling search input with vault

* Fix search input placeholder for cron

* Minor fix in install database extension copy

* Fix a bad redirect when reloading.

* Fix bad url redirects.

* Fix scrolling in create new/edit wrapper sheet.

* Add y padding to the wrappers rows.

* Fix merge errors.

* More merge fixes.

* Fix bad imports during the merge.

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-25 13:26:22 +01:00
Joshen LimandSaxon Fletcher 12d92aed99 Assistant V2 (#30523)
* start

* added panels

* remove stuff

* fixes and refinements

* clean up

* remove old assistant panel

* resizable assistant kinda

* use icon

* Add missing package

* remove canvas

* add suggestions

* updated empty state if no tables exist

* fix table condition

* Implement diffing if using assistant in sql editor

* Reinstate old assistant in SQL editor if feature preview is off

* pane size adjustment

* assistant button corners

* Add SQL snippet content to assistant if opening assistant in sql editor

* Add the necessary checks for opt in and hipaa

* revert adding snippet to assistant when opening assistant in sql editor

* Add cmd i shortcut

* Add admonitions for when disablePrompt is toggled on, and if no api key is set. Add footer note RE rate limitation

* Bump ai package in packages

* some fixes for backwards compability depending on feature preview toggled

* Rename feature preview property for new assistant

* Smol fix

* Prevent SQL snippet from running until message is finished

* only loading last message

* fix z-index

* save chat state to global state

* add debug to failed ai queries

* Add basic contextual invalidation

* Add explain code action to SQL editor

* Add link to abort ongoing queries from SqlSnippet

* Update feature preview content

* Fix

* Fix

* Fix

* Te4st

* Fix tests

* ONly show ai button within a project

* Fix PH tracking

* Beef up a bit more event tracking

* Rough fix to padding when assistant is open

* A bit more telemetry stuff

* Update prompts

* fix rls editing via assistant

* Update generate-v3.ts

prompt to get auth schema too

* Add policy satement to assistant when editing

* Address all comments

* fixc

* Fix SqlSnippet not taking full width on larger viewports

* Adjust max width

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2024-11-25 18:50:56 +08:00
Alaister YoungandJoshen Lim 6c592dec99 chore: remove useExecuteSqlQuery() part 2 (#30467)
* foreign-key-constraints

* update entity-types stale time

* schemas query

* deprecate useExecuteSqlQuery

* users count query

* database size query

* indexes query

* keywords query

* migrations query

* table columns

* database functions

* database roles query

* fdws query

* replication lag query

* ongoing queries query

* vault secrets query

* remove unneeded staleTime: 0

* max connections query

* fix entity types key in tests

* Some fixes

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-18 05:15:37 +00:00
Kevin Grüneberg 06c53f3472 chore: use in-browser sha256 (#30398) 2024-11-12 16:34:46 +08:00
Ivan Vasilov 54d11a6a7f feat: Queues v0 (#30300)
* Make the title prop on ProjectIntegrationLayout mandatory. Fix the title on some of the integration pages. Fix wrong layout on wrappers/new.

* Add code for the initial page.

* Make the FilterPopover more type-safe.

* Add a page to list message in a single queue.

* Add feature flag for queues.

* Handle the case where pgmq is not available on the database.

* Minor fixes.

* Some minor fixes.

* Fix the query when fetching only archived messages.

* Fix the filters when there's no choices selected.

* Add a comment for local dev.

* Add a max size to the queue name input.
2024-11-08 13:06:05 +01:00
Joshen Lim 225d461381 Hook up RLS to new assistant if feature flag is enabled (#30357)
* Hook up RLS to new assistant if feature flag is enabled

* Reset conversation if opening a different entity

* Add prompt to use alter policy if policy definition is provided

* Remove console log
2024-11-08 18:03:30 +08:00
Joshen Lim 4342c4c3ab Chore/disk mgt UI fixes (#30358)
* Fix percentage width for disk space bar

* Add warning in disk size section if 90% + within cooldown

* Show read only warning in compute and disks

* Fix copy

* Add conditional
2024-11-08 17:32:38 +08:00
TheOtherBrian1andTerry Sutton 60c0d5fe84 Update DisplayApiSettings.tsx | add note on how to rotate service_rol… (#30366)
* Update DisplayApiSettings.tsx | add note on how to rotate service_role key

* Update apps/studio/components/ui/ProjectSettings/DisplayApiSettings.tsx

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2024-11-07 18:47:54 +00:00
Joshen Lim 1f2f431b59 Remove clsx library from dashboard (#30311)
* Remove clsx library from dashboard

* PRETTY
2024-11-07 18:45:18 +08:00
Alaister Young c59be649a3 chore: prefetch project homepage (#30317) 2024-11-07 16:29:07 +08:00
Ivan VasilovandJoshen Lim f29003e0e7 fix: Use protocol property when building API url (#30332)
* Fix the types for API settings to include protocol.

* Use the protocol property in all usages of endpoints.

* Update

* Lint

* Revert changes to retrieving protocol

* Remove console.logs

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-06 22:22:24 +01:00
Joshen Lim 943d804444 Chore/address UI feedbacks (#30292)
* Refactor pro plan with no projects warning with admonition

* Refactor delete organization to use admonition

* Refactor organization limited by included usage to admonition
2024-11-06 11:14:30 +08:00
Jonathan Summers-MuirandJoshen Lim 73c7b3fb81 Chore/styling spam banner (#30280)
* Add spam assassin footer note

* Update to use new table component

* update styling

* Update SpamValidation.tsx

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-05 10:25:10 +08:00
Jonathan Summers-MuirandJoshen Lim 9f420962e1 Feat/compute and disk (#30068)
* inited. added disk config to a new page

* add instances

* move moar

* moved things around. billing badges updated. compute added

* tidy

* new components

* form now dynamically updating itself

* updated compute form. moved warning panels. added collapsible for advanced options

* review dialog now only showing what is relevant

* Update DiskManagementForm.tsx

* compute sizes now a reccomendation

* fix old form

* started adding flags

* removed unused code. fixed issue with IOPS price showing on smaller compute

* moar clearning

* IOPS logic wrong way round

* type fixes

* start adding better error handling

* TIDY

* moved everything to own file

* tidy

* fix hydration issue

* moved some components around

* clean up

* inline errors

* update form message

* Update DiskManagementForm.tsx

* error fields fixed. some formatting issues. nano added as an option

* fix constants

* add some plan restrictions

* moar

* units updated. labels updated

* Update DiskManagement.schema.ts

* fix a ton of type issues

* text udpates

* add panel to suggest switching to io2

* more notice board stuff

* number formatting. moved a file

* Update DiskManagementForm.tsx

* remove console logs

* upgrade comms. more type fixes

* add empty states for the old areas

* more links

* updated some label issues

* hide labels when chart is active

* Update DiskManagement.utils.ts

* Delete next-env.d.ts

* Update DiskManagementForm.tsx

* Update DiskManagement.schema.ts

* text updates

* Update DiskManagement.constants.tsx

* Update next-env.d.ts

* Update next-env.d.ts

* Small clean uop

* Clean up empty files

* Clean up spelling

* Clean up more

* Fix typo in file name

* Clean up import statements

* Update DiskManagementForm.tsx

* fix issues

* Update ProjectLayout.tsx

* Remove unused import

* Fix

* Address nit

* Update database.tsx

* remove supress toast

* Update DiskManagement.schema.ts

* Update database.tsx

* change upgrade comms

* Update DiskManagementPanelForm.tsx

* fixes

* fix button size on old form

* Update DiskManagementForm.tsx

* Update StorageTypeField.tsx

* update labels on compute

* dont show banner when infra is FLY

* update comms. hide disk config for FLY

* Fix TS

* Last round of clean upo

* fix message state

* fix message

* Fix TS

* Update DiskManagement.utils.ts

* fix errors

* Update BillingChangeBadge.tsx

* fixed some label issues

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-04 09:05:37 +00:00
Joshen Lim 7016b9db90 Smol tweak to consent toast on mobile (#30195)
* Smol tweak to consent toast on mobile

* Use useConsent hook from packages in dashboard, and remove manual calling of ConsentToast + deprecate dashboard's copy of telemetry local storage key

* Attempt to fix playwright tests

* Fix
2024-11-01 17:25:40 +08:00
Terry SuttonandJoshen Lim d30ec48b50 Chore/self hosted assistant disabled (#30198)
* Add a message if openai_api_key not set

* Fix disabled state

* Some fixes

* Add same check in global assistant

* Remove check for api key for platform

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-10-31 09:19:03 -02:30
Joshen Lim 585477752a Update all documentation buttons (#30163) 2024-10-31 13:58:17 +08:00
Joshen Lim db2e977f7d Add spam validation check in auth email templates (#30188)
* Add spam validation check in auth email templates

* Update comment

* Add another banding

* Update
2024-10-31 10:07:53 +08:00
Joshen Lim 01e81fd400 Chore/assistant tweaks 281024 (#30134)
* Add alpha notice

* Close assistant via cmd i if not focused on monaco

* Add edit with assistant CTA for database functions

* Attach existing function definition when editing a function to prompt

* Leave comments

* Small refactor
2024-10-29 15:10:00 +08:00
Alaister Young 7e360731a3 fix: api types + remove old telemetry (#30096)
* fix: api types + remove old telemetry

* SendEventPH -> SendEvent

* address feedback
2024-10-25 20:47:31 +08:00
Joshen Lim 0070265e6d Chore/assistant tweaks (#30074)
* Add cmd i to close the assistant

* Update command in side nav

* Add kill switch for sending assistant prompts

* Add basic telemetry around quick sql editor assistant

* Fix
2024-10-25 09:57:09 +08:00
Alaister YoungandJoshen Lim 5781937739 chore: aggressive prefetching (#29987)
* chore: aggressive prefetching

* use abort signals in prefetchers

* move encrypted columns to react-query

* prefetching for filter and sort applied

* prefetch remaining entity types

* prefetch tables in more places

* prefetch editor page on project panel

* add feature flag

* fix typescript

* nit

* Nit

* fix imports

* remove views check on encrypted schemas

* use fetchQuery instead of prefetchQuery

* fix useEncryptedColumnsQuery ts error

* filter by schema on encrypted columns

* don't use pg_get_tabledef for foreign tables

* Remove unnecesary import

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-10-24 20:59:35 +08:00
Joshen Lim d8c1d1a2db Chore/minor fix scratch pad (#30055)
* Fix padding

* Only activate scratch pad if feature preview is enabled
2024-10-24 11:01:29 +08:00
Joshen Lim 361d429c9f Shift all uses of project-settings-query to project-settings-v2-query and deprecate project-settings-query (#30031)
* Add perms check in projects API query

* Start deprecating use of projects-api-query, move to projects-settings-v2-query

* PRETTY

* Shift all uses of project api query to project settings v2 query, and deprecate project api query

* Shift all uses of project-settings-query to project-settings-v2-query and deprecate project-settings-query

* Fix
2024-10-23 21:09:34 +08:00
Joshen Lim f521109ce2 Chore/database functions v2 (#29969)
* Init AiAssistantPanel

* Temp

* Temp

* iterating on assistant ux

* More spiking

* Tweaking...

* Moar tweaking..

* Even more tweaking

* Tweek

* More tweaks

* Final tweaking...

* TWEAK

* Spelling

* Fix

* Assistant error handling and small bug fix in context for message

* Add feature flag

* Fix

* Address all feedback

* Minor
2024-10-23 16:43:38 +08:00
Joshen Lim c9458d93cf Chore/fix broken links wrappers (#30046)
* Fix broken links wrappers

* Refactor
2024-10-23 15:42:06 +08:00
Joshen Lim d47048dcd6 Update auth hooks to allow selection of fns that return void (#30022)
* Update auth hooks to allow selection of fns that return void

* Update for only send email hook
2024-10-22 20:49:20 +08:00
Kevin Grüneberg c4dfc4a454 chore: cleanup dead code paths for Stripe (#30001) 2024-10-21 18:22:08 +08:00
Joshen Lim cdb07346bc Update PH consent banner (#29891)
* Update PH consent banner

* Fix
2024-10-15 16:32:37 +08:00
Kevin Grüneberg f9cd14c2a8 chore: remove disk exceeding global header (#29858)
Temporarily remove until we have better usage insights - we still show overages on the usage page, just not the aggressive top level banner
2024-10-12 15:52:09 +08:00
Jordi Enric 79f51f30a1 add info box to let users know they can send an email to support (#29780)
* add info box to let users know they can send an email to support

* make better

* move projects to tooltip

* truncate longer proj names

* fix things properly

* rm always open

* bit more padding

* add mailto link

* Add font-mono to project reference span

* more padding, fix bg hover
2024-10-11 11:28:00 +00:00
Joshen Lim 9b3d87207f Chore/add new telemetry triggers for ph (#29769)
* Init new telemetry mutations and add telemetry reset for logging out

* Add sendPageLeave on unloadBefore event in PageTelemetry

* Add sendGroupsIdentify and sendGroupsReset in PageTelemetry

* Ensure new telemetry triggers only if feature flag is enabled

* Update call to sendGroupsReset

* some fixes and ensure that telemetry opt in is true before firing telemetry events

* Ensure that telemetry events get triggered when landing on project or org
2024-10-09 17:52:43 +08:00
Joshen Lim b5daa7e0e6 chore: prevent deploying new replicas with outstanding invoices (#29682) 2024-10-09 16:48:42 +08:00
Joshen Lim 336d623910 Chore/refactor telemetry calls for dashboard to support PH (#29747)
* Refactor telemetry event into RQ hook, and update to support PH

* Refactor telemetry identify into RQ hook, and update to support PH

* Refactor telemetry page into RQ hook, and update to support PH

* Clean up and deprecate lib/telemetry

* Pretty

* Add ts-ignore in docs for telemetry calls temporarily

* Add credentials include for send event, page and identify mutation hooks

* Add consent check for event and page telemetry, allow RQ mutations for those to fail silently without a toast
2024-10-09 14:32:30 +08:00
Ivan Vasilov b77a1b48be feat: Use Vercel Toolbar for overriding feature flags (#29697)
* initial test.

* Add base path to the rewrites.

* Remove base path from the source rewrite.

* Another try.

* Another try.

* another try.

* Try another magic.

* Add try/catch to the flag processing code.

* Revert some of the unneeded changes.

* Fix the api route for flags.

* Remove vercel/toolbar for local dev.

* Try using a static file for toolbar config.

* Add a well known flags file in the www app.

* Add headers to interpret vercel/flags as json.

* Another try.

* Fix the json formatting.

* Add headers for the vercel/flags route in the www app.

* Change to force studio to deploy.
2024-10-08 11:21:03 +02:00
Alaister Young 90072a2608 chore: improve table grid loading skeleton (#29734)
* chore: improve table grid loading skeleton

* nudge by 1px

* attempt syncing shimmers
2024-10-08 16:00:15 +08:00
Joshen Lim 4e36d1f0bb Allow auth warning banner to be dismissible (#29733)
* Allow auth warning banner to be dismissible

* Add close text sr
2024-10-08 15:17:57 +08:00
Jonathan Summers-MuirandWen Bo Xie 0dee525177 chore/ add API keys upcoming change notice (#29664)
* init

* Update Panel.tsx

* Update DisplayApiSettings.tsx

* Update Panel.tsx

* update links

* update to use forwardRef and spread all props

* update copy

* Apply suggestions from code review

Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>

---------

Co-authored-by: Wen Bo Xie <5532241+w3b6x9@users.noreply.github.com>
2024-10-07 18:36:25 +08:00
Joshen Lim 9686f90628 Update auth banner text copy (#29714)
* Update auth banner text copy

* Update copy

* Update copy

* Update copy

* Update copy
2024-10-07 15:10:46 +08:00
Jonathan Summers-Muir 96ede89975 Chore/ Remove SMTP banner from project homapage (#29713)
Update ResourceExhaustionWarningBanner.constants.ts
2024-10-07 07:04:39 +00:00
Terry SuttonandJoshen Lim 12b7eab229 Chore/restrict banner to select routes (#29649)
* Selectively show resource exhaustion banner

* Remove the auth email warning from project cards

* Remove test code

* Just some refactoring

* update restrictToRoutes to settings/auth for auth email sending

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-10-04 16:45:35 +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
Joshen Lim 6ed3bab998 Add gap in form header (#29654) 2024-10-03 12:17:14 +08: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
Joshen LimandAlaister Young 536dc37d58 Chore/user management v2 panel part 2 (#29515)
* Set up banning and unbanning user, although untested due to API CORs issue

* Update search filter UI for users management V2

* Update API types

* Minoir

* Small fix

* Update UI

* Add support for resizing and re-ordering columns

* Add google profile image url to csp

* Revert test button

* Implement toggling of columns

* Fix loading

* Fully implement banning/unbanning user

* Fix

* Update apps/studio/components/interfaces/Auth/Users/UserOverview.tsx

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

* Fallback non CSP supported avatar urls to user icon

* Fix some bugs

* Remove prism-react-renderer from studio, add to ui patterns

* Migrate users query from API to studio

* Address some feedback

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-10-01 14:32:46 +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