You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This branch adds the _strengthenOnPublish field to the core reference schema type. It's currently absent, despite being a field routinely added by the system.
This branch also fixes a gap in the extractManifestRestore test, in which fields in the tested schema type weren't sanitised before being used in assertions.
Edit: those tests were removed when the CLI was ejected from this repository.
Why add it now?
The process that displays divergences to the user is informed by the schema. If a divergence affects a field that doesn't exist in the schema, it's excluded.
This means that if a user copies the upstream value of a reference field that has _strengthenOnPublish defined, the _strengthenOnPublish value is not currently copied. This can create a reference strength mismatch. Including _strengthenOnPublish in the reference schema type definition fixes this.
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-dg2aq4821.sanity.dev
SANITY_E2E_DATASET="update depending the project you want to test (pr-12366-chromium-23008456491 || pr-12366-firefox-23008456491 )"
SANITY_E2E_DATASET_CHROMIUM=pr-12366-chromium-23008456491
SANITY_E2E_DATASET_FIREFOX=pr-12366-firefox-23008456491
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
arrayI18n (simple-en)
12ms
14ms
20ms
36ms
0ms
5.4s
article (title)
27ms
30ms
33ms
85ms
25ms
7.0s
article (body)
19ms
21ms
30ms
94ms
280ms
5.5s
article (string inside object)
25ms
28ms
33ms
53ms
22ms
6.8s
article (string inside array)
22ms
26ms
35ms
70ms
24ms
7.0s
recipe (name)
9ms
13ms
16ms
36ms
0ms
5.2s
recipe (description)
20ms
23ms
27ms
45ms
0ms
4.4s
recipe (instructions)
6ms
10ms
12ms
21ms
0ms
3.1s
singleString (stringField)
6ms
9ms
11ms
27ms
0ms
4.5s
synthetic (title)
17ms
22ms
25ms
101ms
1257ms
9.1s
synthetic (string inside object)
18ms
24ms
49ms
100ms
1540ms
9.4s
🧪 Experiment result
The performance result of this branch
Benchmark
latency
p75
p90
p99
blocking time
test duration
arrayI18n (simple-en)
13ms
15ms
18ms
44ms
0ms
5.6s
article (title)
28ms
30ms
38ms
59ms
29ms
7.8s
article (body)
19ms
25ms
33ms
99ms
268ms
5.6s
article (string inside object)
25ms
29ms
48ms
89ms
10ms
6.9s
article (string inside array)
22ms
30ms
40ms
58ms
3ms
6.9s
recipe (name)
9ms
11ms
13ms
26ms
0ms
5.1s
recipe (description)
17ms
21ms
26ms
35ms
0ms
4.3s
recipe (instructions)
5ms
9ms
11ms
12ms
0ms
3.0s
singleString (stringField)
6ms
8ms
12ms
30ms
0ms
4.6s
synthetic (title)
19ms
21ms
29ms
98ms
1621ms
9.7s
synthetic (string inside object)
17ms
19ms
24ms
117ms
1374ms
9.3s
📚 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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This branch adds the
_strengthenOnPublishfield to the core reference schema type. It's currently absent, despite being a field routinely added by the system.This branch also fixes a gap in theextractManifestRestoretest, in which fields in the tested schema type weren't sanitised before being used in assertions.Edit: those tests were removed when the CLI was ejected from this repository.
Why add it now?
The process that displays divergences to the user is informed by the schema. If a divergence affects a field that doesn't exist in the schema, it's excluded.
This means that if a user copies the upstream value of a reference field that has
_strengthenOnPublishdefined, the_strengthenOnPublishvalue is not currently copied. This can create a reference strength mismatch. Including_strengthenOnPublishin the reference schema type definition fixes this.before.mov
after.mov
What to review
The updated reference schema type definition.
Testing