Commit Graph
345 Commits
Author SHA1 Message Date
Charis 95e8375a22 fix: escape/remove double quotes in combobox items to prevent crashing (#21162) 2024-02-12 12:03:32 -05: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
Terry SuttonandJoshen Lim 8b035c827d Feat/highlight new rls assistant (#20851)
* Add highlight for new rls assistant

* Optional close function

* Update UI

* Update button text

* Small style fixes on rls assistant ui

* Small style fixes

* Add cta to revert feature preview in rls assistant

* Fixes and ensure RLS assistant CTAs do not overlap into storage policies

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-30 15:30:50 +07:00
Kevin Grüneberg f7e60bf324 chore: upgrade prettier/eslint + autofix (#20785) 2024-01-30 10:54:02 +08:00
Rodrigo Mansueli 602f4ac292 Fix 404 link (#20750) 2024-01-25 19:21:03 -03:30
Kang MingandJoshen Lim cdf1159b3f feat: add email template preview (#20681)
* feat: add email template preview

* fix: change tab order & add alert

* Update apps/studio/components/interfaces/Auth/EmailTemplates/TemplateEditor.tsx

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-24 14:27:15 +07:00
c4f58c7815 fix: add rate limit exhaustion content card for auth email rate limits (#18785)
* fix: add rate limit exhaustion

* feat: update copy on warning

* feat: update copy

* feat: update copy of message

* feat: add docsUrl

* Update ResourceExhaustionWarningBanner.constants.ts

* Update

* Fix ts

---------

Co-authored-by: joel@joellee.org <joel@joellee.org>
Co-authored-by: joel <joel@joels-MacBook-Pro.local>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-24 14:30:20 +08:00
Joel Leeandjoel a9057f401a feat: drop deprecated linkedin provider from frontend (#20510)
Co-authored-by: joel <joel@joels-MacBook-Pro.local>
2024-01-18 05:25:17 +00:00
Jordi EnricandAlaister Young c1705a22ab Feat: add log explorer query update and deletion (#20343)
* add log explorer query deletion, align table vertically, fix longer descriptions breaking table layout

* undo change in logsexplorer indexts, rm unused import

* add update query feature

* use IconMoreVertical in users table

* add err handler and loading button while deleting a query

* disable save btn while saving new query

* fix tiny nit

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2024-01-15 17:40:30 +01:00
ClarenceandAlaister Young 432de2fc69 chore: clean up on empty className attributes (#20203)
clean up on empty className attrib

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-01-08 05:49:28 +00:00
Austin Tran 511ad5b675 fix: sort policies alphabetically (#20163) 2024-01-05 19:33:18 +11:00
Kevin Grüneberg d12332ea5a chore: xmas cleanup (#19938) 2024-01-04 17:27:49 +01:00
Alaister YoungandJoshen Lim e9c1966ab5 chore: improve auth screens loading (#19940)
* chore: improve auth screens loading

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

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

* handle error

* better pagination for users list

* disgusting boolean logic

* return user to previous page after deleting last user

* only show reloading indicator when it's refetching

* fix date formatting

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-01-02 05:13:33 +00:00
Monica Khoury f36b2f706c Add: new regex for custom scheme URLs (#19948)
* Add: new regex for custom scheme URLs

* Prettier

* Prettier
2023-12-28 11:01:22 +01:00
Terry SuttonandIvan Vasilov c37fa950ea Chore/rewrite roles form with shadcn (#19923)
* Fix new role form

* Rewrite form

* Commit a sin against ts

* Make the afterLabel a ReactNode.

* Fix minor type issues.

* Fix type

* Types

* Use lodash sortBy instead of the mutating array.sort.

* Fix the order of the roles with active connections.

* Sort the roles by lowercased names.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2023-12-21 23:45:47 +01:00
Pamela Chia 9057b3c149 feat: track rls ai editor usage (#19811)
* feat: track rls ai editor usage
when user accepts consent, we track when rls editor:
ai suggestion accepted
ai suggestion discarded
copy code from code block in ai assistant
apply changes from code block in ai assistant
when question is asked in ai assistant
when sql has and error and ai debugger was requested

* fix: add asking part and change to past tense

* chore: add fix with assistant tracking

* fix: deploy error and merge master

* fix: action label fixed at queryerror
2023-12-19 20:41:04 +08:00
Joshen LimandAlaister Young 5649330f96 Chore/deprecate roles store (#19718)
* Init RQ for database roles

* Shift all use of roles from pg meta mobx store to RQ

* Deprecate and remove roles pg meta mobx store

* Fix import

* Fix

* Address comments

* remove function child

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2023-12-19 15:02:57 +07:00
Greg RichardsonandIvan Vasilov a6f1313490 AI SQL: Update model + add test suite (#19644)
* refactor: ai sql logic to common package

* feat: ai sql tests

* feat: test rls policy ai chat assistant

* refactor: jest env loading

* feat(ai): improve sql title and description quality

* fix: ai message role type

* Move the new files to a separate package.

* Remove a forgotten console.log.

* Migrate the tests to use snapshots and commit the snapshots.

* Separate the functions which require edge runtime to be exported via /edge subpath.

* Bust the turbo cache when one of the deps has been rebuilt.

* chore: fix package main/type references

* fix: package lock out of sync

* fix: ai sql debugging to fix typos

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2023-12-18 11:23:59 -07:00
Ivan Vasilov 563ef1cff2 chore: Remove dangling dependencies and files (#19785)
* Delete probably unneeded files.

* Remove unused deps.
2023-12-18 12:11:15 +00:00
Joshen Lim d0c730d08e Chore/deprecate policies store (#19723)
* Add database policies RQ and shift all usage of policies from pg meta mobx to RQ

* Deprecate and remove policies store from pg meta mobx store

* Fix policies not showing by table and schema

* Update create policy mutation body
2023-12-18 12:17:57 +07:00
Joshen Lim 09de17cac3 Chore/deprecate functions store (#19714)
* Shift all usage of database functions from pg meta store to RQ

* Remove functions store from pg meta mobx store

* fix

* Fix

* Fixes

* fix

* Address comments
2023-12-14 15:30:26 +07:00
Kang Ming 963c902f1b fix: update copy & icons in auth settings page (#19710)
* fix: add hcaptcha and cloudflare icons

* fix: update copy
2023-12-13 18:08:55 -08:00
Kang Ming 5894b0480e fix: update basic auth settings form (#19708)
* fix: allow formfield to not have an icon

* fix: convert radio buttons to formfields
2023-12-13 16:59:52 -08:00
Ivan Vasilov 8be7d08b6a chore: Migrate all .js files in studio to .ts (#19601)
* Change the config to only allow TS files.

* Rename bunch of files from js to ts.

* Add better types to some files.

* Rename the big StorageExplorerStore but with no-check flag.
2023-12-13 12:17:15 +01:00
Joshen Lim 74a9deb103 Hide RLS assistant features for orgs with HIPAA (#19650) 2023-12-13 14:11:15 +07:00
Kang MingandJoshen Lim e9a6a40625 feat: add identity linking config (#19615)
* refactor: linkedin config

* docs: update admonitions

* fix: broken docs link in linkedin provider

* feat: add manual linking toggle

* Link to docs for manual linking APIs

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2023-12-12 10:12:51 -08:00
Ivan VasilovandTerry Sutton eb83b51d98 fix: Add some more instructions to the AI Editor (#19507)
* Add some more instructions to the AI Editor.

* More updates to the suggestion instructions.

* Add spacing to policy details

* Monaco settings

* Copy changes to check when clicked

* Spelling

* More instructions for the AI.

* Make the error panel wrap text. Calculate the height of the editor dynamically.

* Add a comment.

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2023-12-11 11:20:04 +01:00
Stojan Dimitrovski 44694ef6de feat: add beta auth hooks UI (#19312)
feat: add beta hooks UI
2023-12-07 14:30:30 +01:00
Ivan Vasilov 7da3151829 fix: Feedback fixes for the RLS Editor (#19469)
* Update the wording on few places.

* Update instructions for AI when generating policies.

* Format the SQL in the suggestion blocks to have uppercased keywords.

* Add padding before each code block.

* Word wrap the code in the diff editor.

* Remove unused component.

* Remove the added instruction.

* Add tab instructions.
2023-12-07 10:44:55 +01:00
Ivan Vasilov efa055f068 fix: RLS Editor with Streaming AI - second attempt (#19462)
* Reapply all changes from the reverted PR.

* Move the API route to pages folder.

* Turn off outputFileTracing.
2023-12-06 15:54:22 +01:00
Alaister Young 42164183f2 fix: add missing asChild props (#19456)
* fix: add missing asChild props

* move csvlink outside of dropdown trigger

* fix incorrect merge
2023-12-06 21:11:32 +11:00
Kevin Grüneberg d6b7c1b7ba Revert "feat: Add streaming responses to the new RLS Editor (#19304)" (#19439)
This reverts commit a2b01e0bc5.
2023-12-05 16:50:26 +00:00
Stojan Dimitrovski b9c305d49d feat: add hibp leaked password protection (#19416) 2023-12-05 16:22:25 +01:00
Ivan Vasilov a2b01e0bc5 feat: Add streaming responses to the new RLS Editor (#19304)
* Add vercel/ai. Commit additional next types.

* Add a API route in /app for streaming responses.

* Make the components work with streaming response.

* Add a dummy page to /app folder to fix a linking bug.

* Fix the dummy page.

* Fix the dummy page again.

* Add an empty layout to the app folder.

* Make the code snippets in the chat read-only.

* Remove queries and mutations for suggest.

* Reset the chat when closing the panel.

* Make the AI instructions a bit better.

* Don't render empty code blocks.

* Try to use remark for rendering the code. Style fixes for CodeBlock in AI assistant panel.

* Fix the styling of the definitions when sending them to OpenAI.

* Fix the css styling of the messages and code blocks.

* Move the suggest API route from app to pages folder.

* Revert the change for app API routes.

* Make the API route look like the rest of the API routes.

* Use Pre instead of Code because the <code> tags aren't working if between spans.

* Minor leftovers.

* Revert to using app route handlers.

* Change the wording on the diff header.

* Add nextjs types.

* Fix a missing import.

* Move AssistantChatForm back to db-new.

* Fix a build error.

* Rename the suggest route to assistant.

* Fix Joshen's comments.
2023-12-05 16:05:02 +01:00
Joshen LimandIvan Vasilov 7473a65361 Chore/realtime inspector fixes 051223 (#19430)
* Fix broken URLs

* Limit realtime inspector to only the public schema as any other schema won’t work out of the box due to missing permissions

* Hide copy to clipboard for realtime message panel timestamp

* Add placeholder value for sending test message and fix sending test message to be sent as JSON

* Change channel name input to form

* Add join channel empty state

* Update copy writing

* Shift broadcast, presence, db changes toggle to filter message popover

* Add cursor-default

* Small style fix

* Fix toggles

* Address some feedback

* Fix the impersonation UI.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2023-12-05 13:50:59 +01:00
Joshen Lim 9d48e8c770 Chore/rls ai assistant updates 041223 (#19404)
* Send policy definition to AI when editing a policy

* Only send entity definitions if opted into AI for RLS ai assistant

* Scaffold collapsible policy details

* Update comment

* Update

* Update height

* fix messages sorting
2023-12-05 15:42:07 +08:00
Stojan DimitrovskiandIvan Vasilov eed4e29db5 feat: add password strength configs (#19330)
* feat: add password strength configs

* Revert the changes to RadioGroup since they may cause issues in other usecases. Add a string to represent the empty string state for PASSWORD_REQUIRED_CHARACTERS property.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2023-12-04 14:26:21 +01:00
e6006b9653 feat: user impersonation (#18945)
* feat: user impersonation

* refactor

* add anon impersonation

* add user impersonation to graphiql

* thanks Ivan for this one

* add radio buttons

* progress

* working user selector

* adds loading and error states to user selector

* nicer popover button

* default graphiql to use service role key

* styling updates

* fix padding in graphiql

* add service role warning to graphiql

* add user impersonation to realtime inspector

* add feature flag

* use Alert_Shadcn_ instead of old Alert

* Update apps/studio/lib/role-impersonation.ts

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

* update title

* Update apps/studio/components/interfaces/RoleImpersonationSelector/UserImpersonationSelector.tsx

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

* Update apps/studio/components/interfaces/RoleImpersonationSelector/Icons.tsx

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

* Update apps/studio/components/interfaces/RoleImpersonationSelector/Icons.tsx

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

* Update apps/studio/components/interfaces/RoleImpersonationSelector/Icons.tsx

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

* Update apps/studio/components/interfaces/RoleImpersonationSelector/Icons.tsx

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

* Update apps/studio/components/interfaces/RoleImpersonationSelector/Icons.tsx

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

* Update apps/studio/components/interfaces/RoleImpersonationSelector/UserImpersonationSelector.tsx

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

* add constant padding at the bottom of user selector

* update graphiql buttons font size

* make rls warning dismissable

* use text-foreground on rls warning title

* fix no results while impersonating a role

* fix error line number when impersonating a role

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2023-12-04 04:45:11 +00:00
Joshen LimandCopple f65c847b54 Chore/rls ai assistant updates (#19325)
* Have rls ai assistant sit in feature preview + shown via feature flag

* Support editing existing policy in new AI assistant panel

* Beef up feature preview

* Shift AI settings modal to components/ui and add AI settings to RLS AI assistant panel

* Update apps/studio/components/interfaces/App/FeaturePreview/RLSAIAssistantPreview.tsx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

* Update apps/studio/components/interfaces/App/FeaturePreview/RLSAIAssistantPreview.tsx

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>

---------

Co-authored-by: Copple <10214025+kiwicopple@users.noreply.github.com>
2023-12-01 11:24:12 +01:00
Jonathan Summers-Muir d01e7b5df6 Update index.tsx (#19305) 2023-11-29 20:40:31 -03:30
1f38fe2012 feat: New Policy Editor (#19166)
* Add two more sizes to the Panel component.

* Add alias for the older openai-api library. The new one is added under the openai name.

* Add API routes

* Add components for the new AI RLS panel.

* Bunch of changes to the AI Policy Editor.

* Add a button for opening the new Policy Editor.

* Add a feature flag for the new editor.

* Add a confirmation modal when closing the panel.

* Fix leftover data when closing the panel.

* Make the copy button work.

* Add the next/swc packages to package-lock.json.

* Merge master

* Scaffold debug sql in rls editor

* Small improvements to policy chat

* Hook up debug to ai assistant panel

* Improve debug UX

* Add debug request badge

* Some styling fix

* Small styling fix

* Another small styling fix

* Shift create new policy ai button + fix error stylign with code editor height

* Add tooltips to apply changes and copy code from assistant message

* Hide assistant button is not platform

* Small lint

* Add default error handlers to all AI RQ mutations

* Small fix

* Remove IS PLATFORM check for rls assistant

* Add placeholder to RLS code editor

* Fix diff + rls code editor

* Add placeholder message after sending prompt

* Small style

* RLSCodeEditor hit tab if empty to populate placeholder text

* Light mode nudeges

* Update logic for when confirmation close modal should show

* Set render overview ruler as false for rls diff editor

* improve chat UX to make it smoother (thank you alaister for your help 🙏)

* Dynamically do keepPreviousData

* Gracefully handle errors for add prompt

* Use animated ai icon while message is loading

* using Sheet component

* Address commernts

* Bit more improvements

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2023-11-29 17:12:50 +08:00
Stojan Dimitrovski e7b6b1fe94 feat: add auth single session per user config behind feature flag (#19144) 2023-11-24 13:28:58 +01:00
Stojan DimitrovskiandIvan Vasilov c680dfd921 feat: add session timeout configs (#18642)
* feat: add session timeout configs

* Regenerate the api file.

* Fix bunch of type errors caused by regenerating the api file.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2023-11-20 21:58:36 +01:00
Francesco SansalvadoreandJonathan Summers-Muir be9590c890 Multiple themes management (#18871)
* set up multiple themes in studio

* set up multiple themes in studio

* set up multiple themes in docs and www

* update all resolvedTheme to also include deep-dark

* update all resolvedTheme checks to also include deep-dark

* update tailwind.config.js tokens

* update tailwind.config.js tokens

* update leftover scale12 token

* update if resolvedTheme _doesn't_ include 'dark'

* update more styling tokens

* add dynamic themes to CmdK

* fix nav and footer for multi theme

* add data-theme selector output to transformTokens.js

* update code-hike.css to target data-theme css

* update tailwindcss to ^3.3.5

* ThemeImage with light and dark src for www and docs

* add brand-button styling token

* update old dark theme boolean

* update old dark theme boolean

* make homepage product visuals themeable

* update product page themed images

* update badge green with brand

* fix roles list appearance

* fix auth widget in auth page

* update more dark logic

* update more dark logic

* add button default bg and border

* update pricing page theme styling

* clean up Themeimage

* remove forceDark in homepage

* update dark:border-dark occurrences

* update dark:border-dark occurrences

* fix dark mode base colors

* remove foreground-strong

* fix notification badge bg

* remove some dark: selectors

* update dark: selectors

* update code-hike deep dark bg color

* fix comment typo

* update border-button-hover token

* fix customer story logo

* remove some more dark: selectors

* restore forceDark in www homepage

* fix auth react icon

* fix homepage product visuals

* remove theme

* add brand-link token

* fix checkbox bg

* npm install

* more visible EntityListItem active bg

* fix --background-alternative-default css vars

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2023-11-16 16:41:53 +00:00
Ivan Vasilov 436bdb10ae chore: Move the studio app to apps/studio (#18915)
* Move all studio files from /studio to /apps/studio.

* Move studio specific prettier ignores.

* Fix the ui references from studio.

* Fix the css imports.

* Fix all package.json issues.

* Fix the prettier setup for the studio app.

* Add .turbo folder to prettierignore.

* Fix the github workflows.
2023-11-15 12:38:55 +01:00