diff --git a/webdev/CHANGELOG.md b/webdev/CHANGELOG.md index 3993fc266..61ecfe9f5 100644 --- a/webdev/CHANGELOG.md +++ b/webdev/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.5 + +- Use `HttpMultiServer` to fix bind issues with IPv6 / IPv4. + ## 2.0.4 - Fix loading apps in non-chrome browsers in --debug mode diff --git a/webdev/lib/src/serve/debugger/devtools.dart b/webdev/lib/src/serve/debugger/devtools.dart index 51aea2087..1419f1a6e 100644 --- a/webdev/lib/src/serve/debugger/devtools.dart +++ b/webdev/lib/src/serve/debugger/devtools.dart @@ -6,13 +6,12 @@ import 'dart:async'; import 'dart:io'; import 'dart:isolate'; +import 'package:http_multi_server/http_multi_server.dart'; import 'package:path/path.dart' as p; import 'package:shelf/shelf.dart'; import 'package:shelf/shelf_io.dart'; import 'package:shelf_static/shelf_static.dart'; -import '../utils.dart'; - /// A server for Dart Devtools. class DevTools { final String hostname; @@ -50,7 +49,10 @@ class DevTools { : buildHandler(request); }; - var server = await serve(handler, hostname, await findUnusedPort()); + var server = hostname == 'localhost' + ? await HttpMultiServer.loopback(0) + : await HttpServer.bind(hostname, 0); + serveRequests(server, handler); return DevTools._(server.address.host, server.port, server); } diff --git a/webdev/lib/src/version.dart b/webdev/lib/src/version.dart index e3854c41f..f81ed1f1f 100644 --- a/webdev/lib/src/version.dart +++ b/webdev/lib/src/version.dart @@ -1,2 +1,2 @@ // Generated code. Do not modify. -const packageVersion = '2.0.4'; +const packageVersion = '2.0.5'; diff --git a/webdev/pubspec.yaml b/webdev/pubspec.yaml index 441007300..14e5d6cf6 100644 --- a/webdev/pubspec.yaml +++ b/webdev/pubspec.yaml @@ -1,5 +1,5 @@ name: webdev -version: 2.0.4 +version: 2.0.5 author: Dart Team homepage: https://github.com/dart-lang/webdev description: >- @@ -18,6 +18,7 @@ dependencies: dwds: ^0.3.0 devtools: ^0.0.15-dev.1 http: ^0.12.0 + http_multi_server: ^2.0.0 io: ^0.3.2+1 logging: ^0.11.0 pedantic: ^1.5.0