Adds WebSocket support to Network panel (GSoC'26) - #9968
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces WebSocket profiling support to the DevTools network screen. It adds a new WebSocket request type, updates the NetworkController and NetworkService to fetch and process WebSocket traffic, and implements UI views (WebSocketFramesView and overview rows) to inspect WebSocket connections and their frames. The review feedback highlights a logical bug in updateLastRefreshTime() where socket refresh is called twice instead of updating the WebSocket refresh time, and suggests wrapping the DataTable in WebSocketFramesView with a horizontal scroll view to prevent layout overflows.
|
For WebSocket frame inspection, should each frame be represented as a separate event in the timeline, or should multiple frames of the same connection be grouped in some way to avoid making the timeline too dense for long-lived connections? |
|
This PR aims to integrate the entire WebSocket support from |
Fixes #9507
Tracking issue: Victowolf/GSoC-Progress-Tracking#8
This contribution is part of the Google Summer of Code 2026 project:
"Add WebSocket/gRPC support to Flutter DevTools Network Panel"
This PR adds WebSocket support to the Flutter DevTools Network panel.
Previously,
dart:ioWebSocket connections appeared as opaqueSOCKETrequests in the Network screen. This PR extends the existing networking models and UI to recognize WebSocket profiling data and provide dedicated inspection of WebSocket connections and frame activity.What's included
WEBSOCKET.Tests Extended:
network_controller_test.dartnetwork_model_test.dartnetwork_profiler_test.dartnetwork_request_inspector_test.dartnetwork_table_test.dartUpdated UI:
Pre-launch Checklist
General checklist
///).Issues checklist
Tests checklist
AI-tooling checklist
Feature-change checklist
packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md.If you need help, consider asking for help on Discord.