Commit Graph
3261 Commits
Author SHA1 Message Date
Saxon FletcherandAlaister Young 182986bb1d Assistant error state (#36907)
* ui refinements

* rename chat

* copy

* prose message styles

* add icon back

* fix message save

* simplify empty state

* update suggestions

* pass through props

* button styles

* onboarding icons

* name button

* remove results

* current chat name

* use type

* fix down arrow

* error and retry

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-07-08 18:02:49 +10:00
Saxon Fletcher 94c45c2863 AI UI refine and renaming (#36819)
* ui refinements

* rename chat

* copy

* prose message styles

* add icon back

* fix message save

* simplify empty state

* update suggestions

* pass through props

* button styles

* onboarding icons

* name button

* remove results

* current chat name

* use type

* fix down arrow

* re-add chat name
2025-07-08 12:09:11 +10:00
Pamela Chia 5f77dde39a Feat/terms update (#36912)
* update terms of service

* add banner for one week

* update text

* update email and agreement cond

* update banner description

* update text agn
2025-07-08 01:25:09 +08:00
Filipe CabaçoandIvan Vasilov d959b10124 realtime: Limit access to settings based on project (#36860)
* realtime: Limit access to settings based on project

* fix linter

* Fix the realtime layout to work with two flags.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-07-07 11:22:55 +02:00
Terry Sutton 1d3b0ba916 Rename api to api gateway (#36886) 2025-07-05 06:50:22 -02:30
Joshen LimandTerry Sutton a73df1fffa Change path to pathname in storage unified logs query (#36785)
* Change path to pathname in storage unified logs query

* One more path

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-07-04 20:56:57 +01:00
Terry SuttonandIvan Vasilov 4d15119c29 opt in tags (#36885)
* Validate the aiOptInLevel on the server

* Fix another issue when the project and mismatched org.

* Fix a type error.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-07-04 14:17:42 -02:30
Ignacio Dobronich 309088be96 feat: add billing information to the leave org modal (#36868) 2025-07-04 12:15:54 +00:00
Ivan Vasilov 2eeed2e22e feat: Add Iceberg FDW (#36828)
* Add Iceberg FDW.

* Fix the fdw-create-mutation to handle special chars.

* Fix the vault links in the wrapper rows.
2025-07-04 13:00:49 +02:00
Raminder Singh 26462884ca feat: use enablePgReplicate feature flag (#36876) 2025-07-04 15:53:56 +05:30
Ivan Vasilov a88e89e4a8 feat: Add support for import foreign schema for wrappers (#36827)
* Add schema flag to the foreign-schema wrappers.

* Support the new mode in the create wrapper flow.

* Minor CSS tweaks.

* Re-add a missing line.

* Add source schema field.

* Make source and target schema part of the form state.

* Fix the edit mutation.

* Show a warninf for the feature if the wrappers extension is below 0.5.0.

* Bring the SchemaEditor side panel into 21st century and simplify it.

* Use the schema editor in the Create wrapper sheet to create a new schema.

* Minor fixes.

* Fix the badge border in WrapperRow.
2025-07-04 10:06:18 +02:00
ea38c6d153 Review and merge branch (#36795)
* allow creating branching without git

* update branching modals

* add account connections

* edit branch

* copy

* update copy

* enable branch modal changes

* add gitless branching flag

* update account connections

* merge page

* merge experiment

* update merge

* update pull requests empty state

* use diff query

* branch diffing

* diff query

* Clean up

* refinements to gitless branching

* branching merge and status

* link

* branch function diffing

* update styling

* refactor

* remove hook

* error handling

* move

* remove enable branching modal

* re-add github linker

* abstract away enable and disable

* toggle fixes

* update logic to lean on connection status

* update form logic

* sheet layout

* gitless flag

* style and workflow updates

* fix side panel size

* fix duplicate onerror

* copy changes

* refetch

* merge mutation copy

* remove import

* add cost

* allow connection details on create

* initial queries

* push button

* merge cleanup

* Fix TS issues

* Fix TS issues

* Couple of clean ups

* Revert hardcode in useFlag

* Fix TS

* layout issues and github check

* refactor

* refactor to use new field

* cleanup

* style

* failed merge

* error positioning

* refactoring merge

* workflow refactor

* hook move

* clarification with github integration

* replace branch dropdown button

* update repo picker

* updates

* remove modal

* fix small nits

* change defaults

* clean up

* disable if not gitless and no connection

* clean up

* always show workflow run id

* optimistic

* fix branch query

* fix issues

* fetch edge diff

* confirm merge

* update edge functions key

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-07-04 14:57:59 +10:00
Francesco SansalvadoreandJordi Enric 715b83b124 chore: realtime reports (#36797)
* init realtime reports page

* realtime metrics

* remove mock

* rebase branch

* chore: add realtime_postgres_changes infra-monitoring query

* clean realtime config

* clean realtime config

* test queries

* fix duplicate values

* update realtime charts components

* update realtime charts types

* update realtime charts types

* restore realtime charts logic

* add realtime charts

* hide redundant refresh and datepicker

---------

Co-authored-by: Jordi Enric <jordi.err@gmail.com>
2025-07-03 18:14:19 +02:00
Francesco SansalvadoreandTerry Sutton 8c41ec5e66 feat: reports storage (#36442)
* init storage charts v2

* add storage chart endpoint

* add storage charts to storage

* cleanup storage reports

* chore: try functions report

* fix storage sql composition

* clear menu

* chore: use FilterBar to filter storage report

* chore: fix api report product filtering

* comment path

* remove Response Errors storage chart

* update filtering UI

* fix filtering concatenation logic

* refactor components to useReportFilters hook

* cleanup

* fix filter concatenation

* add filerable text input

* add AND between filters

* fix padding

* Temp remove filter bar

* Nudges

* Swap collapsible component

* fix cache hit and cache miss queries

* Link to cache guide

* Add a flag for storage report

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-07-03 13:43:24 +02:00
Stojan DimitrovskiandIvan Vasilov c54842b8f9 feat: jwt signing key dialog supports bring your own key (#36730)
* feat: jwt signing key dialog supports bring your own key

* Minor structure fixes.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-07-03 12:41:11 +02:00
Andrew Valleteau 46d3de728f fix(branching): allow gitless branches to be set as peristent (#36794) 2025-07-03 11:56:02 +02:00
Stojan DimitrovskiandIvan Vasilov 4e17ec6632 feat: improved jwt signing key rotation dialog (#36781)
* feat: improved jwt signing key rotation dialog

* small tweaks

* Minor CSS fixes.

* Minor CSS fixes for the  initial dialog for JWT keys.

* Fix the error to be better. when revoking too fast.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-07-03 10:23:50 +02:00
Saxon Fletcher ad22fa3a96 block branch free plan (#36849)
* block branch free plan

* condense copy

* prevent auto focus
2025-07-03 17:14:04 +10:00
Saxon Fletcher ea0d51598a remove results from message (#36851) 2025-07-03 13:42:57 +10:00
Chris StocktonandChris Stockton 8a4bca34a7 feat: add documentation and UI integration for Before User Created hook (#36567)
* feat: add documentation and UI integration for Before User Created hook

- Added new guide: `before-user-created-hook.mdx`, documenting usage, inputs,
  outputs, and multiple complete examples for HTTP and SQL.
- Updated navigation menu and hook index table to include the new hook.
- Hook is now listed as available on Free and Pro plans.

Studio changes:
- Registered `Before User Created` hook in `hooks.constants.ts` with proper
  title, slug, and configuration keys.
- Enabled Docs button linking to hook guide in both `CreateHookSheet` and `HookCard` components.
- Extended hook listing page to support docs access via `secondaryActions`.

This hook allows developers to intercept and reject user creation across all
flows (email/password, OAuth, SSO, SAML, anonymous) - enabling custom signup
logic like domain allowlists, geofencing, or account gating.

* fix: add subnet to mdx lint allowed list

* fix: incorporate feedback and spelling changes

* feat: add allow/deny domain and CIDR examples to before-user-created hook

This commit enhances the documentation for the before-user-created auth hook:
- Adds production-ready SQL examples for blocking or allowing signups by email domain (signup_email_domains) and IP address or CIDR (signup_networks)
- Introduces enum-based classification (allow vs deny) for both domain and network restrictions
- Adds full migration-style snippets for easy copy/paste into Supabase SQL Editor
- Includes updated HTTP examples that delegate to Postgres functions via Supabase client rpc()
- Adds environment setup guidance and edge function scaffolding

* fix: pnpm format

---------

Co-authored-by: Chris Stockton <chris.stockton@supabase.io>
2025-07-02 14:54:07 -07:00
Jordi Enric 3d88e1a03d Edge Function Report (#36763) 2025-07-02 15:54:39 +02:00
3f3ed433fc Remove enable branching modal (#36458)
* remove enable branching modal

* re-add github linker

* abstract away enable and disable

* toggle fixes

* update logic to lean on connection status

* update form logic

* sheet layout

* gitless flag

* fix side panel size

* copy changes

* remove import

* add cost

* allow connection details on create

* Fix TS issues

* Fix TS issues

* Couple of clean ups

* Revert hardcode in useFlag

* Fix TS

* layout issues and github check

* refactor

* refactor to use new field

* cleanup

* style

* clarification with github integration

* replace branch dropdown button

* update repo picker

* remove modal

* change defaults

* disable if not gitless and no connection

* fixes

* prevent editing on child branch

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2025-07-02 21:58:45 +10:00
08a7b75f1e chore: add signed out redirect timeout (#35546)
* chore: add signed out redirect timeout

* Add modal

* Nudge language

* Add temp github link

* Use captureException

* Minor refactor

* Revert staging specific testing logic

* Fix the sentry message send

* Change to event

* Add debugging

* Use an actual error

* Adjust logging

* always send errors

* even more debugging

* Remove all beforeSend checks

* Restore beforeSend

* Debug

* Retry original

* Again

* Test always send

* Cleanup

* Test frames again

* Retry third party error function

* Cleanup

* Remove hardcoded debugging

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-01 14:26:57 -02:30
Michael OngandTerry Sutton a259c0b9dc chore: add e2e test for sql editor snippets (#36293)
* chore: add e2e test for sql editor snippets

* trigger build

* chore: fix failing test and add rls

---------

Co-authored-by: Terry Sutton <saltcod@gmail.com>
2025-07-01 14:16:54 +02:00
Kevin Grüneberg 9765a70a73 fix: disk attributes on compute down size (#36788)
When downgrading from a larger compute size to <large while having provisioned IOPS or throughput, we would leave the disk as-is, even though the configuration is unsupported and then block any disk changes because the instance size is too small, essentially dead-locking the customer on the disk attributes, unless they bump back up to a higher instance size.

PR addresses multiple issues:
- Automatically reset disk attributes to default when customers downgrade to <large instances
- Do not use the baseline compute IOPS/throughput for the fields, as this leads to accidentally over-provisioning by customers
2025-07-01 17:25:11 +08:00
Lakshan PereraandClaude e4c50cefce feat: Add duplicate key check with confirmation dialog for Edge Function secrets (#36793)
- Created DuplicateSecretWarningModal component following the pattern of DeployEdgeFunctionWarningModal
- Added duplicate key detection logic to AddNewSecretForm before secret creation
- Shows confirmation dialog when attempting to create a secret with an existing name
- Allows users to proceed with replacing the existing secret or cancel the operation

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-07-01 19:15:39 +10:00
Jonathan Summers-MuirandJoshen Lim 39fe55e0b0 feat: add storage logs to unified logs (#36556)
* Update UnifiedLogs.queries.ts

* Update Unified Logs QueryOptions to use POST to logs.all

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-07-01 03:45:31 +08:00
Terry Sutton 2aee61530d Chore/fix index delete (#36774)
pass schema to delete index
2025-06-30 13:06:18 -02:30
Jordi Enric 92eabe3e3e Auth + Database Report Fix (#36768)
rollback previous files and move auth changes to new files
2025-06-30 16:04:33 +02:00
Kevin Grüneberg 4984392edd fix: prevent double submission of plan change (#36765)
When changing the plan while also creating a payment method in the same breath, some customers double-clicked the confirm button leading to a double-submission and possibly leading to a state where the customer gets charged, but the plan change is not going through.
2025-06-30 19:03:59 +08:00
Ivan VasilovandAlaister Young 37e44bec9c feat: Add GTM (#35567)
* Add third-parties dependency for GTM. Reexport the GTM from the common package.

* Add the TelemetryTagManager to four of the production apps.

* Add the GOOGLE_TAG_MANAGER_ID env var as a turbo dependency to the 4 apps.

* Skip rendering the tag manager if the env var is not set or not running on the platform.

* Fix the prop type to be extracted from the component.

* Add default values for consent to GTM.

* Another try to mimic gtag function.

* Fix a link in www.

* Try another approach.

* try.

* Remove the data-redaction flag.

* Remove extra code.

* Send a sign-up event if GTM is enabled.

* Send only the email to GTM.

* Minor fixes.

* Remove third-parties from pnpm lockfile.

* Lets try to make studio work again.

* Add CSP rules for img loading for GTM.

* Add event for testing.

* Add www.googletagmanager.com to the CSP rules.

* Add Stape to CSP rules.

* Fix stape CSP.

* Clean up the code.

* Remove extra console.log.

* Fix the stape urls for CORS.

* Fix the wrong category for Stape URL.

* Add google ads urls.

* Bump the timeout.

* Add google.com to the img-src for google ads.

* update csp

* remove comment

* update to use google analytics without signals

* add stape to default-src in csp

* move csp to middleware

* add google ads support and fix middleware base path

* remove google tag manager / google ads references from csp. load via stape proxy instead

* add double click url to image src

* add Google Tag Manager URL to CSP configuration

* add ga4 urls to csp

* remove google urls from CSP

---------

Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-06-30 10:35:47 +00:00
6f5982d635 Chore/update churn survey (#36722)
* update cancellation reasons

* update texts

* randomise options and only single select reasons

* label overrides and reason readability

* minor fixes

* fix reasons sending

* Fixes

* Adjust tooltip side

* improve header description

* add a label for radio options

* wrap shuffledReasons in useState so it doesn't randomly shuffle

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Alaister Young <a@alaisteryoung.com>
2025-06-29 17:58:39 +08:00
Joshen Lim 34f764e543 Fix database selector not selectable in connect modal (#36723) 2025-06-27 20:15:43 +08:00
Joshen Lim 307f2843e1 Chore/unified logs fixes 02 (#36710)
* Temporarily disable cmd K shortcut for searching unified logs

* Update placeholder for search input

* Fix getLogsCountQuery for method

* Standardize pathname parameter

* Fix refresh button
2025-06-27 18:58:50 +08:00
Jordi Enric 3b3a75202e feat: add auth reports FE-1569 (#36555)
* feat: add auth reports

* fix reports dates, fix missing queries

* add flag

* fix errorbystatus chart

* fix sign in by grant type

* move formatting to auth report query file

* fix signup by provider, add ratelimitted reqs

* fix sign ups query

* cleanup unused stuff

* cleanup

* rm console logs

* undo logs.utils

* add status code lib, use edge_logs for query

* fix auth error chart footer

* rm redundant rate limited requests chart

* fix db report breaking due to useAuthReport throwing

* move state up, reduce conditional logic in composed chart handler

* reorder reports nav

* rm bg

* fix type err

* fix useChartData

* empty

* fix report header bg

* move to utils

* add AnalyticsInterval import to report.utils for granularity conversion
2025-06-27 11:10:25 +02:00
Bobbie SoedirgoandJoshen Lim 90d355b9cb feat: show upgrade warning if user objects exist in internal schemas (#36654)
* feat: show upgrade warning if user objects exist in internal schemas

* Clean up warnings into a separate file

* Update API types + fix TS issues

* Update apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureInfo.tsx

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-27 08:26:03 +00:00
Filipe CabaçoandJoshen Lim ef02eb65e2 realtime: Add Allow Public Access toggle back to Realtime Configuration (#36708)
* realtime: Add Allow Public Access toggle back to Realtime Configuration

* Smol fix

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-27 00:08:20 +08:00
Joshen LimandSaxon Fletcher 256dbb7f38 Feature flag MCP changes (#36689)
* Feature flag assistant endpoint + opt in UI

* Feature flag bedrock stuff for the other endpoints like title, cron, complete

* add edge function complete v2

* revert to old complete

* Revert hardcode

* fix chart colour

---------

Co-authored-by: Saxon Fletcher <saxonafletcher@gmail.com>
2025-06-26 18:41:31 +08:00
Kevin Grüneberg 2c6c5d11e4 chore: cleanup pending subscription flags (#36692) 2025-06-26 18:05:04 +08:00
Joshen Lim ec43e11c11 Chore/fix unified logs (#36650)
* Fix z-index position of row

* Fix column widths to make it fit a laptop viewport better

* Fix auto fetching when scrolling to the bottom

* Small style fixes + decouple count loading state from table loading state

* Refactor row uuid to just id, add de-duping logic to logs data, standardise unified logs query options

* Clean up logs

* Misc styling tweaks

* Reinstate prev cursor and direction for live mode

* Clean

* Revert text sizes

* Remove now resolved comments
2025-06-26 16:45:45 +08:00
Stojan Dimitrovski a403f1ceca feat: add publishable key in connect dialog (#36638) 2025-06-26 09:11:08 +02:00
Joshen Lim 63164fe165 Revert "Revert "Feature/assistant mcp"" (#36687)
* Revert "Revert "Feature/assistant mcp" (#36684)"

This reverts commit 2bff117cde.

* Attempt
2025-06-26 15:02:49 +08:00
Han Qiao 94036ceaa0 chore: adjust branching price comms (#36685) 2025-06-26 05:09:53 +00:00
Joshen Lim 2bff117cde Revert "Feature/assistant mcp" (#36684)
Revert "Feature/assistant mcp (#35318)"

This reverts commit 3a50dd1f72.
2025-06-26 13:06:50 +08:00
f6692f2241 chore: Dashboard guards to limit what can and cannot be done by an AWS_K8S project (#36630)
* chore: transition from AWS_NEW to AWS_K8S

* chore: transition from useIsAwsNew to useIsAwsK8s

* chore: new useIsAws method

* chore: disk management protections

* chore: IPV4 addon protections

* chore: AWS_K8S restart protection

* chore: AWS_K8S read replica protections

* chore: restore to new project protections

* Update apps/studio/components/interfaces/Settings/Infrastructure/InfrastructureConfiguration/DeployNewReplicaPanel.tsx

Co-authored-by: Tom Gallacher <tgallacher@users.noreply.github.com>

* chore: changes based on feedback

* fix: prettier

* minor fixes

* Use disabled state for ipv4 address in ipv4sidepanel isntead of hiding the UI entirely

* Revert hardcode in useSelectedProject

---------

Co-authored-by: Tom Gallacher <tgallacher@users.noreply.github.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-06-26 12:14:26 +08:00
3a50dd1f72 Feature/assistant mcp (#35318)
* step 1

* use mcp

* system prompt

* clean up

* space

* clean up

* add three state opt in toggle

* clean up

* todo

* hooks

* refactor opt in form and modal

* refinements

* add bedrock

* remove console

* update mcp util

* use bedrock

* remove openai sdk package

* re-add tools

* update complete endpoints

* fix: ai assistant markdown formatting (#35541)

* fix: mcp types and project ref (#35540)

* feat: more flexible aws credential provider (#35538)

* feat: more flexible aws credential provider

* fix: add AWS_REGION to turbo env vars

* change to allowed

* update complete endpoints

* add an additional permission

* refinements

* use claud 4

* legal copy changes

* update other ai functions to use bedrock

* update generate v3 copy

* remove generate sql modal

* fixes for query block

* re-add dragging to reports

* clean up

* add open ai edge function example

* use handle error from fetchers

* remove schema and lean on tools

* copy

* Assistant MCP tests (#36049)

* feat: refactor and test mcp and model logic

* fix: remove get_project tool

* fix: remove additional get_project tool references

* update copy

* Clean up, fixes, refactors

* oops

* Float errors from AI endpoionts as toasts

* Use a env var AWS_BEDROCK_PROFILE for bedrock.

* Rename the env var for AWS bedrock profile.

* feat: support custom aws bedrock env vars

* chore: add comments explaining aws credential chain

* MCP Self Hosted Check (#36185)

support self hosted

* feat: bedrock auth via vercel oidc

* Fix broken unit test

* Feeeex

* Refactor useOrgOptedIntoAi

* Remove useDisallowHipaa hook

* small system prompt change

* readd vercel packages

* fix self hosted

* increase max duration

* try more direct prompt

* max duration 90

* reduce max steps and add loading

* mono font

* backwards compat styling

* Chore/limit number of messages sent to assistant (#36388)

* Limit number of historical messages that get sent to assistant

* Update max chat history to 5

* alignment

* bump mcp server version

* Add feature flag for opt in tags (#36466)

* Add feature flag for opt in tags

* Add one more check

* security section system prompt

* rely on default link and replace image markdown

* Add custom link component to assistant message block (#36527)

* Add custom link component to assistant message block

* Update based on feedback

* Render plain text if URL is deemed unsafe

* fix mcp tools and parse data (#36593)

* Update Admonition for AI Assistant for when opt in is re-enabled (#36663)

* Update Admonition for AI Assistant for when opt in is re-enabled

* Update

* Smol fix

* Fix TS

* Tiny

---------

Co-authored-by: Greg Richardson <greg.nmr@gmail.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-06-26 12:13:27 +08:00
Bobbie Soedirgo 226d05fb83 fix: warning message on upgrade guards (#36646)
* fix: warning message on upgrade guards

When users are blocked from an upgrade because they have objects that
need to be dropped, the message in the warning is incorrect. It asks
users to "drop these extensions". But they're not extensions, they're
user-defined tables, foreign keys, etc. This will cause confusion.

Here we use a different messaging when users need to drop their objects.

* chore: prettier
2025-06-25 16:06:47 +08:00
angelico 84b8695de7 chore: transition from AWS_NEW to AWS_K8S (#36625)
* chore: transition from AWS_NEW to AWS_K8S

* chore: transition from useIsAwsNew to useIsAwsK8s
2025-06-25 11:35:07 +08:00
Charis d122f289df feat(api gateway logs): add error code explanation (#36315)
Add the ability to look up error code explanation in API Gateway logs.
Also a bunch of GraphQL-related utilities and generated types for
calling the Content API.
2025-06-24 13:18:12 -04:00
Joshen Lim 2808931f92 Chore/refactor unified logs infinite queries (#36598)
* Split unified logs count into its own infinite query and refactor main UI to use that new query

* Split unified logs into its own infinite query and refactor main UI to use that new query

* Shift useChartData into unified-logs-chart-query, and refactor main UI to use that new query

* Rename unified-logs-query to unified-logs-infinite-query

* Remove uuid and live params from query string in react queries for unified logs
2025-06-24 16:28:00 +08:00