Skip to content

Sync fork with chromium/7103#172

Merged
hoxyq merged 4072 commits into
mainfrom
repo-sync-7103
Jun 10, 2025
Merged

Sync fork with chromium/7103#172
hoxyq merged 4072 commits into
mainfrom
repo-sync-7103

Conversation

@hoxyq
Copy link
Copy Markdown

@hoxyq hoxyq commented Jun 10, 2025

Re-land of #170, because I've accidentally squashed commits.

Summary

Upgrades the react-native-devtools-frontend fork from chromium/6613 to the upstream chromium/7103 branch.

There were a total of ~51 conflicts, resolved as below:

File conflicts

  • .gitignore — Merge changes
  • README.md — Keep ours
  • CONTRIBUTING.md — Both added, keep ours
  • config/gni/devtools_grd_files.gni — Merge changes
  • front_end/BUILD.gn — Merge changes
  • front_end/core/root/Runtime.ts — Merge changes
  • front_end/core/sdk/Connections.ts — Merge changes
  • front_end/core/sdk/PageResourceLoader.ts — Merge changes
    • Use upstream renamed enum keys.
  • front_end/core/sdk/sdk-meta.ts — Merge changes
  • front_end/core/sdk/sdk.ts — Keep both
  • front_end/entrypoints/inspector_main/BUILD.gn — Keep both
  • front_end/entrypoints/main/BUILD.gn — Keep both
  • front_end/entrypoints/main/MainImpl.ts — merge
  • front_end/entrypoints/shell/BUILD.gn — Keep both
  • front_end/models/source_map_scopes/NamesResolver.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/models/source_map_scopes/NamesResolver.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/models/trace/handlers/RendererHandler.ts — Merge
  • front_end/models/trace/handlers/WarningsHandler.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/models/trace/helpers/SyntheticEvents.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/models/trace/insights/DocumentLatency.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/models/trace/insights/InteractionToNextPaint.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/panels/console/ConsolePrompt.ts - Use upstream, then reapply Disable console-eager-eval and Live Expressions panel #164
  • front_end/panels/console/ConsoleView.ts - Use upstream, then reapply Disable console-eager-eval and Live Expressions panel #164
  • front_end/panels/console/console-meta.ts - Use upstream, then reapply Disable console-eager-eval and Live Expressions panel #164
  • front_end/panels/console/consoleView.css — Keep both CSS additions
  • front_end/panels/console/ErrorStackParser.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/panels/network/network-meta.ts — Keep ours
  • front_end/panels/network/NetworkLogView.ts — Keep our customisations
  • front_end/panels/network/NetworkPanel.ts — Keep our customisations
  • front_end/panels/profiler/HeapSnapshotView.ts — Merge
    • Preserve our rnPerfMetrics calls.
  • front_end/panels/sources/SourcesView.ts — Use upstream
    • Conditionally hidden UI no longer present.
  • front_end/panels/sources/UISourceCodeFrame.ts — Keep our customisations
  • front_end/panels/timeline/EntriesFilter.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/panels/timeline/Initiators.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/panels/timeline/ModificationsManager.test.ts — Use upstream, then reapply Performance: hide more unsupported features #150
  • front_end/panels/timeline/TimelineFlameChartDataProvider.ts — Keep our customisations
  • front_end/panels/timeline/TimelinePanel.ts — Merge
    • Preserve our disabled Performance features.
  • front_end/panels/timeline/TimelineLandingPage.ts — Deleted upstream
  • front_end/panels/timeline/TimingsTrackAppender.ts — Use upstream
  • front_end/testing/EnvironmentHelpers.ts — Keep both (experiment keys)
  • front_end/third_party/additional_readme_paths.json — Keep both (manifest file)
  • front_end/ui/components/input/checkbox.css — Use upstream
  • front_end/ui/legacy/ActionRegistration.ts — Keep our extra icons
  • front_end/ui/legacy/BUILD.gn — Merge
  • front_end/ui/legacy/components/utils/TargetDetachedDialog.ts — Merge changes
  • front_end/ui/legacy/inspectorCommon.css — Use upstream (not modified by us)
  • front_end/ui/legacy/remoteDebuggingTerminatedScreen.css — Keep ours
  • front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts — Merged
    • Keep our dialog design, lit-html -> lit.
  • front_end/ui/legacy/theme_support/ThemeSupport.ts — Merge
    • Preserve our baseline-greyscale override.
  • third_party/node/node.py — Use upstream (includes our fix)

Linter

  • 42 errors fixed.
  • 20 CSS linter error fixed.
  • npm run lint now succeeds.

Tests

  • Disabled 3 screenshot tests:

Test plan

Smoke testing

  • Welcome
    • All links are clickable ✅
    • [Internal-only] Session ID is displayed ✅
  • Console
    • Evaluation from the Console works ✅
    • Ignore lists are respected ✅
    • Eager evaluation is disabled ✅
    • Error stack symbolication works ✅
  • Sources
    • Loaded sources are displayed in the tree ✅
    • VM is paused when breakpoint is hit ✅
    • Stepping in / out / over works ✅
    • "Deactivate breakpoints" works ✅
  • React DevTools Components
    • The React Tree is loaded ✅
    • Components are highlighted on the screen when hovered over ✅
    • Can click on a component from the Tree and see its attributes ✅
    • Select-to-inspect works - ❌
      • Also broken on main.
  • Profiler
    • Can record a session ✅
    • Reload-to-profile works ✅
    • Can download profile ✅
    • Can upload profile ✅
  • Performance
    • Can record a session ✅
    • JavaScript Samples displayed correctly and grouped ✅
    • Custom Track integration works ✅
    • In DEV mode, sources of the call frames are symbolicated ✅
  • Memory
    • Live metrics are displayed ✅
    • Snapshot recorded successfully ✅
    • Could record allocations on a timeline successfully ✅
    • Allocation sampling works - ❌
      • Also broken on main.
    • Detached elements - ❌ (New feature, new CDP request, unsupported)
      • Will hide in a separate PR
  • Other
    • [FB-only] Send feedback button is visible on the panel toolbar ✅
    • When disconnected, Reconnect button is displayed ✅
    • Reloading via Cmd + R works - ✅

Upstreaming plan

  • This commit should be sent as a patch to the upstream devtools-frontend repo. I've reviewed the contribution guide.
  • This commit is React Native-specific and cannot be upstreamed.

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.