Commit Graph
304 Commits
Author SHA1 Message Date
Ivan Vasilov a41d7138a5 feat: add vitest configuration and tests for X-Robots-Tag headers (#42873)
This pull request introduces a testing setup for the Next.js app using
Vitest. The main changes include the addition of a test configuration,
test scripts, and a sample test for the Next.js config. It also adds
relevant dependencies to support Vitest and path resolution, and updates
the lock file accordingly.

Testing infrastructure:

* Added a sample test file `next.config.test.ts` using Vitest to verify
that specific headers are present in the Next.js configuration.
* Created a Vitest configuration file `vitest.config.ts` with TypeScript
path resolution support via the `vite-tsconfig-paths` plugin.

Scripts and dependencies:

* Added `test` and `test:watch` scripts to `package.json` for running
and watching tests, and included `vitest` and `vite-tsconfig-paths` as
dev dependencies.
2026-02-17 07:15:55 -07:00
Joshen LimandAli Waseem b94538268b Joshen/fe 2558 shift sql queries to contextual folders update codeowners (#42770)
## Context

Related to Dashboard Scalability, specifically having Postgres team as
CODEOWNERS for dashboard queries

This is just a clean up as we're currently piling manual queries into
one folder under `data/sql/queries`, whereas I reckon it'll be better
for each query to sit within their RQ folder for better context.

Am opting the naming format for files housing queries to be `*.sql.ts`,
and also updating CODEOWNERS to reflect as such

Next step will also be to shift all the dashboard queries within pg-meta
into studio itself as requested by the pg-meta team

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Consolidated and reorganized internal module structure for the data
layer to improve maintainability and reduce redundancy.
* Streamlined import paths across components to align with new
consolidated module organization.

* **Chores**
* Updated code ownership patterns to reflect reorganized file structure.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
2026-02-16 18:34:08 +00:00
Ivan Vasilov be781d49a0 chore: Remove the cms app from the repo (#42686)
This PR removes the `payload` `cms` app that was added for the marketing
blog posts. We never started using it, it just adds additional work in
keeping the dependencies updated.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Removed the CMS application and associated infrastructure, including
configuration files, build scripts, and environment management.
* Simplified project build configuration and removed CMS-related
dependencies from deployment workflows.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 12:23:24 +01:00
Sean OliverandCharis Lam 6bbe2c3297 feat(telemetry): add dev telemetry toolbar (#42259)
## Problem
We need a local-only UI to inspect client and server telemetry events
and override flags during development without touching non-local env
behavior. This work is intended to be shared across Studio, Docs, and
WWW.

## Changes
- Introduced a shared `dev-tools` package with the Dev Telemetry Toolbar
UI, trigger, and provider.
- Wired the toolbar into Studio, Docs, and WWW app shells (local-only
gating).
- Added a local-only `devTelemetry()` opt-in with storage gating and SSE
subscription.
- Wired client PostHog events into a local listener and re-exported
types.
- Added local flag override cookie support in the UI and CODEOWNERS for
the new package.
- Added unit tests covering local/non-local behavior and flag utilities.

## Testing
Manual (local only):
- Start each app locally: `pnpm dev:studio`, `pnpm dev:docs`, `pnpm
dev:www`
- Open the app, run `devTelemetry()` in the browser console
- Click around and confirm both client and server events appear (client
will be page views only)
- Verify feature flag overrides (PostHog + ConfigCat) persist and
restore correctly
- Confirm dismissing the toolbar clears local storage and hides the
trigger

Unblocked by https://github.com/supabase/platform/pull/29172

Resolves GROWTH-591

Demo:

[github.com/user-attachments/assets/60b376db-7440-4ada-82f5-d1bd4af4db3b](https://github.com/user-attachments/assets/60b376db-7440-4ada-82f5-d1bd4af4db3b)

Screenshots:

<img width="1368" height="972" alt="1"
src="https://github.com/user-attachments/assets/d2f20a0c-191f-4118-bb5e-15b25f5a54a9"
/>

<img width="1423" height="790" alt="2"
src="https://github.com/user-attachments/assets/115598e2-7287-49bf-9ed7-71ecc679dee3"
/>

<img width="1433" height="882" alt="3"
src="https://github.com/user-attachments/assets/51f666f2-9efc-410f-baec-378bdee9dbfe"
/>

<img width="608" height="483" alt="4"
src="https://github.com/user-attachments/assets/584d6cf5-1b2f-4cee-9e6a-d55ce2e3bae5"
/>

<img width="628" height="305" alt="5"
src="https://github.com/user-attachments/assets/991a9b39-578a-4565-b110-537a02040a53"
/>

<img width="659" height="447" alt="6"
src="https://github.com/user-attachments/assets/95ef405c-fffa-44af-bf6a-f974b780e3fc"
/>

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Developer Toolbar (local only): view client/server telemetry, inspect
events, and manage/override feature flags with persistent overrides,
filtering, and clear/reload.
* Client-side telemetry hooks: surface structured events to dev tooling
for realtime inspection.

* **Bug Fixes**
  * Fixed end-of-file newline in shared code.

* **Chores**
* Added dev-tools package, integrated provider and trigger across
Studio, Docs, and marketing sites, and added CODEOWNERS entry.

* **Tests**
  * Added comprehensive tests and test setup for the DevToolbar.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2026-02-06 11:46:53 -08:00
Jordi Enric ad5442153a fix: update chart position (#42503)
- updates chart tooltip position

BEFORE
<img width="486" height="392" alt="CleanShot 2026-02-05 at 13 47 52@2x"
src="https://github.com/user-attachments/assets/d1b77b6a-7e35-494c-9097-d900183a5c83"
/>
AFTER
<img width="704" height="486" alt="CleanShot 2026-02-05 at 13 48 27@2x"
src="https://github.com/user-attachments/assets/fbe71474-16ca-4dd3-8b03-8fa3289e3805"
/>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* Adjusted the positioning of chart tooltips in the logs visualization
for improved visibility and user experience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-05 13:43:38 +00:00
Charis aa9a10e65d fix(docs): sync troubleshooting upstream workflow (#42463)
GITHUB_TOKEN is no longer allowed to create PRs, so use the generated
app token instead.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Improved authentication for automated sync workflows by switching to
an app-generated token, enhancing reliability of automated
documentation/troubleshooting syncs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-05 10:20:44 +11:00
Kevin Grüneberg 5c28235a68 chore: remove rory from codeowners (#42437) 2026-02-04 12:31:07 +07:00
Chris Chinchilla 91072db7b5 docs: Add documentation label to troubleshooting sync workflow (#41939)
Add documentation label to troubleshooting sync workflow
2026-01-16 15:24:25 +07:00
Charis 30673a3644 ci(studio): use app token for ratchet decrease workflow (#41799)
We're using the default GITHUB_TOKEN to create the ratchet baseline
decrease PR. By default, this does not auto-run the PR checks to prevent
infinite loops.

Switching to a GitHub App token instead so the PR checks will auto-run.
2026-01-08 12:43:26 -05:00
Ivan Vasilov b7bac67075 fix: Use head_commit_sha in authorize-vercel-deploys.yml action (#41795)
* Use head commit sha in the authorize-vercel-deploys.yml.

* Add comments.
2026-01-08 16:33:14 +01:00
Ivan Vasilov d59711effd fix: Fix the trigger workflow name for the approve-vercel-deploys action (#41791)
Fix the wrong name of the GH workflow.
2026-01-08 14:27:30 +01:00
Ivan Vasilov 6f24342b55 fix: Change the authorize-vercel-builds to be triggered by another action (#41789)
Refactor the authorize-vercel-builds to run triggered by another action in order to access secrets.
2026-01-08 14:15:38 +01:00
Ivan Vasilov cdadd74c9b feat: Add GH workflow for authorizing Vercel deploys (#41717)
* Add a script and call it from a GH action.

* Minor updates.

* Minor fixes.
2026-01-08 12:11:05 +01:00
Katerina Skroumpelou 8c367d0c86 ci: use github app generated token (#41767)
* ci: use github app generated token

* ci: pin action to commit sha
2026-01-07 13:27:04 +00:00
072883bcec feat: assistant evals (#41311)
* chore: bump `supabase` CLI

* chore: stricter message types in `generate-v4.ts`

* feat: tutorial eval

https://www.braintrust.dev/docs/evaluation

* feat: project ID for eval

* refactor: `generateAssistantResponse` out of `handlePost`

* refactor: generateAssistantResponse to lib/ai

* feat: factuality eval with assistant response

* chore: upgrade braintrust to v1.0.1

* chore: silence tsconfig warning

* feat: assertion scorer

* fix: aggregate tools across all steps

* refactor: strict tool names, remove need for `as const`

* refactor: generic tool name type in assertions

* feat: transfer mocks from `feature/braintrust`

* feat: LLM criteria assertion

* feat: braintrust evals workflow

* fix: BRAINTRUST_PROJECT_ID

* feat: `sql_similar` assertion

* fix: `OPENAI_API_KEY` in workflow env

* feat: split AssertionScorer into separate scorers

* feat: remove tutorial eval

* feat: 20 minute CI timeout

* feat: category in test case metadata

* feat: score with gpt-5

* refactor: dataset to own file, colocate scorers

* feat: "gpt-5.2-2025-12-11" for llm as a judge

* feat: SQL syntax scorer with `libpg-query`

* feat: `evals:setup` and `evals:run` scripts

* feat: `evals:setup` in CI

* feat: human readable scorer names

* chore: rename to "SQL Validity"

* feat: add 2 "sql_generation" test cases

* feat: update requiredTools in test cases

* chore: ignore Cursor MCP config

* feat: "Conciseness" score

* feat: "Completeness" scorer

* fix: generate-v4 test mocks

* feat: serialize "steps" for scorer inputs

* updated node mem options for typecheck

* updated runner

* remove ram update as actions handle this

* feat: read `BRAINTRUST_PROJECT_ID` from secrets

* feat: score helpfulness, remove old scorers

* feat: separate `evals:run` and `evals:upload` scripts

* feat: passthrough entire classifier result

* feat: use live `search_docs` impl, store docs result in metadata

* feat: reduce classifier options

* feat: filter workflow by `run-evals` PR label or `master` branch

* chore: cleanup stubbed mock tools

* fix: checkout actual branch with `ref:`

* fix: capture search_docs results from all content parts

* feat: simplify sql syntax score calculation

* feat: use AI SDK's UI message validator

* docs: justification for relative `extends`

* fix: cleanup leftover validatedMessages

* doc: note mock token isn't secret for snyk

* fix: mock ui message to pass validation

* feat: revert ignoring Cursor MCP config

Using `.git/info/exclude` instead until we have an opinion on this

* feat: add "tsconfig" as shared-data devDependency, revert relative path in tsconfig

* refactor: tool call parsing into function

* Update apps/studio/evals/assistant.eval.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* refactor: organize mock schemas and tool factories

---------

Co-authored-by: Ali Waseem <waseema393@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-22 23:45:48 -05:00
Ali Waseemandcoderabbitai[bot] 3d178fcad2 chore: trying arm runners for linting plus MORE MEM (#41472)
* trying arm runners for linting plus MORE MEM

* updated arm check s

* remove unneeded options

* smaller x86 runner to check performance

* Update .github/workflows/typecheck.yml

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* trying arm one more time

* remove arm its just way to slow

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
2025-12-18 21:09:18 +00:00
Etienne Stalmans 346fccec85 chore: cleaner action gh tokens (#41196) 2025-12-09 15:54:40 +01:00
Joshen Lim 9c244df9f1 Add columns to database indexes UI (#41152)
* Add columns to database indexes UI

* Nit

* Update codeowner
2025-12-09 22:27:23 +08:00
Raúl Barroso 10cea1e556 feat: add validate pr workflow (#41061) 2025-12-04 15:21:43 +00:00
Ivan Vasilov af5ad5ac47 chore: Simplify environment approval for tests (#40872)
Simplify environment approval for tests

Removed environment approval requirement for forked PRs.
2025-11-27 16:02:39 +00:00
Ali Waseem e23175f00b Feat: E2E tests for AI assistant and log drains (#40844)
* updated commands and expose ai key locally

* added tests for AI assistant

* added OPEN_API_KEY for e2e test suite

* updated log drain options

* updated README
2025-11-27 15:27:50 +00:00
Katerina Skroumpelou ce1cf19b51 ci: add contents-write to fix-typos (#40869) 2025-11-27 14:32:31 +00:00
Matt Rossman 8f8f57b8c6 feat: show published studio tags in workflow summary (#40802)
* feat: test workflow with GitHub step summary

* fix: run test workflow on commit

* feat: tweak summary

* fix: format

* feat: format as table

* fix: wording

* fix: format

* feat: remote test workflow, add summary to `publish_image.yml`

* fix: wording
2025-11-25 16:51:23 -05:00
Ali Waseem 767f0f2bb4 Fix: updated studio to only run on paths, otherwise shortcut out (#40542)
* updated studio to only run on paths, otherwise shortcut out

* updated to include design system and ui library

* removed single qoute
2025-11-18 08:30:55 -07:00
Ali WaseemandCharis 7898abe06c Fix: Make self hosted tests more reliable locally and in CI (#40479)
* added ui studio command

* added SKIP ASSET UPLOAD option

* updated failing tests

* updated e2e scripts to include CI instructions

* removed unused envs and slack messages

* updated timeouts and max retries on CI

* updated generated local env

* updated env

* updated env generation for e2e tests

* remove vercel preview

* updated tests and trying junit report on PR

* update test comment

* updated commit hash for reporter

* updated file path

* updated runner to blacksmith

* update test file for reporting

* Update .github/workflows/studio-e2e-test.yml

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

* Update package.json

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

* Update e2e/studio/playwright.config.ts

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

* updated to skip comment on forks

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-11-17 15:00:31 -07:00
Andrey A. c82a0191c9 chore: add self-hosted team to codeowners and remove aantti (#40468) 2025-11-14 10:21:38 -03:30
Bobbie Soedirgo 20b5c203c7 chore: add @avallete as code owner for pg-meta package (#40161) 2025-11-13 12:53:34 -05:00
dependabot[bot] 6cc89a2d44 chore(deps): bump pnpm/action-setup from 4.1.0 to 4.2.0 (#39740)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/a7487c7e89a18df4991f7f222e4898a00d66ddda...41ff72655975bd51cab0327fa583b6e92b6d3061)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-12 12:28:32 -05:00
Ali WaseemandCharis 23c7c8c63e Fix: updated action to include state (#40385)
* updated action to include state

* removed CI status

* Update .github/workflows/dashboard-pr-reminder.yml

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

---------

Co-authored-by: Charis <26616127+charislam@users.noreply.github.com>
2025-11-12 16:01:41 +00:00
Ali Waseem 1b81ebb7e3 Fix: added PR reminder action for Dashboard team (#40357)
* added PR reminder action

* remove unneeded comment

* updated to trigger force

* updated to skip PRs that forks for now

* updated secret

* updated script

* updated env to pass correct values

* updated formatting

* [debug] just print the first block

* updated to remove dependabot

* updated to remove draft PRs

* updated to ignore merge conflicts

* removed merge conflict check

* updated time zone for PR reminders

* removed dashboard pr to push branch
2025-11-12 07:47:36 -05:00
Charis dad9f4e484 ci: add eslint ratcheting (#40156)
* chore: add eslint ratchet script

* chore: add eslint ratchet action

* refactor(ratchet script): convert to typescript

* ci(ratchet script): add --decrease-baselines flag

Allows us to decrease the baselines on schedule as we fix warnings

* ci(ratchet): add action to decrease baseline if possible every week

* chore(eslint): fix exhaustive-deps error

* docs(internal): improve docs for eslint ratchet script

* chore(ratchet): add new ratchet rules

Add:
- import/no-anonymous-default-export
- @tanstack/query/exhaustive-deps
- @tanstack/query/no-deprecated-options

Not adding `no-restricted-exports` even though we have many violations
because we first need to reconfigure it (if possible) to ignore those
files where Next.js requires a default export.
2025-11-10 18:49:22 +00:00
d7f856965a [bot] Sync from supabase/troubleshooting (#40147)
* Sync from supabase/troubleshooting

* fix(troubleshooting metdata): invalid toml in titles

* format(troubleshooting)

* lint(troubleshooting): apply mdx lint fixes

---------

Co-authored-by: github-docs-bot <github-docs-bot@supabase.com>
Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-11-04 18:25:12 +00:00
Charis 99cb35e0f4 ci(docs): add workflow to sync new guides from supabase/troubleshooting (#40091) 2025-11-04 17:50:53 +00:00
Jordi Enric 4c151ec01d e2e fixes (#39845)
* only require approval on forks

* update readme

* update example

* update readme
2025-10-24 16:24:55 +02:00
Katerina Skroumpelou 416df4afa4 chore: respect catalog version for postgrest-js (#39837) 2025-10-24 11:58:56 +03:00
Greg Richardson 38cae5aa41 chore: @supabase/postgres as code owner for pg-meta package (#39817) 2025-10-23 12:45:31 -06:00
Charis 3dc44d3a51 ci(dependabot): don't get prompted for major version updates for github actions (#39733)
Major version updates require more preparation and testing, so we only
want to update these on our schedule / if actually deprecated, not be
prompted as soon as a new major version comes out. We mostly want to
keep patch/minor updates so we can be aware of any vulnerability fixes.
2025-10-21 19:39:25 +00:00
Charis 3973cc3e5c chore: update github workflows (#39237) 2025-10-20 09:36:45 -04:00
Andrey A. 31a50408a8 chore: add aantti to codeowners for ./docker (#39523) 2025-10-14 17:23:20 +08:00
Katerina SkroumpelouandCharis Lam b7f1616e3c chore: update docs from js monorepo (#39200)
* chore: update docs from js monorepo

* chore: remove sparse-checkout for workflow to work

* chore: update workflow with no-frozen-lockfile

* chore(js libs docs update): regenerate typespec snapshot on update

* fix(typespec): fix missing types in transformed typespec

---------

Co-authored-by: Charis Lam <26616127+charislam@users.noreply.github.com>
2025-10-03 12:02:53 +03:00
Alaister Young 9ba9c08ef4 chore: add nimbus auto sync (#39182)
* chore: add nimbus auto sync

* trigger on branch for testing

* remove client payload

* try v4

* run only on master
2025-10-01 21:53:49 +00:00
Katerina Skroumpelou f0ac5fb116 chore: add js libs auto-update workflow (#39037)
* chore: add js libs auto-update workflow

* chore: exclude js libs from minimum age
2025-10-01 12:24:30 +00:00
Katerina Skroumpelou 8d87b66974 docs: automate js libs docs update (#39036) 2025-09-30 11:01:29 +03:00
Jordi Enric 25abebc32e a new hope (#38893)
* a new hope

* run tests in ci against cli mode

* summary

* try vercel action to run e2e against studio self hosted preview

* believe

* debug

* gh pages artifact

* test

* rm pages step

* fix automation bypass missing

* continue on error

* only install necessary deps for CI

* fix bypass

* remove

* fail job if test fails

* disable customer query if is_platform false

* vercel check

* fix var name, make comment update instead

* check bypass on runtime

* add env var

* fix tests going to project ref instead of default

* fix

* better dates in comment

* Update E2E test workflow to include flaky test detection and improve summary output

* fix

* fix dumb mistake
2025-09-23 12:02:23 +02:00
Ivan Vasilov dc5ab444df feat: Add typechecking as a required check for the merge queue (#38939)
* Disable typesafe builds on prod for studio.

* Add typecheck github action to the merge queue checks.

* Add typescript dependency to packages to stabilize their versions.

* Add tailwindcss to the catalog.
2025-09-23 11:34:56 +02:00
Jordi Enric 10d96127e5 coveralls: fail-on-error false (#38866)
failonerror false
2025-09-19 17:32:13 +02:00
Charis 66d8ee67b9 fix: docs sync script (#38795) 2025-09-18 16:05:23 -04:00
Charis 8cd5e10038 feat: alternate search index for nimbus (#38662)
* feat: alternate search index for nimbus

Create an alternate search index for Nimbus that filters out
feature-flagged pages (equivalent to setting all feature flags to
false).

Notes:
- Creates two new DB tables, `page_nimbus` and `page_section_nimbus`,
  which are filtered versions of `page` and `page_section`
- Makes `nimbus` versions of all the DB search functions
- Refactored the embedding upload script. Changes to make it faster (got
  annoyed by how slow it was when testing...), incorporate retries, and
  produce better summary logs.
- Upload script, when run with the environment variable
  ENABLED_FEATURES_OVERRIDE_DISABLE_ALL, produces and uploads the
  alternate search index
- Changed all the search calls in frontend/API to check for
  `isFeatureEnabled('search:fullIndex')` to determine whether to search
  the full or alternate index

* ci: produce nimbus search indexes on merge

* fix: turn full search index on
2025-09-16 12:37:53 -04:00
Etienne Stalmans ec66608c25 chore: stricter action config for labeler (#38708)
* chore: stricter action config for labeler

* chore: checkout not needed
2025-09-15 14:26:05 +00:00
Chris ChinchillaandRaúl Barroso 407d466aaf chore: Add labeler action and documentation config (#38704)
* Add labeler action and documentation config

* Update .github/labeler.yml

Co-authored-by: Raúl Barroso <code@raulb.dev>

---------

Co-authored-by: Raúl Barroso <code@raulb.dev>
2025-09-15 12:02:04 +00:00