Commit Graph
330 Commits
Author SHA1 Message Date
Matt Rossman 01ddc6853e Merge branch 'master' into feature/braintrust-matt 2025-12-15 16:52:55 -05:00
Matt Rossman 3dfa8ca4e0 refactor: dataset to own file, colocate scorers 2025-12-15 16:42:58 -05:00
Matt Rossman 827c81a647 feat: score with gpt-5 2025-12-15 16:36:24 -05:00
Matt Rossman 4550004f2a feat: category in test case metadata 2025-12-15 15:38:17 -05:00
Jordi Enric 9685711519 chore(query-perf): better error handling and sentry tracking (#41278)
* add retry

* handle and capture errors

* adds tests

* improve Sentry integration

* remove SQL logging from query performance error capture

* fix error msg prop handling

* add max and baseline to alert

* undo change meant for other branch oops
2025-12-15 20:39:09 +01:00
Matt Rossman 5f601bc9d3 feat: split AssertionScorer into separate scorers 2025-12-12 11:44:31 -05:00
Matt Rossman ef4f59480e feat: sql_similar assertion 2025-12-11 17:45:13 -05:00
Matt Rossman 98d62e6de5 feat: LLM criteria assertion 2025-12-11 17:00:03 -05:00
Matt Rossman 5365a14c87 feat: transfer mocks from feature/braintrust 2025-12-11 16:52:33 -05:00
Charis c0c824809e feat(studio): add infinite pagination for buckets policies (#41277)
## Summary of changes

Buckets policies page at /project/_/storage/files/policies now uses the
paginated buckets endpoint to fetch buckets.

## Before

Used a non-paginated query.

## After

To support a paginated query, we now have:
- Infinite scroll loading behavior
- Fixed some of the buckets utilities to account for policy references
to buckets that haven't loaded yet
2025-12-11 15:45:16 -05:00
Matt Rossman 4a04156dff refactor: generic tool name type in assertions 2025-12-11 12:12:08 -05:00
Matt Rossman 7f8319fca5 refactor: strict tool names, remove need for as const 2025-12-11 12:08:07 -05:00
Matt Rossman 7738cfc121 fix: aggregate tools across all steps 2025-12-11 11:49:15 -05:00
Ivan Vasilov 0d5be306ef chore: Bump React Query to v5 (#40174)
* Bump the deps, refactor deprecated code.

* Migrate keepPreviousData usage.

* Migrate all uses of InfiniteQuery.

* Fix refetchInterval in queries.

* Migrate all use of isLoading to isPending in mutations.

* Fix accessing location in claim-project.

* Fix a bug in duplicate query keys.

* Migrate all queries to use isPending.

* Revert "Fix accessing location in claim-project."

This reverts commit 2a07df64b5.

* Revert the rss.xml file to master.
2025-12-10 10:10:29 +01:00
Matt Rossman 60e8b4a1d0 feat: assertion scorer 2025-12-09 15:43:10 -05:00
Pedro Rodrigues 9d12f0bc86 chore: bump mcp version to 0.5.9 (#41052)
chore: bump MCP server to 0.5.9 and utils to 0.2.4
2025-12-09 16:31:34 +00:00
Joshen LimandAlaister Young 91209faab1 Remove unused old env var (#41178)
* Remove unused old env var

* Update apps/studio/lib/api/apiHelpers.ts

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

* Fix

* Add comment

---------

Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-12-09 13:22:10 +08:00
Saxon FletcherandKevin Grüneberg 5579b8e7eb Added billing context (#40933)
* added billing context

* Update apps/studio/lib/ai/prompts.ts

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

* direct links billing

---------

Co-authored-by: Kevin Grüneberg <k.grueneberg1994@gmail.com>
2025-12-08 16:27:41 +10:00
Matt Rossman 4a2ddb6bc4 refactor: generateAssistantResponse to lib/ai 2025-12-05 17:25:55 -05:00
Ali WaseemandJoshen Lim 74b13e2cef fix: added logic to check and parse valid day.js (#40960)
* wip: added logic for migration checking

* updated null check

* updated to return undefined

* updated use memo check

* updated migration text

* updated text based on migrations data

* re-added tabbed deleted code

* Updated insertedAt date logic

* Fit missing gap + add tooltip

* Niot

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-12-02 13:18:33 +08:00
Ivan Vasilov d33fdcb4f2 fix: Refactor the temp API keys creation for oAuth Server apps (#40849)
* Remove the query for temp keys. Remove the query for supabase client. Add a function which creates a supabase client with a temp key.

* Add a new query for building the endpoint URL.

* Migrate all oAuth queries and mutations to use the new function for creating a Supabase project client.

* Use the new queries/mutations in the code.

* Use query in refetchInterval for useProjectSettings.

* Replace all uses in StorageExplorer with createProjectSupabaseClient.
2025-11-26 15:15:51 -07:00
Joshen Lim 27200aa52a Patch lints (#40783) 2025-11-26 00:16:45 +08:00
Andrew Valleteau da4712532d chore(studio): use custom github local dev app (#40384)
* chore(studio): use custom github local dev app

* chore: remove debug log
2025-11-21 14:24:44 +01:00
Ivan Vasilov 43cc61818c chore: Migrate all isPending uses in react-query (#40642)
* Bump react-query. Minor type and logic fixes.

* Migrate all use of isLoading to isPending in mutations.

* Fix type errors.
2025-11-20 16:44:53 +01:00
Ivan Vasilov a40ccc4b45 chore: Clean onSuccess and onError props on useQuery (#40641)
* Remove all onSuccess and onErrors from useQuery.

* Minor fixes to all refetchInterval.

* Fix smaller type issues.
2025-11-20 14:08:56 +01:00
9bf15f9675 fix(mcp): postgres-meta parameters binding for list_tables (#40499)
* add params to executeQuery

* revert env change

* chore: upgrade "supabase" to v2.58.5

---------

Co-authored-by: Matt Rossman <22670878+mattrossman@users.noreply.github.com>
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-18 16:01:03 +00:00
Paul CioancaandAli Waseem 35fc021028 fix: correctly generate migration insert statements for integrations (#32959)
Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-12 09:53:35 -05:00
Francesco Sansalvadore ddd1dbc09f Studio: add CommandMenu trigger in top nav (#40011)
* add CommandMenuTriggerInput in top nav in studio
* uniform command trigger in top nav
2025-11-10 11:43:50 +01:00
Ali Waseem 2fdba9098d remove duplicate message in sentry trace (#40226) 2025-11-07 02:08:58 +00:00
Sean Oliver 364f743054 Fix PostHog user identification persisting after signout (#40158)
- Add reset() method to PostHogClient class to clear user identification
- Call posthogClient.reset() before clearLocalStorage() in signout flow
- Include proper error handling and memory leak prevention
- Clear all pending state (identification, groups, events)

Resolves GROWTH-535
2025-11-06 15:51:56 -08:00
Ali Waseem ab1b7220ce Fix: Double words for errors within Sentry for capture message (#40223)
updated error messages
2025-11-06 18:44:14 -05:00
Ali Waseem 4d62c6d509 Fix: updated critical path errors within studio (#40216)
* updated Sentry critical path erroring

* removed unneeded return
2025-11-06 14:37:11 -08:00
Luca Forstner d23f08e561 feat: Add possibility to remove and reauthorize GitHub connections (#40126) 2025-11-05 11:58:37 +01:00
Charis 297822b0b7 fix(logout): don't use returnTo on sign-in page if user intentionally logs out (#40155)
When user logs out from the user dropdown, they're redirected to the
sign-in page via the withAuth redirect, which means that the returnTo
param is used -- but if the user _intentionally_ logged out, this might
not be the right behavior, i.e., if they want to log in to another
account. Instead, if they chose to log out, we shouldn't use the
returnTo param.

Since the /logout page already implements this behavior, I changed "Log
out" button to just route to the /logout page.
2025-11-04 14:25:08 -05:00
Ali WaseemandAlaister Young 23224301f2 updated to override pg vars (#40093)
Co-authored-by: Alaister Young <alaister@users.noreply.github.com>
2025-11-04 16:02:12 +08:00
Joshen LimandAli Waseem 0d44090aac Update lints for self-hosted (#40043)
* Update lints for self-hosted

* update comment

* Update apps/studio/components/layouts/TableEditorLayout/EntityListItem.tsx

Co-authored-by: Ali Waseem <waseema393@gmail.com>

* revert

* Fix

* update comment

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2025-11-01 01:28:05 +08:00
Ali WaseemandIvan Vasilov 922780fcc1 Fix/enable queue rest management pqmq versions (#40023)
* added queues and keys to fetch version

* updated to support postREST queue management

* updated to use existing hook

* removed unused keys

* - added semvar lib
- updated logic to use semvar lib

* The conditional read was added in 1.5.0.

---------

Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
2025-10-31 17:55:37 +01:00
Joshen Lim 64e3e047eb Final final cleaning up barrel files (#40018)
* Final final cleaning up barrel files

* Fix merge conflict
2025-10-31 14:02:59 +08:00
Joshen Lim b4d38fabd0 Chore/barrel files bye part 05 (#40016)
* Clean up barrel files part 4

* nit

* Part 5 of cleaning up barrel files

* Revert changes for types

* Nit
2025-10-31 13:15:31 +08:00
Charis cfa59dabc8 refactor: use @tanstack/react-virtual for virtualization (#39992)
* refactor(infinite list): use @tanstack/react-virtual for virtualization

Swapping virtualization libraries from `react-window` to
`@tanstack/react-virtual`.

Motivation: we need a completely headless library for maximum
flexibility. `react-window` injects extra DOM elements which makes it
hard to customize styling and placement on elements that are very picky
about their DOM structure, like tables.

* refactor(table editor menu): use new infinite list

* refactor(notifications): use new infinite list

* cleanup(infinite list): remove old infinite list

* refactor(storage menu): use new infinite list & remove react-window deps
2025-10-30 14:27:53 -04:00
Joshen Lim cac225b24a Clean up barrel files part 4 (#40015)
* Clean up barrel files part 4

* nit
2025-10-31 00:30:42 +08:00
Ivan Vasilov 3e8baa2236 chore: Disable sending the Lock error to Sentry (#39999)
Disable sending the Lock error to Sentry.
2025-10-30 10:22:20 +01:00
95eedb927e Updates to Edge Functions dashboard code editor (#39991)
* feat: use mgmt-api's function body endpoint

* skip json files from static patterns

* set the default content for deno.json

* feat: add drag and drop file support to FileExplorerAndEditor

- Add drag and drop functionality to accept files
- Dropped files are automatically read and added to the files list
- Visual feedback with drag overlay during drag operations
- Files maintain existing data format with id, name, content, and selected state
- Last dropped file is automatically selected for editing

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

Co-Authored-By: Claude <noreply@anthropic.com>

* feat: add binary file handling to FileExplorerAndEditor

- Add binary file detection for common file extensions (.wasm, images, executables, etc.)
- Show "Cannot Edit Selected File" error message when trying to edit binary files
- Binary files dropped via drag-and-drop retain their original binary content
- Only show error in editor view, files remain accessible in file list
- Text files continue to work normally with full editing capabilities

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

Co-Authored-By: Claude <noreply@anthropic.com>

* do not ignore empty files

* exclude wasm files from static patterns

* Remove eszip parser test as dependency has been removed

* Fix TS issues

* Fix TS issues

* Fix pnpm-lock

* Fix

* Fix

* Nit

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-30 14:30:54 +08:00
Joshen Lim ec27332099 Last part of removing barrel files (#39957) 2025-10-29 19:22:35 +08:00
Matt Rossman 9540428962 fix: supabase_admin user for self-hosted read/write queries (#39946) 2025-10-28 15:55:23 -04:00
Alaister YoungandCharis a3e7cb7285 chore: move password check to frontend (#39927)
* chore: move password check to frontend

* remove barrel file export and fix test import

* move import inside function

* Update apps/studio/lib/password-strength.ts

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

* fix test

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-10-28 23:24:35 +08:00
Sean Oliver 73e3143b0c Add type-safe event tracking utility (#39745)
Adds a clean, type-safe wrapper for telemetry event tracking that automatically injects project and organization context.

- Export TelemetryGroups type from telemetry-constants
- Add useTrack() hook with full TypeScript event validation
- Refactor project creation events to use new API
- Reduces boilerplate from ~10 lines to ~2 lines per event
2025-10-24 18:25:26 +00:00
CharisandJoshen Lim d8f7cc0d57 feat(support form): attach dashboard logs (#39539)
* o11y: mirror and sanitize breadcrumbs

Mirror Sentry breadcrumbs as the basis for our own support logging. Also
adds more sanitization to breadcrumbs.

* feat(support form): toggle for attaching dashboard  logs

Add a toggle to the support form when the category is "Dashboard bug",
to attach recent dashboard logs. Users can preview the attached logs and
opt out.

* feat(support links): dedicated support link component

Add a new component for support links, which:
- Uses the serializer for support link params to ensure
serialization/deserialization pairs correctly
- Snapshots breadcrumbs so the attached log on the support form will be
cut off at the support link click (otherwise we will get support form
actions cluttering up the log)

* tests(support form): extend timeout on flaky test

* Minor clean up

* fix(support form): allow url to specifically indicate no specified project

* minor nits

* Fix tests

* Fix tests

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2025-10-22 08:57:49 -04:00
Alaister Young 9af17e8d0b fix: use dedicated nimbus env var (#39763) 2025-10-22 08:41:44 +00:00
Stojan Dimitrovski 401d6fe892 feat: add navigator lock debugging to track down some rare issue (#39688)
* feat: add navigator lock debugging to track down some rare issue

* send exception to sentry
2025-10-21 11:40:33 +02:00