Back to Dart
GSoC 2026

Migrate Intellij Plugins off Weberknecht Web Socket Library

The Dart and Flutter IntelliJ plugins rely on persistent WebSocket connections to communicate with the Dart VM Service and the Dart Tooling Daemon. The current implementation uses the Weberknecht WebSocket library, which does not properly handle WebSocket ping/pong control frames. In environments with antivirus software idle connections may be terminated, causing debugging sessions and tooling communication to disconnect unexpectedly. This project proposes migrating the WebSocket transport used by the Java VM service client to the modern WebSocket implementation available in the Java standard library. The migration will update the connection and message transport logic while preserving the existing VM service protocol. The deliverables include the new transport implementation, integration into both the Dart and Flutter IntelliJ plugins, removal of Weberknecht dependencies, and validation across common development workflows.

Project details

Contributor

Javad Asadi

Mentors

Not available

Technologies

Not listed in the archive