Commit Graph
432 Commits
Author SHA1 Message Date
4649bf911e feat: new api keys [hidden] (#33252)
* feat: add basic api keys ui

* init JWT secrets. rough

* Update JWTSecretKeysTable.tsx

* added some info hover cards.

• found this this is probably the wrong direction
• will create a new page for next iteration.

* init new version

* add illustrations

* Update JWTSecretKeysTablev2.tsx

* chore: delete API key now works

* some style changes

* added better tables

* Update JWTSecretKeysTablev2.tsx

* add public JWT dialog

* moar

* adding sub layout in

* starts adding in a ButtonGroup

* about to make into separate components

* added quick copy to project loading screen

* build state

* basic loading

* confirm dialog and loading states

* switched for better loading experience

* moved styles of Input to InputVariants

* issue with ref type

* loading,error and rest states

* new loading states

* alt l;ayout

* add group

* updated error states for permissions

* copy button behaviour for secret keys

* delete dialog

* Update QuickKeyCopy.tsx

* fix type errors

* Update JWTSecretKeysTablev2.tsx

* update menu to hide pages

* Update SettingsMenu.utils.tsx

* Update resource-query.ts

* remove old file

* moved JWT secrets to use valtio

* Update api-keys-query.ts

* fix typecheck

* rename files

* remove JWT stuff

* revert file

* remove more JWT stuff

* Update package.json

* Update pnpm-lock.yaml

* Update ProjectLayout.tsx

* Update PublishableAPIKeys.tsx

* Update api-keys-query.ts

* refactor api-keys-query

* Update SettingsMenu.utils.tsx

* Some clean up

* more clean up and refactor

* Update APIKeyRow.tsx

* Update LayoutHeader.tsx

* resolve comments

* Update CreateSecretAPIKeyModal.tsx

* Update APIKeyRow.tsx

* Add perms check for delete API keys

* Remove console log

* Delete ConnectDialog.tsx

* use project ref

---------

Co-authored-by: Stojan Dimitrovski <sdimitrovski@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-02-05 15:21:10 +01:00
Joshen LimandJonathan Summers-Muir a71bab0f1c Warn for certain symbols in database passwords (#33210)
* Prevent certain symbols in database passwords

* Update

* Update copy

* Address feedback

* Update copy

* Update apps/studio/components/interfaces/ProjectCreation/SpecialSymbolsCallout.tsx

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

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2025-02-04 11:05:55 +08:00
Joshen Lim fb9ff162b2 Shift updating of dbregion from useDefaultRegionQuery to onSuccess and onError (#33212)
* Shift updating of dbregion from useDefaultRegionQuery to onSuccess and onError

* Clean up

* revert

* Add retry false

* Revert useEffect changes

* Fix
2025-02-03 23:24:37 +08:00
Joshen Lim 02d943e9d6 Add refresh button to reports (#33211)
* Add refresh to custom reports

* Add refresh button to API and storage reports

* Add refresh button to database report

* Clean up database report

* Clean up custom report
2025-02-03 11:59:28 +08:00
Greg Richardson 1106bfea32 fix: ai prompt to discourage security_invoker=on for table creations (#33207) 2025-01-30 17:08:15 -07:00
Ivan Vasilov 6f3c46f5da fix: Change the healthcheck route for docker Studio (#33180)
* Fix the healthcheck for the docker image for studio.

* Various fixes related to the self-hosted environment.
2025-01-30 00:31:52 +01:00
Ivan Vasilov 8b9d5736e4 chore: Fix Monaco editor in strict mode (#33075)
* Move the code for adding code completion definitions to Monaco instance from the sql editor page to a hook.

* Use the hook the in the SQL Editor.
2025-01-27 14:42:27 +01:00
Ivan Vasilov 98ca85156a chore: Use sql-formatter for formatting all SQL in the studio (#33071)
* Bump the sql-formatter dependency.

* Add a function formatQuery which is a wrapper around sql-formatter.

* Replace all formatSQL features to use the new function formatSql.

* Remove unneeded RQ for formatting.

* Small fix.
2025-01-27 13:04:31 +01:00
Joshen Lim 794529eddf Chore/add export functionality to advisors (#33030)
* Add export functionality to security and performance advisors

* Add download results button to query performance advisor

* Add refresh buttons to security and performance advisors

* Add LoadingLine to Query performance to make UI consistent with the other advisors

* Minor change
2025-01-23 17:06:28 +08:00
Saxon Fletcher 79e656f735 remove globe in onboarding (#33021) 2025-01-23 17:16:58 +10:00
Joshen Lim 154dd0d010 Fix SQL block not rendering if its the only block in the report (#33026)
* Fix SQL block not rendering if its the only block in the report

* Update
2025-01-23 14:54:28 +08:00
30c390c19c chore: unify telemetry event sending (#32861)
* chore: unify telemetry event sending

* organize some imports

* remove final useTelemetryProps

* add www telemetry actions typing and docs

* remove gaevents

* fix build

* move telemetry identify into PageTelemetry

* fix telemetry constants import

---------

Co-authored-by: Pamela Chia <pamelachiamayyee@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-01-22 23:52:32 +08:00
Joshen Lim c635d46b53 Add missing users delete endpoint for local/self-host (#32945)
* Add missing users delete endpoint for local/self-host

* Update
2025-01-22 16:22:45 +08:00
Ziinc 45f7561d30 fix: show database charts at 1h resolution (#32962)
* fix: drop default interval

* fix: add datepicker override

* chore: remove comments
2025-01-22 14:26:29 +08:00
Joshen Lim cedcc5315f Swap PATCH content to PUT (#32950)
* Swap PATCH content to PUT

* Fix tests

* Swap create Logs Explorer query to use upsert content
2025-01-22 14:14:34 +08:00
Ivan Vasilov b5437c630e feat: Add a banner for clock skew in studio (#32866)
* Add a ClockSkewBanner on top of studio.

* Fix the color of the RestrictionBanner.

* Add an API endpoint which return the current UTC time on the server.

* Fix the glob pattern for docs in turbo.json.

* Force docs to build.

* Revert unneeded changes.

* Add feature flag for clock skew banner.

* Add a comment.
2025-01-21 17:45:06 +01:00
Joshen Lim 3440dc9c95 Feat/reports v2/standardize block design (#32936)
* Standardize block designs

* Clean up

* Add warning threshold colors for infra-monitoring stats

* Address all other comments

* Swap create custom report to use PUT
2025-01-21 20:56:13 +08:00
Ivan Vasilov 52735e38bf chore: Rename all uses of Tooltip_Shadcn_ to just Tooltip (#32860)
* Rename all uses of Tooltip_Shadcn_ to just Tooltip.

* Fix a leftover change.
2025-01-20 22:23:45 +01:00
9d534c9f5a fix: response error codes (#30581)
* fix: response error codes

* upgrade docs

* remove request url modification middleware

* move api routes for self-hosted to platform folder

* remove some lib/common/fetch usage

* docs: use middleware for openapi-fetch (#30600)

Get rid of the unauthedAllowedPost function (I don't think there's any harm in letting any requests that require authentication to just 403, they should be disabled at the React Query level and if not they will fail gracefully enough...)

* fix local count query

* add default values for clone mutation

* fix ts and codegen

* add missing lodash dep to playwright tests

* Fix the playwright tests to match the new folder structure for selfhosted variant.

* remove unused import

* Remove unused state

* remove unused sql debug mutation

* remove unused export

* fix notifications query

* fix jwt updating status

* fix typescript

* save sql snippet after renaming

* update codegen & fix ts error

* override array querySerializer

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-01-20 11:27:38 +08:00
Francesco Sansalvadore ecd181bcd9 studio mobile v2 (#32630)
* improve some studio mobile layouts

* improve some studio mobile layouts

* improve settings

* assistant mobile

* assistant mobile

* assistant mobile

* responsive formlayout and new project layout

* improve dashboard pages headers

* improve dashboard auth pages

* mobile org settings

* mobile billing fixes

* adjust paused project container height

* remove comments

* triggers

* leftovers

* ai assistant

* fix errors

* remove 16px input size

* fix test

* merge access tokens settings page conflicsts

* smol integrations here and there
2025-01-17 19:07:35 +01:00
Ivan Vasilov 8aa5523fcc chore: Migrate tooltips in studio to use shadcn tooltips (#32679)
* Remove radix-popover and radix-tooltip as deps from studio.

* Migrate all uses of tooltip to shadcn tooltips.

* Add tooltip portal to all shadcn tooltips.

* Fix a warning about MenuItem not accepting refs in StorageMenu.

* Remove unneeded styling for the tooltips.

* Set a default delay duration for all tooltips in Studio.

* Fix a type error.

* Check and fix all tooltips.
2025-01-17 10:54:02 +01:00
Ivan Vasilov 67cbbaacf2 fix: Unify the design for account pages (#30891)
Refactor all account pages to use ScaffoldContainer and have the same design.
2025-01-17 09:52:46 +00:00
d633ced97d Feat/new project creation experiment (#31237)
* some early ideas

* better approach

* fix globe stuff

* add initial step

* reset and submit button for chat

* cleanup

* remove www

* more clean up

* mobile and more cleanup

* fixes

* update advanced and security

* fix project checks

* connect form

* fix reset and tidied up other things

* add layout options

* a/b test

* add offset

* add ab test

* remove www packages

* remove www

* package

* update coordinates

* feat: create ProjectCreationInitialStepSubmittedEvent

* feat: add event for capturing intention of prompting

* fix: bring pnpm-lock up to date

* fix ts errors

* fix globe

* fix globe animation

* fix ts

* remove imports and tools

* update module resolution

* global redirect

* delay rendering

* Update apps/studio/pages/new/[slug].tsx

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

* take directly to v2 via project create dropdown

* move redirect to useEffect

* feat: distinguish events between initial and second step

* feat: emit an event when create project is clicked on new/v2

* fix: correct event type defs

* remove unused imports

* Various clean ups

* improvements

* Minor refactors

* clean up

* ts fixes

---------

Co-authored-by: Long Hoang <1732217+loong@users.noreply.github.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-01-17 09:59:21 +10:00
Joshen Lim 9ed9938fe0 Add log out route (#32820) 2025-01-16 11:26:46 +01:00
Joshen LimandAlaister Young c388cbe9d2 Add disk autoscale configuration parameters in compute and disk settings (#32628)
* Add disk autoscale configuration parameters in compute and disk settings

* TS fix

* Fix

* Fixes based on comments

* Address all feedbacks

* Small tweak

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-01-14 10:32:22 +08:00
Alaister Young 4577389177 chore: send feature flags for page events (#32590) 2025-01-13 13:08:50 +08:00
Jordi EnricandIvan Vasilov 0e930cf940 r2np: new cost (#32632)
* add new cost estimate

* fix api types

* update api types

* restore api.d.ts

* fix types

* fix utils

* clean utils getComputeHourlyPrice

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-01-10 13:21:53 +01:00
Joshen Lim 1331cc8b63 Remove connectDialogUpdate flag and clean up old connection string components (#32613)
* Remove connectDialogUpdate flag and clean up old connection string components

* Fix
2025-01-07 15:19:39 +07:00
Joshen Lim 394e8302f8 Fix impersonation and searching users escape single quote (#32603)
* Fix impersonation and searching users escape single quote

* Smol fix

* Fix count
2025-01-07 10:52:30 +07:00
Kevin Grüneberg c9f1827f82 fix: do not block project/replica creation with due invoices on team/enterprise (#32612)
Just setting `enabled` flag on react-query is not sufficient, as the data may be preloaded already. To ensure we're not blocking team/enterprise customers with outstanding invoices from launching new projects or replicas, we have to add an additional check.

Backend is already validating this properly, only a frontend issue.
2025-01-07 11:29:43 +08:00
Alaister YoungandCharis Lam 6d732a2a4b chore: remove auth-helpers (deprecated) (#32541)
* chore: remove auth-helpers (deprecated)

* type supabase client in feedback

* small adjustments to error and loading state handling for docs search

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-01-06 18:08:44 +08:00
Kamil Ogórek 06c3a3ec2b Enable branching for vercel marketplace (#32396)
* feat: Add support for branching for Vercel Marketplace resources

* docs: Remove Vercel Marketplace branching support note
2025-01-06 10:15:02 +01:00
Jordi Enric ef3da0d9f3 Hide r2np for fly hosted projects (#31304)
* hide r2np for fly hosted projects

* rm unnecessary fly warning

* fix missing default value

* fix type err
2025-01-04 12:41:16 +01:00
Joshen Lim 6f1ccc5d21 Chore/edge functions fixes (#31317)
* Add clear search CTA for logs input

* Fix searching in pg cron logs + unselect selected log when search input changes

* Fix updating search to clear selected row

* Fix alignment of function name

* Fix spacing for LogsPreviewer used in functions

* Reorder edge functions nav + clean up
2024-12-24 21:46:14 +08:00
Joshen Lim 9e9cfd5fe5 Allow dots in project name (#31262) 2024-12-24 10:58:33 +08:00
Jordi Enric bbf806de30 R2NP: add 403 permissions or physical backups disabled handler (#31197)
* add 403 err handler

* validate error

* rm retry logic in fvor of enabling the query only if pitr or pb are enabled

* disable queries instead of checking error code
2024-12-19 13:35:21 +01:00
Alaister YoungandJoshen Lim f6d9617413 chore: paginate user content (#30675)
* chore: paginate user content

* progress

* loading states

* add load more buttons to private snippets

* working pagination

* fix some types

* always show snippet counts

* support new api parameters

* favorite snippets

* progress

* searching

* paginate root folder

* fix renaming snippets

* fix ts

* removed unused prop

* Shift sharing/unsharing query logic outside of valtio to leverage on RQ only

* Fix invalidation on an unsaved snippet

* Clean up

* Fix

* Clean up

* Update API type

* Update API

* fix duplicate snippets error after moving a snippet

* add currently selected snippet

* Fix unsharing a snippet that has yet to be opened

* i'm dumb

* fix sharing a snippet

* fix sharing and unsharing

* show favorite or shared snippet in list even if it's in another page

* Fix wrong import for debounce

* Fix false positive toast error when creating custom report

* Update API type

* Change create new snippet CTA to link back to /new with skip flag

* Fix saving logs explorer query

* Bump page number

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-19 16:08:14 +08:00
Chris Gwilliams 2f63366b44 remove swap usage from DB report (#30877) 2024-12-18 15:00:35 +02:00
Jordi EnricandJoshen Lim ed69371b76 Update TimestampInfo to accept a UTC timestamp by default (#31167)
* add isUTC support in TimestampInfo

* rm isutc

* rename value prop to utcTimestamp

* Fixy

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-18 12:10:56 +08:00
Jordi Enric fc3d22cf6f Allow multiple r2np (#31063)
* add previous restores section

* add target project name

* fix link to og project

* typecast to fix type err until api types are fixed

* cleanup

* improve IN PROGRESS state, shows restores list and disables buttons

* fix typerr with isUTC

* disable PITR form if theres a restoration happening

* rm commented out code
2024-12-17 11:33:07 +01:00
8b90d416ec Add inline completions to SQL Editor (#30706)
* monaco complete

* progress

* just add panel to sqleditor

* update panel and prompt

* adjust prompt

* clean up

* clean up and improve prompt

* update prompt

* refine prompt

* remove package

* use constants file

* revert v3 prompt

* combine diff action bars

* use widget

* refactor

* Some updates

* fix: useCompletion base path

* fix: typo on monaco action label

* feat: use entire selected line(s) for inline completions

* fix widget consistency

* widget styling

* Fix TS

* feat: lock llm model version

* fix enter key issue

* move complete endpoint

* update complete prompt

* remove file

* placeholder text

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
2024-12-17 15:02:06 +10:00
Francesco Sansalvadore 0035920bf1 feat: studio mobile nav (#31080)
* SheetProvider in studio

* mobile global nav

* view sub navigation

* fix ProjectLayout conditional

* Account mobile layout

* width

* hide

* layout

* overflow

* responsive button

* overflow

* fix mobile nav if IS_PLATFORM

* refactor

* hide if no content

* show command menu item on mobile

* ui-patterns sheet provider

* use client

* show if productMenu

* show if productMenu

* drag to close

* drag to close

* 16px input fontsize on inputs to avoid zoom on mobile

* offscreen test element

* offscreen test element

* offscreen test element

* update test

* update test

* update test

* pb

* test?

* test

* test

* test

* spec-click-target

* remove console

* remove unused import

* add dependency to sheet content

* close sheet on router.asPath change

* remove provider and use simple Sheet

* update sidebar mobile

* align labels

* avoid input zoom on mobile

* remove yo
2024-12-16 10:49:17 -04:00
Joshen Lim 4d889e7330 Fix complaince config (#31156) 2024-12-16 17:35:00 +08:00
Joshen Lim 464f9aa5dd Chore/update rules in generate v3 (#31113)
* Add rules for RLS policies when using functions from auth schema

* Add rules to never expose auth.users through a public view

* Add rule for ensuring all tables have a PK

* Add rule to create a DB index when a foreign key is created

* Add rule to enable RLS on tables by default

* Add rule to use security invoker for views

* Add rules for materialized view, foreign table, and extensions
2024-12-13 17:15:11 +08:00
Joshen Lim ec72485ca9 Standardize PH events (#31067)
* Standardize PH events

* Prettier

* Reinstate send events for sign in and sign up
2024-12-12 16:53:00 +08:00
397b787eb5 feat: add project settings option to mark compliance projects (#30494)
* feat: add project settings option to mark compliance projects

Projects within organizations with the HIPAA add-on can be mark as
"sensitive". These projects will have additional security advisor checks
applied and other compliance related guardrails.

* prettier

* change hipaa check

* prettier fix

* Update apps/studio/components/interfaces/Settings/General/ComplianceConfig/ProjectComplianceMode.tsx

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

* fix: prettier

* Address all feedback

* Address refactor

* prep to use new docs link

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-11 08:53:40 +01:00
Saxon Fletcher 9f718e904f Feat/assistant scroll (#31042) 2024-12-11 07:00:29 +10:00
hallidayo 090fc9b24f deprecated: tokens and new token banner (#31006)
* new token banner

* tokens banner
2024-12-10 14:28:53 +00:00
Joshen Lim 862dee997d Reinstate reset db password (#31033) 2024-12-10 14:18:59 +08:00
Saxon Fletcher ba372c349d Feat/assistant refinements 3 (#31015)
* limit local storage messages

* add tool for getting database functions

* reduce loading jitter in assistant
2024-12-09 17:02:39 +10:00