Repository navigation
Conversation
|
Size Report
Startup median (7 runs, lower is better):
|
There was a problem hiding this comment.
All reported issues were addressed across 25 files
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
|
At f87e64a, the Metro-inspector transport and injected runtime look like real new capability, but two problems need fixing before merge.
Help and docs say "a development build on React Native 0.74 or newer" for every platform (https://github.com/callstack/agent-device/blob/f87e64a/src/commands/schema/cli-help.ts#L308), but the PR body says iOS was not verified. The remote-bridge branch at Is about 1,970 production lines (3,536 gross) the right shape for one PR, given the 700 net-production and 1,000-line gross budgets in Not blocking, and you can take or leave these: the The Lint & Format failure is the PR's own. The di-seams gate fails on Before merge, the lint failure and the two findings above need fixing. Of the open inline threads, the P2 threads on #3613 (comment) (context renders), #3613 (comment) (inferred effect chain), #3613 (comment) (start-reset test), #3613 (comment) (duplicate instance counts), #3613 (comment) (emoji fixture length), #3613 (comment) (help "effect sets state"), #3613 (comment) (help "unrelated context"), #3613 (comment) (unused disconnect handle), #3613 (comment) (lastId only), #3613 (comment) (prop candidate cap), #3613 (comment) (timing-only effect claim), #3613 (comment) (top mounts only) and #3613 (comment) (stale react-native topic) still stand. Also, 10 lower-priority P3 threads still apply. No thread is outdated, so none need resolving. |
f87e64a to
f25394b
Compare
|
At Device ambiguity: iOS: shown through the CLI on a bare RN 0.83 iOS simulator. Each scenario ran as Remote bridge: not run. Help now says remote bridge sessions are not verified yet, matching the docs. Lint: removed the Shape: restacked as you suggested. This PR keeps the transport, runtime, analysis and Non-blocking items:
All 25 inline threads are answered and resolved. Re-validated on the final top-of-stack build: Android RN 0.88-rc, 7/7. |
There was a problem hiding this comment.
All reported issues were addressed across 16 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
|
I reviewed f25394b again. The code looks good, and the seams that failed Lint & Format (di-seams) at f87e64a are gone from Not blocking: when one app runs on several devices, every session sharing that Metro gets INVALID_ARGS until Several inline threads from cubic-dev-ai still stand. #3613 (comment) (duplicate-name hint) is the one to fix first: when two devices share a Before merge, fix the duplicate-name hint above, then wait for CI to finish, including |
a183e22 to
9fb9a4f
Compare
9fb9a4f to
b7eb909
Compare
b7eb909 to
f1f454b
Compare
…up by its own render, refuse unread options
|
At
|
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
… cost repeated eager mounts, and count changed props - Elements the profile cannot name stay out of components and findings instead of folding into one Unknown. - Animated(...) wrappers keep their name so they stay framework components; Memo(Row) and Row are separate components. - A prop whose inspected instances disagree on its kind claims no new identity. - memo-defeated evidence counts each changed prop; eager-mount costs every qualifying commit of a component. - Devices without a logical id are keyed by target id before display name. - Docs name --bundle-url; perf guidance and ADR 0029 no longer point at a daemon command react-devtools does not send.
|
At
The All 41 review threads have a reply and are resolved. |
There was a problem hiding this comment.
All reported issues were addressed across 18 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
View guided diff | Turn on auto-fix | Re-trigger cubic
…ow report and commit arguments in usage
|
The PR is ready at 639d73d. The issues from the earlier review (f25394b) are fixed: the device key now uses the target-id prefix, the 16 ms frame budget wording is correct, and the render analysis fixes landed. CI is green with 22 checks and none failing, and there are no conflicts. Not blocking, and you can take or leave these: the waiver reason in scripts/fuzz/validation-arbitraries-cli.ts#L37 and the predicate name On the open inline threads from the other reviewer: all of them are fixed at this head except one, #3613 (comment) (passing I ran no device for this review. The Android RN 0.74-0.88, iOS 0.83 and drill-down runs come from the PR body, with no commit named for each. No run with two devices on one Metro was reported, so the target-id-prefix device key rests on unit tests over a synthetic |
Summary
agent-device react-devtoolsis now React Native performance profiling, built into agent-device.profile startandprofile stopattach to the app's JavaScript runtime through its Metro dev server (CDPRuntime.evaluate) and drive the React DevTools backend that development builds already ship. The app, Metro config and Babel config need no changes, and there is no helper to start or wait for.stopprints ranked findings (about 100–200 tokens), saves the profile, and ends with aMore:line naming the drill-down views over the saved profile:Tables say how many rows they omit. Each subcommand rejects options it does not read. If one app is connected from several devices, profiling fails closed until
--metro-devicenames one.Removed:
npm exec agent-react-devtoolspassthrough (status,start,wait,get tree,find,errors,profile export,profile diff)Help and docs now describe profiling only.
Validation
At
639d73d05d,check:affected --run,check:production-exportsandcheck:di-seamsall pass.The Perf lab (#3612) was run through
agent-deviceopen/click/wait plusprofile start/stop:Drill-downs, live: on Android RN 0.88-rc after the
memo-defeatedscenario,profile report ContactRowprinted its causes, the changed prop kinds and its costliest commits. On the RN 0.83 iOS simulator,profile report ProductTileprinted both of its findings.Not verified: remote bridges; help and docs say so.