4f377da9e3
The WebSocket client that IntelliJ is using does not handle pings (despite them being part of the spec), so this change resulted in connections being dropped after 15s. This changes pings to be opt-in, which unfortunately means other clients that don't opt-in won't get the behaviour (and therefore might see issues with Norton and other antivirus programs that proxy and drop idle connections), but this is better than all IJ users being broken. See https://github.com/flutter/dart-intellij-third-party/issues/205 Change-Id: I7d5f5225cb9d04c15552970a821f5441c45ace18 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/472580 Commit-Queue: Phil Quitslund <pquitslund@google.com> Reviewed-by: Phil Quitslund <pquitslund@google.com> Reviewed-by: Ben Konyi <bkonyi@google.com>
Dart Tooling Daemon
The server implementation for the Dart Tooling Daemon. This is meant to be run by our internal tooling and facilitates communication between our internal tools.
For details on the protocol used to communicate with the Dart Tooling Daemon see The DTD Protocol
Running the Dart Tooling Daemon
Compiled version
To run the tooling daemon compiled with the Dart SDK:
- make sure to build with
create_platform_sdk - e.g.
./tools/build.py create_platform_sdk
- run
dart tooling-daemon:info The dart binary should be the one you just built in step 1.
Testing changes locally
To quickly test changes to the tooling daemon, start it by running:
dart run bin/dtd.dart
Running tests
To run the tests under the test/ directory, run dart test test/.
However, if you are testing changes that span pkg/dtd and pkg/dtd_impl,
you'll need to build the Dart SDK, and then use the built Dart executable to run
the test.
- Build the Dart SDK:
./tools/build.py create_platform_sdk - Run the test:
xcodebuild/ReleaseARM64/dart-sdk/bin/dart test test/