Commit Graph
67 Commits
Author SHA1 Message Date
Alaister YoungandJoshen Lim b897d51a53 feat: use TUS for file uploads in dashboard (#28030)
* feat: use TUS for file uploads in dashboard

* handle upload progress

* add fallback for mime types

* lowercase extensions

* add note about mime

* Handle file size 0 and make check for nbsp replacement

* Fix NaN in progress

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-07-17 13:27:00 +08:00
Joshen Lim f18a0c20b5 Bump supabase js to 2.44.3 (#27898)
Bump supabase js to 22.4.3
2024-07-10 17:30:46 +08:00
Alaister Young 9d06a27e91 chore: update supabase-js (2.44.2) (#27768) 2024-07-10 10:23:05 +02:00
Alaister YoungandKevin Grüneberg 70da0f1d1d chore: cleanup packages (#27770)
* chore: cleanup packages

- Avoid circular imports
- Export API-types as types
- pg-format without depending on Node internal Buffer (not browser-compatible)
- Avoid importing from barrel files in ui dir

* chore: avoid barrel file imports in studio (#27771)

* chore: avoid barrel file imports

- Removes some unused imports
- Avoids barrel file import for faster builds + less memory

* add eslint rule

* type fixes

* delete layouts barrel

* delete components/grid barrel file

* delete components/grid/utils barrel file

* delete components/grid/components/common barrel file

* delete components/grid/components/editor barrel file

* delete components/grid/components/formatter barrel file

* delete components/grid/components/grid barrel file

* delete components/grid/components/header/filter barrel file

* remote components/grid/store barrel file

* remove components/interfaces/Auth/Policies barrel file

* delete components/interfaces/Settings/Logs barrel file

* delete components/ui/CodeEditor barrel file

* delete components/ui/Forms barrel file

* delete components/ui/Shimmers barrel file

* delete data/analytics barrel file

* delete hooks barrel file

* cleanup lib/common/fetch barrel file

* final * barral files cleanup

* global react-data-grid styles

* remove console.log

---------

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

* fix build

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2024-07-04 14:48:10 +08:00
1127c4ba88 Project Level Permissions (#27347)
* fix: update Permission params

* fix: upgrade check permission hook to support project level role

* fix: usePermissionsLoaded

* fix: Permission params can be undefined

* Scaffold new access management UI

* Add validation

* Update roles view

* Add tooltip

* Add button to apply role to all projects

* Update UI to select projects first instead of roles

* Merge master update UI

* Midway trying to implementation project level perms API

* First pass implementating updating project level permissions

* Add client side validation for assigning/removing roles

* Midway implementing new invites

* Integrate most of the project level permissions functionality

* fix: filter out org-level permissions before checking

* Add relevant UI guards in org level pages for project role POV

* Minor refactors

* Small refactors

* More fixes

* Moar refactors

* More fixes

* More fixes

* Refactor update role logic and smack some test cases on it

* Fixes

* Fix type issue

* Fix type

* more fixes, refactors, adding checks...

* MORE fixes

* Add perms checking for replicas

* Add ButtonTooltip component and use them to prevent repetition of pointer events auto for buttons with tooltips

* Convert all buttons with tooltips to use ButtonTooltip

* refactor

* PRettier

* Small fix

* Remove commented out code in organization-invitation-accept-mutation

* fix: switch to use the platform oauth authorizations routes

* Add perms checking for org audit logs and org oauth apps

* PRettier

* Fix incorrect URL for oauth app flow

* Fix incorrect URL for oauth app flow

* Fix

* Add perms checking for warehouse related UI

* Update roles helper icon

* remove unused lib

* Update package lock... again

* Update package lock... again

* Smalllll update

* Update some checks

* Add gate for project level permissions

* Last fix

* update codegen

* Update warehouse endpoint routes

* Fix

---------

Co-authored-by: phamhieu <phamhieu1998@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
2024-07-01 17:59:54 +08:00
Ivan Vasilov 491f9803e0 chore: Bump typescript to version 5.5 (#27590)
Bump typescript to 5.5 in all apps and packages.
2024-06-28 12:26:57 +02:00
Ivan VasilovandJoshen Lim 02b3d50207 feat: Support private channels in the realtime inspector (#27362)
* Add the new realtime js library under an alias.

* Add a isChannelPrivate property to realtime config.

* Use the aliased realtime-js library to connect to the realtime server.

* Add a new switch to enable users to connect to a private channel.

* Hide the public/private switch behind a feature flag.

* Fix an import.

* Add description to the switch.

* Small updates, add documentation button in choose channel popover

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-06-25 14:49:52 +02:00
Ivan Vasilov 3738cebbd7 feat: Unify ESLint configs for Next.js apps (#27275)
* Move the eslint preset into a separate package.

* Import the next package into all apps. Remove redundant packages.

* Import the new eslint rules.

* Update the package-lock.
2024-06-17 12:17:01 +02:00
764d10986d vitest & msw integration (#26303)
* Fix tests in tests/unit, tests/components and files under tests, looking into tests/pages

* Fix tests under pages/projects root

* Fix

* Comment out broken tests that im stuck with

* Fix api-report.test

* Fix storage-report-test

* chore: fix some tests

* chore: remove logging

* Fix LogsPreviewer.test.js

* Fix most of logs-query-test

* Skip broken tests instead of false positiving them

* Replace jest with vitest

* Rename all *.test.js to *.test.ts

* Configure vitest to work with jsx

* fix vitest issues, fix tests, skip broken tests, add msw, add next-router-mock

* uncomment file

* add tests for msw and nrm

* Fix failing tests

* fix tests in RowEditor

* fix datepicker tests

* fix type errors and comment out tests that need some refactoring

* leave 1 test so test script works

* rm clog and aaaaa

* rename script

* move msw to studio

* add pckg json which i forgot in last commit

* rm consolelog

* move vitest ui dep

* Move next-router-mock to studio.

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: TzeYiing <ty@tzeyiing.com>
Co-authored-by: Kamil Ogórek <kamil.ogorek@gmail.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-05-29 17:31:20 +02:00
35645efc6f feat: add UI For Auth HTTP Hooks (#22495)
* feat: add https auth hook support

* fix: commit changes

* fix: add enterprise hook config

* fix: add descriptionText

* Revert the changes to the ui components.

* Refactor the whole hooks page into a table with adding/editing hook in a side panel.

* Dele	te unused file.

* Rename all web strings to HTTPS.

* Put all fields in the hook card in a copyable and revealable input.

* Start nudges

* Nudges

* Add validation for both types of hooks.

* Reorganize the layouts for the both types of hooks.

* Move the button for enabling a hook in the side panel.

* Move the button for deleting a hook in the side panel.

* Minor redesign of the hook card.

* Add a link to upgrade to enterprise.

* Fix type errors.

* Simplify function selector.

* Add checked prop to the toggle.

* Wait when deleting a hook.

* Use the new RadioGroup.

* Add a flag for https hooks.

* Minor CSS fixes.

* Change the page to use scaffold containers.

* Minor fixes.

* Convert the description to markdown. Fix. the generate secret onClick handler.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Terry Sutton <saltcod@gmail.com>
2024-05-29 10:31:29 +02:00
Kevin Grüneberg f6fe8238d8 chore: switch to new slug based invoice endpoints (#26693) 2024-05-23 18:51:31 +08:00
Greg RichardsonandCharis 3f1df65bba SQL to REST translator (#25978)
* feat: sql-to-rest poc

* feat: sql-to-supabase-js poc

* chore: upgrade to libpg-query@15

* feat: sql-to-rest docs tool

* docs(sql-to-rest): add introduction

* docs: wording improvements

* fix: theme

* chore: tailwind placeholder

* feat(sql-to-rest): limit, offset, and range

* feat(sql-to-rest): sort by

* fix(sql-to-rest): ui theme

* feat(sql-to-rest): casts

* feat(sql-to-rest): dynamic faqs in ui

* feat(sql-to-rest): improve ui responsiveness

* feat(sql-to-rest): more advanced faqs in ui

* feat(sql-to-rest): http and curl syntax highlighting

* feat(sql-to-rest): baseUrl in http/curl rendering

* docs(sql-to-rest): clarification on curl flags

* feat(sql-to-rest): more faqs

* refactor(sql-to-rest): split faqs into own file

* refactor(sql-to-rest): move formatters to sql-to-rest package

* docs(sql-to-rest): move page to new tools section

* feat(sql-to-rest): joins and resource embeddings

* chore(sql-to-rest): rename 'convert' to 'translate'

* feat(sql-to-rest): add faqs

* feat(sql-to-rest): ui improvements

* feat(sql-to-rest): faq title adjustment

* feat(sql-to-rest): link to client lib docs

* feat(sql-to-rest): assumptions

* feat(sql-to-rest): friendly 'not supported yet' errors

* feat(sql-to-rest): json columns

* feat(sql-to-rest): remove curl -G flag if unused

* feat(sql-to-rest): better error handling

* chore: revert accidental rls ai work

* fix: build errors

* fix(sql-to-rest): theme

* feat(sql-to-rest): change base url

* feat(sql-to-rest): basic aggregate poc

* feat(sql-to-rest): group by

* feat(sql-to-rest): more group by checks

* feat(sql-to-rest): count(*) special case

* fix(sql-to-rest): tests

* feat(sql-to-rest): faq on 'and' operator

* fix(sql-to-rest): error messages

* fix(sql-to-rest): multiple filters on same column

* refactor(sql-to-rest): error hints

* feat(sql-to-rest): match and imatch

* feat(sql-to-rest): in operator

* feat(sql-to-rest): parsing error hints

* feat(sql-to-rest): default language to curl

* feat(sql-to-rest): format on cmd+s

* feat(sql-to-rest): format initial value

* fix(sql-to-rest): turn off tab query group

* feat(sql-to-rest): improve wording in error messages

* feat(sql-to-rest): animated code blocks

* feat(sql-to-rest): more error hints

* fix(sql-to-rest): strip primary relation prefix from columns

* feat(sql-to-rest): json column in order by clause

* feat(sql-to-rest): validate all referenced relations exist in from clause

* refactor(sql-to-rest): split core sql-to-rest lib into separate repo

* feat(sql-to-rest): upgrade to v0.1.1

* feat(sql-to-rest): upgrade to v0.1.2

* feat(sql-to-rest): upgrade to v0.1.4

* chore: upgrade libpg-query

* feat: update 'create a pr' link

* fix: app builds

* fix: prettier

* fix: typecheck

* fix: studio tests

* chore: remove console.log

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>

* docs(sql-to-rest): remove broken link to client libraries

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2024-05-22 12:37:01 -06:00
Ivan Vasilov 79dbfd1ccc fix: Add sourcemaps and error stacks in Sentry errors (#26474)
* Use Sentry Error boundary.

* Add a button for throwing error to test the sentry error boundary.

* trigger an error during rendering.

* Move the throwing of error.

* Fix the error boundary state.

* Try to throw an error from the project list.

* Revert to using react error boundary.

* Minor fixes.

* Add an example page for throwing an exception to be caught by Sentry. Remove the error filter from the Sentry client config.

* Remove config for allowing errors only from our code.

* When capturing an exception with Sentry, add a tag if the exception is in the boundary.

* Minor fixes.

* Remove testing code.

* Move forgotten code.

* Add a function for anonymized user id.

* Set the sentry user id by anonymizing the actual user id.

* Don't send Sentry reports if the user hasn't consented to the telemetry.

* Add a helper function whether the studio can send telemetry data.

* Reuse the helper function in the _app file.
2024-05-22 10:35:15 +00:00
Joshen Lim b4f5c0c16a Chore/support more granular updates via events for spinning up replica (#26378)
* Support more granular updates via events for spinning up replica

* Add duration estimates as tooltips

* Show granular error message if error happens during replica set up

* Add support for hours in duration estimates
2024-05-17 14:09:58 +08:00
Joshen LimandAlaister Young a72220efde Custom error boundary (#25946)
* Test custom error boundary

* Test

* Test

* Add error boundary to catch full page crashes

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

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-05-13 13:24:08 +08:00
Joshen LimandTzeYiing d025e0f739 chore/fix studio jest tests (#25872)
* Fix tests in tests/unit, tests/components and files under tests, looking into tests/pages

* Fix tests under pages/projects root

* Fix

* Comment out broken tests that im stuck with

* Fix api-report.test

* Fix storage-report-test

* chore: fix some tests

* chore: remove logging

* Fix LogsPreviewer.test.js

* Fix most of logs-query-test

* Skip broken tests instead of false positiving them

---------

Co-authored-by: TzeYiing <ty@tzeyiing.com>
2024-05-11 12:05:25 +02:00
Kevin Grüneberg 10c1bc7959 chore: bump next/turbo (#23285) 2024-04-26 13:08:38 +08:00
Jonathan Summers-MuirandIvan Vasilov c73af5ec8f move to shared types (#23210)
* move to shared types

* Rename the package to api-types.

* Fix a forgotten dependency.

* Add more forgotten deps.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-04-24 11:03:17 +02:00
Ivan Vasilov 5cf8f30e23 chore: Remove obsolete flags (#22915)
* Remove showS3Connection flag.

* Remove showAnonUserFilter flag.

* Remove   enableVercelConnectionsConfig flag.

* Remove indexAdvisor flag.

* Remove queryPerformanceV2 flag.

* Remove unused files.

* Remove unneeded packages.

* Remove the v2 suffix from the query performance folder.
2024-04-22 09:38:41 +02:00
Kevin Grüneberg efde463826 chore: upgrade to next 14.2 (#22662) 2024-04-16 14:13:55 +08:00
ec59752bc0 Query Performance Facelift (#22568)
* Update

* Clean up + fix UI

* Add data values to tab

* Add comment

* Format sql query in query details

* Clean uo

* Deprecate old files

* Address comments

* chore: update styles (#22591)

* Add feature flag, reinstate old UI for feature flag

* Update apps/studio/components/interfaces/QueryPerformanceV2/QueryPerformance.tsx

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

* Update apps/studio/components/interfaces/QueryPerformance/QueryPerformance.tsx

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

* Address feedback

---------

Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2024-04-11 12:57:46 +08:00
Kang Ming 87f7f6ce81 chore: bump supabase-js (#22361)
Revert "Revert "chore: bump supabase-js" (#22325)"

This reverts commit 67e1b1b00b.
2024-04-03 14:23:55 +08:00
Bobbie Soedirgo 8888bb0023 feat: initial version of @supabase/pg-meta (#22307)
* feat: initial version of @supabase/pg-meta

Unlike supabase/postgres-meta, this will be a pure-JS SQL & Zod schema builder

* chore: typescript 5.4

* fix: typescript errors
2024-04-01 18:07:34 +08:00
Kang Ming 67e1b1b00b Revert "chore: bump supabase-js" (#22325)
Revert "chore: bump supabase-js (#22312)"

This reverts commit 0ff546a539.
2024-03-29 04:45:11 +00:00
0ff546a539 chore: bump supabase-js (#22312)
* chore: bump supabase-js

* more gotrue renames

* chore: update types

* chore: prettier

* chore: typings

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
Co-authored-by: Bobbie Soedirgo <bobbie@soedirgo.dev>
2024-03-29 11:18:04 +07:00
42773a3a3b chore: upgrade to next 14 (#22234)
* chore: upgrade to next 14

* upgrade related next deps

* sync deps

* fix lock

* package lock

* bump deps

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
Co-authored-by: Jonathan Summers-Muir <MildTomato@users.noreply.github.com>
2024-03-28 19:23:55 +11:00
Kevin Grüneberg 65a440806d chore: upgrade yup (#22252) 2024-03-26 23:14:59 +07:00
Kevin Grüneberg 55afcccd39 chore: bump markdown-table (#22249) 2024-03-26 23:13:17 +07:00
Kevin Grüneberg 27f9f96ff7 chore: upgrade to node 20 (#22240) 2024-03-26 18:54:22 +07:00
Kevin Grüneberg 0073518136 perf: improve prism-react-renderer setup (#21752) 2024-03-05 12:51:11 +08:00
Joshen Lim 2cd98f6f3d Configure speed insights (#21627)
* Configure speed insights

* Update CSP

* bye speed insights
2024-02-28 09:34:38 +00:00
Joshen Lim 4002dce2ad Add vercel speed insights (#21625) 2024-02-28 15:57:45 +08:00
Jonathan Summers-Muir 84f092ac43 chore: update table editor input and schema selector styling (#21486)
* init input and button changes

* clean up

* button now active state when dropdown or popover active

* Update TableEditorMenu.tsx

* Update TableEditorMenu.tsx

* fix hover issues

* Update SchemaSelector.tsx
2024-02-26 13:24:29 +00:00
Jonathan Summers-MuirandIvan Vasilov d8ae6de7a8 feat: add new Icons package for custom made icons (#21477)
* feat: add new Icons package

* Create README.md

* add more icons

* add "Home" icon and "Postgres" icon

* reduce helpers

* remove old files

* make dev deps

* Delete package-lock.json

* Update README.md

* add to packages for other apps

* remove from db.design

* Update README.md

* Move the build-icons package in the packages folder.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2024-02-26 09:40:56 +01:00
Ivan Vasilov b4e768b74f fix: Migrate SQL editor and Log explrorer to use ShadCN Resizable (#21454)
* Add resizable component to ui package.

* Migrate the LogExplorer to use the new resizable component.

* Migrate the SQL editor to use the new component.

* Remove react-split.
2024-02-26 09:39:23 +01:00
Kevin Grüneberg 052dc6c53f chore: bump Stripe deps (#21541) 2024-02-26 02:54:58 +00:00
Kevin Grüneberg bc8e4374a7 fix: dev vulnerabilities (#21474) 2024-02-23 12:32:55 +01:00
Kevin Grüneberg efda654789 chore: sign impersonation JWT with browser crypto (#20212) 2024-02-19 15:16:42 +08:00
Ivan VasilovandTerry Sutton 5754c23abb feat: Move some components into ui-patterns (#20774)
* Change all imports in the ui package which import via the @ui shortcut.

* Add a new ui-patterns package. Add it to all apps.

* Migrate PrivacySettings from ui to ui-patterns.

* Migrate ConsentToast from ui to ui-patterns.

* Remove providers folder from ui package.

* Move GlassPanel.

* Migrate IconPanel.

* Migrate TweetCard.

* Migrate ThemeImage.

* Remove LWXCountdownBanner.

* Migrate CountdownWidget.

* Migrate SchemaTableNode.

* Migrate ExpandableVideo.

* Migrate ThemeToggle.

* Fix bunch of imports in the docs app.

* Revert some unnecessary changes.

* Expand the README.md.

* Fix the tailwind configs, they were using old folder structure.

* Fix leftover merge conflicts.

* Remove a deleted page in master.

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2024-02-12 12:44:00 +01:00
Kevin Grüneberg 0fdb7ec5dc chore: bump turbo/supabase (#21072) 2024-02-07 21:17:39 +08:00
Francesco Sansalvadore 70b9a6bcc5 Pricing page update (#20744) 2024-02-07 12:59:25 +08:00
Kevin Grüneberg f7e60bf324 chore: upgrade prettier/eslint + autofix (#20785) 2024-01-30 10:54:02 +08:00
Joshen LimandAlaister Young c5ebc8023c Add error handling for realtime inspector broadcast (#20565)
* Add error handling for realtime inspector broadcast

* upgrade supabase-js

* broadcast button styling changes

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2024-01-19 13:59:01 +08:00
Joshen Lim da2d94d41a Normalize IP address when adding restriction (#20514)
* Normalize IP address when adding restriction

* 🤦‍ actually use normalized address in the payload

* Swap geoplugin with ipify

* Remove use my ip address button
2024-01-17 18:03:56 +08:00
Hieu 70463530ba feat: support storage OAuth scopes (#20225) 2024-01-11 17:06:38 +07:00
Jordi Enric 3ee9e8fb28 Chore/update tailwind 3.4.1 (#20268)
* upgrade tailwind

* add package-lock

* upgrade in ui and config packages
2024-01-09 14:50:13 +01:00
Joshen Lim 34a2ccdae3 feat/notifications v2 (#19162)
* Midway implementation notifications v2

* Some updates to Tab component

* Midway implementation notifications v2 again

* implement infinite scrolling and loading for notification sv2

* Add button actions

* Implement archive notifications

* Add filter dropdown for notifications

* Update date format

* Small style fix

* Update

* Update API codegen

* Add empt state

* Add empty state for archived notifications

* Fix type

* Final changes to notifications v2

* Small style fix

* Small fix

* Only mark notifications that come into view as read

* Update package lock
2024-01-08 12:52:48 +08:00
Kevin Grüneberg 9a1bd73339 chore: stop polyfilling node modules (#19909) 2023-12-21 11:31:32 +01:00
Francesco Sansalvadore 8da4fd2f18 chore: Migrate Lottie animation (#19922) 2023-12-21 08:45:26 +01: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