Commit Graph
238 Commits
Author SHA1 Message Date
Jordi EnricandJoshen Lim 265b4cddd7 SQL Chart fixes (#32769)
* add labels

* fix labels, hope to fix Y axis issue

* Tiny fix

* Make ChartConfig y scrollable

* Only show flip CTA if values are all numerical

* revert hiding flip button

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-01-15 10:22:57 +01:00
Jordi Enric a2aa5bc83d feature: Adds logs chart with stacked charts with total errors (#32742)
* add logschart with stacked bars

* use ui charts pkg

* fix contrast

* move to ui-patterns

* undo areachart

* add recharts peerDep

* update pckgjson and lock w recharts

* feat: enable client-side rendering for LogsBarChart component

* fix registry
2025-01-15 10:22:13 +01:00
Joshen LimandSaxon Fletcher 0710d62665 ReportsV2 P1: Add Query block component (#32738)
* Create QueryBlock component which will be a shared component used in AI Assistant and Reports

* Deprecate AIAssistantPanel/SqlSnippet.ts

* Fix user messages not getting persisted, only assistant messages

* Add loading state to for query results in QueryBlock + hide block view configuration if query block is not chart

* Address feedback

* Fix TS

* fix double border

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2025-01-15 13:08:26 +08:00
Alaister Young 4577389177 chore: send feature flags for page events (#32590) 2025-01-13 13:08:50 +08:00
Joshen Lim eb42b2c241 Persist last selected database only for sql editor via local storage (#32598)
* Persist last selected database only for sql editor via local storage

* Add missing useEffect
2025-01-09 10:55:14 +08:00
Alaister Young c26a1a7e63 chore(studio): remove unused files (#32623) 2025-01-08 12:39:00 +08:00
Long Hoang 038c52dd9a feat: enforce event type defs (#32595)
* feat: enforce event type defs

* fix: correct typedefs for cron events

* fix: correct typedefs for assistant events
2025-01-07 17:08:07 +08: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
Jordi Enric da98c1b702 Fix: Add number formatter to Chart Header (#32600)
add number formatter
2025-01-06 11:56:28 +01:00
Joshen Lim c4e64f1746 Refactor/use shadcn tooltip (#31320)
* Refactor LogsExplorerHeader

* Refactor HelpPopover

* Refactor PreviewPane

* Deprecate SettingsButton, not used

* Refactor HookList

* Refactor AuditLogs

* Refactor InvoiceStatusBadge

* Refactor RoleRow

* Refactor ProductEmptyState

* Refactor BranchPanels

* Refactor JsonEditor

* Refactor UpgradingState

* Refactor ColumnManagement
2025-01-06 15:11:23 +07:00
Joshen Lim e00ba41fd1 Chore/toggle for storage client connection s3 (#31209)
* Scaffold UI components

* Hook up API

* Fix type
2025-01-06 10:52:46 +07:00
Jordi Enric b447ef62d1 fillTimeseries: Skip filling if theres a minimum of datapoints (#31311)
* allow fillTimeseries to skip filling if theres a minimum of datapoints

* rm empty string

* allow strings in fillTimeseries defaultValue

* fix header, reduce min data points to do fill

* rm comment
2025-01-04 12:21:19 +01:00
Pamela Chia 35286ed464 chore: add ai assistant event docs (#32394)
* chore: add ai assistant event docs

* fix: added more details on ai assistant suggestion events

* fix: clarify page in description

* fix: rename and re specify the events
2025-01-02 20:01:21 +08:00
Andrew Valleteau fd4e7961e0 fix(docs): document openai_api_key better (#31210) 2025-01-02 17:48:45 +08:00
Ankit Choudhary 2ce8ff97eb style: align svg icon to the center of the container (#31353)
* style: align svg icon to the center of the container

* style + refactor: fixed parent div style + removed zombie div
2024-12-27 16:02:40 +00:00
Joshen Lim 29b70f6084 Smol update to api keys notice (#31298) 2024-12-23 14:04:00 +08:00
Ivan Vasilov dd572efb0d chore: Switch repo to use pnpm (#29928)
* Fix some missing and duplicate dependencies.

* Fix the types for jest in ai-commands package.

* Replace all npm commands with pnpm. Add pnpm files and workspace links.

* Fix rimraf to work with pnpm.

* Refactor the github actions to work with pnpm.

* Delete package-lock.json.

* Fix the tailwind configs to not include node_modules.

* Fix random files.

* Add preinstall scripts to all packages.

* Fix the Dockerfile to work with pnpm.

* Update the DEVELOPERS documentation.
2024-12-20 13:07:20 +01:00
Joshen LimandIvan Vasilov e648966131 Add URL param support to toggle connect UI (#31241)
* Add URL param support to toggle connect UI

* Fix leaving team redirects to landing page

* Fix leaving team redirects to landing page

* Fix grammar

* Add autocomplete off to team settings search + delete project input modal

* Shift logic to Connect, and clean up param when close

* Use nuqs to manage Connect state instead of valtio

* Fix a failing test.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-12-19 09:34:28 +00:00
Terry SuttonandIvan Vasilov de28174c1d Chore/www session consent (#31082)
* Store referrer in session storage until opted-in

* Fix

* Move to common file

* Refactor the useTelemetryCookie hook. Use the hook in www, docs and studio.

* Small fixes.

* Fix all usages of HandlePageTelemetry function.

* Fix type errors.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-12-18 12:02:20 +01:00
Joshen LimandPamela Chia 3a89c81b63 Add feature flagging support via PH (#31101)
* wip: use endpoints

* Set up PH feature flag system

* Clean up

* Clean uop

* Check

* Fix tests

---------

Co-authored-by: Pamela Chia <pamelachiamayyee@gmail.com>
2024-12-18 10:27:15 +08:00
Ivan Vasilov 7c5912ebe4 chore: Remove storybook (#31096)
* Remove all stories files.

* Remove some extra files which were used by storybook or werent used at all.

* Remove all references to storybook in documentation and code.

* Remove all storybook packages.

* Fix prettier error.

* Remove two css configs which were used for storybook.
2024-12-16 11:50:20 +01: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
Monica KhouryandJoshen Lim ff3522f856 chore: Remove auth email warning for org members (#31043)
* chore: Remove auth email warning for org members

* Edit auth warning on Settings page

* Clean up

* Add comment

* More clean up

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-11 12:56:10 +08:00
Saxon Fletcher 9f718e904f Feat/assistant scroll (#31042) 2024-12-11 07:00:29 +10:00
Saxon Fletcher a6433bc310 add close button to assistant (#31029) 2024-12-10 12:04:46 +10: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
Joshen Lim 9046a7ab18 Adjust behaviour of alert error support (#30966)
* Adjust behaviour of alert error support

* Remove hardcode

* Remove console log
2024-12-09 13:08:18 +08:00
f650b5ae67 Feat/connection string revamp (#30572)
* add new page

* moar

* moar

* added icons

* improve icons

* moved connect dialog to main header

* update text

* smaller screen support

* moar

* add python and sqlalchemyString

* moar

* add IPv4 warning

* moar

* Delete pooler-icons-v2.tsx

* tidy

* Delete DatabaseSettings.tsx

* tidy

* tidy

* moar. Session pooler is de-prioritized

* Update DatabaseConnectionString.tsx

* type issue

* moar

* Update DatabaseConnectionString.tsx

* Spelling

* Clean up LayoutHeader

* Clean up ConnectionPanel

* Clean up ConnectionParameters

* Last batch of clean up

* Fix loading state padding

* Shift old Connect files to new Connect folder outside of Home

* Final clean up

* Smol fix

* FIX

* Fix button link

* Fixes

* Lint

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-05 17:23:14 +08:00
Ivan VasilovandJoshen Lim 5d4f217291 fix: Cron schedule (#30546)
* Simplify the schedule section for crons.

* Make the errorBoundary more robust to handle non-Error errors.

* Remove unused variable.

* Smaller fixes to the schedule section.

* Simplify the scheduleString usage.

* Revalidate when setting the value from the cron AI.

* Minor fixes.

* Reset the error state when setting the schedule value.

* Fix finding cron overview.md

* Small refactors

* SMOL

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-04 12:39:10 +01:00
Joshen Lim 21017c9cfb Chore/deprecate old ai assistants (#30888)
* Deprecate old SQL editor assistant

* Refactor SQLEditor, remove unused AISchemaSuggestionPopover

* Rename RLS AI assistant to just PolicyEditorPanel and remove all RLS assistant stuff

* Fix
2024-12-04 18:34:25 +08:00
377e224983 Feat/save assistant messages (#30823)
* save chat messages

* just ai state in subscribe

* fix hydration issue

* check for url param to open assistant

* fix dashboard history

* fix ts

* safeguard against parsing errors

* Fix the type errors.

* Another try.

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-12-03 09:23:37 +01:00
Ivan VasilovandAlaister Young 0192dc40e9 feat: Add assistant query param for control the AI assistant panel (#30809)
* Fix a key error in the assistant.

* Sync the query params for the assistant with the app state.

* Fix the button URL from the /assistant page to link correctly to the studio.

* Replace nuqs with a custom function.

* undo projectlayout changes

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2024-12-03 09:07:30 +01:00
Saxon Fletcher ccb26246f4 let the assistant decide when to run (#30789)
* let the assistant decide when to run

* remove log
2024-12-02 21:47:46 +10:00
Joshen Lim c836ed099f Swap vault to alpha (#30788)
* Swap vault to alpha

* Smol

* Smolll

* Lint imports

* Fixyu
2024-12-02 18:58:40 +08:00
Joshen Lim f524e73ee4 Whitelist string_agg in ai assistant (#30780)
* Whitelist string_agg in ai assistant

* Whitelist string_agg and update warning handler for ai assistant message
2024-12-02 17:42:03 +08:00
Saxon FletcherandJoshen Lim fcfc1cf38f Assistant refinements (#30759)
* message enter

* auth prompt

* style changes to message

* header assistant button

* more auth prompt

* prompt

* prompt user refine

* iteration of read only

* Add basic tests for AIAssistant.utils

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-12-02 14:46:11 +08:00
Joshen LimandPaul Cioanca a4243f438f Add restrictions for orioledb technical preview (#30410)
* Add restrictions for orioledb technical preview

* Add callouts to pgvector and postgis if orioledb

* Restrict restore to new project for orioledb

* Scaffold client side validation for preventing org upgrade if org has oriole db present

* Hook up proper logic for oriole

* Fix

* Remove console log

* Fix type

* Disable version selector if only one version is available

* chore: oriole badges

* UI updates based on requests

* Update copy

* Fix

* Dont open assistant if opt is selected

* Fix

* Fix

* Update badge

* Add feature flag for orioleDB

* Feature flag oriole check in plan update

---------

Co-authored-by: Paul Cioanca <paul.cioanca@supabase.io>
2024-11-30 17:36:15 +08:00
Saxon FletcherandJoshen Lim 8c3da2ed95 More assistant refinements (#30730)
* ai refinements

* ui fixes

* space

* reduce dot height

* Fix prop type issue

* Assign allowHoverEffect to ai assistant button and panel

* Lint

* Some lints

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-29 20:31:02 +10:00
Saxon FletcherandJoshen Lim aea64c9a07 Assistant refinements (#30685)
* empty state refinements

* specify js conversion prompt

* placeholder state

* update dot color

* Lint

* ADjust padding

* Lint imports

* adjust prompt

* revert padding

* wrap line prop in code block

* fix margin

* use sql icon

* margin

* add chart prompt

* Add prevent default behaviour

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-11-28 16:37:54 +08:00
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