From 41a5ba02bacd99694f389364232131b87cfd39c4 Mon Sep 17 00:00:00 2001 From: Remi Rousselet Date: Fri, 20 Oct 2023 12:29:51 +0200 Subject: [PATCH 1/3] Apply 193 fixes #193 --- .../custom_lint/lib/src/v2/server_to_client_channel.dart | 5 ++++- packages/custom_lint_builder/lib/src/channel.dart | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/custom_lint/lib/src/v2/server_to_client_channel.dart b/packages/custom_lint/lib/src/v2/server_to_client_channel.dart index ccda5479..00685cdd 100644 --- a/packages/custom_lint/lib/src/v2/server_to_client_channel.dart +++ b/packages/custom_lint/lib/src/v2/server_to_client_channel.dart @@ -177,6 +177,7 @@ class SocketCustomLintServerToClientChannel { [ if (_server.watchMode) '--enable-vm-service=${await port}', join('lib', 'custom_lint_client.dart'), + _serverSocket.address.host, _serverSocket.port.toString(), ], workingDirectory: tempDir.path, @@ -213,10 +214,12 @@ import 'package:custom_lint_builder/src/channel.dart'; $imports void main(List args) async { - final port = int.parse(args.single); + final host = args[0]; + final port = int.parse(args[1]); runSocket( port: port, + host: host, includeBuiltInLints: ${_server.includeBuiltInLints}, {$plugins}, ); diff --git a/packages/custom_lint_builder/lib/src/channel.dart b/packages/custom_lint_builder/lib/src/channel.dart index 98cf7dff..ba97835f 100644 --- a/packages/custom_lint_builder/lib/src/channel.dart +++ b/packages/custom_lint_builder/lib/src/channel.dart @@ -57,6 +57,7 @@ typedef CreatePluginMain = PluginBase Function(); Future runSocket( Map pluginMains, { required int port, + required String host, required bool includeBuiltInLints, }) async { late Future client; @@ -64,7 +65,7 @@ Future runSocket( await asyncRunZonedGuarded( () => client = Future(() async { // ignore: close_sinks, connection stays open until the plugin is killed - final socket = await Socket.connect(InternetAddress.loopbackIPv6, port); + final socket = await Socket.connect(host, port); final socketChannel = JsonSocketChannel(Future.value(socket)); final registeredPlugins = {}; From 57d31b8d165e9a4555e44d246d6e82b82f6b48f7 Mon Sep 17 00:00:00 2001 From: Remi Rousselet Date: Fri, 20 Oct 2023 12:30:47 +0200 Subject: [PATCH 2/3] Changelog --- packages/custom_lint/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/custom_lint/CHANGELOG.md b/packages/custom_lint/CHANGELOG.md index 9263c47e..d0b8a27d 100644 --- a/packages/custom_lint/CHANGELOG.md +++ b/packages/custom_lint/CHANGELOG.md @@ -5,6 +5,7 @@ - Improve the command line's output (thanks to @kuhnroyal) - Update uuid to 4.0.0 - Fixed a port leak +- Fix connection issues on Docker/windows (thanks to @hamsbrar) ## 0.5.3 - 2023-08-29 From 8d3106b59376d44af9947388fe15c89975b8e072 Mon Sep 17 00:00:00 2001 From: Remi Rousselet Date: Fri, 20 Oct 2023 12:46:44 +0200 Subject: [PATCH 3/3] Update tests --- packages/custom_lint/test/cli_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/custom_lint/test/cli_test.dart b/packages/custom_lint/test/cli_test.dart index 0b02c2e4..7bd2017f 100644 --- a/packages/custom_lint/test/cli_test.dart +++ b/packages/custom_lint/test/cli_test.dart @@ -140,7 +140,7 @@ invalid; ^^^^^^^ '''), matchIgnoringAnsi(contains, ''' -lib/custom_lint_client.dart:13:29: Error: Undefined name 'createPlugin'. +lib/custom_lint_client.dart:15:29: Error: Undefined name 'createPlugin'. {'test_lint': test_lint.createPlugin, ^^^^^^^^^^^^ '''), @@ -296,7 +296,7 @@ int x = 'oy'; ^ '''), matchIgnoringAnsi(contains, ''' -lib/custom_lint_client.dart:15:26: Error: Undefined name 'createPlugin'. +lib/custom_lint_client.dart:17:26: Error: Undefined name 'createPlugin'. 'test_lint2': test_lint2.createPlugin, ^^^^^^^^^^^^ '''),