Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
|
| SIDECAR_BUILD_ID="$(node -e 'console.log(JSON.parse(require("fs").readFileSync(process.argv[1],"utf8")).buildId)' "${SIDECAR}")" | ||
| SIDECAR_DIGEST="$(node -e 'console.log(JSON.parse(require("fs").readFileSync(process.argv[1],"utf8")).sourceDigest)' "${SIDECAR}")" | ||
| SIDECAR_APK_SHA="$(node -e 'console.log(JSON.parse(require("fs").readFileSync(process.argv[1],"utf8")).apkSha256)' "${SIDECAR}")" | ||
| SIDECAR_ID="$(node -e 'console.log(JSON.parse(require("fs").readFileSync(process.argv[1],"utf8")).sidecarId)' "${SIDECAR}")" |
There was a problem hiding this comment.
Node eval argv index wrong
High Severity
Inline node -e snippets treat process.argv[1] as the first path argument, but with -e Node puts -e at index 1 and script arguments at index 2 onward. Sidecar verification, digest reads, and report provenance steps read or require the wrong paths, so host collection fails or skips checks.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 30bdad5. Configure here.
|
Size Change: 0 B Total Size: 81 kB ℹ️ View Unchanged
|
There was a problem hiding this comment.
Benchmark React
Details
| Benchmark suite | Current: 3412517 | Previous: 3fa47c8 | Ratio |
|---|---|---|---|
data-client: getlist-100 |
208.33 ops/s (± 4.6%) |
137.94 ops/s (± 4.5%) |
0.66 |
data-client: getlist-500 |
66.01 ops/s (± 5.9%) |
44.05 ops/s (± 3.8%) |
0.67 |
data-client: update-entity |
606.62 ops/s (± 10.5%) |
384.62 ops/s (± 9.3%) |
0.63 |
data-client: update-user |
500 ops/s (± 9.2%) |
333.33 ops/s (± 8.6%) |
0.67 |
data-client: getlist-500-sorted |
71.44 ops/s (± 9.3%) |
43.11 ops/s (± 9.4%) |
0.60 |
data-client: update-entity-sorted |
434.78 ops/s (± 6.4%) |
312.5 ops/s (± 7.9%) |
0.72 |
data-client: update-entity-multi-view |
476.19 ops/s (± 7.2%) |
327.96 ops/s (± 7.5%) |
0.69 |
data-client: list-detail-switch-10 |
21.37 ops/s (± 9.9%) |
9.9 ops/s (± 9.4%) |
0.46 |
data-client: update-user-10000 |
112.36 ops/s (± 15.8%) |
72.2 ops/s (± 14.8%) |
0.64 |
data-client: invalidate-and-resolve |
60.98 ops/s (± 6.7%) |
37.67 ops/s (± 5.6%) |
0.62 |
data-client: unshift-item |
303.03 ops/s (± 5.2%) |
219.81 ops/s (± 6.0%) |
0.73 |
data-client: delete-item |
400 ops/s (± 4.8%) |
285.71 ops/s (± 3.8%) |
0.71 |
data-client: move-item |
250 ops/s (± 8.4%) |
177.01 ops/s (± 7.9%) |
0.71 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark
Details
| Benchmark suite | Current: 3412517 | Previous: 93555f8 | Ratio |
|---|---|---|---|
normalizeLong |
522 ops/sec (±3.93%) |
447 ops/sec (±4.75%) |
0.86 |
normalizeLong Values |
477 ops/sec (±0.22%) |
408 ops/sec (±1.51%) |
0.86 |
normalizeLong Scalar |
438 ops/sec (±3.07%) |
352 ops/sec (±3.69%) |
0.80 |
normalizeLong Scalar update |
1096 ops/sec (±0.25%) |
895 ops/sec (±0.68%) |
0.82 |
denormalizeLong |
245 ops/sec (±5.63%) |
233 ops/sec (±6.00%) |
0.95 |
denormalizeLong Values |
228 ops/sec (±4.64%) |
213 ops/sec (±4.94%) |
0.93 |
denormalizeLong donotcache |
1339 ops/sec (±0.41%) |
1002 ops/sec (±0.64%) |
0.75 |
denormalizeLong Values donotcache |
920 ops/sec (±0.47%) |
737 ops/sec (±0.59%) |
0.80 |
denormalizeLong Scalar donotcache |
1539 ops/sec (±1.25%) |
1073 ops/sec (±0.13%) |
0.70 |
denormalizeShort donotcache 500x |
1731 ops/sec (±0.15%) |
1437 ops/sec (±0.29%) |
0.83 |
denormalizeShort 500x |
685 ops/sec (±5.72%) |
639 ops/sec (±6.97%) |
0.93 |
denormalizeShort 500x withCache |
8792 ops/sec (±0.16%) |
6834 ops/sec (±5.52%) |
0.78 |
queryShort 500x withCache |
4268 ops/sec (±0.08%) |
3206 ops/sec (±0.97%) |
0.75 |
buildQueryKey All |
65806 ops/sec (±0.48%) |
58478 ops/sec (±1.39%) |
0.89 |
query All withCache |
7853 ops/sec (±3.03%) |
5828 ops/sec (±2.46%) |
0.74 |
denormalizeLong with mixin Entity |
222 ops/sec (±7.47%) |
209 ops/sec (±7.50%) |
0.94 |
denormalizeLong withCache |
7970 ops/sec (±1.43%) |
7517 ops/sec (±0.32%) |
0.94 |
denormalizeLong withCache (Scalar churn) |
7971 ops/sec (±0.76%) |
7491 ops/sec (±0.24%) |
0.94 |
denormalizeLong Values withCache |
8261 ops/sec (±1.33%) |
5132 ops/sec (±1.60%) |
0.62 |
denormalizeLong Scalar withCache |
9567 ops/sec (±0.26%) |
7648 ops/sec (±0.98%) |
0.80 |
denormalizeLong Scalar update withCache |
6824 ops/sec (±0.50%) |
4074 ops/sec (±0.24%) |
0.60 |
denormalizeLong All withCache |
8286 ops/sec (±0.26%) |
6058 ops/sec (±0.18%) |
0.73 |
denormalizeLong Query-sorted withCache |
8216 ops/sec (±2.70%) |
6098 ops/sec (±1.48%) |
0.74 |
denormalizeLongAndShort withEntityCacheOnly |
1929 ops/sec (±1.45%) |
1748 ops/sec (±0.19%) |
0.91 |
denormalize bidirectional 50 |
4905 ops/sec (±9.83%) |
4498 ops/sec (±10.41%) |
0.92 |
denormalize bidirectional 50 donotcache |
54888 ops/sec (±0.42%) |
42385 ops/sec (±1.43%) |
0.77 |
getResponse |
6305 ops/sec (±5.33%) |
4418 ops/sec (±4.05%) |
0.70 |
getResponse (null) |
12054407 ops/sec (±0.38%) |
10236651 ops/sec (±0.70%) |
0.85 |
getResponse (clear cache) |
211 ops/sec (±9.34%) |
203 ops/sec (±7.07%) |
0.96 |
getSmallResponse |
4937 ops/sec (±0.20%) |
3543 ops/sec (±0.24%) |
0.72 |
getSmallInferredResponse |
3723 ops/sec (±1.05%) |
2852 ops/sec (±1.79%) |
0.77 |
getResponse Collection |
6266 ops/sec (±3.78%) |
4306 ops/sec (±4.05%) |
0.69 |
get Collection |
4199 ops/sec (±0.32%) |
2707 ops/sec (±0.19%) |
0.64 |
get Query-sorted |
7083 ops/sec (±3.75%) |
5052 ops/sec (±1.47%) |
0.71 |
setLong |
545 ops/sec (±0.27%) |
467 ops/sec (±0.60%) |
0.86 |
setLongWithMerge |
306 ops/sec (±0.37%) |
257 ops/sec (±0.45%) |
0.84 |
setLongWithSimpleMerge |
316 ops/sec (±0.46%) |
272 ops/sec (±0.80%) |
0.86 |
setSmallResponse 500x |
1104 ops/sec (±2.22%) |
926 ops/sec (±1.48%) |
0.84 |
This comment was automatically generated by workflow using github-action-benchmark.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #4034 +/- ##
=======================================
Coverage 97.84% 97.84%
=======================================
Files 156 156
Lines 3057 3057
Branches 612 612
=======================================
Hits 2991 2991
Misses 18 18
Partials 48 48 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Verification:
|
…droid Establish opt-in, provenance-verified baselines for data-client cache GC interaction cost before changing GCPolicy behavior. Co-authored-by: Cursor <cursoragent@cursor.com>
30bdad5 to
58e10a4
Compare
Staff review — CHANGE_THIS_PRDemo/measurement harnesses look directionally right (timerless Release collect cannot retrieve reports on typical physical devicesAuthoritative path is release-Hermes on a physical device (README + plan). Please fix collect before relying on this harness: write the post-run report to an adb-pullable path (e.g. Follow-ups (not blocking)
Bugbot: the older Adversarial pass: SURVIVE on collect (prefer externalFilesDir); RN pin downgraded to FOLLOW_UP. |
Write the post-run report to app-specific external storage and a Downloads mirror so adb pull works on non-debuggable release devices. Co-authored-by: Nathaniel Tucker <me@ntucker.me>
Co-authored-by: Nathaniel Tucker <me@ntucker.me>
Staff review — LGTM (prior CHANGE_THIS_PR cleared)Tip No new CHANGE_THIS_PR. Prior follow-ups still stand after merge (RN Hold squash until Ready + Bugbot green on this tip + any required E2E you care about for the harness. I will not merge from here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3d0077e. Configure here.
Verify Downloads and externalFilesDir copies are gone before start so a leftover file cannot complete wait for the wrong scenario. Co-authored-by: Nathaniel Tucker <me@ntucker.me>


Summary
examples/benchmarkstart:gc), Chromium (examples/benchmark-reactbench:gc), and release Hermes Android (examples/benchmark-native)Test plan
yarn installsucceeds with the newexamples/benchmark-nativeworkspaceyarn workspace example-benchmark build && yarn workspace example-benchmark start:gc:verifythen a shortstart:gcfilter runyarn workspace example-benchmark-react build && yarn workspace example-benchmark-react test:gc-metrics && yarn workspace example-benchmark-react test:gc-provenanceyarn workspace example-benchmark-react bench:gc --scenario unique-1000 --samples 1yarn workspace example-benchmark-native typecheck && yarn workspace example-benchmark-native test && yarn workspace example-benchmark-native lintMade with Cursor