Commit Graph
2207 Commits
Author SHA1 Message Date
Joshen LimandIvan Vasilov 27d9b44526 Consolidate copy to clipboard (#36353)
* Consolidate copy to clipboard

* Fix

* Fix some extra clipboard events.

* Fix the tests. Fix a small issue with the copy button.

* Fix

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-06-13 13:08:08 +02:00
Andrew Valleteau 4e1a0390da fix(SQLEditor): disable transactional mode for manual queries (#36367) 2025-06-13 06:46:05 +02:00
Kevin Grüneberg ff318d07f0 feat: support pending changes (#36333)
Adds support for the new Orb pending subscription change flow that has been added to the backend.

By default, the new feature is disabled (enabled after merge on staging). If disabled, this should work just like before with the regular `confirmPayment` function that triggers 3DS if needed and properly lets a user confirm their additional factor.

With the new flag, we only create a payment method, as we will do another payment intent that is set up for future usage and that may require 3DS - so we avoid the possible double confirmation (setup confirmation + payment intent). The organization creation endpoint can either return a full organization (i.e. on Free Plan or immediate payment success) or a payment_intent_secret. In case of the secret being returned, we need to confirm the secret with the Stripe SDK.

Moved the Stripe Elements further down to avoid the entire form reloading (especially billing address) in case of a payment failure.
2025-06-13 10:27:09 +08:00
Kevin Grüneberg e6c5d3cc11 fix: trim confirmation input and comparison (#36337)
We regularly have customer support tickets that cannot confirm because of a mismatching space at the end (and they cannot for the life of them figure this one out).

Trimming both input and comparison string will prevent unnecessary support tickets and still guarantees enough safety.
2025-06-12 11:28:48 +08:00
Ivan Vasilov 64d3d1fb7f chore: Bump vulnerable dependencies (#36272)
* Bump vite version.

* Rename and bump the vercel/flags dependency.

* Bump all versions of esbuild to one.

* Bump image-size.

* Bump fastify.

* Bump prismjs.
2025-06-11 10:24:40 +02:00
Charis 4e916fc16a feat(graphql): add paginated errors collection query (#36149)
* feat(graphql): add paginated errors collection query

- Add new GraphQL query field 'errors' with cursor-based pagination

- Add UUID id column to content.error table for cursor pagination

- Implement error collection resolver with forward/backward pagination

- Add comprehensive test suite for pagination functionality

- Update database types and schema to support new error collection

- Add utility functions for handling collection queries and errors

- Add seed data for testing pagination scenarios

This change allows clients to efficiently paginate through error codes using cursor-based pagination, supporting both forward and backward traversal. The implementation follows the Relay connection specification and includes proper error handling and type safety.

* docs(graphql): add comprehensive GraphQL architecture documentation

Add detailed documentation for the docs GraphQL endpoint architecture, including:
- Modular query pattern and folder structure
- Step-by-step guide for creating new top-level queries
- Best practices for error handling, field optimization, and testing
- Code examples for schemas, models, resolvers, and tests

* feat(graphql): add service filtering to errors collection query

Enable filtering error codes by Supabase service in the GraphQL errors collection:
- Add optional service argument to errors query resolver
- Update error model to support service-based filtering in database queries
- Maintain pagination compatibility with service filtering
- Add comprehensive tests for service filtering with and without pagination

* feat(graphql): add service filtering and fix cursor encoding for errors collection

- Add service parameter to errors GraphQL query for filtering by Supabase service
- Implement base64 encoding/decoding for pagination cursors in error resolver
- Fix test cursor encoding to match resolver implementation
- Update GraphQL schema snapshot to reflect new service filter field

* docs(graphql): fix codegen instruction
2025-06-09 10:24:17 -04:00
Saxon FletcherandAlaister Young c4cb660903 Slight tweaks to toolbar icons (#36269)
* layout header icon styles

* Update packages/ui/src/layout/ai-icon-animation/ai-icon-animation.tsx

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

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-06-09 21:54:27 +10:00
Gjorgji JankovskiandJoshen Lim 354c9b6955 feat: add additional connection metrics to report (#36225)
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-09 11:49:37 +02:00
Jordi Enric 7105df3d1f Layout Editor + Keyboard Shortcuts improvements (#36165)
* add keyboardshortcut compo, add toggle editor, handle different shortcuts, add tooltips

* fix windows

* add notifications tooltip
2025-06-09 18:24:31 +10:00
Ivan Vasilov 6d5f7f25b2 chore: Add flag to deprecate pgjwt in shared-data (#36233)
Add flag to deprecate pgjwt.
2025-06-07 00:53:28 +02:00
Terry SuttonandJoshen Lim 8fe31d903b Chore/feedback classifier (#36147)
* First

* Update

* Cleanup

* Reduce debounce

* Add a picker before displaying feedback widget

* Update styles

* Clean up

* Fix error msg

* More prompt examples

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-06 16:01:10 -02:30
Saxon FletcherandJoshen Lim 908444c378 assistant button in help popover (#36184)
* assistant button in help popover

* copy

* width issue

* use links

* nit

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-06 12:56:37 +10:00
Charis 3158807579 ci(docs): sync script (#36001)
Add a script for syncing error codes from the repo to the database. This
is part of the newly created rootSync script, where all sync scripts
should be moved eventually.
2025-06-05 12:28:45 -04:00
Cemal Kılıç ae4f2b39b6 feat(auth): add experimental userStorage support (#36195) 2025-06-05 14:42:10 +02:00
Ivan Vasilov 7e9076e3ad chore: Bump the rest of the apps to Nextjs 15 (#35475)
* Bump nextjs in the ui-library.

* Bump the nextjs in design-system.

* Bump nextjs to v15 in www.

* Bump the next version in the pnpm catalog.

* Switch all apps to using the catalog version of next.

* Fix ui-lib and design-system to build with next 15.

* Fix some prettier errors.

* Bump the next-eslint package.

* Fix a lint issue about a component starting with underscore.

* Use the catalog version of next in cms app.

* Disable turbo for dev command in www. Remove obsolete experimental flags.

* Return some of the experimental flags.
2025-06-05 12:41:28 +02:00
Andrew ValleteauandJoshen Lim 2d0b321ec6 fix(table-editor): handle multi-dimentional array truncation and preview (#36108)
* fix(table-editor): handle multi-dimentional array truncation and preview

* fix(SidePanelEditor): fully load truncated input fields

* Small tweaks

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-05 10:52:47 +08:00
Charis cf3ecc93eb chore(docs): turn on strictNullChecks (#36180)
strictNullChecks was off for docs, which lets errors slip through and
leads to incorrect required/optional typing on Zod-inferred types. This
PR enables strictNullChecks and fixes all the existing violations.
2025-06-04 17:05:37 -04:00
Francesco Sansalvadore 4f6e65a6f5 state of startups 2025 (#36047)
* state of startups page init

* state of startups page design

* finish dark aware design

* embed placeholder typescript form

* embed typeform in popup

* newsletter form to hubspot

* update typeform id and increase circle size on mobile

* update meta description

* promo

* fix line height and yc

* update subheading

* fix conflict and error handling

* fix anime js
2025-06-03 15:42:43 +02:00
Jordi EnricandJoshen Lim 0254adf97e Re add 7 day option (#35958)
* uncomment 7day option

* update types

* Add tooltip

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-03 14:07:27 +08:00
Ivan Vasilov 181f15752c chore: Move the files in ui-patterns under src folder (#36032)
* Move all components in ui-patterns into src folder. Add exports field for all files.

* Fix all apps to use the new ui-patterns.

* Fix the design-system build.

* Remove all unused rexports from ui-patterns index. Apps should use direct imports instead.

* Change the tailwind content property to include src folder of ui-patterns.

* Remove autoprefixer from the tailwind configs.

* Remove autoprefixer as a dependency.

* Fix the CVA conditions in FormLayout.
2025-05-30 12:46:22 +03:00
Charis aba0095bd7 feat(content api): add error endpoint (#35941)
* feat(content api): add error endpoint

Add an endpoint to return the details of a Supabase error, given the
error code and service.

Schema additions:

```graphql
type RootQueryType {
  "...previous root queries"

  """Get the details of an error code returned from a Supabase service"""
  error(code: String!, service: Service!): Error
}

"""An error returned by a Supabase service"""
type Error {
  """
  The unique code identifying the error. The code is stable, and can be used for string matching during error handling.
  """
  code: String!

  """The Supabase service that returns this error."""
  service: Service!

  """The HTTP status code returned with this error."""
  httpStatusCode: Int

  """
  A human-readable message describing the error. The message is not stable, and should not be used for string matching during error handling. Use the code instead.
  """
  message: String
}

enum Service {
  AUTH
  REALTIME
  STORAGE
}
```

* test(content api): add tests for top-level query `error`
2025-05-29 15:39:47 -04:00
Jordi Enric 70bdeec24b add coverage option to ui-patterns (#35669)
add coverage option
2025-05-29 19:09:26 +02:00
Charis f0ff6cee8b fix(common): prevent errors when accessing local storage in certain browser setups (#36003)
fix(common): prevent errors when accessing local storage in certain
browser setups

Got many reports of errors from accessing localStorage on Safari,
probably due to certain user security settings that cause the browser to
throw an error on storage access.
2025-05-29 11:31:21 -04:00
9318404e61 Feat/api keys rollout prep (#35559)
* first pass

* init

* updated types

* fix up key reveal

* Update QuickKeyCopy.tsx

* remove quick key copy

* api key pill now only allows reveal and copy if you have perm

* Update LegacyAPIKeys.tsx

* fix up layouts

* fix copy

* Fix action menu dropdown position, few small nudges

* Remove unused files.

* Remove the hardcoded and rename the feature flag for basic API keys.

* add support for name and description, some smaller improvements

* Fix the trims for the description.

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
Co-authored-by: Stojan Dimitrovski <sdimitrovski@gmail.com>
2025-05-27 15:50:42 +02:00
Pamela Chia f8b3bfc4d6 Feat/privacy policy update (#35923) 2025-05-27 18:42:35 +08:00
Raminder SinghandIvan Vasilov b411ed3421 chore: rename sink to destination for the etl api (#35931)
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-05-26 21:30:10 +05:30
Jordi Enric 2fa17afca3 Project Usage: fix types and component (#35934)
* fix types and component

* fix types
2025-05-26 16:38:26 +02:00
Ivan Vasilov 4add928dae chore: Update API types (#35879)
* Regenerate all types from develop branch.

* Fix all types in studio.

* Remove extra type.
2025-05-26 15:43:14 +02:00
Igor Mytyuk fa2c766aea fix(consent-state): add IS_PLATFORM check in initUserCentrics() (#35805)
- The check on IS_PLATFORM should skip the usercentrics initialization in self-hosted environment and prevent the dashboard errors
2025-05-26 20:15:54 +08:00
Alaister Young 50518c897a [FE-1648] fix: privacy settings failed to load state (#35869)
* fix: privacy settings failed to load state

* add dashboard state

* sort imports
2025-05-26 09:46:12 +00:00
Charis d218d9190b fix(privacy settings): toReversed use (#35885)
Some portion of our user base is using browsers too old to support
toReversed (at least it keeps showing up in docs Sentry errors). The
legacy version is a simple enough change, so let's use that instead.
2025-05-23 16:27:13 -04:00
Francesco Sansalvadore fda426b9ad Improvements to Reports > Database (#35477)
* improve legend items hover

* show yAxis label

* open range in logs explorer

* add provisioned disk size to Memory Usage chart

* temp new charts

* Network Traffic chart

* sync charts marker

* update api types

* fix layout

* add max memory

* add db size

* chore: remove unused properties

* disk_io_usage

* add max db and pooler connections

* chart header tooltip

* clean charts

* add cpu max

* refactor charts and change max color

* reference line on Database Size chart

* reference line text

* reference lines on Database Size chart

* fix aggregation

* legend spacing

* reference line

* add docsUrl
2025-05-23 10:32:33 +02:00
Charis 6fcb98d927 docs(pg17): add docs on pg17 upgrades (#35431) 2025-05-22 14:07:06 -04:00
Terry Sutton 4fcc6f3026 Update user impersonation search (#35717)
* Update user impersonation search

* Fix spacing, make users unique in history

* Scrollable contaner
2025-05-22 09:00:57 -02:30
Stojan DimitrovskiandIvan Vasilov 49c677dff4 feat: add sign in with solana (web3) configuration UI (#34909)
* feat: add sign in with solana (web3) configuration UI

* Regenerate the api types.

* fix tiny things

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-05-22 10:53:25 +02:00
Andrew Valleteau 521979748b fix(studio): use null last order by default (#35794)
* fix(studio): use null last order by default

* chore(tests): update tests
2025-05-21 10:26:40 +02:00
Julien Goux b7057fa9d8 fix: move triggers requests to query route (#35667) 2025-05-20 15:41:43 +08:00
b09440bd47 fix: move table create update delete to query route (#35662)
* fix: move table create update delete to query route

* chore: implement query to fetch a single table

* fix: retrieve table after update

* chore: assign type to update table payload

* chore: use updated table columns for edit

* chore: make executeSql castable with generic (#35685)

* Chore/refactor derivate more types from queries (#35687)

* chore: make executeSql castable with generic

* chore: derivate types from performed queries

- It allows to decouple more the frontend logic and the pg-meta/sql-query logic allowing to reduce the number of cast
and get closer types between what we do fetch and what we expect in our components

* fix: remove existing check

* chore: handle null comment and check

* fix: format check name as identifier

---------

Co-authored-by: avallete <andrew.valleteau@supabase.io>
Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
2025-05-20 10:34:59 +08:00
Terry Sutton 0f91196154 Add a notice for the planned middleware outage (#35723)
* Add a notice for the planned middleware outage

* Msg update
2025-05-16 17:55:04 +00:00
Han Qiao dc2f1270db fix: move column delete and update to query route (#35497)
* fix: move column create request to query route

* chore: replace table id with fully qualified name

* chore: consolidate default column value tests

* chore: consolidate array column tests

* chore: test setting default value to null

* fix: move column delete and update to query route

* chore: remove unused code
2025-05-15 11:42:29 +08:00
Han QiaoandAndrew Valleteau 80791c01b5 fix: move column create request to query route (#35532)
* fix: move column create request to query route

* chore: replace table id with fully qualified name

* chore: consolidate default column value tests

* chore: consolidate array column tests

* chore: test setting default value to null

* chore: remove unused code

---------

Co-authored-by: Andrew Valleteau <avallete@users.noreply.github.com>
2025-05-14 13:23:31 +08:00
Han Qiao 5601bb3e9c fix: move publication create and update to query route (#35633)
* fix: move publication create and update to query route

* fix: update mutation should use query route
2025-05-14 12:54:58 +08:00
Andrew Valleteau a90d29aef7 chore(docs): fix comment misspell (#35638)
chore: fix comment misspell
2025-05-13 09:39:09 -04:00
Joshen Lim 2066e1c652 Set up to default opt in tabs interface (#35549)
* Set up to default opt in tabs interface

* Add callout in new tab

* Unify tabs feature flag
2025-05-13 20:07:40 +08:00
Han Qiao ca06acef00 fix: move extension requests to query route (#35583)
* fix: move extension requests to query route

* chore: escape schema name as identifier
2025-05-13 00:31:18 +08:00
Han Qiao e2fddfeeeb fix: move policy requests to query route (#35500) 2025-05-12 23:54:46 +08:00
Andrew Valleteau 71b261932e chore(refacto): throw error instances (#35617)
* chore: throw error instance for pgMetaGuard

* chore: throw error instance for Query utils

* chore: attempt to fix flawkyness
2025-05-12 10:53:15 +02:00
Raminder Singh 520428680d feat: call the new api endpoints to handle partial failures in pg_replicate (#35418)
* feat: use the new tenant-source api to atomically create the tenant and source in pg_replicate

* feat: use the new sink-pipeline api to atomically create the sink and pipeline in pg_replicate

* fix: remove some unused imports

* feat: use the new sink-pipeline api to atomically update the sink and pipeline in pg_replicate

* feat: deleting the sink cascades to delete the pipeline

* chore: update api types

* fix: revert accidental update to types

* remove unused code

* add a comment explaining why deleting only sink is enough
2025-05-10 12:04:37 +05:30
6d09404779 feat: add mfa enforcement toggle (#34307)
* feat: add mfa enforcement toggle

Allows toggling MFA enforcement on an organization level.

Depends on API change #22088

* fix: toggle and disable action for non-owner

* chore: disable for free plans

* chore: disable toggle for org MFA if current user doesn't have MFA enabled

* set initial state

* move org mfa to security page

* use zod resolver

* fix initial values

* useQueryClient in the organization-mfa-mutation

* chore: warn about losing access to mfa orgs

* Some refactors, fixes and improvements

* chore: feature flag mfa enforce page

* Tiny fix

* Leave comment

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-05-09 16:56:49 +02:00
Jordi EnricandJoshen Lim 6e91494b16 Add coveralls integration (#35424)
* update gh action, update vitest config

* debug

* debug cov

* idk try something different

* test2

* test3

* add base path

* rm debug

* add apiAuthenticate tests

* supabaseClient tests

* apiWrappers tests

* add apiHelpers tests

* add configcat tests

* add formatSql tests

* add github tests

* add cloudprovider utils tests

* add helpers tests

* fix typeerr

* add missing readonly err

* fix typeerrrs

* fix type errors in apiWrapper tests

* fix apiHelpers test

* add packages/ui tests

* add coveralls flags

* try coveralls parallel config

* fix coveralls parallel config

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-05-08 12:23:37 +02:00