flutter run cannot connect to service protocol on OnePlus X

Steps to Reproduce
flutter run produces an error. flutter install appears to work fine.
Logs
alvaro@alvaro-ThinkCentre-M93p ~/workspace/devstack $ flutter run
Installing build/app.apk...                         7851ms
Error connecting to the service protocol: Failed to connect to ws://<IP_ADDRESS>:8108/ws
  WebSocketException: Connection to 'http://<IP_ADDRESS>:8108/ws#' was not upgraded to websocket
E/DartVM  (28493): vm-service: Error: Unhandled exception:
E/DartVM  (28493): WebSocketException: Invalid WebSocket upgrade request
E/DartVM  (28493): #0      _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1138)
E/DartVM  (28493): #1      _microtaskLoop (dart:async/schedule_microtask.dart:41)
E/DartVM  (28493): #2      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
E/DartVM  (28493): #3      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
E/DartVM  (28493): #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)
E/DartVM  (28493):
E/flutter (28493): [ERROR:../../flutter/runtime/dart_init.cc(137)] Isolate vm-service exited with an error
E/flutter (28493): [ERROR:../../lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
E/flutter (28493): WebSocketException: Invalid WebSocket upgrade request
E/flutter (28493): #0      _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1138)
E/flutter (28493): #1      _microtaskLoop (dart:async/schedule_microtask.dart:41)
E/flutter (28493): #2      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
E/flutter (28493): #3      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:96)
E/flutter (28493): #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:149)

alvaro@alvaro-ThinkCentre-M93p ~/workspace/devstack $ flutter analyze
Analyzing lib/main.dart...
[warning] The named parameter 'formField' isn't defined. (lib/main.dart, line 43, col 13)
[warning] The named parameter 'formField' isn't defined. (lib/main.dart, line 38, col 13)
[hint] The parameter 'builder' is required. (lib/main.dart, line 43, col 28)
[hint] The parameter 'builder' is required. (lib/main.dart, line 38, col 28)
[hint] The value of the field '_counter' isn't used. (lib/main.dart, line 23, col 7)
[hint] The method '_incrementCounter' isn't used. (lib/main.dart, line 25, col 8)
(Ran in 4.3s)

Flutter Doctor
alvaro@alvaro-ThinkCentre-M93p ~/workspace/devstack $ flutter doctor
[✓] Flutter (on Linux, channel master)
    • Flutter at /home/alvaro/workspace/flutter
    • Framework revision 54d76518ac (19 hours ago), 2016-11-05 22:47:33
    • Engine revision 16077d474b
    • Tools Dart version 1.21.0-dev.3.0

[✓] Android toolchain - develop for Android devices (Android SDK 24.0.3)
    • Android SDK at /home/alvaro/Android/Sdk
    • Platform android-24, build-tools 24.0.3
    • OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2ubuntu<IP_ADDRESS>-b14)

[x] Flutter IDE Support (No supported IDEs installed)
    • IntelliJ - https://www.jetbrains.com/idea/

[✓] Connected devices
    • HTC One M9 • FA53TYJ13526 • android-arm • Android 6.0 (API 23)

I just saw this too. Couldn't repro it though.

Actually I guess what I got might be different, the message was:
$ flutter run
Installing build/app.apk...                         6721ms
Error connecting to the service protocol: Failed to connect to ws://<IP_ADDRESS>:8104/ws
  HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:8104/ws
$

Seeing the same exception.

Are you seeing it reliably? Or just intermittently?

I am seeing this every time. Unable to do hot reload because of this.

FYI @johnmccutchan

@eldos-dl Hi, can you please provide the following:
*) Does this reproduce with the sample app generated by flutter create? If not, are you able to share an app that reproduces?
*) What phone and firmware version are you using?
*) What OS are you running on?
*) The output of flutter doctor

Yes. Facing this issue with sample app generated by flutter create.
One Plus X. OxygenOS 3.1.4, Android 6.0.1
Ubuntu 16.04
Output of flutter doctor

[✓] Flutter (on Linux, channel master)
    • Flutter at /home/eldos/dart/flutter
    • Framework revision 60847a1ded (6 days ago), 2017-01-17 15:44:09
    • Engine revision b3ed79122e
    • Tools Dart version 1.22.0-dev.8.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at /home/eldos/Android/Sdk
    • Platform android-25, build-tools 25.0.2
    • OpenJDK Runtime Environment (build 9-internal+0-2016-04-14-195246.buildd.src)

[✓] IntelliJ IDEA Ultimate Edition (version 2016.3)
    • Dart plugin version 163.11306
    • Flutter plugin version <IP_ADDRESS>

[✓] Connected devices
    • ONE E1003 • 46a3c826 • android-arm • Android 6.0.1 (API 23)

@eldos-dl Thanks for the info.
In the past, issues like this have been related to weird output from adb. I'm looking into acquiring your specific phone.
Can you paste the log from flutter run?
Thanks,
John

@tvolkert recently added some fancy recording mode into flutter_tools, maybe that would be helpful here for troubleshooting what's wrong?

flutter run --record-to=bugreport will create a bugreport directory.  If you zip that directory up and attach the file to this issue, it may help us track down what's going on.

@tvolkert It's worth trying!

flutter run log
Launching lib/main.dart on ONE E1003 in debug mode...
Building APK in debug mode (android-arm)...         15944ms
Installing build/app.apk...                         9261ms
Diagnostic server listening on http://<IP_ADDRESS>:8101
Observatory listening on http://<IP_ADDRESS>:8100/
Error connecting to the service protocol: Failed to connect to ws://<IP_ADDRESS>:8100/ws
  WebSocketException: Connection to 'http://<IP_ADDRESS>:8100/ws#' was not upgraded to websocket

bugreport.zip

Thanks for the bug report. There was some useful information (nice @tvolkert !)

We correctly scrape the Observatory port from the device (38022)

01-25 00:41:56.784 I/flutter ( 9589): Observatory listening on http://<IP_ADDRESS>:38022/

We ask adb to forward the port to from the device to the host (38022 -> 8104)

    "pid": 28862,
    "basename": "024.adb.28862",
    "command": [
      "/home/eldos/Android/Sdk/platform-tools/adb",
      "-s",
      "46a3c826",
      "forward",
      "tcp:8104",
      "tcp:38022"
    ],
    "includeParentEnvironment": true,
    "runInShell": false,
    "stdoutEncoding": "system",
    "stderrEncoding": "system",
    "daemon": false,
    "notResponding": false,
    "exitCode": 0

This where things have gone wrong, we ask adb to forward port 8104 but then we try and connect to port 8100 and  print that Observatory is waiting on port 8100. It is actually waiting on port 8104.
@danrubel You refactored this code most recently, any idea what could be going on here?

The ports printed for both Observatory and the Diagnostic server are the default host ports for the their respective services...

Hi @eldos-dl,
Can you please send me the output log with:
flutter run --trace --record-to=bugreport2
along with the bugreport2 zip file.
There should be a lot more output to the terminal.

@johnmccutchan Based on what you said, we are correctly obtaining the port but then not using it when connecting to the observatory and diagnostic server. So, I tried the following to see if I could reproduce the error (see below).
tl;dr - It seems to correctly use the scraped ports on my Mac connected to my Nexus 5x.
Looking for additional information on how to correctly recreate the problem and where to dig further to unearth the problem.

First I copied/modified a simple dart http server and started it bound to ports 8100 and 8101.
import 'dart:async';
import 'dart:io';

main() async {
  start(await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8100));
  start(await HttpServer.bind(InternetAddress.LOOPBACK_IP_V4, 8101));
}

Future start(HttpServer server) async {
  print("Serving at ${server.address}:${server.port}");
  await for (HttpRequest request in server) {
    request.response
      ..headers.contentType = new ContentType("text", "plain", charset: "utf-8")
      ..write('Hello, world')
      ..close();
  }
}

I then sync'd to flutter head and used flutter create to create a simple flutter app.
I used flutter run to launch that flutter app on my Android... no problems.
[        ] Waiting for observatory port to be available...
[ +709 ms] Diagnostic server Uri on device: http://<IP_ADDRESS>:48486
[   +7 ms] Observatory Uri on device: http://<IP_ADDRESS>:40390/
[   +1 ms] /Users/danrubel/Library/Android/sdk/platform-tools/adb -s 00f4e12e1f8b3a42 forward tcp:8103 tcp:48486
[  +10 ms] Exit code 0 from: /Users/danrubel/Library/Android/sdk/platform-tools/adb -s 00f4e12e1f8b3a42 forward tcp:8103 tcp:48486
[        ] Forwarded host port 8103 to device port 48486
[        ] Diagnostic server listening on http://<IP_ADDRESS>:8103
[        ] /Users/danrubel/Library/Android/sdk/platform-tools/adb -s 00f4e12e1f8b3a42 forward tcp:8102 tcp:40390
[  +10 ms] Exit code 0 from: /Users/danrubel/Library/Android/sdk/platform-tools/adb -s 00f4e12e1f8b3a42 forward tcp:8102 tcp:40390
[        ] Forwarded host port 8102 to device port 40390
[        ] Observatory listening on http://<IP_ADDRESS>:8102/
[ +173 ms] Connected to service protocol: http://<IP_ADDRESS>:8102/
[+1114 ms] DevFS: Created new filesystem on the device (file:///data/user/0/com.yourcompany.myapp/cache/myapppsbpmr/)
[   +1 ms] Updating assets
[  +49 ms] Syncing files to device...

I tried this same process on my Mac connected to my iOS device but am running into an unrelated issue...
[  +94 ms] error: process launch failed: Security
[        ] (lldb)     safequit
[        ] Application has not been launched
[   +9 ms] Failed to launch the application on device.
[        ] Could not install build/ios/Release-iphoneos/Runner.app on 82564b38861a9a5ac42de313e5a18f2e11d299f8.
[   +1 ms] Try launching XCode and selecting 'Product > Run' to fix the problem:
[        ]   open ios/Runner.xcodeproj
[        ] Error launching application on New iPod touch.

flutter run --trace-startup --record-to=bugreport2 log
Launching lib/main.dart on ONE E1003 in debug mode...
Building APK in debug mode (android-arm)...         11521ms
Installing build/app.apk...                         8884ms
Diagnostic server listening on http://<IP_ADDRESS>:8101
Observatory listening on http://<IP_ADDRESS>:8100/
Error connecting to the service protocol: Failed to connect to ws://<IP_ADDRESS>:8100/ws
  WebSocketException: Connection to 'http://<IP_ADDRESS>:8100/ws#' was not upgraded to websocket

bugreport2.zip

Hi @eldos-dl, I made a typo in my last comment, you need to pass --verbose not --trace

flutter run --verbose --record-to=bugreport3
[ +319 ms] /home/eldos/Android/Sdk/platform-tools/adb devices -l
[ +134 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb devices -l
[        ] List of devices attached
           46a3c826               device usb:3-3 product:OnePlus model:ONE_E1003 device:OnePlus
[  +25 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell getprop
[ +230 ms] /home/eldos/dart/flutter/bin/cache/artifacts/engine/linux-x64/sky_snapshot --packages=/home/eldos/playground/flutter/myapp/.packages --print-deps /home/eldos/playground/flutter/myapp/lib/main.dart
[ +288 ms] Exit code 0 from: /home/eldos/dart/flutter/bin/cache/artifacts/engine/linux-x64/sky_snapshot --packages=/home/eldos/playground/flutter/myapp/.packages --print-deps /home/eldos/playground/flutter/myapp/lib/main.dart
[  +25 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 logcat -v time -t 1
[ +142 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 logcat -v time -t 1
[        ] --------- beginning of main
           01-25 09:24:50.589 I/AlarmClock(10496): No connected nodes
[  +19 ms] Launching lib/main.dart on ONE E1003 in debug mode...
[   +2 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 logcat -v time
[   +3 ms] /home/eldos/Android/Sdk/platform-tools/adb version
[  +67 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb version
[        ] Android Debug Bridge version 1.0.36
           Revision 0e9850346394-android
[   +3 ms] /home/eldos/Android/Sdk/platform-tools/adb start-server
[  +80 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb start-server
[        ] Stopping app 'app.apk' on ONE E1003.
[   +8 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell am force-stop com.yourcompany.myapp
[+1898 ms] Building APK
[   +9 ms] Using engine artifacts dir: /home/eldos/dart/flutter/bin/cache/artifacts/engine/android-arm
[   +5 ms] Looking for YAML at 'flutter.yaml'
[  +31 ms] No services specified in the manifest
[        ] Using engine artifacts dir: /home/eldos/dart/flutter/bin/cache/artifacts/engine/android-arm
[        ] Building APK in debug mode (android-arm)...
[   +2 ms] /home/eldos/dart/flutter/bin/cache/artifacts/engine/linux-x64/sky_snapshot --packages=/home/eldos/playground/flutter/myapp/.packages --snapshot=build/snapshot_blob.bin --depfile=build/snapshot_blob.bin.d --build-output=build/snapshot_blob.bin /home/eldos/playground/flutter/myapp/lib/main.dart
[ +398 ms] Building build/app.flx
[ +138 ms] which zip
[ +108 ms] Encoding zip file to build/app.flx
[  +59 ms] [build/flx/] zip -q /home/eldos/playground/flutter/myapp/build/app.flx fonts/MaterialIcons-Regular.ttf AssetManifest.json FontManifest.json LICENSE snapshot_blob.bin
[ +249 ms] Exit code 0 from: zip -q /home/eldos/playground/flutter/myapp/build/app.flx fonts/MaterialIcons-Regular.ttf AssetManifest.json FontManifest.json LICENSE snapshot_blob.bin
[        ] Built build/app.flx.
[   +3 ms] Building APK; buildMode: debug.
[  +81 ms] /home/eldos/Android/Sdk/build-tools/25.0.2/dx --dex --force-jumbo --output /tmp/flutter_toolsCxRx9V/classes.dex /home/eldos/dart/flutter/bin/cache/artifacts/engine/android-arm/classes.dex.jar
[ +374 ms] Exit code 0 from: /home/eldos/Android/Sdk/build-tools/25.0.2/dx --dex --force-jumbo --output /tmp/flutter_toolsCxRx9V/classes.dex /home/eldos/dart/flutter/bin/cache/artifacts/engine/android-arm/classes.dex.jar
[  +59 ms] /home/eldos/Android/Sdk/build-tools/25.0.2/aapt package -M android/AndroidManifest.xml -A /tmp/flutter_toolsCxRx9V/assets -I /home/eldos/Android/Sdk/platforms/android-25/android.jar -F /tmp/flutter_toolsCxRx9V/app.apk.unaligned --debug-mode -S /home/eldos/playground/flutter/myapp/android/res /tmp/flutter_toolsCxRx9V/artifacts
[+2633 ms] Exit code 0 from: /home/eldos/Android/Sdk/build-tools/25.0.2/aapt package -M android/AndroidManifest.xml -A /tmp/flutter_toolsCxRx9V/assets -I /home/eldos/Android/Sdk/platforms/android-25/android.jar -F /tmp/flutter_toolsCxRx9V/app.apk.unaligned --debug-mode -S /home/eldos/playground/flutter/myapp/android/res /tmp/flutter_toolsCxRx9V/artifacts
[   +1 ms] Signing the APK using the debug keystore.
[        ] /usr/bin/jarsigner -keystore /home/eldos/dart/flutter/bin/cache/artifacts/engine/android-arm/chromium-debug.keystore -storepass chromium -keypass chromium -digestalg SHA1 -sigalg MD5withRSA /tmp/flutter_toolsCxRx9V/app.apk.unaligned chromiumdebugkey
[+7269 ms] Exit code 0 from: /usr/bin/jarsigner -keystore /home/eldos/dart/flutter/bin/cache/artifacts/engine/android-arm/chromium-debug.keystore -storepass chromium -keypass chromium -digestalg SHA1 -sigalg MD5withRSA /tmp/flutter_toolsCxRx9V/app.apk.unaligned chromiumdebugkey
[        ] jar signed.

           Warning:
           The signer's certificate is self-signed.
           No -tsa or -tsacert is provided and this jar is not timestamped. Without a timestamp, users may not be able to validate this jar after the signer certificate's expiration date (2112-09-11) or after any future revocation date.
[        ] /home/eldos/Android/Sdk/build-tools/25.0.2/zipalign -f 4 /tmp/flutter_toolsCxRx9V/app.apk.unaligned build/app.apk
[ +149 ms] Exit code 0 from: /home/eldos/Android/Sdk/build-tools/25.0.2/zipalign -f 4 /tmp/flutter_toolsCxRx9V/app.apk.unaligned build/app.apk
[        ] calculateSha: build/app.apk
[ +200 ms] Built build/app.apk (8.7MB).
[   +2 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell pm list packages com.yourcompany.myapp
[+1189 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell pm list packages com.yourcompany.myapp
[        ] package:com.yourcompany.myapp
[        ] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell cat /data/local/tmp/sky.com.yourcompany.myapp.sha1
[ +107 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell cat /data/local/tmp/sky.com.yourcompany.myapp.sha1
[        ] 9e48b7313a67c8d068b333a7b2cb9a0935512f62
[        ] Installing APK.
[        ] /home/eldos/Android/Sdk/platform-tools/adb version
[  +74 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb version
[        ] Android Debug Bridge version 1.0.36
           Revision 0e9850346394-android
[        ] /home/eldos/Android/Sdk/platform-tools/adb start-server
[  +75 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb start-server
[        ] Installing build/app.apk...
[        ] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 install -r build/app.apk
[+10477 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 install -r build/app.apk
[        ] [  0%] /data/local/tmp/app.apk
           [  1%] /data/local/tmp/app.apk
           [  2%] /data/local/tmp/app.apk
           [  2%] /data/local/tmp/app.apk
           [  3%] /data/local/tmp/app.apk
           [  4%] /data/local/tmp/app.apk
           [  5%] /data/local/tmp/app.apk
           [  5%] /data/local/tmp/app.apk
           [  6%] /data/local/tmp/app.apk
           [  7%] /data/local/tmp/app.apk
           [  7%] /data/local/tmp/app.apk
           [  8%] /data/local/tmp/app.apk
           [  9%] /data/local/tmp/app.apk
           [ 10%] /data/local/tmp/app.apk
           [ 10%] /data/local/tmp/app.apk
           [ 11%] /data/local/tmp/app.apk
           [ 12%] /data/local/tmp/app.apk
           [ 12%] /data/local/tmp/app.apk
           [ 13%] /data/local/tmp/app.apk
           [ 14%] /data/local/tmp/app.apk
           [ 15%] /data/local/tmp/app.apk
           [ 15%] /data/local/tmp/app.apk
           [ 16%] /data/local/tmp/app.apk
           [ 17%] /data/local/tmp/app.apk
           [ 18%] /data/local/tmp/app.apk
           [ 18%] /data/local/tmp/app.apk
           [ 19%] /data/local/tmp/app.apk
           [ 20%] /data/local/tmp/app.apk
           [ 20%] /data/local/tmp/app.apk
           [ 21%] /data/local/tmp/app.apk
           [ 22%] /data/local/tmp/app.apk
           [ 23%] /data/local/tmp/app.apk
           [ 23%] /data/local/tmp/app.apk
           [ 24%] /data/local/tmp/app.apk
           [ 25%] /data/local/tmp/app.apk
           [ 25%] /data/local/tmp/app.apk
           [ 26%] /data/local/tmp/app.apk
           [ 27%] /data/local/tmp/app.apk
           [ 28%] /data/local/tmp/app.apk
           [ 28%] /data/local/tmp/app.apk
           [ 29%] /data/local/tmp/app.apk
           [ 30%] /data/local/tmp/app.apk
           [ 31%] /data/local/tmp/app.apk
           [ 31%] /data/local/tmp/app.apk
           [ 32%] /data/local/tmp/app.apk
           [ 33%] /data/local/tmp/app.apk
           [ 33%] /data/local/tmp/app.apk
           [ 34%] /data/local/tmp/app.apk
           [ 35%] /data/local/tmp/app.apk
           [ 36%] /data/local/tmp/app.apk
           [ 36%] /data/local/tmp/app.apk
           [ 37%] /data/local/tmp/app.apk
           [ 38%] /data/local/tmp/app.apk
           [ 38%] /data/local/tmp/app.apk
           [ 39%] /data/local/tmp/app.apk
           [ 40%] /data/local/tmp/app.apk
           [ 41%] /data/local/tmp/app.apk
           [ 41%] /data/local/tmp/app.apk
           [ 42%] /data/local/tmp/app.apk
           [ 43%] /data/local/tmp/app.apk
           [ 43%] /data/local/tmp/app.apk
           [ 44%] /data/local/tmp/app.apk
           [ 45%] /data/local/tmp/app.apk
           [ 46%] /data/local/tmp/app.apk
           [ 46%] /data/local/tmp/app.apk
           [ 47%] /data/local/tmp/app.apk
           [ 48%] /data/local/tmp/app.apk
           [ 49%] /data/local/tmp/app.apk
           [ 49%] /data/local/tmp/app.apk
           [ 50%] /data/local/tmp/app.apk
           [ 51%] /data/local/tmp/app.apk
           [ 51%] /data/local/tmp/app.apk
           [ 52%] /data/local/tmp/app.apk
           [ 53%] /data/local/tmp/app.apk
           [ 54%] /data/local/tmp/app.apk
           [ 54%] /data/local/tmp/app.apk
           [ 55%] /data/local/tmp/app.apk
           [ 56%] /data/local/tmp/app.apk
           [ 56%] /data/local/tmp/app.apk
           [ 57%] /data/local/tmp/app.apk
           [ 58%] /data/local/tmp/app.apk
           [ 59%] /data/local/tmp/app.apk
           [ 59%] /data/local/tmp/app.apk
           [ 60%] /data/local/tmp/app.apk
           [ 61%] /data/local/tmp/app.apk
           [ 62%] /data/local/tmp/app.apk
           [ 62%] /data/local/tmp/app.apk
           [ 63%] /data/local/tmp/app.apk
           [ 64%] /data/local/tmp/app.apk
           [ 64%] /data/local/tmp/app.apk
           [ 65%] /data/local/tmp/app.apk
           [ 66%] /data/local/tmp/app.apk
           [ 67%] /data/local/tmp/app.apk
           [ 67%] /data/local/tmp/app.apk
           [ 68%] /data/local/tmp/app.apk
           [ 69%] /data/local/tmp/app.apk
           [ 69%] /data/local/tmp/app.apk
           [ 70%] /data/local/tmp/app.apk
           [ 71%] /data/local/tmp/app.apk
           [ 72%] /data/local/tmp/app.apk
           [ 72%] /data/local/tmp/app.apk
           [ 73%] /data/local/tmp/app.apk
           [ 74%] /data/local/tmp/app.apk
           [ 74%] /data/local/tmp/app.apk
           [ 75%] /data/local/tmp/app.apk
           [ 76%] /data/local/tmp/app.apk
           [ 77%] /data/local/tmp/app.apk
           [ 77%] /data/local/tmp/app.apk
           [ 78%] /data/local/tmp/app.apk
           [ 79%] /data/local/tmp/app.apk
           [ 80%] /data/local/tmp/app.apk
           [ 80%] /data/local/tmp/app.apk
           [ 81%] /data/local/tmp/app.apk
           [ 82%] /data/local/tmp/app.apk
           [ 82%] /data/local/tmp/app.apk
           [ 83%] /data/local/tmp/app.apk
           [ 84%] /data/local/tmp/app.apk
           [ 85%] /data/local/tmp/app.apk
           [ 85%] /data/local/tmp/app.apk
           [ 86%] /data/local/tmp/app.apk
           [ 87%] /data/local/tmp/app.apk
           [ 87%] /data/local/tmp/app.apk
           [ 88%] /data/local/tmp/app.apk
           [ 89%] /data/local/tmp/app.apk
           [ 90%] /data/local/tmp/app.apk
           [ 90%] /data/local/tmp/app.apk
           [ 91%] /data/local/tmp/app.apk
           [ 92%] /data/local/tmp/app.apk
           [ 93%] /data/local/tmp/app.apk
           [ 93%] /data/local/tmp/app.apk
           [ 94%] /data/local/tmp/app.apk
           [ 95%] /data/local/tmp/app.apk
           [ 95%] /data/local/tmp/app.apk
           [ 96%] /data/local/tmp/app.apk
           [ 97%] /data/local/tmp/app.apk
           [ 98%] /data/local/tmp/app.apk
           [ 98%] /data/local/tmp/app.apk
           [ 99%] /data/local/tmp/app.apk
           [100%] /data/local/tmp/app.apk
           	pkg: /data/local/tmp/app.apk
           Success
[   +2 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell echo -n 967d4fe88372bffcdacf97f0b035454babbb70ac > /data/local/tmp/sky.com.yourcompany.myapp.sha1
[  +99 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell echo -n 967d4fe88372bffcdacf97f0b035454babbb70ac > /data/local/tmp/sky.com.yourcompany.myapp.sha1
[        ] ONE E1003 startApp
[   +1 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true com.yourcompany.myapp/io.flutter.app.FlutterActivity
[+1858 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 shell am start -a android.intent.action.RUN -f 0x20000000 --ez enable-background-compilation true --ez enable-dart-profiling true --ez enable-checked-mode true com.yourcompany.myapp/io.flutter.app.FlutterActivity
[        ] Starting: Intent { act=android.intent.action.RUN flg=0x20000000 cmp=com.yourcompany.myapp/io.flutter.app.FlutterActivity (has extras) }
[        ] Waiting for observatory port to be available...
[+4975 ms] Diagnostic server Uri on device: http://<IP_ADDRESS>:48737
[  +55 ms] Observatory Uri on device: http://<IP_ADDRESS>:41495/
[   +2 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 forward tcp:8101 tcp:48737
[  +80 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 forward tcp:8101 tcp:48737
[        ] Forwarded host port 8101 to device port 48737
[   +1 ms] Diagnostic server listening on http://<IP_ADDRESS>:8101
[  +91 ms] /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 forward tcp:8100 tcp:41495
[  +74 ms] Exit code 0 from: /home/eldos/Android/Sdk/platform-tools/adb -s 46a3c826 forward tcp:8100 tcp:41495
[        ] Forwarded host port 8100 to device port 41495
[        ] Observatory listening on http://<IP_ADDRESS>:8100/
[ +251 ms] Error connecting to the service protocol: Failed to connect to ws://<IP_ADDRESS>:8100/ws
                     WebSocketException: Connection to 'http://<IP_ADDRESS>:8100/ws#' was not upgraded to websocket
[   +2 ms] 'flutter run' took 34156ms.

package:flutter_tools/src/base/common.dart 31                     throwToolExit
package:flutter_tools/src/commands/run.dart 255                   RunCommand.runCommand.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/hot.dart 183                            HotRunner._run.<async>
dart:async                                                        _Completer.completeError
package:flutter_tools/src/resident_runner.dart 183                ResidentRunner.connectToServiceProtocol.<async>
===== asynchronous gap ===========================
dart:async                                                        _Completer.completeError
package:flutter_tools/src/commands/run.dart 257                   RunCommand.runCommand.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/hot.dart 183                            HotRunner._run.<async>
dart:async                                                        _Completer.completeError
package:flutter_tools/src/resident_runner.dart 183                ResidentRunner.connectToServiceProtocol.<async>
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/commands/run.dart                       RunCommand.runCommand
package:flutter_tools/src/runner/flutter_command.dart 148         FlutterCommand.verifyThenRunCommand.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/dart/pub.dart 67                        pubGet.<async>
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/runner/flutter_command.dart             FlutterCommand.verifyThenRunCommand
package:flutter_tools/src/commands/run.dart 160                   RunCommand.verifyThenRunCommand.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/runner/flutter_command.dart 197         FlutterCommand.findTargetDevice.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/device.dart 72                          DeviceManager.getAllConnectedDevices.<async>
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/commands/run.dart                       RunCommand.verifyThenRunCommand
package:flutter_tools/src/runner/flutter_command.dart 119         FlutterCommand.run
package:args/command_runner.dart 194                              CommandRunner.runCommand.<async>
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:args/command_runner.dart                                  CommandRunner.runCommand
package:flutter_tools/src/runner/flutter_command_runner.dart 212  FlutterCommandRunner.runCommand.<async>
dart:async                                                        _SyncCompleter.complete
package:flutter_tools/src/cache.dart 73                           Cache.lock.<async>
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/runner/flutter_command_runner.dart      FlutterCommandRunner.runCommand
package:args/command_runner.dart 109                              CommandRunner.run.<fn>
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 109                              CommandRunner.run
package:flutter_tools/src/runner/flutter_command_runner.dart 150  FlutterCommandRunner.run
package:flutter_tools/executable.dart 122                         main.<async>.<fn>.<fn>.<async>
===== asynchronous gap ===========================
package:stack_trace                                               Chain.capture
package:flutter_tools/executable.dart 121                         main.<async>.<fn>
package:flutter_tools/src/base/context.dart 76                    AppContext._run.<async>

[ +222 ms] exiting with code 2

bugreport3.zip

Thanks @eldos-dl

Looking at the bug report data along with the trace it appears my earlier conclusions were based on confusing data.
We are sniffing the correct device port.
We are forwarding the host port to the device port.
We are connecting to the correct host port.
I'll try and reproduce locally and debug what's happening lower down.

I just followed the instructions and I appeared to have bricked a OnePlus One.
I'll talk with @eseidelGoogle about ordering a OnePlus X

For the record everything worked until I hit Step 14/15 and then the phone stopped booting.

I have obtained a One Plus X phone.
Model: ONE E1005
Android: 6.0.1
OxygenOS: 3.1.4
Build: ONE E1005_14_161107

$ flutter --version
Flutter • channel master • git@github.com:flutter/flutter.git
Framework • revision 098af18393 (10 hours ago) • 2017-01-30 00:40:50
Engine • revision 9de4d1530b
Tools • Dart 1.22.0-dev.9.1

$ flutter create reload_test
Downloading package sky_engine...                   560ms
Running 'flutter packages get' in sky_engine...     204ms
Building Dart SDK spec summary...                   1445ms
Building Dart SDK strong summary...                 818ms
Downloading linux-x64 tools...                      1879ms
Downloading android-arm-profile/linux-x64 tools...  2113ms
Downloading android-arm-release/linux-x64 tools...  1358ms
Downloading android-x86 tools...                    1166ms
Downloading android-x64 tools...                    1204ms
Downloading android-arm tools...                    1072ms
Downloading android-arm-profile tools...            988ms
Downloading android-arm-release tools...            1068ms
Creating project reload_test...
Wrote 53 files.

Running 'flutter packages get' in reload_test...    1445ms

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 24.0.3)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.2)
[✓] Connected devices is fully installed.

All done! In order to run your application, type:

  $ cd reload_test
  $ flutter run

Your main program file is lib/main.dart in the reload_test directory.

$ flutter run
Launching lib/main.dart on ONE E1005 in debug mode...
Building APK in debug mode (android-arm)...         5061ms
Installing build/app.apk...                         11674ms
Syncing files to device...                          3791ms

🔥  To hot reload your app on the fly, press "r" or F5. To restart the app entirely, press "R".
The Observatory debugger and profiler is available at: http://<IP_ADDRESS>:8100/
For a more detailed help message, press "h" or F1.

I cannot reproduce the issue.

Model: ONE E1003
Android: 6.0.1
OxygenOS: 3.1.4
Build: ONE E1003_15_161107

$ flutter --version
Flutter • channel master • https://github.com/flutter/flutter.git
Framework • revision 9ba607862e (6 days ago) • 2017-01-24 10:09:29
Engine • revision adef37080f
Tools • Dart 1.22.0-dev.8.0

$ flutter create reload_test
Creating project reload_test...
Wrote 54 files.

Running 'flutter packages get' in reload_test...    21322ms

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Ultimate Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done! In order to run your application, type:

  $ cd reload_test
  $ flutter run

Your main program file is lib/main.dart in the reload_test directory.

$ flutter run
Launching lib/main.dart on ONE E1003 in debug mode...
Building APK in debug mode (android-arm)...         13318ms
Installing build/app.apk...                         10067ms
Diagnostic server listening on http://<IP_ADDRESS>:8101
Observatory listening on http://<IP_ADDRESS>:8100/
Error connecting to the service protocol: Failed to connect to ws://<IP_ADDRESS>:8100/ws
  WebSocketException: Connection to 'http://<IP_ADDRESS>:8100/ws#' was not upgraded to websocket

I see this on an emulator too. (API 23, x86 image), and even when I run on the iOS simulator. I've removed my flutter install, re-cloned master, and created a default project. I've always had this problem, and it stopped me using flutter ages ago, and persists now, so I suspect there is some local thing? All devices (real android, iOS simulator and Android emulator) behave the same
Running 'gradle assembleDebug'...                     1.3s
Built build/app/outputs/apk/app-debug.apk (21.6MB).
Unhandled exception:
Exception: Error connecting to observatory: WebSocketChannelException: WebSocketChannelException: WebSocketException: Connection to 'http://<IP_ADDRESS>:8102/ws#' was not upgraded to websocket
#0      throwToolExit (package:flutter_tools/src/base/common.dart:29)
#1      VM.invokeRpcRaw (package:flutter_tools/src/vmservice.dart:670)
<asynchronous suspension>

LogCat output
05-26 16:37:15.913  7006  7027 I flutter : Diagnostic server listening on http://<IP_ADDRESS>:55547/
05-26 16:37:15.939  7006  7027 I flutter : Observatory listening on http://<IP_ADDRESS>:45832/
05-26 16:37:16.098  7006  7027 E DartVM  : vm-service: Error: Unhandled exception:
05-26 16:37:16.098  7006  7027 E DartVM  : WebSocketException: Invalid WebSocket upgrade request
05-26 16:37:16.098  7006  7027 E DartVM  : #0      _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1108)
05-26 16:37:16.098  7006  7027 E DartVM  : #1      _microtaskLoop (dart:async/schedule_microtask.dart:41)
05-26 16:37:16.098  7006  7027 E DartVM  : #2      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
05-26 16:37:16.098  7006  7027 E DartVM  : #3      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99)
05-26 16:37:16.098  7006  7027 E DartVM  : #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)
05-26 16:37:16.098  7006  7027 E DartVM  :
05-26 16:37:16.098  7006  7027 E flutter : [ERROR:../../flutter/runtime/dart_init.cc(123)] Isolate vm-service exited with an error
05-26 16:37:16.098  7006  7027 E flutter : [ERROR:../../lib/tonic/logging/dart_error.cc(16)] Unhandled exception:
05-26 16:37:16.098  7006  7027 E flutter : WebSocketException: Invalid WebSocket upgrade request
05-26 16:37:16.098  7006  7027 E flutter : #0      _rootHandleUncaughtError.<anonymous closure> (dart:async/zone.dart:1108)
05-26 16:37:16.098  7006  7027 E flutter : #1      _microtaskLoop (dart:async/schedule_microtask.dart:41)
05-26 16:37:16.098  7006  7027 E flutter : #2      _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
05-26 16:37:16.098  7006  7027 E flutter : #3      _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99)
05-26 16:37:16.098  7006  7027 E flutter : #4      _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)

Darrens-MacBook-Pro:myapp darrens$ flutter doctor
[✓] Flutter (on Mac OS X 10.11.6 15G1510, locale en-AU, channel master)
    • Flutter at /Users/darrens/flutter
    • Framework revision f68c6fb814 (7 hours ago), 2017-05-25 16:35:38 -0700
    • Engine revision 75c74dc463
    • Tools Dart version 1.24.0-dev.3.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.3)
    • Android SDK at /Users/darrens/Library/Android/sdk
    • Platform android-25, build-tools 25.0.3
    • ANDROID_HOME = /Users/darrens/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] iOS toolchain - develop for iOS devices (Xcode 8.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 8.2.1, Build version 8C1002
    • ios-deploy 1.9.1
    • CocoaPods version 1.2.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Gradle version 3.2
    • Java version: OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Community Edition (version 2017.1.3)
    • Dart plugin version 171.4424.63
    • Flutter plugin version 14.0

[✓] Connected devices
    • Android SDK built for x86 • emulator-5554 • android-x86 • Android 6.0 (API 23) (emulator)

if you setup APN network proxy in emulator, the socket issue disappear

We can't reproduce this and haven't heard any other reports of it. We're going to close this bug, but if you do still experience it please don't hesitate to reopen this bug. Thanks.

I'm getting this error now on my physical iPhone on multiple apps (works fine on Simulator):
[ +203 ms] Error connecting to the service protocol: WebSocketChannelException: WebSocketChannelException: HttpException: , uri = http://<IP_ADDRESS>:8106/ws
[   +3 ms] "flutter run" took 87,076ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:28)
#1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:341)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:256)
<asynchronous suspension>
#3      FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:196)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:194)
<asynchronous suspension>
#5      FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:279)
<asynchronous suspension>
#6      CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:109)
#7      new Future.sync (dart:async/future.dart:222)
#8      CommandRunner.run (package:args/command_runner.dart:109)
#9      FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:162)
#10     run.<anonymous closure> (package:flutter_tools/runner.dart:89)
<asynchronous suspension>
#11     AppContext._run (package:flutter_tools/src/base/context.dart:76)
<asynchronous suspension>
#12     AppContext.runInZone.<anonymous closure> (package:flutter_tools/src/base/context.dart:66)
#13     _rootRun (dart:async/zone.dart:1120)
#14     _CustomZone.run (dart:async/zone.dart:1001)
#15     runZoned (dart:async/zone.dart:1467)
#16     AppContext.runInZone (package:flutter_tools/src/base/context.dart:65)
#17     run (package:flutter_tools/runner.dart:60)
<asynchronous suspension>
#18     main (package:flutter_tools/executable.dart:44)
<asynchronous suspension>
#19     main (file:///Users/frederickcook/flutter/packages/flutter_tools/bin/flutter_tools.dart:16)
#20     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:263)
#21     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:151)

[ +171 ms] ensureAnalyticsSent: 155ms
[   +5 ms] Invalid VMService message data detected: {jsonrpc: 2.0, method: _registerService, params: {service: reloadSources, alias: Flutter Tools}}

Full build log: https://firebasestorage.googleapis.com/v0/b/messaging-testing.appspot.com/o/bugreport.zip?alt=media&token=c45d116d-6a32-464d-b4a8-5e5b0a73a150
Flutter doctor:
Frederick-Cook-Air% flutter doctor

[✓] Flutter (on Mac OS X 10.13.2 17C88, locale en-US, channel master)
    • Flutter at /Users/frederickcook/flutter
    • Framework revision 370c73d9bc (2 hours ago), 2017-12-21 15:02:35 -0800
    • Engine revision 00e9b362d5
    • Tools Dart version 1.25.0-dev.11.0
    • Engine Dart version 2.0.0-edge.075720c352685b6c4fbfa3b6300b270714562f62

[✓] Android toolchain - develop for Android devices (Android SDK 26.0.0)
    • Android SDK at /Users/frederickcook/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-26, build-tools 26.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.2, Build version 9C40b
    • ios-deploy 1.9.2
    • CocoaPods version 1.3.1

[✓] Android Studio (version 2.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Java version OpenJDK Runtime Environment (build 1.8.0_112-release-b06)

[✓] IntelliJ IDEA Community Edition (version 2017.2.6)
    • Flutter plugin version 19.1
    • Dart plugin version 172.4343.25

[✓] Connected devices
    • Frederick Cook’s iPhone • c181836da6febb49dcdbea495dea15b137def3cd • ios • iOS 11.2.1
    • iPhone 7 Plus           • 379327B7-2EFA-45F3-AF2F-828F0BB5458A     • ios • iOS 11.2 (simulator)

Created this as new issues: https://github.com/flutter/flutter/issues/13747

Using Command as Administrator finally solves my problem.
I was on windows 10!

Hi,
I am facing the same issue on Redmi Note 3.
One thing to note here that this happens to be with the sample project only as I created a couple of more projects and things worked quite well along with hot reloading too.
I would suggest that remove everything from main.dart and make a simple app which shows an app widget with just a single text and see if it changes anything.

I've had the same problem for a while using a cheap USB-A - Lightning cable on my iPhone 6S through a moderately priced USB-C dock on my MacBook Pro 2017.
However, in my limited testing, when using an official USB-C - Lightning cable, I've had no problems so far.

For me it was caused by iTunes Wi-Fi sync. iTunes has an option called 'Sync with this iPhone over Wi-Fi'. When I disabled it, everything worked just fine.
To disable the option:

Launch iTunes
Click on the little phone icon on top bar
Scroll down and check off 'Sync with this iPhone over Wi-Fi' under Options section

who can tell me how to solve this problem

i have this problem too!!!

I have the same question.
Error connecting to the service protocol: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:56732/gaNrJOXAKfY=/ws
How to deal ???

i solved problem with using lower android sdk (api 28)

i solved problem with using lower android sdk (api 28)

thank you! I solved this problem too!

如果是在iPhone手机上运行flutter run之后报这个错呢？我应该如何解决呢？我应该如何解决呢？感谢〜

Did you solved this issue?

如果是在iPhone手机上运行flutter run之后报这个错呢？我应该如何解决呢？感谢〜

Did you solved this issue?

有个奇怪的问题，当时我在mac上面开发，重启就好了。。。尴尬

如果是在iPhone手机上运行flutter run之后报这个错呢？我应该如何解决呢？感谢〜

Did you solved this issue?

有个奇怪的问题，当时我在mac上面开发，重启就好了。。。尴尬

重启过无数遍，一直报这个错误，真机不能调试，太难受了

@thief1010 我也是这个问题，现在一直出现

我也是这个问题，搜索半天没解决.

我的是android手机，我发现问题是这样产生的，应用运行的时候，主动点击VSCode中的停止运行；重新运行会出现Error connecting to the service protocol: failed to connect to http://<IP_ADDRESS>:56976/-XvfK3KmCcU=/；重启手机后就能正常使用的，问题是必现的


Translation of custom menu items

Hi,
I am using angular translate and am trying to translate custom menu actions. I can translate all the grid columns as it is supposed to be. I've noticed in ui-grid-menu-button.js in method setMenuItemTitle you are translating only column titles with use of gridMenuTitleFilter (as promise).
Shouldn't gridMenuTitleFilter be used for all menu items? Could you please help me and tell me how can I translate custom menu items' names dynamically?

Can you not translate the title before you provide it to the grid, perhaps by using $translate.instant?  I didn't apply the filter to custom menu items because I thought that people already had control of the titles.

Hi Paul, thank you for your reply. I did what you suggest, but that is only one time deal. Language in the app can be changed dynamically, so if menu title translation is supplied when creating custom menu item, and then language is changed, the translation remains the same. If gridMenuTitleFilter translated all menu items (columns + custom), everything would be fine. When language is changed, column names and menu column names are immediately translated which is perfect. Custom menu items' titles remain the same.

ui-grid doesn't currently support dynamic language translation.  Refer #1583.
The best workaround at present would be to put the grid inside an ng-if, then toggle the ng-if off (which would destroy the grid), wait for a $timeout(0), then toggle the ng-if back on.  That should pick up the new language.

Currently, everything is dynamically translated except custom items. So if I change language, column menu items ('col:' + columnName) are translated in grid, but custom items remain the same. If custom items were reachable by gridMenuTitleFilter I believe it would all be dynamically translated. Anyway, I will try out your suggestion. Thank you for your help.

@cedejic Any luck solving your issue?

Hi c0bra,
sry for not answering before, did not have any luck with this. I still believe gridMenuTitleFilter would be the best way to translate all menu titles.

@PaulL1 @cedejic So should we close this for now as #1583 covers dynamic changes?

On the tutorial http://ui-grid.info/docs/#/tutorial/104_i18n the column menus are not dynamically translated - changing the language does not change the menus.  Are you sure your column menus are changing?
It wouldn't be huge to change custom items to use the filter, so I'll do it, but I doubt it will solve your overall problem.

I am trying to translate grid menu items, in which there are column names. They are changed dynamically, as are headers in columns.
Here is an example http://plnkr.co/edit/nnBaepUGnpZbIEEz6Gsn?p=preview. By default it is in german. Please open grid menu and you will see 2 custom menu items (randomly wrote "QR drucken" and "Optionen") and all the headers that appear in the grid. Then click "QR drucken" and you should get alert with the message "QR drucken".
If you change language to english, all headers in grid and grid menu are translated. 2 custom menu items are not translated, but if you click on them alert will show translated messages. I needed to translate those 2 custom actions.
So I guess those custom menu items can not be translated dynamically as column headers are.
@c0bra you can close this issue if you want. Thank you both for your time and help.

I needed to translate on the fly (without page refresh) those custom menu items such as "sort ascending" or "hide column" as well as "items per page" and such in the pager.
I wrote an hack/workaround directly in the source code so sharing if it might help.
first at grid definition a new event to handle language changed on the fly (for example via angular dynamic locale):
              onRegisterApi: function(gridApi) {

                gridApi.registerEvent('language', 'changed');
                 gridApi.language.on.changed($scope, function(language) {

                       $rootScope.$gridLanguage = language;

                  });

then in a controller after language changed raise that event (in my case on $localeChangeSuccess from angular dynamic locale)  :

            $scope.$on('$localeChangeSuccess', function (e, locale) {

                $scope.$View.GridApi.language.raise.changed(locale);

            });

and here the hacks, where the texts need a refresh, for example adding in uiGridColumnMenu directive link function:
  $scope.$watch('$parent.$root.$gridLanguage', function () {
      if ($scope.$parent.$root.$gridLanguage !== undefined) {
          $scope.menuItems = uiGridColumnMenuService.getDefaultMenuItems($scope);
      }
  });

or the same for uiGridPager
          $scope.$watch('$parent.$root.$gridLanguage', function () {

              if ($scope.$parent.$root.$gridLanguage !== undefined) {
                  $scope.sizesLabel = i18nService.getSafeText('pagination.sizes');
                  $scope.totalItemsLabel = i18nService.getSafeText('pagination.totalItems');
                  $scope.paginationOf = i18nService.getSafeText('pagination.of');
                  $scope.paginationThrough = i18nService.getSafeText('pagination.through');
              }

          });

hi vincenzo.  i have done the suggested code to translate menu items.  i can see in the console that the translation text for the appearing.  I am facing issue as the text is stuck to english on the grid on the page. please could you suggest
Thanks


add DEBUG_TIMESTAMP to decouple timestamps and colors when using DEBUG_COLORS

The only way I have to turn off timestamps ATM is to enable colors with DEBUG_COLORS=1. It would be nice to be able to turn off timestamps and not have to turn on colors.
My use case is a containerized environment where the logging timestamp is handler by whom spawn the processes.

Check out middleware V3 discussion here:
https://github.com/visionmedia/debug/issues/370
In the mean time I will gladly review a PR


⚠ Bofrost.fr has degraded performance

In 0f773c6, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1533 ms

Resolved: Bofrost.fr performance has improved in 91968aa after 311 days, 23 hours, 51 minutes.


Next step

Next dev cycle will bring in:

[ ] batched gemm (postponed from previous cycle, waiting for Sam)
[ ] Graph logical constructs: If, Condition, While, For (not sure)
[ ] SRU
[ ] LSTM

and lots of by-product ops, derived from tasks mentioned above

cc @agibsonccc

I have an idea to let JavaCPP load, collect, and pass around function pointers in a platform agnostic way. It would also let us do without trying to figure out how to link OpenBLAS explicitly with libnd4j.

In the end, I've added a Loader.addressof() method that basically wraps dlsym() and GetProcAddress(): https://github.com/bytedeco/javacpp/commit/6aafacfcd608a2e82b27af1ead054009c608b06c
It lives with other platform-specific features, and we might as well have all those in the same place... I've tested it on Linux, Mac, and Windows, and it works pretty well, for example:
System.out.println(Loader.addressof("cblas_sgemm"));
System.out.println(Loader.addressof("cblas_dgemm"));
System.out.println(Loader.addressof("cblas_sgemm_batch"));
System.out.println(Loader.addressof("cblas_dgemm_batch"));

prints outs something like the following when MKL is loaded:
org.bytedeco.javacpp.Pointer[address=0x7f4be374c640,position=0,limit=0,capacity=0,deallocator=null]
org.bytedeco.javacpp.Pointer[address=0x7f4be3745380,position=0,limit=0,capacity=0,deallocator=null]
org.bytedeco.javacpp.Pointer[address=0x7f4be3749af0,position=0,limit=0,capacity=0,deallocator=null]
org.bytedeco.javacpp.Pointer[address=0x7f4be3742820,position=0,limit=0,capacity=0,deallocator=null]

When MKL isn't loaded, the last 2 are just null. So, we can simply pass them to some init function of libnd4j, and we're done.

Hmm, that's very interesting approach. It should work like that i think

we build list of "desired extern functions".
we check their availability at libnd4j start time, if they are available - that's one story, if they are not available - that's another story
we allow to pass pointers from nd4j, to enforce use of specific methods at libnd4j

How do you check if they are available? Maybe the DLLs are still in JAR files...

I need to check for their availability in runtime, i.e. for running tests. So i'll be checking them the same way i did earlier for omp_set_num_threads etc.

Yes, you could do it that way for tests, it doesn't need to be part of libnd4j proper.

It's only the matter of time, when we'll want standalone libnd4j execution, or compilation via LLVM for weird devices available out there. So yes, i want this approach in c++ too. Will be cheaper to build it in right now, then to hack for it later.

Java can run on a lot of weird devices too you know, for example: https://github.com/ReadyTalk/avian  But this is really just politics at this point, so whatever.

Road to LSTM turns out to be long. Another set of ops, originally not planned for this cycle added:

fill_like
size
rank
one_hot
square
rsquare
floordiv
truncatediv
strided_slice
slice
expand_dims

cc @agibsonccc


Motion detection second

@mosic why?

@eugenehp All the changes are in the repo now, the PR got outdated. If you see something important that's not it, please create a new one.

ok, thanks. @mosic


[Fix-7459][Sqoop] running error in parallel

Purpose of the pull request
close #7459

Codecov Report

Merging #7752 (cb67743) into dev (d7d13f7) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #7752      +/-   ##
============================================
- Coverage     40.89%   40.88%   -0.02%
+ Complexity     3668     3666       -2
============================================
  Files           642      642
  Lines         26706    26706
  Branches       2997     2997
============================================
- Hits          10922    10919       -3
- Misses        14736    14741       +5
+ Partials       1048     1046       -2

Impacted Files
Coverage Δ

...org/apache/dolphinscheduler/remote/utils/Host.java
37.77% <0.00%> (-2.23%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.11% <0.00%> (-1.41%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update d7d13f7...cb67743. Read the comment docs.

@songjianet @Wangyizhi1 please review.thanks.


tiltfile: support regex in k8s_kind and k8s_image_json_path

a couple of use cases:

When templating entity names, the tiltfile will have to duplicate the templating logic in order to pass the entity name to k8s_image_json path. e.g., in the simple Servantes case, the tiltfile would need username() + "-vigoda". This allows the user to pass name=".*-vigoda".
When specifying apiVersion, the user might care about the group but not the version. This allows the user to specify, e.g., fission.io/.*.

nice! should FilterYaml support regexes too? (and use k8sObjectSelector under the hood?) if it's easy and you could do that, great

done


Inserts ^] character instead of whitespace when used with multicursors.nvim

Here is an archive: ultimate-autopair.zip
You can test the bug (with docker, docker compose, just):

unzip ultimate-autopair.zip
cd ultimate-autopair
just
Press ia
See error

If instead just wo is run (step 3), then the ultimate-autopair.nvim plugin won't be executed and a normal whitespace will be inserted in step 4.
just:

just wo:

This is a problem of multicursors.nvim not supporting the ctrl-] key. The ctrl-] key expands an abbreviation if detected, otherwise does nothing.
(:help i_ctrl-]) The reason why ultimate-autopair uses ctrl-], is cause it uses expr-mappings, which require an explicit ctrl-] to expand abbreviations.
If you don't use the space feature then disable it: add this to config: space={enable=false}

This is a problem of multicursors.nvim not supporting the ctrl-] key.

Is i_CTRL-] supposed to be supported by any plugin by default? If not, then you are saying that every other plugin must also (explicitly) support i_CTRL-] and I reckon a lot of authors/maintainers won't agree with you. Although I really don't know how either of two pluings are made, but if my guess is correct, then it really isn't the problem of multicursors.nvim, but rather of plugins, that (somehow/in some way) use the i_CTRL-], i.e., ultimate-autopair.nvim.

The problem is, I can't really do anything about it. Either ultimate-autopair.nvim has abbreviation support and breaks plugins that don't support i_CTRL-] (and tries to emulate insert-mode). Or it doesn't have abbreviation support and doesn't break those plugins.
Also, it is probably a Vim bug that CTRL-] activates InsertCharPre as other similar keys (like i_ctrl-y) don't activate InsertCharPre.
(multicursors.nvim (and other similar plugins) use InsertCharPre to get the typed character)

It seems that https://github.com/smoka7/multicursors.nvim may actually want to support abbreviations if possible, so making i_CTRL-] not trigger InsertCharPre actually makes it harder to support that.

With the release of neovim 0.10, the thing that broke this has been fixed inside neovim. (see https://github.com/neovim/neovim/commit/da541c0af1ef6589548140ebce133ad3fecf6d42)
As I don't see any way of fixing this issue in the plugin itself (without some FFI nonsense) (to make it not break in neovim 0.9), I'll be closing this issue.

I tested the reproduction example in v0.10.0 and it werks! Thank you! Now I can finally use this plugin again!) (I already forgot how awesome it was.)


read_until seems not to work correctly on Windows 11

Using the following code:
 let mut reader = BufReader::new(connection);
 let mut my_str = vec![];

if let Err(error) = reader.read_until(0xA, &mut my_str) {....}

Where I am reading some data from a serial connection. On Linux & Mac I see the read_until function executing quite fast, but on Windows (11) I see the serial connection's timeout (500ms) is what is ending the read_until command -- Which does then proceed to do the correct thing after with the correct value in the buffer. It is just comparatively slow.
An example of the output I am seeing:
Successfully sent write to serial: CONFIG
Successfully read from serial "0\n"
Successfully sent write to serial: ILLUMDAY
Successfully read from serial "10\n"
Successfully sent write to serial: ILLUMNIGHT
Successfully read from serial "25\n"
Successfully sent write to serial: ILLUMMODE
Successfully read from serial "0\n"
Successfully sent write to serial: ECHO
Successfully read from serial "0\n"
Successfully sent write to serial: ANIM
Successfully read from serial "0\n"

Is this some kind of bug with Windows or am I missing something obvious? Thanks for any input!

What is the type of connection? This crate does not provide networking primitives and does not have OS-specific code, so if this is a library-side issue, it is likely a problem with the crate providing the type of connection.

The connection is a serialport connection


feat: add handlebars 1.0.0 release

update handlebars with release 1.0.0

:tada: This PR is included in version 1.36.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Laravel 10 support

Added support for Laravel 10.
Fixes #210. Replaces PR #211.
Description

Checklist:

[x] I've added tests for my changes or tests are not applicable
[x] I've changed documentations or changes are not required
[ ] I've added my changes to CHANGELOG.md

@Haeyzed please wait for the release.

@daniser sorry, how long we need to wait?

@daniser sorry, how long we need to wait?

You don't need to.
https://github.com/PHP-Open-Source-Saver/jwt-auth/releases/tag/2.1.0


Add support for PostgreSQL datatype jsonb

Fixes #628.

Codecov Report

:exclamation: No coverage uploaded for pull request base (dev@84f0d43). Click here to learn what that means.
The diff coverage is 100%.

@@          Coverage Diff           @@
##             dev     #714   +/-   ##
======================================
  Coverage       ?   68.25%
======================================
  Files          ?      455
  Lines          ?     8727
  Branches       ?     1415
======================================
  Hits           ?     5957
  Misses         ?     2448
  Partials       ?      322

Impacted Files
Coverage Δ

.../core/parsing/parser/clause/WhereClauseParser.java
92.74% <100%> (ø)

...arsing/parser/clause/InsertValuesClauseParser.java
92.59% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 84f0d43...936c2dc. Read the comment docs.


Issues with the client when performing a failover in ElastiCache

Describe the bug
There is a problem when performing a failover in Elasticache; the instances experience a CPU spike and stop responding. I have an application that is essentially a proxy, which consists of 4 m6g.2xlarge instances. In my first test with 400k RPM, all instances stopped responding when the failover was executed. With 100k RPM, 3 out of 5 instances stopped responding. With 400k rpm, the CPU of the instances (before the failover) was at 30%, with 100k rpm at 10%. None of the instances had memory issues.
I performed the same test using Lettuce (https://github.com/redis/lettuce), and although there is also a spike in CPU usage, all instances continued to function correctly.
Expected Behavior
The instances must be able to continue handling the requests.
Current Behavior
The instances experience a CPU spike and stop responding to the health check; therefore, they are replaced.
Reproduction Steps
Translate to English:
Having an application that is basically a proxy, with 400k RPM, and performing a failover in ElastiCache.
Possible Solution
No response
Additional Information/Context
No response
Client version used
Java 1.0.1
Engine type and version
Redis 6.2.6
OS
Linux
Language
Python
Language Version
Java 17
Cluster information
Cluster mode: one node with replica
Logs
No response
Other information
In "Language," select Python, but the application is in Java (there is no option to select Java).

@ajzach Please elaborate on the following:

ElastiCache cluster details - Number of shards, replicas, type of instances, etc?
Workload details - types of commands, key space, data sizes, etc?

Hi @ikolomi

1 shard with 1 replica, cache.m6g.large and TLS
It always executed the same command with TTL 60s: SET key1 xxxxxxxx

@ajzach I am trying to reproduce, meanwhile w/o success - how do you trigger the failover? aws elasticache test-failover  ?

@ajzach
It seems that we will need more info on your case since i am not able to reproduce the problem.
What i did

Created an EC cluster with one shard and one replica. Version: 6.2.6, TLS, type: cache.m6g.large
Used c5.xlarge as a loader instance
Modified JAVA benchmark app (java/benchmarks/src/main/java/glide/benchmarks/BenchmarkingApp.java) to do only SETS with the params as you explained above and accept the number of commands via --minimal param
Run the benchmark using with 400 connections over 8 threads, achieving ~150K TPs

./gradlew run --args="--resultsFile=output --dataSize 16 --concurrentTasks 8 --clients glide --host $CLUSTER_ENDPOINT --clientCount 400 --clusterModeEnabled --minimal 20000000 --tls"

Triggered failover using:

aws elasticache test-failover --replication-group-id $CLUSTER_ID --node-group-id "0001"

Observed the benchmark app completed w/o increasing the CPU
Rerun benchmark, during failover number of times, no CPU hogging, instance is responsive
Rerun benchmark after the failover complete, no CPU hogging, instance is responsive. Got the same TPS as from step (4)

Next steps
We will need some more details on your workload:

Per instance, how many connections do you create
Per instance, how many processes/threads use the connections
What are the setting for the connections (GlideClientConfiguration)
How does the code handles exceptions? Are the connections recreated?

Also, can you share your code? (at least the portions that deal with error handling and reconnects)
It could be really helpful to reproduce the issue

One connection/client per instance
It is a Spring application, I use the default configuration, I assume there are 200 threads.

GlideClusterClientConfiguration.GlideClusterClientConfigurationBuilder<?, ?> configBuilder =
        GlideClusterClientConfiguration.builder()
            .address(NodeAddress.builder().host(host).port(conf.getPort()).build())
            .useTLS(true)
            .readFrom(ReadFrom.PRIMARY)
            .requestTimeout(2000);

      ServerCredentials credentials =
          ServerCredentials.builder().username("user").password("pass").build();
      configBuilder.credentials(credentials);

      return GlideClusterClient.createClient(configBuilder.build()).get();

No, we catch the exceptions but do not recreate the connections; we always use the same client.

Let me see if I understand - your application that acts as a proxy, it has 200 threads that serve clients requests which are tunneled over a single Glide connection? at 400K TPS and 4 instances , each instance serves 100K TPS?

Exactly, a single Glide client instantiated per node, with the default configuration in Spring Boot (according to the documentation, 200 threads by default), 4 instances in total, 400k rpm in total, 100k rpm per instance.

No, we catch the exceptions but do not recreate the connections; we always use the same client.

Is it possible that the client is closed during failover and all you need to do is re-create the client?  You can follow examples to see how to handle exception handling and re-create the client if is loses connection.  This could happen during failover, and all you need to do is re-establish the client connection.

Could you check what application is causing the CPU spike?  My concern is that your 400K requests (by 4 separate nodes) are being pushed asynchronously to the client and each has a request timeout of 2 seconds.  This could cause a CPU spike on the client-side, while it waits for the failover to complete.

100k rpm per instance

Can you describe a little how you are setting up 100k command requests?  What does rpm mean?  Requests per minute?

Is it possible that the client is closed during failover and all you need to do is re-create the client? You can follow examples to see how to handle exception handling and re-create the client if is loses connection. This could happen during failover, and all you need to do is re-establish the client connection.

@acarbonetto
The client should not close during failovers; if it does, this likely indicates a bug. Glide is designed to manage connection errors internally. If the client closes, it suggests a significant underlying issue. Have you been able to reproduce this problem?

 What does rpm mean? Requests per minute?

We have a tool that allows us to generate traffic, rpm = requests per minute.

Could you check what application is causing the CPU spike? My concern is that your 400K requests (by 4 separate nodes) are being pushed asynchronously to the client and each has a request timeout of 2 seconds. This could cause a CPU spike on the client-side, while it waits for the failover to complete.

It is correct, there is an increase in CPU usage due to the failover, but it does not reach 50% and it lasted only a few seconds. We use instances with 8 cores and 30GB of RAM. The problem is that the same application using Lettuce under the same conditions did not have issues.
With regard to creating the client again, I agree with @barshaul that it's something the client should handle internally.
I'm available to take any test you need.

the instances experience a CPU spike and stop responding

Are you observing TimeoutExceptions like https://github.com/valkey-io/valkey-glide/blob/main/examples/java/src/main/java/glide/examples/ClusterExample.java#L124-L128?

@ajzach ,
We have not tested yet with Spring boot. Can you please share more code samples for us to recreate. Maybe the fact that there are 200 threads causes some thread starvation.
If you can share the code or some more details on your spring application we will recreate.
I don't think that the load is the issue as @ikolomi tested 9,000,000 RPM.

Hello @asafpamzn, I am going to run tests with a limited number of threads to see if that is the issue. As I mentioned above, under the same conditions, Lettuce isn't causing any problems.

I ran some tests, and it only worked correctly with 32 threads. Using 40 threads, the application crashes, even when lowering the timeout to 500ms.

Thanks a lot @ajzach for helping us to improve GLIDE,
The problem might be that the GLIDE core (rust) thread is starved. @acarbonetto can you please check it out? Try to recreate with Spring and many threads.
@ajzach, is there a way for you to monitor the rust core threads and maybe give the thread ID real time priority (if you are using Linux).
@acarbonetto can you please guide @ajzach

@ajzach we configured a custom thread executor for performance testing, that re-queues blocked threads. That way you don't need to limit the number of threads.
see: https://github.com/valkey-io/valkey-glide/blob/main/java/benchmarks/src/main/java/glide/benchmarks/utils/Benchmarking.java#L116-L131
            ExecutorService executor =
                    new ThreadPoolExecutor(
                            0,
                            Integer.MAX_VALUE,
                            60L,
                            TimeUnit.SECONDS,
                            new SynchronousQueue<Runnable>(),
                            (r, poolExecutor) -> {
                                if (!poolExecutor.isShutdown()) {
                                    try {
                                        poolExecutor.getQueue().put(r);
                                    } catch (InterruptedException e) {
                                        throw new RuntimeException("interrupted");
                                    }
                                }
                            });

@ajzach , in order to speed up the process we will be happy to meet and schedule a debug session.
Sadly we cannot reproduce the issue.

@ajzach , resolving the issue since there was no update.
Feel free to reopen it


refactor: use esbuild instead of bili

close #19

:tada: This PR is included in version 1.5.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


refactor(Search): Remove address search component and logic

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/0/1205209947864752

LGTM


Setting up of custom field types

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[x] support request

Current behavior
It is possible to wrap a formly type to add custom styling\layouts, but it is not possible to replace the formly type as removing the <template #formController></template> from the wrapper causes issues. This then also causes issues with formly's internal validation as it no longer seems to know how to validate fields. It would appear that the validation functionality is more reliant on the field itself as opposed to the values in the model itself.
Expected behavior
In formly for AngularJS 1 it is possible to configure SetTypes which then completely remove and replace the default formly field types. Is it possible to do the same for ng-formly for Angular2? I can't find any documentation or examples on this...
Minimal reproduction of the problem with instructions
My scenario is this. One of the things I want to do is replace all <select></select> types with PrimeNG's <q-dropdown><q-dropdown>.
Code sample
My wrapper:

    {{to.label}}

            <template #fieldComponent>
            </template>

I would rather use this:

    {{to.label}}

but that causes errors are formly doesn't know what to do with its renderer.
Also, as mentioned above, this current setup always returns my forms as valid = false, so it completely breaks formly's validation engine... Really not ideal, so I hope someone  can assist with a better solution
What is the motivation / use case for changing the behavior?
The original ability to completely replace a field is far more powerful than only being able to wrap it with your own elements.
Please tell us about your environment:
NPM, .Net Core, Angular2, Windows 2014 server, Webpack

Angular version: 2.0.X
2.0.0

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
all

Language: [all | TypeScript X.X | ES6/7 | ES5]
Typescript 2.3.3

Node (for AoT issues): node --version =   6.9.1

Is this something that you are looking for?? https://plnkr.co/edit/PuTTvr8z0isAEvUA9xj6?p=preview

That looks perfect! Thank you! :D


Add Chromium vulnerabilities

The list of vulnerabilities was obtained by searching for
'cpe:/a:google:chrome' in the 'vuln:vulnerable-software-list' element of
the NVD data feed files. The bounty information was identified using the
data collected for the CVSS versus Bounty Research project. Finally, the
date of publication of a blog post was identified using the Google
Blogger API.

The tests run for me - I'll fix the bundler issues myself. I merged it in with ecabd5c82c19889f690490a0c9274f9579d07bc0. Thanks!


add random_brightness in keras/preprocessing/image.py

It is easy to add random brightness, can you add these augmentation method ?

@fchollet I'm going to clean this up, should I submit a new PR or suggestion changes?

@fchollet What do you mean by

Such an argument should be called brightness_range and default to 0 (no change), for consistency. E.g. brightness_range=0.2 should change brightness somewhere between -20%/+20%.

Wouldn't that defeat the purpose of random


Invite all feature for events

We want to add a feature where in the events section you can invite all in the events section, and it will send an email to all members of a Dojo notifying them that there is a new event live on the Dojo.
Wireframe to follow.

This will be very helpful as we are currently sending out a separate email from our gmail account to all our members once we publish the event. Thanks!

Its definitely the feature I want most for our Dojo :)

If implementing this (which I desperately need as it takes ages picking the right users for the right ticket types otherwise) - could we look at matching invite ticket types to member/user types - e.g parents to a parent ticket, ninjas to a ninja ticket etc.

@hippyjim we plan on this being a notifier so you do not have to pick which category to match and the user will self identify!

Also suggested by Liam Friel, Bray Dojo, was a 'Leave Dojo' option at the bottom of this notification email. I think this would be super useful so members can easily navigate and self exclude themselves when they leave a Dojo!

:+1:


Add support for created_at/updated_at/deleted_at columns

Version
1.11.0
What happened?
Lots of ORMs automatically add handling for the row update tracking columns created_at etc.
It would be nice to have a way to either enforce or auto-generate the values of those columns without having to manually type them in all relevant queries.
Schema:
CREATE TABLE stuff (
    id bigserial PRIMARY KEY,
    name varchar(12),
    created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP WITH TIME ZONE
);

Queries:
-- name: CreateStuff :one
INSERT INTO
    stuff (name)
VALUES
    ($1) RETURNING *;

-- name: UpdateStuff :exec
UPDATE
    stuff
SET
    name = $1;

Strawman proposals:
Proposal 1: Enforcement of inclusion of columns at compile time
-- compiler errors
-- name: CreateStuff :one
INSERT INTO
    stuff (name)
VALUES
    ($1) RETURNING *;

-- name: UpdateStuff :exec
UPDATE
    stuff
SET
    name = $1;

-- valid
INSERT INTO
    stuff (name, created_at)
VALUES
    ($1, $2) RETURNING *;

UPDATE
    stuff
SET
    name = $1,
    updated_at = $2;

Proposal 2: Autogen of columns
-- valid
INSERT INTO
    stuff (name)
VALUES
    ($1) RETURNING *;

UPDATE
    stuff
SET
    name = $1;

-- generated
INSERT INTO
    stuff (name, created_at)
VALUES
    ($1, $2) RETURNING *;

UPDATE
    stuff
SET
    name = $1,
    updated_at = $2;

Relevant log output
No response
Database schema
CREATE TABLE stuff (
    id bigserial PRIMARY KEY,
    name varchar(12),
    created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
    deleted_at TIMESTAMP WITH TIME ZONE
);

SQL queries
No response
Configuration
No response
Playground URL
https://play.sqlc.dev/p/ca838d66e9ad7a5592a5e41604a65468fbc46b440a06c94db638b84a4be4af83
What operating system are you using?
No response
What database engines are you using?
No response
What type of code are you generating?
No response

created_at works automatically due to the DEFAULT CURRENT_TIMESTAMP, right?
What are you hoping will happen for deleted_at?
Have you considered using a trigger to automatically update updated_at?

@Jille i'd like the ability for the app to actually put in both update/create timestamps, rather than having the database populate that information.

+1
Hope this will be done soon :)


fix for broken filter view, fixes #244

Going to hotfix push when tests pass to resolve brokenness in app.


Dashboard connectivity

Hi I am able to run collectors , mngodb , api and UI successfully. Once the dashboard is up I am not able to see user details and also i am not able to create dashboard. The error i am getting is "Error creating dashboard , Change title and try again" . I have tried so many names but still I am facing this. Please help here as i didn't find any errors in logs...

Are you able to create a user and login successfully?

Hi,
Thank you for response.
I am able to create user and able to login. But while I am creating dashboard template we are getting above error. when we analyze with F12 we can see that it is giving unauthorized error. And we have changed the api port to 8090 and also we have changed the places in UI where 8080 has configured.

@Hima777  - share your properties file and api log.

Properties file:
#dashboard.properties
dbname=dashboarddb
dbusername=dashboarduser
dbpassword=altria123
dbhost=localhost
dbport=27017
dbreplicaset=false
dbhostport=localhost:27017,<IP_ADDRESS>:27017,<IP_ADDRESS>:27017
server.contextPath=/api
server.port=8090
corsEnabled=false
auth.expirationTime=20
Api logs: Attaching the api log
api_log.txt

@Hima777  - which url is throwing unauthorized error

@nireeshT  http://IP:3000/#/dashboard , I am trying to create dashboard once i am login but It is giving above error and it getting logout automatially

@Hima777  - Please rebase to latest code base

@Hima777  - Reopen if issue is not resolved.

HI I am getting similar error , even after changing the code.
Please give me a solution

hi amoghntt
You can try the below method
cd <Hygieia_folder/UI>
in gulpfile.js add port.
browserSync.init({
port:80,
server: {
baseDir: hygieia.dist,
startPath: '/',
middleware: [proxyMiddleware]
},
ghostMode: ghostMode
});

I tried it but still getting the same error "Error creating dashboard. Change title and try again." while creating new dashboard

@amoghntt If you have mentioned auth.expirationTime in api property file, comment it. This has fixed the issue for me
Thanks,
Hima

Hi,
I do not have the auth.expiration time in my properties file.PLease find the details
Dashboard.properties
dbname=dashboarddb
#dbusername=[MogoDb Database Username, defaults to empty]
#dbpassword=[MongoDb Database Password, defaults to empty]
dbhost=localhost
dbport=27017

@Hima777  after changing the dashboard .properties file as per yours ..
my tomcat in api log is still showing connections as port 8080,But in properties file it is 8090.
My api log last few lines:
2017-08-15 11:28:43,843 INFO  o.a.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8080"]
2017-08-15 11:28:43,858 INFO  o.a.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8080"]
2017-08-15 11:28:43,869 INFO  o.a.tomcat.util.net.NioSelectorPool - Using a shared selector for servlet write/read
2017-08-15 11:28:43,898 INFO  o.s.b.c.e.t.TomcatEmbeddedServletContainer - Tomcat started on port(s): 8080 (http)
2017-08-15 11:28:43,900 INFO  com.capitalone.dashboard.Application - Started Application in 11.335 seconds (JVM running for 12.308)


upd to rc.1

upd to rc.1

Hey @born2net, I've been looking through your pr. Thanks for your effort here, but your pr is based on an older version of the ng2-bs3-modal. I've made some pretty significant changes since 0.2. But looking at your changes gives me what I need to update to rc1. I'll probably push out an update later today.

ha ok I didn't realize, ok so ya just copy paste what you need and I will prob just delete my repo once yours is up to rc.1

Sounds good, thanks!


Create a new pull request by comparing changes across

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.1%) to 95.58%

Files with Coverage Reduction
New Missed Lines
%

js/src/dom/event-handler.js
1
90.61%

js/src/util/focustrap.js
1
91.67%

Totals

Change from base Build<PHONE_NUMBER>:
-0.1%

Covered Lines:
2027

Relevant Lines:
2081

💛  - Coveralls


Global option

Hi,
Just wondering if you'd be open to adding / accepting a pull request to also set the global asdf version?
Something like:
- asdf:
  - plugin: python
    url: https://github.com/tuvistavie/asdf-python.git
    global: 3.7.4
    versions:
      - 3.7.4

Thanks for the plugin.

Sure! Thanks!


ISSUE: Select2 missing bootstrap theme

The bootstrap theme is missing for the Select2 plugin meaning it does not display properly. Suggest adding a line to include it if using select2.

https://github.com/select2/select2-bootstrap-theme

@REJack any idea?

This theme isn't included in AdminLTE v2, but I can include it with the next release.


link to virtualenv corrected

It linked to https://virtualenv.pypa.io/en/stable/installation/ which gave a 404, link has been changed to https://virtualenv.pypa.io/en/stable/installation.html

Thanks @wijnandb!


Separate shows into light shows and media shows

Right now both types of components are in both types of shows, and it's really confusing.

Done in MPF 0.17


feat(cactus-plugin-ledger-connector-fabric): support delegated (offline) signatures

Add new RunDelegatedSignTransactionEndpointV1 endpoint for delegated / offline signing.
Takes signerCertificate and signerMspID, uses signCallback on connector to sign messages.
Sign must be implemented by a user, can contain any logic
(contacting 3'rd party services, reading from secure sources, etc…).
Interface is similar to transact. Supports private transactions.
Refactor transact endpoint: Use common logic for handling response format. with delegated transact
Refactor logic of choosing ednorsers in transact endpoint. Previously both endorsingPeers
and endorsingParties were selecting organizations in sligly different way under different
circumstances. Now endorsingPeers selectes peers and endorsingOrgs selects orgs for all
cases (query, send, privatesend) in both transact and transact with delegated sign.
This is more consistent and predictable.
Add new socketio endpoint SubscribeDelegatedSign for monitoring new blocks with delegated sign.
Use common error handling in getblock, transact and transact delgated endpoints.
Add functional tests for delegated signing feature.

Depends on #2598
Signed-off-by: Michal Bajer<EMAIL_ADDRESS>

@petermetz I'm afraid the VM is running out of space after I've added new tests, any suggestions how we can fix this? :)
See messages before failing tests:

2023-09-18T12:32:09.4642674Z ##[warning]You are running out of disk space. The runner will stop working when the machine runs out of disk space. Free space left: 40 MB

2023-09-18T13:32:01.0022613Z [2023-09-18T13:32:00.902Z] DEBUG (FabricTestLedgerV1): [ghcr.io/hyperledger/cactus-fabric2-all-in-one:2023-08-17-issue2057-pr2135] 'time="2023-09-18T13:32:00.900994274Z" level=error msg="Error writing log message" driver=json-file error="error writing log entry: write /var/lib/docker/containers/91c20802ab2f186b640da0a53d461b665ab24d386f4a9d284eb308686f7f06dd/91c20802ab2f186b640da0a53d461b665ab24d386f4a9d284eb308686f7f06dd-json.log: no space left on device" message=\r\n'

Test affected:  plugin-ledger-connector-fabric-0

@petermetz I'm afraid the VM is running out of space after I've added new tests, any suggestions how we can fix this? :)
See messages before failing tests:

2023-09-18T12:32:09.4642674Z ##[warning]You are running out of disk space. The runner will stop working when the machine runs out of disk space. Free space left: 40 MB

2023-09-18T13:32:01.0022613Z [2023-09-18T13:32:00.902Z] DEBUG (FabricTestLedgerV1): [ghcr.io/hyperledger/cactus-fabric2-all-in-one:2023-08-17-issue2057-pr2135] 'time="2023-09-18T13:32:00.900994274Z" level=error msg="Error writing log message" driver=json-file error="error writing log entry: write /var/lib/docker/containers/91c20802ab2f186b640da0a53d461b665ab24d386f4a9d284eb308686f7f06dd/91c20802ab2f186b640da0a53d461b665ab24d386f4a9d284eb308686f7f06dd-json.log: no space left on device" message=\r\n'

Test affected: plugin-ledger-connector-fabric-0
(btw need to fix cactus-cmd-api-server test as well before merge)

@outSH Set the env var FREE_UP_GITHUB_RUNNER_DISK_SPACE_DISABLED to false in the job's environment variables and that will free up about 20 gigs of space. This used to be the default for the CI script but it takes minutes to complete so now we only turn it on when necessary.


Change ports

Is there an easy way to change ports inside the code - both client and server? I looked at it, but didn't able to find anything specific. I would like to dockerize both client and server, and make sure ports are inside docker-composer file.
Thanks!

Yes, you can run the app like with custom port:
Replace this:
app.run(host="<IP_ADDRESS>", debug = False)
with this:
app.run(host="<IP_ADDRESS>", port=3001, debug = False)
And update 5000 to 3001 in client side.

Thanks @nesimtunc! This will solve server side port configuration. How about client side port config?

Hi @angel1st I don't know about next.js but here's what I found: https://nextjs.org/docs/pages/building-your-application/upgrading/version-11#port-is-now-supported-for-next-dev-and-next-start


FORTECH-61 Update ImageItem with text over image

Added 'childrenOverImage' prop to display caption over image
Enact-DCO-1.0-Signed-off-by: Adrian Cocoara<EMAIL_ADDRESS>

Please update the description for childrenOverImage which might be captionOverImage.

Hello @adrian-cocoara-lgp
I hope I could review the less files later. Please check my comments above first?


Notebook Output cells not updated when calling appendOutput and awaiting

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: Insiders
OS Version: Mac

Steps to Reproduce:
Use the following code to append an output item:
const task = this.controller.createNotebookCellExecution(cell);
task.start();
await task.appendOutput(new NotebookCellOutput([NotebookCellOutputItem.stdout('1\n')]));
// At this point the number of outputs is `0`
console.log(task.cell.outputs.length);

@roblourens /cc

/verified


Align Colors of the Properties panels

What should we do?
The Forms property panel has a grey background, while every other Properties panel uses white as a background. We should align the appearance of the properties panel.

Why should we do it?
To provide a consistent UI to the user. This will also make new features and designs easier as we don't have to account for 2 cases.

Forms Editor shell is special since we need to maintain contrast to the white form background - we will tackle this after updating the BPMN and DMN shell in Web Modeler. We should not change it now in Desktop Modeler unless we now what the end result should look like. We did it on purpose to establish the contrast


Option to exclude some parts of the stack trace

It would be nice for the VS Code extension if we could exclude some parts of the stack trace in the output. In particular, say I execute @profview foo(), then it would be nice if we found a way so that anything above foo() from the stack trace is actually not inlcuded in the output. Right now we get a lot more:
In this example:

All the first entries up to and including the include_string are really part of the VS Code extension and would ideally not be shown.
@vchuravy do you think that can be done somehow?

We can filter the VSCode internals out before passing a trace to this package, I think.


Do not run yaourt as root/sudo

This is not recommended, in fact it will fail as its passed to makepkg which will no longer make packages even with --asroot.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:flaccid/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

LGTM, thanks!

LGTM


Bug: search bar X icon cause the bar to jump

When text is entered into the search bar, the "X" button causes the bar to "jump". Preferably, this would be smooth. For example, on Twitter when searching, the "X" button just appears within the search bar on the right without resizing the search bar itself

https://github.com/open-sauced/app/assets/23109390/a0fafbc0-4ddd-42dd-92fb-634a4f2ddc1b
Originally posted by @jpmcb in https://github.com/open-sauced/app/pull/1698#pullrequestreview-1632017645

Hi @OgDev-01, is this issue available for me to take?

Hi @OgDev-01, is this issue available for me to take?

Yes @sdolmo, you can also take a quick read at our contribution guide 👍

Great to know! Thank you @jpmcb

Closing this as completed from https://github.com/open-sauced/app/pull/1735

Hey @OgDev-01,
I'm looking at the Insights repository page and wondering if this change took effect on the search input element. I cleared the cache in my browser and tested the change on a different browser. It looks like the site is still referencing the old styles. Will this change be released later?

@sdolmo - #1735 has not landed on the production deployment yet. We do frequent releases and you'll see a comment in the PR from our bot informing you the change has landed.
New changes on the beta branch should always land in beta and looks like your change is working there: https://beta.insights.opensauced.pizza/javascript/repositories

Got it, thank you!


Doesnt work with Cheat Engine 7.5

After building release and dragging the dll into my main Cheat Engine plugin directory, I get an error "The plugin cannot be loaded: 126"
My steps were as follows:

Download files
Build Release
Realize I needed leechcore.lib,vmm.lib, and lua53-64.dll.  After adding those 3 files to the directory, I successfully built and constantly get this error.  Any help would be appreciated as I'm very excited to get this working.

Make sure you've included FTD3XX.dll, VMM.dll, Leechcore.dll ect, inside the CheatEngine folder aswell.

Make sure you've included FTD3XX.dll, VMM.dll, Leechcore.dll ect, inside the CheatEngine folder aswell.

Added the 3 listed DLL's to both the root CE folder and the plugin folder, has now changed my error from 126->127. Unsure if I'm missing some as you said "etc".

I personally have added symsrv.dll, vcruntime140.dll, vmm.dll, FTD3xx.dll, leechcore.dll inside cheatengine.exe folder. not sure what error 127 is, but error 126 means missing dependencies

This project doesn't compile and has a lot of errors

Then maybe compile using Release, and not Debug.

I personally have added symsrv.dll, vcruntime140.dll, vmm.dll, FTD3xx.dll, leechcore.dll inside cheatengine.exe folder. not sure what error 127 is, but error 126 means missing dependencies

Added all the requirements you listed using old versions from my own projects so I assume that was causing error 127. Heading to ulfrisks git and grabbing the latest files fixed this issue.

I personally have added symsrv.dll, vcruntime140.dll, vmm.dll, FTD3xx.dll, leechcore.dll inside cheatengine.exe folder. not sure what error 127 is, but error 126 means missing dependencies

Added all the requirements you listed using old versions from my own projects so I assume that was causing error 127. Heading to ulfrisks git and grabbing the latest files fixed this issue.

Happy to hear you managed to figure out the issue.

Then maybe compile using Release, and not Debug.

You are right, I have successfully compiled and used it. However, scanning a large amount of data can cause CE to crash

Then maybe compile using Release, and not Debug.

You are right, I have successfully compiled and used it. However, scanning a large amount of data can cause CE to crash

That's because DMA is inheritely slow, you just gotto wait for it to finish scanning all data. I'll be closing this issue now as it's original issue has been solved.


Gmail Upload Nits

Gmail Upload improvements: Fix the Google auth flow interface for Gmail upload. You have to click sign in twice due to redirects, vs that button should just be on the /contribute page and not redirect even once. It should also callback to https://archive.prove.email/upload_gmail, but currently it goes to https://registry.prove.email. We should also put the date and time of the email we are currently analyzing in the printed lines as we iterate over each page. Related is also #106 with missing emails, but that's a separate issue.

Hi @Divide-By-0 , I can look at these if you report them as two separate issues. I don't want to discuss or fix two different problems in the same issue because it just gets too confusing and messy,

@foolo good call, I've made them two separate issues!