sanity
sanity copied to clipboard
feat(cli): support building auto-updated studios against the 'managed' meta channel
Description
What to review
Testing
Notes for release
The latest updates on your projects. Learn more about Vercel for Git ↗︎
| Name | Status | Preview | Comments | Updated (UTC) |
|---|---|---|---|---|
| page-building-studio | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Jun 16, 2025 1:59pm |
| performance-studio | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Jun 16, 2025 1:59pm |
| test-studio | ✅ Ready (Inspect) | Visit Preview | 💬 Add feedback | Jun 16, 2025 1:59pm |
🧪 E2E Preview environment
🔑 Environment Variables for Local Testing
This is the preview URL for the E2E tests: https://e2e-studio-98s2taiyh.sanity.dev
To run the E2E tests locally, you can use the following environment variables, then run pnpm test:e2e --ui to open the Playwright test runner.
💬 Remember to build the project first with pnpm build:e2e.
SANITY_E2E_PROJECT_ID=ittbm412
SANITY_E2E_BASE_URL=https://e2e-studio-98s2taiyh.sanity.dev
SANITY_E2E_DATASET="update depending the project you want to test (pr-9670-chromium-15682845929 || pr-9670-firefox-15682845929 )"
SANITY_E2E_DATASET_CHROMIUM=pr-9670-chromium-15682845929
SANITY_E2E_DATASET_FIREFOX=pr-9670-firefox-15682845929
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
| Diff | Package | Supply Chain Security |
Vulnerability | Quality | Maintenance | License |
|---|---|---|---|---|---|---|
| dotenv-flow@4.1.0 | ||||||
| tsx@4.20.1 ⏵ 4.20.3 |
📊 Playwright Test Report
This report contains test results, including videos of failing tests.
⚡️ Editor Performance Report
Updated Mon, 16 Jun 2025 14:19:27 GMT
| Benchmark | reference latency of sanity@latest |
experiment latency of this branch |
Δ (%) latency difference |
|
|---|---|---|---|---|
| article (title) | 22.2 efps (45ms) | 19.6 efps (51ms) | +6ms (+13.3%) | ✅ |
| article (body) | 21.4 efps (47ms) | 19.4 efps (52ms) | +5ms (+10.6%) | ✅ |
| article (string inside object) | 23.0 efps (44ms) | 21.7 efps (46ms) | +3ms (+5.7%) | ✅ |
| article (string inside array) | 18.5 efps (54ms) | 18.5 efps (54ms) | +0ms (-/-%) | ✅ |
| recipe (name) | 45.5 efps (22ms) | 46.5 efps (22ms) | -1ms (-2.3%) | ✅ |
| recipe (description) | 50.0 efps (20ms) | 52.6 efps (19ms) | -1ms (-5.0%) | ✅ |
| recipe (instructions) | 90.9 efps (11ms) | 99.9+ efps (10ms) | -2ms (-/-%) | ✅ |
| synthetic (title) | 16.4 efps (61ms) | 16.4 efps (61ms) | +0ms (-/-%) | ✅ |
| synthetic (string inside object) | 16.5 efps (61ms) | 16.0 efps (63ms) | +2ms (+3.3%) | ✅ |
efps — editor "frames per second". The number of updates assumed to be possible within a second.
Derived from input latency.
efps = 1000 / input_latency
Detailed information
🏠 Reference result
The performance result of sanity@latest
| Benchmark | latency | p75 | p90 | p99 | blocking time | test duration |
|---|---|---|---|---|---|---|
| article (title) | 45ms | 53ms | 61ms | 359ms | 589ms | 12.3s |
| article (body) | 47ms | 54ms | 80ms | 241ms | 717ms | 11.3s |
| article (string inside object) | 44ms | 47ms | 58ms | 199ms | 220ms | 7.7s |
| article (string inside array) | 54ms | 57ms | 82ms | 376ms | 588ms | 8.9s |
| recipe (name) | 22ms | 23ms | 27ms | 51ms | 2ms | 7.9s |
| recipe (description) | 20ms | 22ms | 25ms | 68ms | 3ms | 5.4s |
| recipe (instructions) | 11ms | 14ms | 22ms | 44ms | 0ms | 5.0s |
| synthetic (title) | 61ms | 65ms | 75ms | 206ms | 1132ms | 13.5s |
| synthetic (string inside object) | 61ms | 64ms | 75ms | 325ms | 1153ms | 9.6s |
🧪 Experiment result
The performance result of this branch
| Benchmark | latency | p75 | p90 | p99 | blocking time | test duration |
|---|---|---|---|---|---|---|
| article (title) | 51ms | 61ms | 110ms | 219ms | 661ms | 13.0s |
| article (body) | 52ms | 61ms | 103ms | 236ms | 1392ms | 12.4s |
| article (string inside object) | 46ms | 51ms | 59ms | 244ms | 328ms | 8.2s |
| article (string inside array) | 54ms | 59ms | 74ms | 234ms | 665ms | 8.9s |
| recipe (name) | 22ms | 24ms | 27ms | 65ms | 0ms | 8.0s |
| recipe (description) | 19ms | 21ms | 23ms | 42ms | 0ms | 5.0s |
| recipe (instructions) | 10ms | 14ms | 20ms | 49ms | 0ms | 5.0s |
| synthetic (title) | 61ms | 67ms | 148ms | 265ms | 1371ms | 15.3s |
| synthetic (string inside object) | 63ms | 72ms | 106ms | 210ms | 1508ms | 9.6s |
📚 Glossary
column definitions
- benchmark — the name of the test, e.g. "article", followed by the label of the field being measured, e.g. "(title)".
- latency — the time between when a key was pressed and when it was rendered. derived from a set of samples. the median (p50) is shown to show the most common latency.
- p75 — the 75th percentile of the input latency in the test run. 75% of the sampled inputs in this benchmark were processed faster than this value. this provides insight into the upper range of typical performance.
- p90 — the 90th percentile of the input latency in the test run. 90% of the sampled inputs were faster than this. this metric helps identify slower interactions that occurred less frequently during the benchmark.
- p99 — the 99th percentile of the input latency in the test run. only 1% of sampled inputs were slower than this. this represents the worst-case scenarios encountered during the benchmark, useful for identifying potential performance outliers.
- blocking time — the total time during which the main thread was blocked, preventing user input and UI updates. this metric helps identify performance bottlenecks that may cause the interface to feel unresponsive.
- test duration — how long the test run took to complete.
No changes to documentation
Coverage Report
| Status | Category | Percentage | Covered / Total |
|---|---|---|---|
| 🔵 | Lines | 43.83% | 59886 / 136605 |
| 🔵 | Statements | 43.83% | 59886 / 136605 |
| 🔵 | Functions | 48.59% | 2998 / 6169 |
| 🔵 | Branches | 79.37% | 11132 / 14024 |
File Coverage
No changed files found.
create-sanity
npm i https://pkg.pr.new/sanity-io/sanity/create-sanity@9670
groq
npm i https://pkg.pr.new/sanity-io/sanity/groq@9670
sanity
npm i https://pkg.pr.new/sanity-io/sanity@9670
@sanity/cli
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/cli@9670
@sanity/codegen
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/codegen@9670
@sanity/diff
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/diff@9670
@sanity/migrate
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/migrate@9670
@sanity/mutator
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/mutator@9670
@sanity/schema
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/schema@9670
@sanity/types
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/types@9670
@sanity/util
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/util@9670
@sanity/vision
npm i https://pkg.pr.new/sanity-io/sanity/@sanity/vision@9670
commit: 6922b55