Attempting to delete whole words throws error

Steps to Reproduce

Execute flutter run on the code sample
Write text in the Field
Use the key Control and Backspace

Expected results:
The full word gets deleted
Actual results:
An error is thrown by flutter

Code sample

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(title: 'MyApp',home: HomePage());
  }
}

class HomePage extends StatelessWidget {
  const HomePage({super.key});

  @override
  Widget build(BuildContext context) {
    return const Scaffold(body: TextField());
  }
}

Logs

[ +109 ms] executing: uname -m
[  +26 ms] Exit code 0 from: uname -m
[        ] x86_64
[   +1 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[ +246 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git tag --points-at 8b36f4fb07c70090c2188a1808710a10044592c9
[ +392 ms] Exit code 0 from: git tag --points-at 8b36f4fb07c70090c2188a1808710a10044592c9
[   +4 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git describe --match *.*.* --long --tags 8b36f4fb07c70090c2188a1808710a10044592c9
[ +277 ms] Exit code 0 from: git describe --match *.*.* --long --tags 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] 3.4.0-28.0.pre-40-g8b36f4fb07
[   +9 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] origin/master
[        ] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git ls-remote --get-url origin
[   +3 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[ +115 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git rev-parse --abbrev-ref HEAD
[  +13 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] master
[ +130 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[  +36 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[+1081 ms] executing: /home/theskyblockman/Android/Sdk/platform-tools/adb devices -l
[ +185 ms] List of devices attached
[   +4 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[  +26 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +189 ms] Skipping pub get: version match.
[ +736 ms] Generating /home/theskyblockman/StudioProjects/testctrlback/android/app/src/main/java/io/flutter/plugins/GeneratedPluginRegistrant.java
[ +241 ms] Initializing file store
[  +50 ms] Skipping target: gen_localizations
[   +6 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /home/theskyblockman/StudioProjects/testctrlback/.dart_tool/package_config_subset}
[  +18 ms] gen_dart_plugin_registrant: Complete
[   +1 ms] Skipping target: _composite
[   +1 ms] complete
[   +5 ms] Launching lib/main.dart on Linux in debug mode...
[   +4 ms] /home/theskyblockman/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /home/theskyblockman/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server.dart.snapshot --sdk-root
/home/theskyblockman/snap/flutter/common/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --incremental --target=flutter --experimental-emit-debug-metadata -DFLUTTER_WEB_AUTO_DETECT=true --output-dill
/tmp/flutter_tools.PIFRAN/flutter_tool.KHKDXH/app.dill --packages /home/theskyblockman/StudioProjects/testctrlback/.dart_tool/package_config.json -Ddart.vm.profile=false -Ddart.vm.product=false --enable-asserts
--track-widget-creation --filesystem-scheme org-dartlang-root --initialize-from-dill build/c075001b96339384a97db4862b8ab8db.cache.dill.track.dill --verbosity=error --flutter-widget-cache
--enable-experiment=alternative-invalidation-strategy
[  +93 ms] Building Linux application...
[  +20 ms] <- compile package:testctrlback/main.dart
[   +3 ms] executing: [build/linux/x64/debug/] cmake -G Ninja -DCMAKE_BUILD_TYPE=Debug -DFLUTTER_TARGET_PLATFORM=linux-x64 /home/theskyblockman/StudioProjects/testctrlback/linux
[ +803 ms] -- Configuring done
[  +81 ms] -- Generating done
[        ] -- Build files have been written to: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug
[  +44 ms] executing: ninja -C build/linux/x64/debug install
[ +185 ms] ninja: Entering directory `build/linux/x64/debug'
[+18738 ms] [1/5] Generating /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/libflutter_linux_gtk.so,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_basic_message_channel.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_binary_codec.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_binary_messenger.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_dart_project.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_engine.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_json_message_codec.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_json_method_codec.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_message_codec.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_method_call.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_method_channel.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_method_codec.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_method_response.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_plugin_registrar.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_plugin_registry.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_standard_message_codec.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_standard_method_codec.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_string_codec.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_value.h,
/home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/fl_view.h, /home/theskyblockman/StudioProjects/testctrlback/linux/flutter/ephemeral/flutter_linux/flutter_linux.h, _phony_
[   +5 ms] [   +4 ms] executing: uname -m
[        ] [   +9 ms] Exit code 0 from: uname -m
[        ] [        ] x86_64
[        ] [        ] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [   +6 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] [        ] 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] [        ] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git tag --points-at 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] [  +11 ms] Exit code 0 from: git tag --points-at 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] [   +1 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git describe --match *.*.* --long --tags 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] [  +51 ms] Exit code 0 from: git describe --match *.*.* --long --tags 8b36f4fb07c70090c2188a1808710a10044592c9
[        ] [        ] 3.4.0-28.0.pre-40-g8b36f4fb07
[        ] [  +12 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git rev-parse --abbrev-ref HEAD
[        ] [   +3 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] [        ] master
[        ] [  +13 ms] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [ +101 ms] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] [   +6 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{upstream}
[        ] [        ] origin/master
[        ] [        ] executing: [/home/theskyblockman/snap/flutter/common/flutter/] git ls-remote --get-url origin
[        ] [   +3 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] [        ] https://github.com/flutter/flutter.git
[        ] [        ] Artifact Instance of 'MaterialFonts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'GradleWrapper' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterSdk' is not required, skipping update.
[        ] [        ] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] [  +18 ms] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'IosUsbArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'FontSubsetArtifacts' is not required, skipping update.
[        ] [        ] Artifact Instance of 'PubDependencies' is not required, skipping update.
[        ] [  +63 ms] Initializing file store
[        ] [  +14 ms] Skipping target: gen_localizations
[        ] [  +39 ms] gen_dart_plugin_registrant: Starting due to {InvalidatedReasonKind.inputChanged: The following inputs have updated contents: /home/theskyblockman/StudioProjects/testctrlback/.dart_tool/package_config_subset}
[        ] [   +2 ms] unpack_linux: Starting due to {}
[        ] [+1839 ms] unpack_linux: Complete
[        ] [ +637 ms] gen_dart_plugin_registrant: Complete
[        ] [        ] kernel_snapshot: Starting due to {}
[   +2 ms] [   +7 ms] /home/theskyblockman/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/dart --disable-dart-dev /home/theskyblockman/snap/flutter/common/flutter/bin/cache/dart-sdk/bin/snapshots/frontend_server.dart.snapshot
--sdk-root /home/theskyblockman/snap/flutter/common/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk/ --target=flutter --no-print-incremental-dependencies -DFLUTTER_WEB_AUTO_DETECT=true -Ddart.vm.profile=false
-Ddart.vm.product=false --enable-asserts --track-widget-creation --packages /home/theskyblockman/StudioProjects/testctrlback/.dart_tool/package_config.json --output-dill
/home/theskyblockman/StudioProjects/testctrlback/.dart_tool/flutter_build/b3c7fadeb1d84e55059353c7d5ca1f81/app.dill --depfile
/home/theskyblockman/StudioProjects/testctrlback/.dart_tool/flutter_build/b3c7fadeb1d84e55059353c7d5ca1f81/kernel_snapshot.d --incremental --initialize-from-dill
/home/theskyblockman/StudioProjects/testctrlback/.dart_tool/flutter_build/b3c7fadeb1d84e55059353c7d5ca1f81/app.dill --verbosity=error package:testctrlback/main.dart
[   +1 ms] [+9597 ms] kernel_snapshot: Complete
[        ] [ +597 ms] debug_bundle_linux-x64_assets: Starting due to {}
[        ] [+2852 ms] debug_bundle_linux-x64_assets: Complete
[        ] [ +471 ms] Persisting file store
[        ] [  +36 ms] Done persisting file store
[        ] [  +47 ms] build succeeded.
[   +2 ms] [  +63 ms] "flutter assemble" took 16 377ms.
[   +1 ms] [ +153 ms] ensureAnalyticsSent: 125ms
[        ] [        ] Running 0 shutdown hooks
[        ] [        ] Shutdown hooks complete
[        ] [        ] exiting with code 0
[+2135 ms] [2/5] Building CXX object CMakeFiles/testctrlback.dir/flutter/generated_plugin_registrant.cc.o
[  +20 ms] [3/5] Building CXX object CMakeFiles/testctrlback.dir/my_application.cc.o
[ +431 ms] [4/5] Linking CXX executable intermediates_do_not_run/testctrlback
[        ] [4/5] Install the project...
[ +157 ms] -- Install configuration: "Debug"
[ +249 ms] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/testctrlback
[   +2 ms] -- Set runtime path of "/home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/testctrlback" to "$ORIGIN/lib"
[   +1 ms] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/icudtl.dat
[  +18 ms] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/lib/libflutter_linux_gtk.so
[ +511 ms] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/version.json
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/shaders
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/shaders/ink_sparkle.frag
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/packages
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/packages/cupertino_icons/assets/CupertinoIcons.ttf
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/fonts
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/fonts/MaterialIcons-Regular.otf
[   +4 ms] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/FontManifest.json
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/AssetManifest.json
[        ] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/kernel_blob.bin
[  +54 ms] -- Installing: /home/theskyblockman/StudioProjects/testctrlback/build/linux/x64/debug/bundle/data/flutter_assets/NOTICES.Z
[  +17 ms] Building Linux application... (completed in 23,5s)
[+1268 ms] Observatory URL on device: http://<IP_ADDRESS>:41935/ad1GRIWzDYI=/
[   +3 ms] Caching compiled dill
[ +792 ms] Connecting to service protocol: http://<IP_ADDRESS>:41935/ad1GRIWzDYI=/
[ +138 ms] Launching a Dart Developer Service (DDS) instance at http://<IP_ADDRESS>:0, connecting to VM service at http://<IP_ADDRESS>:41935/ad1GRIWzDYI=/.
[ +285 ms] DDS is listening at http://<IP_ADDRESS>:41661/wTlnid-QClQ=/.
[ +218 ms] Successfully connected to service protocol: http://<IP_ADDRESS>:41935/ad1GRIWzDYI=/
[ +122 ms] DevFS: Creating new filesystem on the device (null)
[  +25 ms] DevFS: Created new filesystem on the device (file:///tmp/testctrlbackDSMVVG/testctrlback/)
[   +2 ms] Updating assets
[ +272 ms] Syncing files to device Linux...
[   +1 ms] Compiling dart to kernel with 0 updated files
[        ] Processing bundle.
[        ] <- recompile package:testctrlback/main.dart cf1a94f3-2c9e-45dd-9740-648221177b47
[        ] <- cf1a94f3-2c9e-45dd-9740-648221177b47
[   +1 ms] Bundle processing done.
[ +186 ms] Updating files.
[        ] DevFS: Sync finished
[        ] Syncing files to device Linux... (completed in 190ms)
[        ] Synced 0.0MB.
[        ] <- accept
[   +1 ms] Connected to _flutterView/0x100bf30.
[ +118 ms] Flutter run key commands.
[        ] r Hot reload. 🔥🔥🔥
[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ] 💪 Running with sound null safety 💪
[        ] An Observatory debugger and profiler on Linux is available at: http://<IP_ADDRESS>:41661/wTlnid-QClQ=/
[+2721 ms] The Flutter DevTools debugger and profiler on Linux is available at: http://<IP_ADDRESS>:9100?uri=http://<IP_ADDRESS>:41661/wTlnid-QClQ=/
[+6590 ms]
                    ══╡ EXCEPTION CAUGHT BY SERVICES LIBRARY ╞══════════════════════════════════════════════════════════
                    The following RangeError was thrown while processing the key message handler:
                    RangeError (index): Invalid value: Not in inclusive range 0..19: 20

                    When the exception was thrown, this was the stack:
                    #0      String.codeUnitAt (dart:core-patch/string_patch.dart:1001:37)
                    #1      _WhitespaceBoundary.getLeadingTextBoundaryAt (package:flutter/src/widgets/editable_text.dart:4294:47)
                    #2      _ExpandedTextBoundary.getLeadingTextBoundaryAt (package:flutter/src/widgets/editable_text.dart:4341:25)
                    #3      _MixedBoundary.getLeadingTextBoundaryAt (package:flutter/src/widgets/editable_text.dart:4419:87)
                    #4      _PushTextPosition.getLeadingTextBoundaryAt (package:flutter/src/widgets/editable_text.dart:4400:30)
                    #5      TextBoundary.getTextBoundaryAt (package:flutter/src/services/text_boundary.dart:37:14)
                    #6      _DeleteTextAction.invoke (package:flutter/src/widgets/editable_text.dart:4474:22)
                    #7      _OverridableContextAction.invokeDefaultAction (package:flutter/src/widgets/actions.dart:1732:28)
                    #8      _OverridableActionMixin.invoke (package:flutter/src/widgets/actions.dart:1595:9)
                    #9      ActionDispatcher.invokeAction (package:flutter/src/widgets/actions.dart:578:21)
                    #10     ShortcutManager.handleKeypress (package:flutter/src/widgets/shortcuts.dart:815:38)
                    #11     _ShortcutsState._handleOnKey (package:flutter/src/widgets/shortcuts.dart:999:20)
                    #12     FocusManager._handleKeyMessage (package:flutter/src/widgets/focus_manager.dart:1682:32)
                    #13     KeyEventManager._dispatchKeyMessage (package:flutter/src/services/hardware_keyboard.dart:897:34)
                    #14     KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:962:17)
                    #15     BasicMessageChannel.setMessageHandler.<anonymous closure> (package:flutter/src/services/platform_channel.dart:214:49)
                    #16     _DefaultBinaryMessenger.setMessageHandler.<anonymous closure> (package:flutter/src/services/binding.dart:393:35)
                    #17     _invoke2 (dart:ui/hooks.dart:183:13)
                    #18     _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:40:5)
                    #19     _Channel.push (dart:ui/channel_buffers.dart:130:31)
                    #20     ChannelBuffers.push (dart:ui/channel_buffers.dart:326:17)
                    #21     PlatformDispatcher._dispatchPlatformMessage (dart:ui/platform_dispatcher.dart:667:22)
                    #22     _dispatchPlatformMessage (dart:ui/hooks.dart:86:31)

                    KeyMessage: KeyMessage([KeyDownEvent#f7322(physicalKey: PhysicalKeyboardKey#7002a(usbHidUsage:
                      "0x0007002a", debugName: "Backspace"), logicalKey: LogicalKeyboardKey#00008(keyId: "0x100000008",
                      keyLabel: "Backspace", debugName: "Backspace"), character: ", timeStamp: 10:23:37.196000)])
                    ════════════════════════════════════════════════════════════════════════════════════════════════════

Analyzing testctrlback...
No issues found! (ran in 33.3s)

[✓] Flutter (Channel master, 3.4.0-29.0.pre.40, on Fedora Linux 37 (Workstation Edition Prerelease) 5.19.10-300.fc37.x86_64, locale fr_FR.UTF-8)
    • Flutter version 3.4.0-29.0.pre.40 on channel master at /home/theskyblockman/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 8b36f4fb07 (il y a 4 jours), 2022-09-20 12:17:20 -0700
    • Engine revision 48f9f1fe2d
    • Dart version 2.19.0 (build 2.19.0-222.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /home/theskyblockman/Android/Sdk/
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /home/theskyblockman/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/212.5712.43.2112.8815526/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✗] Chrome - develop for the web (Cannot find Chrome executable at google-chrome)
    ! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.

[✓] Linux toolchain - develop for Linux desktop
    • clang version 6.0.0-1ubuntu2 (tags/RELEASE_600/final)
    • cmake version 3.10.2
    • ninja version 1.8.2
    • pkg-config version 0.29.1

[✓] Android Studio (version 2021.2)
    • Android Studio at /home/theskyblockman/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/212.5712.43.2112.8815526
    • Flutter plugin version 70.0.2
    • Dart plugin version 212.5744
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.2)
    • IntelliJ at /home/theskyblockman/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/222.3739.54
    • Flutter plugin version 70.0.5
    • Dart plugin version 222.3739.24

[✓] IntelliJ IDEA Community Edition (version 2022.1)
    • IntelliJ at /home/theskyblockman/.local/share/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5921.22
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (1 available)
    • Linux (desktop) • linux • linux-x64 • Fedora Linux 37 (Workstation Edition Prerelease) 5.19.10-300.fc37.x86_64

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

@chunhtai This is related to https://github.com/flutter/flutter/commit/bcc1dc6b99409d6d54b3782c7f111de0561a5ffb

This looks serious, I will fix asap

ah it is fixed by https://github.com/flutter/flutter/pull/112085 i remember I fixed some weirdness in WhiteSpaceBoundary in the pr and added tests. We should be good now


c++ implementation of ineq + bindings

In GitLab by @cmastalli on Jul 24, 2019, 13:50
null

In GitLab by @cmastalli on Sep 30, 2019, 10:35
assigned to @cmastalli

In GitLab by @cmastalli on Sep 30, 2019, 17:16
mentioned in merge request !229

In GitLab by @cmastalli on Sep 30, 2019, 17:47
closed


Added ydb.WithTraceRetry option

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en

Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report
Attention: 36 lines in your changes are missing coverage. Please review.

Comparison is base (cc653eb) 66.05% compared to head (e5bbc17) 39.20%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #868       +/-   ##
===========================================
- Coverage   66.05%   39.20%   -26.86%
===========================================
  Files         253      194       -59
  Lines       23903    20306     -3597
===========================================
- Hits        15790     7961     -7829
- Misses       7275    11998     +4723
+ Partials      838      347      -491

Flag
Coverage Δ

?

go-1.17.x
39.20% <2.70%> (-25.54%)
:arrow_down:

go-1.20.x
?

go-1.21.x
?

integration
?

macOS
39.17% <2.70%> (-0.34%)
:arrow_down:

ubuntu
39.19% <2.70%> (-0.34%)
:arrow_down:

unit
39.20% <2.70%> (-0.42%)
:arrow_down:

windows
?

ydb-22.5
?

ydb-23.1
?

ydb-23.2
?

ydb-23.3
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files
Coverage Δ

retry/retry.go
45.62% <100.00%> (-26.25%)
:arrow_down:

connection.go
3.44% <0.00%> (-78.22%)
:arrow_down:

metrics/retry.go
0.00% <0.00%> (ø)

metrics/traces.go
0.00% <0.00%> (-80.00%)
:arrow_down:

internal/xcontext/retry.go
0.00% <0.00%> (ø)

options.go
10.21% <0.00%> (-62.29%)
:arrow_down:

retry/sql.go
0.00% <0.00%> (-87.21%)
:arrow_down:

... and 187 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Responsive layout large margins

When the element content-html reaches 692px width, the display of the aside tags add large margins making the main content compress:

Compared to 691px width:

Thanks, @lkraider ! Would you submit this layout fix as a pull request?

I think this is actually intended by the design of the documentation system. I am pretty certain that the "margin" you mentioned is actually just another view for showing documentation examples, a feature of Redoc that we don't use, thus they are empty. In the second state (@media screen and (max-width: 991px) media query), they move below each of the sections. But again, since we don't use the examples, it's empty and doesn't show up.

@frdmn  brilliant!   So if we wait and wait, that big blank space will still never go away - it is not a bug.  Unless we change the redoc layout  :+1:

Closing as this is handled by the new layout


Update issue template

We have a link to the plunker for devextreme-angular version 16.2 in comment of the template.


Error with get_arrhenius_plot

I am trying an example and plot with get_arrhenius_plot function. No error, but figure does not show information.
temperatures = [600, 800, 1000, 1200]
analyzers = collections.OrderedDict()
for temp in temperatures:
    with open("aimd_data/%d.json" % temp) as f:
        d = json.load(f)
        analyzers[temp] = DiffusionAnalyzer.from_dict(d)
diffusivities = [d.diffusivity for d in analyzers.values()]
#print(temperatures, diffusivities)
plt = get_arrhenius_plot(temperatures, diffusivities)

This shouldn't happen, but looking at your axis, your plot was not correctly initiatlized. There are examples at https://matgenb.materialsvirtuallab.org/ you can refer to for such plots.


Load balancing.

Hi all.
I implement web socket server over Ratchet lib working fine with small amount to connections.
But we need to dedicated connections required 1500 figure then in the case server fall down & stop respond after 600 connections received.
For the above problem, we have an solution, please follow & then suggested me how it is possible.

Implement web socket server.
Use Haproxy to enable load balancer techniques to scalable
Implement Distributed cache (Redis) to share amony different instances running by load balancer.
In Redis cache we store connection objects which returns when new connection established. Implement a logic forward message to right socket.
See below snapshot, It write only to give an rough idea.

https://github.com/andreybolonin/RatchetMultiInstance
We tested NGINX (as load balancer) with pool of Ratchet serves (WampServer)

@andreybolonin Glad to hear from your response. I'll check it later. Thank you very much. 👍

Too complicated and bad idea, trust me. Just setup multiple servers and use a commercial LB or NGINX if you know how to setup, and connect to all the servers at once.
Reason why I say this, because I am working in production and commercial environment and this was the only way to make sure the servers are always up and from my tests I got even close to 100000 concurrent connections.

Closed due to inactivity.


btIgnorePageThemeGridFrameworkContainer

This is not a issue but a question or a request :+1:
It will be nice to manage if a block template will use gridFramework or not in place of controller.
Can i set this btIgnorePageThemeGridFrameworkContainer on a view ?

:+1

I saw that there is an opportunity to manually override caching propteries of a block in the advanced section. Since I cannot find these properties in the block db.xml nor in the db I assume it's saved in some central location? Couldn't we use that as a workaround to make this happen in 5.7.4?

Quick workaround for those who really need it (not the same thing... still).... simply I just copied the Content Block extended the original, change the db Table info and added this property:
protected $btIgnorePageThemeGridFrameworkContainer = true;
after that you can have a block that ignores your current grid, thus can flow till the edges.

Yeah, this has been bumped again, since it's something that you can override at the block level with a custom block. We do want to get it in at some point soon, when time permits.


Set up release and dev pkgdown sites

Goal
Would be nice to have a site that has the documentation for the release version of the package (when we tag it with a release) and one with the dev version, a la  https://primarycensoreddist.epinowcast.org/ vs https://primarycensoreddist.epinowcast.org/dev).
@seabbs says the issue now is that we are using environments in the pkgdown action...
@gvegayon Any advice here? Looking to hopefully put out a release in the next few days so probably would be good to at least decide on what we want to do here in terms of documentation.
Tagging @dylanhmorris for awareness

So, it seems that using the developer mode should be enough. If not, that's an easy fix (I would say):

Two parallel jobs building the pkgdown website: one on the triggering commit (usually main), and the other on the latest release.
Once both are built, the artifact is uploaded.
In a separate job (which depends on the other two), artifacts are pulled and reorganized, putting the development version under dev. The job will then upload the website using the upload-pages-artifact action.
Final workflow: Published with environments.

That's how I'd do it.

It depends if this is additive or replacing https://github.com/CDCgov/ww-inference-model/blob/46e896b4a3e0702fde50aee53ae2c67492b60be3/.github/workflows/pkgdown.yaml#L76
and if pkgdown builds both main and dev docs (in the replacing case).
I think it only builds one set at a time and doc deployment is replacing which would cause a problem here

I think what @gvegayon is suggesting here is post-processing the two separate builds to create an appropriate single artifact which is then passed to upload-pages-artifact. Are we sure pkgdown support creating a single artifact out of the box, though?

In a separate job (which depends on the other two), artifacts are pulled and reorganized, putting the development version under dev. The job will then upload the website using the upload-pages-artifact action.

Oh that seems super wasteful? In the workflows I usually take main would be dev and the released version would be the latest git tag so this would have to rebuild from a tag on every commit to main. You could set something up where it stores the archive or downloads the site from the deployment to get around this or you could just stick with the normal pkgdown deployment mode

Oh that seems super wasteful? In the workflows I usually take main would be dev and the released version would be the latest git tag so this would have to rebuild from a tag on every commit to main. You could set something up where it stores the archive or downloads the site from the deployment to get around this or you could just stick with the normal pkgdown deployment mode

For sure, we can try and see how a PR would work setting the developer mode: auto (or whatever the action name is). If that doesn't work, caching is very easy, so we wouldn't need to rebuild the release version of the site with every push/pr.


Fix potential panic when printing time

Not sure that this is the clean way to solve the issue, but essentially,
message.rs:
fn systemtime_strftime(timestamp: SystemTime) -> Result<String> {
    let time_since_epoch = timestamp.elapsed()?;

...
        pub fn elapsed(&self) -> Result<Duration, SystemTimeError> {
            self.duration_since(SystemTime::now())
        }

If the block timestamp is before now, then it will panic, because it can't be a duration since a time in the future. I think it should be time since epoch.
I am not even sure how this can happen in the tests - it suggests to me that something isn't right with the fake time?

And systemtime_strftime can probably change to:
fn systemtime_strftime(timestamp: SystemTime) -> Result<String> {
    let time_since_epoch = timestamp.elapsed()
        .map(|d| d.as_nanos() as i128)
        // Handle the case where `timestamp` was before unix epoch.
        .unwrap_or_else(|e| -(e.duration().as_nanos() as i128));
    let format = format_description!("[year]-[month]-[day] [hour]:[minute]:[second]");
    Ok(
        OffsetDateTime::from_unix_timestamp_nanos(time_since_epoch)?
            .format(&format)?,
    )
}

so we handle earlier timestamps without failing.


build: switch from rollup to vite

Micrate from rollup build process to vite build process.
Why?

Vite was already included in the project
Vite provides better Vue support than rollup (rollup-plugin-vue is deprecated)
Vite is much faster
Vite uses rollup under the hood
Removes several rollup-related dependencies

Suggested changes

Removes several rollup-related dependencies
Implement Vite build setup
Add type definition support

@mlmoravek What about three shaking?

It's also a great improvement to add "vite-plugin-dts" 👍

Reference in ne

Tree shaking is working like before.


Strikethrough on a string with only spaces does not get colored

Strikethrough with only spaces:

Strikethrough with a letter prefix:

Currently impossible to make horizontal bars colored currently unless a non-space character is in the string.

This is not just a webui issue, I just used it as a way to display the issue. This issue is present in adventure.

Then it's a duplicate of #KyoriPowered/adventure#780, which is fixed but not released

Understood, thanks!


How the OR-Tools CP-Sat solver's AddDecisionStrategy runs?

I'm confused about the function AddDecisionStrategy. I know it is used to set the strategy of selecting variables and the value of variable's domain. But I don't know how it works and how to set the parameters to make the solver more faster according to a specific problem. And the official documentation also lacks of this part. Could someone demonstrate about it or show some docs to me?
And what's the default value of searching strategy if do not invoke AddDecisionStrategy?

See all examples here:
https://github.com/google/or-tools/blob/stable/ortools/sat/doc/integer_arithmetic.md#earliness-tardiness-cost-function
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 24 sept. 2020 à 09:32, qinchao0915<EMAIL_ADDRESS>a
écrit :

I'm confused about the function AddDecisionStrategy. I know it is used to
set the strategy of selecting variables and the value of variable's domain.
But I don't know how it works and how to set the parameters to make the
solver more faster according to a specific problem. And the official
documentation also lacks of this part. Could someone demonstrate about it
or show some docs to me?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2166, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3MI7THP5ZMSZFZQSLDSHLY2FANCNFSM4RX6MT7Q
.

See all examples here: https://github.com/google/or-tools/blob/stable/ortools/sat/doc/integer_arithmetic.md#earliness-tardiness-cost-function Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53 00 Le jeu. 24 sept. 2020 à 09:32, qinchao0915<EMAIL_ADDRESS>a écrit :
…
I'm confused about the function AddDecisionStrategy. I know it is used to set the strategy of selecting variables and the value of variable's domain. But I don't know how it works and how to set the parameters to make the solver more faster according to a specific problem. And the official documentation also lacks of this part. Could someone demonstrate about it or show some docs to me? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#2166>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACUPL3MI7THP5ZMSZFZQSLDSHLY2FANCNFSM4RX6MT7Q .

If I don't set the searching strategy, what's the default strategy?

Thank you Perron. It works well for me. And may I know except the default search strategy(VSIDS), how the other strategies work.
The listing strategies below I copied from cp_model.py

# Variable selection strategy
CHOOSE_FIRST = cp_model_pb2.DecisionStrategyProto.CHOOSE_FIRST
CHOOSE_LOWEST_MIN = cp_model_pb2.DecisionStrategyProto.CHOOSE_LOWEST_MIN
CHOOSE_HIGHEST_MAX = cp_model_pb2.DecisionStrategyProto.CHOOSE_HIGHEST_MAX
CHOOSE_MIN_DOMAIN_SIZE = (
    cp_model_pb2.DecisionStrategyProto.CHOOSE_MIN_DOMAIN_SIZE)
CHOOSE_MAX_DOMAIN_SIZE = (
    cp_model_pb2.DecisionStrategyProto.CHOOSE_MAX_DOMAIN_SIZE)

# Domain reduction strategy
SELECT_MIN_VALUE = cp_model_pb2.DecisionStrategyProto.SELECT_MIN_VALUE
SELECT_MAX_VALUE = cp_model_pb2.DecisionStrategyProto.SELECT_MAX_VALUE
SELECT_LOWER_HALF = cp_model_pb2.DecisionStrategyProto.SELECT_LOWER_HALF
SELECT_UPPER_HALF = cp_model_pb2.DecisionStrategyProto.SELECT_UPPER_HALF

# Search branching
AUTOMATIC_SEARCH = sat_parameters_pb2.SatParameters.AUTOMATIC_SEARCH
FIXED_SEARCH = sat_parameters_pb2.SatParameters.FIXED_SEARCH
PORTFOLIO_SEARCH = sat_parameters_pb2.SatParameters.PORTFOLIO_SEARCH
LP_SEARCH = sat_parameters_pb2.SatParameters.LP_SEARCH

The first 2 sections are pretty explicit.
AUTOMATIC-> default
FIXED -> follows the search strategy exactly
PORTFOLIO -> alternate between all strategies
LP -> tries to follow the LP relaxation
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 24 sept. 2020 à 11:57, qinchao0915<EMAIL_ADDRESS>a
écrit :

Thank you Perron. It works well for me. And may I know except the default
search strategy(VSIDS), how the other strategies work.
The listing strategies below I copied from cp_model.py
Variable selection strategy
CHOOSE_FIRST = cp_model_pb2.DecisionStrategyProto.CHOOSE_FIRST
CHOOSE_LOWEST_MIN = cp_model_pb2.DecisionStrategyProto.CHOOSE_LOWEST_MIN
CHOOSE_HIGHEST_MAX = cp_model_pb2.DecisionStrategyProto.CHOOSE_HIGHEST_MAX
CHOOSE_MIN_DOMAIN_SIZE = (
cp_model_pb2.DecisionStrategyProto.CHOOSE_MIN_DOMAIN_SIZE)
CHOOSE_MAX_DOMAIN_SIZE = (
cp_model_pb2.DecisionStrategyProto.CHOOSE_MAX_DOMAIN_SIZE)
Domain reduction strategy
SELECT_MIN_VALUE = cp_model_pb2.DecisionStrategyProto.SELECT_MIN_VALUE
SELECT_MAX_VALUE = cp_model_pb2.DecisionStrategyProto.SELECT_MAX_VALUE
SELECT_LOWER_HALF = cp_model_pb2.DecisionStrategyProto.SELECT_LOWER_HALF
SELECT_UPPER_HALF = cp_model_pb2.DecisionStrategyProto.SELECT_UPPER_HALF
Search branching
AUTOMATIC_SEARCH = sat_parameters_pb2.SatParameters.AUTOMATIC_SEARCH
FIXED_SEARCH = sat_parameters_pb2.SatParameters.FIXED_SEARCH
PORTFOLIO_SEARCH = sat_parameters_pb2.SatParameters.PORTFOLIO_SEARCH
LP_SEARCH = sat_parameters_pb2.SatParameters.LP_SEARCH
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2166#issuecomment-698244134,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3OX3OPGZ7WTXQBYHITSHMJYBANCNFSM4RX6MT7Q
.

OK. Thank you for your answering.

Hi Perron, I have another question.
When I used AddDecisionStrategy(trips_all, cp_model.CHOOSE_LOWEST_MIN, cp_model.SELECT_MIN_VALUE), the wall time of line 1, line 2, line 3 will be 2s, 7s, 42s respectively. While if use AddDecisionStrategy(trips_all, cp_model.CHOOSE_HIGHEST_MAX, cp_model.SELECT_MAX_VALUE), the results are on the opposite, the time will be 10s, 45s, 2s respectively.
So is there any method to make the all lines' wall time under 10s? Could the strategy be looped in one solver until the solution is found in a limited time?
It seems possible if choosing the proper strategies.

Your question makes no sense.
If anybody knows before running a problem which heuristics will run the
best, that would be an incredible breakthrough :-)
You need to experiment.
BTW, I never use search strategies. I try to improve the model instead.
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
Le jeu. 24 sept. 2020 à 14:55, qinchao0915<EMAIL_ADDRESS>a
écrit :

Hi Perron, I have another question.
When I used AddDecisionStrategy(trips_all, cp_model.CHOOSE_LOWEST_MIN,
cp_model.SELECT_MIN_VALUE), the wall time of line 1, line 2, line 3 will
be 2s, 7s, 42s respectively. While if use AddDecisionStrategy(trips_all,
cp_model.CHOOSE_HIGHEST_MAX, cp_model.SELECT_MAX_VALUE), the results are
on the opposite, the time will be 10s, 45s, 2s respectively.
So is there any method to make the all lines' wall time under 10s? Could
the strategy be looped in one solver until the solution is found in a
limited time?
It seems possible if choosing the proper strategies.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/2166#issuecomment-698325458,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACUPL3OSNAIKHD2FR2MDRALSHM6SXANCNFSM4RX6MT7Q
.

Hello!
Is it possible to have custom strategies other than the ones that are already defined? For eg, a neural network callback for every value/variable selection?
If so, are there any resources on this? I couldn't find a lot of documentation on the internet.
Thanks!


Update README.md

Before submitting this PR, please make sure:

[ ] Your code builds clean without any errors or warnings
[ ] You are using approved title ("feat/", "fix/", "docs/", "refactor/")

A description of the changes proposed in the pull request:
Tests performed by the developer:
Tips for QA testing:

Fix grammar and "visit" spelling.


Create Alt+Enter Keybinding only in the context of F# Editors

This fixes #1797
The goal here is to give commands bound to the F# Editor Factory priority over the normal text editor commands.
The shell uses IVsMonitorSelection to maintain its array of active key binding  scopes. The array is fixed in size and contains 5 slots.  In order of precedence they are:
1: Active Document’s CmdUI Guid
2: Active WindowFrame’s CmdUI Guid
3: Active WindowFrame’s EditorType Guid
4: Active WndowFrame’s InheritKeyBindings Guid
5: The Global scope.
The cmdidExecuteSelectionInInteractive keybinding is now tied to the context of the F# Editor Factory. The corresponding scope for this is 3: Active WindowFrame’s EditorType Guid.
The TextViewCreationListener allows us to inherit the standard text editor commands at a lower priority than our F# Editor Factory commands. The corresponding scope for this is 4: Active WndowFrame’s InheritKeyBindings Guid
Now that I know I have a working solution I have a couple questions:

Would you guys rather I re-implement this in F#?
Is everything in the proper place? I had to introduce a new Constants file which feels wrong.
Anything in particular you'd like me to document more clearly?

/cc @ryanmolden @olegtk
Note: This also requires a change to the Alt+Enter bindings in Visual Studio. So the fix won't be apparent until the next update to Visual Studio 2017 RC.

Hi @JoshVarty, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Josh Varty). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

I have no problem with it in C#.
Thanks for doing this Josh

@JoshVarty ..
"D:\j\workspace\release_ci_pa---3f142ccc\build-everything.proj" (default target) (1) ->
"D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\fsharp-vsintegration-src-build.proj" (Build target) (10) ->
"D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\src\FSharp.ProjectSystem.Base\Project\ProjectSystem.Base.csproj" (Build target) (16) ->
(CoreCompile target) ->
  FSharpEditorFactory.cs(43,47): error CS1525: Invalid expression term 'throw' [D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\src\FSharp.ProjectSystem.Base\Project\ProjectSystem.Base.csproj]

    7 Warning(s)
    1 Error(s)

Interesting, that build server doesn't like C# 7 (throw expressions). :)
I'll fix that.

Much scarier error now:
It fails to load the language service for every test:
I wonder if nameof(Foo) when Foo is null is expected to work?
Errors and Failures

1) TearDown Error : Tests.LanguageService.AutoCompletion.UsingMSBuild
System.TypeInitializationException : The type initializer for '<StartupCode$VisualFSharp-Salsa>.$VsMocks' threw an exception.
  ----> System.Reflection.ReflectionTypeLoadException : Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
   at Salsa.VsMocks.get_vsTrackProjectDocuments2()
   at Salsa.VsMocks.MakeMockServiceProviderAndConfigChangeNotifierNoTargetFrameworkAssembliesService[a]() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\VsMocks.fs:line 1528
   at Salsa.VsMocks.MakeMockServiceProviderAndConfigChangeNotifier40[a]() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\VsMocks.fs:line 1559
   at Salsa.Salsa.CreateSimple(VsOps ops) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\Salsa.fs:line 1511
   at Salsa.Salsa.MSBuildTestFlavor.Salsa-Salsa-VsOps-CreateVisualStudio() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\Salsa.fs:line 1528
   at UnitTests.TestLib.LanguageService.LanguageServiceBaseTests.Init() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\TestLib.LanguageService.fs:line 389
--ReflectionTypeLoadException
   at System.Reflection.RuntimeModule.GetTypes(RuntimeModule module)
   at System.Reflection.RuntimeModule.GetTypes()
   at System.Reflection.Assembly.GetTypes()
   at System.ComponentModel.Composition.Hosting.AssemblyCatalog.get_InnerCatalog()
   at System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports(ImportDefinition definition)
   at System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports(ImportDefinition definition)
   at System.ComponentModel.Composition.Hosting.AggregateCatalog.GetExports(ImportDefinition definition)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.InternalGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.InnerCatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
   at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
   at System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
   at System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
   at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
   at System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable`1& exports)
   at System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition)
   at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportsCore(Type type, Type metadataViewType, String contractName, ImportCardinality cardinality)
   at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValueCore[T](String contractName, ImportCardinality cardinality)
   at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValue[T](String contractName)
   at System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValue[T]()
   at <StartupCode$VisualFSharp-Salsa>.$VsMocks..cctor() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\VsMocks.fs:line 1651
--TearDown
   at UnitTests.TestLib.LanguageService.LanguageServiceBaseTests.Cleanup() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\TestLib.LanguageService.fs:line 405

I wonder if nameof(Foo) when Foo is null is expected to work?

Yeah it should work fine as it's turned into a string at compile-time.
Do you know if these tests are the same as the ones that are run with build.cmd test?
I just realized the tests weren't running to completion on my machine because I didn't have Perl installed. I'll install and see whether the tests fail locally as well.

They are yes.
From: Josh Varty<EMAIL_ADDRESS>Sent: Friday, December 16, 2016 4:28 PM
To: Microsoft/visualfsharp<EMAIL_ADDRESS>Cc: Kevin Ransom<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [Microsoft/visualfsharp] Create Alt+Enter Keybinding only in the context of F# Editors (#2029)
I wonder if nameof(Foo) when Foo is null is expected to work?
Yeah it should work fine as it's turned into a string at compile-timehttps://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Ftryroslyn.azurewebsites.net%2F%23b%3Afeatures-throwexpr%2Ff%3Ar%2FK4Zwlgdg5gBAygTxAFwKYFsDcAoADsAIwBswBjGUogQxBBgGEYBvbGNmfYsmFK5bgG4B7MABMYAWSqQAFAEpmrdsqXK2EmRGBEicnMoC%2BqmMc4lyvfuWFjJMxiCHpUAeQIArBSzXt6QiI5EqAB0AOoATmBoADKQqJpUzkIAZjKOzm6eesZGBkA%3D%3D&data=02|01|Kevin.Ransom%40microsoft.com|4a3dbb72af4f424939f108d4261396a6|72f988bf86f141af91ab2d7cd011db47|1|0|636175312956343599&sdata=EYJPX8WAFCRNzLDdrC8nZdtn3duEaSba8LLglg2uiKo%3D&reserved=0.
Do you know if these tests are the same as the ones that are run with build.cmd test?
I just realized the tests weren't running to completion on my machine because I didn't have Perl installed. I'll install and see whether the tests fail locally as well.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoft%2Fvisualfsharp%2Fpull%2F2029%23issuecomment-267728194&data=02|01|Kevin.Ransom%40microsoft.com|4a3dbb72af4f424939f108d4261396a6|72f988bf86f141af91ab2d7cd011db47|1|0|636175312956343599&sdata=krLfsONMnvTgssMLesRr2sT7sEjvzlrtXzAhm7%2FV1Hc%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAE76FhABbBgy1DK53asliHWrJ5hvwcuhks5rIyycgaJpZM4LPigj&data=02|01|Kevin.Ransom%40microsoft.com|4a3dbb72af4f424939f108d4261396a6|72f988bf86f141af91ab2d7cd011db47|1|0|636175312956353601&sdata=hxV1OOynXyWiNeUWZWgLoiPS6q%2FHGYAakBn6bPCCyDk%3D&reserved=0.

So the tests pass locally but still seem to fail on the CI machine.
I dug into the logs some more and I see:
1) Error : Tests.LanguageService.AutoCompletion.UsingMSBuild.AdjacentToDot_01
System.IO.FileLoadException : Could not load file or assembly 'Microsoft.VisualStudio.CoreUtility, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
   at Salsa.Salsa.Privates.SimpleOpenFile.OnIdleTypeCheck()
   at Salsa.Salsa.Privates.SimpleOpenFile.OnIdle() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\Salsa.fs:line 1120
   at Salsa.Salsa.Privates.SimpleVisualStudio.Salsa-Salsa-IVisualStudio-OnIdle() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\Salsa.fs:line 855
   at Salsa.Salsa.Privates.SimpleVisualStudio.Salsa-Salsa-IVisualStudio-TakeCoffeeBreak() in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\Salsa.fs:line 861
   at Salsa.Salsa.Privates.SimpleOpenProject.Salsa-Salsa-IOpenProject-OpenFile(String filename) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\Salsa\Salsa.fs:line 1086
   at UnitTests.TestLib.LanguageService.LanguageServiceBaseTests.CreateSingleFileProject(FSharpList`1 content, FSharpOption`1 references, FSharpOption`1 defines, FSharpOption`1 fileKind, FSharpOption`1 disabledWarnings, FSharpOption`1 fileName) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\TestLib.LanguageService.fs:line 326
   at Tests.LanguageService.AutoCompletion.UsingMSBuild.createFile(FSharpList`1 code, SourceFileKind fileKind, FSharpList`1 refs) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\Tests.LanguageService.Completion.fs:line 36
   at Tests.LanguageService.AutoCompletion.UsingMSBuild.DoWithAutoCompleteUsingExtraRefs(FSharpList`1 refs, Boolean coffeeBreak, SourceFileKind fileKind, BackgroundRequestReason reason, FSharpList`1 code, String marker, FSharpFunc`2 f) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\Tests.LanguageService.Completion.fs:line 43
   at Tests.LanguageService.AutoCompletion.UsingMSBuild.DoWithAutoComplete(Boolean coffeeBreak, SourceFileKind fileKind, BackgroundRequestReason reason, FSharpList`1 code, String marker, FSharpFunc`2 f) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\Tests.LanguageService.Completion.fs:line 54
   at <StartupCode$VisualFSharp-Unittests>.$Tests.LanguageService.Completion.AssertAutoCompleteContains@58-1.Invoke(FSharpList`1 code, String marker, FSharpList`1 should, FSharpList`1 shouldnot) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\Tests.LanguageService.Completion.fs:line 58
   at Tests.LanguageService.AutoCompletion.UsingMSBuild.testAutoCompleteAdjacentToDot@82(String op) in D:\j\workspace\release_ci_pa---3f142ccc\vsintegration\tests\unittests\Tests.LanguageService.Completion.fs:line 86

So it looks like it's having trouble with Microsoft.VisualStudio.CoreUtility in particular. Is it possible for me to remote to the machine to see what DLLs it has available to it?

Looks like CI machine is using VS2015, while your bits want MS.VS.CoreUtilities.dll version 15.0.

Try to update VS NuGet packages to v. 15. Not everything is available though.

Looks like CI machine is using VS2015, while your bits want MS.VS.CoreUtilities.dll version 15.0 (VS2017).

Yeah I'm just not sure why my bits would need v15.0. I intentionally didn't add any explicit dependencies on v15.0.

This looks great.

Hmm!!!! somehow the fsharpqa suite has become flakey.
@dotnet-bot test this please

Lets see if it will repeat that little trick
@dotnet-bot test this please


OIDC support (v3)

Proposed changes
TODO
Types of changes
What types of changes does your code introduce to this repository?

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Testing
Unit testing
TODO
Manual testing
TODO
Further comments

We're currently processing your upload.  This comment will be updated when the results are available.


refreshToken used in custom middleware returns null

Environment

Operating System: Darwin
Node Version:     v18.18.0
Nuxt Version:     3.7.4
CLI Version:      3.9.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      css, components, dayjs, devtools, imports, modules, plugins, auth, runtimeConfig
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction

Have the following auth configuration

Sign in using signIn composable from useAuth

In a protected page, use a custom auth middleware

Try to get the refresh token using useAuth, and useCookie from Nuxt

Describe the bug

refreshToken is returned as null, even thought the cookie does exist, as proved by it existing when using refreshToken with useCookie. This is before its max age is reached. This makes it so that if i want to call the refresh() method from useAuth, it will fail, because a null value will be sent instead of the actual refreshToken.  What could be a workaround for this?
Additional context
Im currently trying to define a custom logic to get the access and refresh tokens using this library. For testing, i setted the max age for the access tokens to be just 10 seconds.
For extra context, this problem doesnt happen with the access token, before its 10 seconds mark, which is the expected behaviour as told by the documentation. It only happens with refreshToken for some reason.
Logs
No response

I have the same problem!
The refresh request, manually triggered, sends refreshToken: null as body which causes a 400 error from my backend API.
In my case I can't use this lib to do my authentication because the refresh feature doesn't work well..
I also tried to use a lighter configuration as possible (I have an issue on this repo with more details) but even in 0.8.x version, it seems to be not really stable 🥲.
I think it's a problem about an element in the config that must be forced to set (like the default value is not set). I already found a similar problem like this in the past with this lib. But I tried many different configuration 😥.
I hope we found the mistake because I really like the initiative of this library 😊

I have the same problem!
The refresh request, manually triggered, sends refreshToken: null as body which causes a 400 error from my backend API.
In my case I can't use this lib to do my authentication because the refresh feature doesn't work well..
I also tried to use a lighter configuration as possible (I have an issue on this repo with more details) but even in 0.8.x version, it seems to be not really stable 🥲.
I think it's a problem about an element in the config that must be forced to set (like the default value is not set). I already found a similar problem like this in the past with this lib. But I tried many different configuration 😥.
I hope we found the mistake because I really like the initiative of this library 😊

I see, didnt know it was an already old problem. And same as well! I like the library, so hopefully it is an easy fixable bug, or in any case something that can be done with the config files.

Hi @erosRCS , thank you for a good reproduction! I will take a look into that today

@phoenix-ru I was just working on implementing refresh token and I noticed that this fix is causing issue in case there is an error in refresh-token.server.ts (for example refresh token is invalid). In case of error, rawRefreshToken should be set to null and stay null but it is being overwritten with invalid refreshToken stored in cookie on line:
 if (rawRefreshToken.value === null) {       rawRefreshToken.value = _rawRefreshTokenCookie.value     }.
I would propose to set rawRefreshToken.value the same way as it is done for auth token:
rawRefreshToken = useState("auth:raw-refresh-token", () => _rawRefreshTokenCookie.value)
instead of updating it later if it is null.
I have tried this solution and using it in my app and it works fine. Let me know if you think this is a good solution, I can open PR for it :)


Move legacy decorators into separate transform

This moves the portion of the ts transform that handles decorators to a separate transformer to pave the way for eventual support for native ECMAScript decorators now that the proposal has reached Stage 3.

@sheetalkamat can you take another look?

That would be my preference yes. The sooner we can get feedback on any issues with the API changes, the better.


Support t5x checkpoint

A few updates:

T5X's checkpoint format being a directory instead of a single file meant I needed to track the core msgpack checkpoint file instead of the whole dir (which causes git add to be run on all the files independently instead of as a single unit).
My solution was to add a new track_action method on checkpoints that gets called with git theta track this allows us to add all the weight dir to .gitignore.
Then during a clean we know the files on disk will be valid to use (git doesn't swap them out ever)
Then during a smudge we can just overwrite them with whatever values we store.

I thought that we would not need a solution for storing extra checkpoint data to implement a very simple version of the t5x checkpoint format but that was wrong. We need it to decide which weights are saved into the msgpack file and which are saved with tensor store.  I think we can either store this info in a separate metadata blob or in the per-parameter metadata but either way I don't think we can get it in in time for the paper. Moving the milestone :cry:


Bug report: "Derive KDF key" gets wrong result

Describe the bug
In "Derive KDF key", if the Salt is in HEX mode and Salt contains multi-bytes of UTF-8, it will get the wrong result.
To Reproduce

Add recipe "Derive EVP Key"
Set its parameters to:

Passphrase: hello (UTF8)
Key size: 128
Iterations: 1
Hashing Function: MD5
Salt: deadbeef (HEX)

And it should output a06aeae0a8790070445991fd480c0d91 in CyberChef.
Expected behaviour
As CyberChef use CryptoJS as backend for this recipe, here use CryptoJS to show the expected behaviour:
const CryptoJS = require("crypto-js");  // 4.1.1

const key = CryptoJS.EvpKDF(
    'hello',
    CryptoJS.lib.WordArray.create([ 0xdeadbeef ], 4),
    {
        keySize: 4,
        hasher: CryptoJS.algo.MD5,
        iterations: 1,
    }
);

console.log(key.toString());  // -> 467e8570f8a641fcd5411176b1740d53

Possible Cause
In CyberChef's "Derive KDF key",
https://github.com/gchq/CyberChef/blob/1bc88728f04135aa99f4126e839d62cc8291056b/src/core/operations/DeriveEVPKey.mjs#L69
it first parses the hex sequence back to byte string. So, 0xdeadbeef is parsed to Þ\xad¾ï.
Next, in CryptoJS.EvpKDF, when appends salt to the hasher,
https://github.com/brix/crypto-js/blob/4dcaa7afd08f48cd285463b8f9499cdb242605fa/src/core.js#L564
it will parse the "byte string" to its WordArray by Utf8.parse. So, the non-ASCII characters are encoded again, but in UTF-8 encoding, which gets c39ec2adc2bec3af.
That is, although the salt is 0xdeadbeef in frontend, but in fact it's treated as c39ec2adc2bec3af, and thus it gets the wrong result.

Maybe related: #210


Which column of final_report.txt should be used for strain abundance?

Hi,
In this result, should I select Predicted_Depth?
Strain_ID	Strain_Name	Cluster_ID	Relative_Abundance_Inside_Cluster	Predicted_Depth	Coverage	Covered/Total_kmr
Why is there no Predicted_Depth (Ab*cls_depth) column in my final_report.txt result?

For the first question, yes. The Predicted_Depth and Coverage columns can be used to infer the abundance of the identified strains.
For the second question, the possible reason is that the tool only performed cluster-level identification, meaning all identified strains belong to clusters with a size of 1. In this case, the Predicted_Depth (Ab*cls_depth) column is not provided, as it is only calculated for identified strains from clusters with a size greater than 1.

Thank you very much for your reply. How should I choose if I encounter the following situation?
Coverage  Predicted_Depth
0.98  26.66
0,93 9.9
0.72 7.73

You should choose "Predicted_Depth" if your goal is to estimate the abundance of identified strains. "Coverage" here roughly reflects the percentage of genomic regions covered by k-mers.

If I use environmental metagenomic data, but with different sequencing depths, does the sum of the depths of each station make sense? Thank you

Apologies for the late reply.
The predicted depth reflects the depth of each strain in the dataset and is influenced by sequencing depths. If your goal is to examine the relative strain diversity within each sample, you can still use the relative abundance by normalizing the "Predicted_Depth."
However, if you aim to compare the absolute abundance of a specific strain across different samples, the results may be biased.

Hi,
Still a little confused.
Let's say the result is as follows:
Strains Coverage Predicted_Depth
C1 0.98 26.66
C2 0,93 9.9
C3 0.72 7.73

So the relative abundance of three strains within this sample should be:
C1 = 26.66 / (26.66 + 9.9 + 7.3) = 0.608
C2 = 9.9 / (26.66 + 9.9 + 7.3) = 0.226
C3 = 7.3 / (26.66 + 9.9 + 7.3) = 0.166

Please correct if I am wrong.

Hi Dengwei,
In this context, "Coverage" refers to the ratio of how many k-mers in the cluster are covered; it does not correspond to "relative abundance." Therefore, the calculation here is incorrect.


Intensity value under cursor shown as corner annotation in 2D views

Every 2D view should show the intensity value of the image data under the cursor as the cursor moves across the image.   This value should be shown as a corner annotation.    See Alexis' program for an example.

Also, Spacing should be replaced with the spacing in every dimension, e.g., 1mm x 1mm x 1mm

Also, Origin can be replace with the current index and physical space position of the cursor


Sort services alphabetically in services ls?

This is a very small QoL thing but as someone who has multiple versions of PHP installed, I always have to do a double take to locate the one I want in the list:
$ services ls
Name            Status  User       Plist
php72           started anahkiasen /Users/anahkiasen/Library/LaunchAgents/homebrew.mxcl.php72.plist
redis           started anahkiasen /Users/anahkiasen/Library/LaunchAgents/homebrew.mxcl.redis.plist
php56           stopped
php71           stopped
php70           stopped
nginx           started root       /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
mysql           started anahkiasen /Users/anahkiasen/Library/LaunchAgents/homebrew.mxcl.mysql.plist
chromedriver    stopped
blackfire-agent stopped
php53           stopped

Would it be feasible to add a small flag to the list command that returns the services alphabetically as such?
$ services ls -a
Name            Status  User       Plist
blackfire-agent stopped
chromedriver    stopped
mysql           started anahkiasen /Users/anahkiasen/Library/LaunchAgents/homebrew.mxcl.mysql.plist
nginx           started root       /Library/LaunchDaemons/homebrew.mxcl.nginx.plist
php53           stopped
php56           stopped
php70           stopped
php71           stopped
php72           started anahkiasen /Users/anahkiasen/Library/LaunchAgents/homebrew.mxcl.php72.plist
redis           started anahkiasen /Users/anahkiasen/Library/LaunchAgents/homebrew.mxcl.redis.plist

This looks much clearer to me and easier to skim through. Would love for this to be an option 🙏
Out of curiosity what is the current sort order? Last installed?

This seems like a good idea.

Fixed by https://github.com/Homebrew/homebrew-services/pull/160.


Extracting terminals in Transformer?

I am trying to extract terminals in the Transform method. The way I have the rule set up is the following:
rel_op: "==" | "<" | ">" | "<=" | ">=" | "!=" | "<:" | "≠" | "≤" | "≥"
I have a function:
def rel_op(self, items):
        # print("rel_op", items)
         return items

But it always prints out a []
Whenever I try to make this rule a terminal by capitalizing it to REL_OP and replacing it with all old occurrences of rel_op, I get the following...
lark.exceptions.UnexpectedToken: Unexpected token Token('LESSTHAN', '<') at line 155, column 16.
The rule:
REL_OP: "==" | "<" | ">" | "<=" | ">=" | "!=" | "<:" | "≠" | "≤" | "≥"
Why does changing the rule to a terminal now cause this issue?
Thank you!

Why does changing the rule to a terminal now cause this issue?

Hard to say without seeing the whole grammar.
But, you can just use the ! modifier like this:
!rel_op: "==" | "<" | ">" | "<=" | ">=" | "!=" | "<:" | "≠" | "≤" | "≥"

That will keep the terminals in the tree.

I also had the same question and found the solution to this issue thread by chance. Thanks!

If you have a suggestion for how the docs could be improved (for this case or in general), let me know.

Doesn't the official documentation describe this case? I guess you can make a simple standalone case for it if so.
For my case, I used Lark to develop a custom language, and such cases occur occasionally because I sometimes have to know which operators or keywords were used while parsing a certain text block or Lark rule. I think developers with Lark in similar circumstances or purposes would eventually encounter this case.
// Variable declarations and assignments (example)
let_statement: "let" name "=" expression
assignment: name assign_operator expression
!assign_operator: "=" | "+=" | "-=" | "*=" | "/=" | "%=" | "**=" | "//="
name: CNAME

@KnightChaser What I found worked was adding terminals like:
MINUS_EQUALS: "-="
This would then be passed to a transformer / visitor function of the same name.  It also changes parse errors from "Expected one of __ANON_0, ..." to "Expected one of MINUS_EQUALS, ..."
You don't even need to change your "!assign_operator" to use the new terminals, but you could and drop the exclamation point.


How do I call the onPressDate instance method?

I am also having trouble with this? How do I manually open the picker modal?
I tried DatePicker.onPressDate()

+1

I get this error

@paloman @wmonecke @gourav-singhal
you need to call it on ref
<DatePicker
  ref={(d) => { this.datepicker = d }}
...

and then
this.datepicker.onPressDate()


Reportback caption

What does this PR do?
Allows for admins to edit campaign reportback captions and have them save correctly.
Where should the reviewer start?
dosomething_reportback.forms.inc - dosomething_reportback_form_submit function, lines 337-229 -> dosomething_reportback.module - line 693 -> line 699
How should this be manually tested?
In your own account, sign in as an admin. Reportback for a campaign. Edit campaign and change "caption", "total #", and "why is this important fields." Press "Updated Submission" button and make sure all changes have been properly made.
What are the relevant tickets?
Fixes #5807

@angaither got it to work now with different scenarios! I'm saving the reportback file and caption to the $reportback if it's the first time the user is creating the reportback. If it is just to edit, as Nami suggests in the issue, I save the files to the $reportback_item that should already have an association to the reportback entity and already have a rbid to save to.

@chloealee because of issues (namely #4529) I'm suppppper tentative to change the logic for this stuff. we will need to quadruple confirm things still work when this is merged in the DB and the counts match
cc @mikefantini @namimody

@angaither got it! Should I find some time to test with someone to make sure I'm understanding how everything is supposed to work together and to have more eyes on this?

@chloealee that would be great!

sounds good! @namimody @mikefantini would either of you have time to go through this together and test?

@chloealee I can! I know this would push merging/deploying this to next sprint, but could we do Friday morning sometime? Lots going on this sprint :see_no_evil: If yes, I'll put 1/2 hour on for us. :)

awesome, thanks @namimody ! Yes of course - Friday works for me! This issue was on the backlog that I picked up so I don't think it's that urgent :)

Aight! Pulled the branch down and tested both my previous updates and updates in this PR and all seems like it's working well :)
:+1:

Great to hear, thanks @weerd ! @angaither should I still go through and test with @namimody on Friday?

WAIT!

Tested and checks out in the various scenarios!

:+1:

yay, thanks Diego! So I guess now back to above question @angaither should @namimody and I still test on Friday?

FYI, I tested the branch with code rebased from dev and things checked out ;)


Not working with Indian time zone

Hi,
node-cron not working with Indian timezone, How can i fix it ? I want to run a cron job every month 'x' day 06:30:00 PM
My code is given below.
	var CronJob = require('cron').CronJob;
	var job = new CronJob({
	  cronTime: '10 30 06 21 * 1-5',
	  onTick: function() {
		console.log('Done');
	  },
	  start: true,
	  timeZone: 'Asia/Mumbai'
	});
	job.start();

Please help me.
Thanks

You will need to use Asia/Kolkata for Indian timezone.
All accepted timezones can be seen here, http://momentjs.com/timezone/

Thanks @satyadeepk

This should be part of the README, had to dig in order to find a list of accepted timezones.


MacOS/ SUPER claims that device is on the latest software version

We aim to have at least 95% of our devices updated to the latest minor version of MacOS by the end of this year. We deployed the super script on most of our users' machines.
We are seeing some increases in the sates of computers getting the latest software version. However, over 400 devices claim that they're on the newest version of MacOS, although they're not, and the following software checking is scheduled for the next day, which most often fails again.
Sometimes, I have been able to trigger the installation of an update by running "super --workflow-install-now" from the terminal. However, in most cases, it seems that the computer itself is unable to find any available MacOS updates because of a system failure and not something that's related to the super script. This issue is affecting our productivity, and I would like to know if there are any workarounds that can be deployed through MDM commands instead of having to contact each user individually.

Here is another example of a computer that started downloading the minor version, but failed to complete it and super rested the deadline date twice. Is there any way to avoid this behavior?
Please see the attached screenshot, and log file.

As a reminder... super is asking the system softwareupdate service to download... if it can't download... the only thing super can do is try again later... you need to troubleshoot why the downloads are failing in the first place.
https://github.com/Macjutsu/super/wiki/Troubleshooting#understanding-sub-process-logs

Please try the latest release of super as it may resolve this issue: https://github.com/Macjutsu/super/releases/tag/v4.1.0-beta1

There are many updates in https://github.com/Macjutsu/super/releases/tag/v5.0.0-beta2 that may resolve this behavior. Please try it out.

There have been so many changes to the latest version of super that I'm closing this issue.
https://github.com/Macjutsu/super/releases/tag/v5.0.0-beta3
If you find it persists with the latest builds of super please open a new issue.


[Toolkits] microbit.audio > (play | is_playing) "More ->" link doesn't work

In the reference toolkit, microbit.audio section, the play or is_playing "More ->" link doesn't work. You get sent back to the top of the reference section.
I think it might be audio vs microbit.audio confusion. The third level generally works fine.

Since #401 an equivalent issue can be seen when navigating via signature/autocomplete help.

Pyright identifies the module as audio not microbit.audio even if it has been imported via microbit.audio.
In the stubs it's audio.pyi re-exported from microbit/init.pyi.
So potentially we can flip that in the stubs or we can cope with the true name differing from how we prefer to display it in the docs.
Stubs PR: https://github.com/microbit-foundation/micropython-microbit-stubs/pull/20


Install kubectl from package

Not tested yet

kubectl-install.yml actually does some more work, like fetching kubeconfig, that needs to be moved elsewhere ... or just renamed

BTW this is in conflict with https://github.com/SUSE-Cloud/socok8s/pull/265 , I do not care which goes first


Add README LINEAR for testing purposes

What this PR does / why we need it
Checklist

[ ] Update changelog in CHANGELOG.md.

Trigger e2e tests

/run cluster-test-suites

CLosing it was a test to check rendering


Births abroad V2

Best reviewed commit by commit as each commit has a descriptive message.
I wanted to submit a PR per change but the V2 is shared between this and death registration logic so some of the changes where already made via the other branch causing some of the tests to fail.
V2 changes only

all good to me apart from the phase5 variable and phraselist naming it

@jackscotti renamed "phase 5" to "higher risk" and checked with the content editor regarding the wording, it's correct. The difference is subtle, but important: in some countries it's illegal to register a birth that happened outside of marriage; in some it's illegal to have a child outside of marriage.

@tadast thank you for looking into this!


Use image conda_env_name in cluster run

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1464
#1463
#1462  👈 (View in Graphite)
#1461
#1440
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Nov 25, 6:16 PM EST: A user started a stack merge that includes this pull request via Graphite.


[WebToolsE2E][Aspire] Unable to run Aspire application when project name under orchestration includes underscore ( _ ) character

REGRESSION INFO: Works fine with Aspire 8.0.0-preview.2
INSTALL STEPS

Clean machine: Win11 x64 23h2 ENU
Install latest VS 17.10 P1 build from d17.10 branch (Web workload with 8.0 SDK and runtime, 6.0 runtime and 7.0 runtime checked)

includes Aspire workload version 8.0.0-preview.3.24081.13

Apply NuGet Feeds

REPRO STEPS

New Project > Web App (MVC) > name it 'WebAppMvc_Anc80_NoAuth_1' > check 'Enlist in Aspire' checkbox during project creation

Project name should include underscore ( _ ) character

Build
Ctrl+F5

ACTUAL
Error in console window
Unhandled exception. System.ArgumentException: Resource name 'webappmvc_anc80_noauth_1' is invalid. Name must contain only ASCII letters, digits, and hyphens. (Parameter 'name')
   at Aspire.Hosting.ApplicationModel.ModelName.ValidateName(String target, String name) in /_/src/Aspire.Hosting/ApplicationModel/ModelName.cs:line 39
   at Aspire.Hosting.ApplicationModel.Resource..ctor(String name) in /_/src/Aspire.Hosting/ApplicationModel/Resource.cs:line 30
   at Aspire.Hosting.ApplicationModel.ProjectResource..ctor(String name) in /_/src/Aspire.Hosting/ApplicationModel/ProjectResource.cs:line 10
   at Aspire.Hosting.ProjectResourceBuilderExtensions.AddProject[TProject](IDistributedApplicationBuilder builder, String name) in /_/src/Aspire.Hosting/Extensions/ProjectResourceBuilderExtensions.cs:line 27
   at Program.<Main>$(String[] args) in C:\Users\balach\source\repos\WebAppMvc_Anc80_NoAuth_1\WebAppMvc_Anc80_NoAuth_1.AppHost\Program.cs:line 3

C:\Users\balach\source\repos\WebAppMvc_Anc80_NoAuth_1\WebAppMvc_Anc80_NoAuth_1.AppHost\bin\Debug\net8.0\WebAppMvc_Anc80_NoAuth_1.AppHost.exe (process 16408) exited with code -532462766.

EXPECTED
Ctrl+F5 to work fine

I believe this was an intentional change. See https://github.com/dotnet/aspire/pull/1712/.
cc @JamesNK

@eerhardt thanks. Yeah, the design is mentioned here: https://github.com/dotnet/aspire/issues/1399#issuecomment-1858224006. I wonder if VS tooling should be smart and convert the names to use acceptable characters when creating the AppHost project. I'll open a new issue in VS with that suggestion.

@JamesNK can you share more about the reasoning behind the change as well as any requests we have for the VS Team about this so that we understand what needs to be done to fix the regression?

Some characters have special meaning and using them breaks functionality. This change applies rules for allowed characters in resource and endpoint names.
Original issue: https://github.com/dotnet/aspire/issues/1399

We have the ability to override the service name by using a AspireProjectMetadataTypeName attribute. Example: https://github.com/dotnet/aspire/blob/9f37e5f6b461e4512f7be4b64b301486137762d7/tests/testproject/TestProject.AppHost/TestProject.AppHost.csproj#L15

A workaround here is to replace the underscores with dashes in the Resource name.
-builder.AddProject<Projects.WebAppMvc_Anc80_NoAuth_1>("webappmvc_anc80_noauth_1");
+builder.AddProject<Projects.WebAppMvc_Anc80_NoAuth_1>("webappmvc-anc80-noauth-1");

Preview 3 fix: https://github.com/dotnet/aspire/pull/2093
Preview 4 fix will be to change invalid characters to dash when writing AddProject reference to Aspire host project, e.g.
builder.AddProject<Projects.WebAppMvc_Anc80_NoAuth_1>("webappmvc-anc80-noauth-1");

Fix merged into release/8.0-preview3.
@balachir The VS change to modify the resource name is needed for P4. Either look at the code or get in contact with me about how to make the project name a safe Aspire resource name.

Verified that this issue is not reproduced on 17.10.0 Preview 1.0 [34605.110.d17.10] + Aspire.ProjectTemplates.8.0.0-preview.3.24105.21.

Follow up issue to track AddProject change for preview 4: https://github.com/dotnet/aspire/issues/2102

Need to test that ACA can accept dashes, and if not figure out how this impacts service discovery and how to workaround the issue.


Feature Request: Support indexing multiple documents from a single postgres row

PGSync version: 2.2.1
Postgres version: 12.5
Elasticsearch version: Opensearch 1.2.4
Redis version: 6.0.10
Python version: 3.10
Problem Description:
Given some schema with children like:
[
  {
    "database": "mydb",
    "index": "myindex",
    "nodes": {
      "table": "parent",
      "schema": "public",
      "columns": ["id", "time"],
      "children": [
        {
          "table": "child",
          "schema": "public",
          "columns": ["id", "content"],
          "transform": {
            "rename": {
              "id": "child_id"
            }
          },
          "relationship": {
            "variant": "object",
            "type": "one_to_many"
          }
        }
      ]
    }
  }
]

Instead of a single document per row of parent like this:
{
    "id": "ID",
    "time": "2022-02-22",
    "child": [
        {
            "child_id": 1,
            "content": "first"
        },
        {
            "child_id": 2,
            "content": "second"
        },
        {
            "child_id": 3,
            "content": "third"
        }
    ]
}

I'd like many documents (one per each row of child) like this:
[
    {
        "parent_id": "ID",
        "time": "2022-02-22",
        "id": 1,
        "content": "first"
    },
    {
        "parent_id": "ID",
        "time": "2022-02-22",
        "id": 2,
        "content": "second"
    },
    {
        "parent_id": "ID",
        "time": "2022-02-22",
        "id": 3,
        "content": "third"
    }
]

Proposal:
Can I add a method to Plugin that subclasses could optionally override to generate several documents from one?

I have a branch with work-in-progress changes to support this but don't have permission to push the branch.

@kingkupps You can create a fork and create a PR from that fork for @toluaina to review

@kingkupps Yes feel free to create a PR. Can I get a better understanding how how the pluging would work.
are you trying to return multiple docs from a single doc?
I'm trying to understand the use case. Perhaps this is a limitation that can be adressed at the core level

Here is a draft implementation of the plugin support I'm talking about. https://github.com/toluaina/pgsync/pull/271
The specific use case I'd want something like this for is to have more control over how k-NN indexed documents are scored. Today, if I use the above schema and the child documents have a k-NN vector, scoring is done at the parent and considers all children as part of the score. I would much rather score each child individually and determine in my application how to do grouping.
More generally, the use case would be to denormalize documents that contain nested relationships as a result of the Postgres structure.

Any thoughts here?

@toluaina Any thoughts here?

Turns out you can get what I'm looking for by manually specifying foreign keys. Ignore this

@kingkupps I'm trying to achieve the same results. Would you mind to elaborate how exactly you did that?


Fix inconsistent date formats in API

Prior to this patch, the response of

GET /images/json
GET /containers/json
GET /images/(name)/history

display the Created Time as UNIX format which doesn't make sense.
These should be more readable as CLI command docker inspect shows.
I think
{
...
Command: "/bin/bash"
Created: "2015-03-24T16:16:25.359682274Z"
...
}

is more clear than
 {
...
Command: "/bin/bash"
Created:<PHONE_NUMBER>
...
}

related  #7670
Signed-off-by: Hu Keping<EMAIL_ADDRESS>

Given the API docs specify this difference (whether rightly or wrongly):
http://docs.docker.com/reference/api/docker_remote_api_v1.17/#list-containers
vs.
http://docs.docker.com/reference/api/docker_remote_api_v1.17/#inspect-a-container
this would be an API response change that would need review and docs update.  It seems like inspect output is more of a "pretty-print" response, where the container list is the dump of raw data, but I can see the value of having a more readable format for the latter.

Also the CLI docker ps

ping @jfrazelle @estesp

this would be a breaking change for a lot of people we would definitely need docs changes

docs updated, @jfrazelle
If i have missed something please let me know.

Docs LGTM - might just want to validate there aren't any examples anywhere that use these. Ping @moxiegirl @SvenDowideit @fredlf

LGTM  I checked the docs and found nothing but REST
https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q="CreatedBy"+site:docs.docker.com

I think a real time format is more user friendly than "epoch seconds"/unix time integer, and it causes it to match output from docker inspect.  Any thoughts @tiborvass @LK4D4 @jfrazelle @crosbymichael? I assume we can move to code review; and docs review has 2 LGTM already..
Only other question is whether there needs to be a highlight of this in the API changes, and is this really going to be 1.19 as it won't be in 1.6.0? (1.18 will be 1.6.0 right?)

NOT LGTM you can use an older client with a newer version server today and this would break that, there needs to be a version check and return it the old way if it is < 1.18

docs should not even be reviewing this yet.

As @jfrazelle said, it is a problem if we use an older client with access a newer daemon.
For example  docker -H NEW_SERVER_IP ps
CONTAINER ID        IMAGE               COMMAND             CREATED
86788bcaf5b8        registry:latest     "docker-registry"   45.295081 years ago

45.295081 years is really a long time :(
Adding the version check will be a solution but it will make the code verbose, I do prefer simple code.
Is there another way we can go?

we have version checks elsewhere

@HuKeping no other solution for now. You'll need to rebase and add version checks.

Have moved the change of docs from 1.18 to 1.19.
I have some problem when I planed to add the version checks.
In the server's handler of docker images, the function CmdImages().
Since #12070 has  removed engine.Table and everything write to the IO will first be  store in an struct types.Image and then do the json.encode.
So  I must create a new struct to copy the whole data of struct type.Images even if I just want to change one field of it and re-encode it.
Is there any suggestion, thanks.

Since the work of removing engine.Job mechanism is ongoing, I think better to hold this on for the moment.

#12163 merged, I update the change for docker ps, please help review if the version check is OK

@HuKeping Tests failing and you need rebase. Change is ok though.

@LK4D4 will the option -H be the solution as #12430 ?

@HuKeping I don't understand :) Code is okay, apart from you have error because of which it doesn't compile.

@LK4D4 rebased and added the version check on both history and list container, but there is a problem when add the version check on list image because there have already one. Any suggestion? Thanks

@HuKeping Maybe if...else if...else?

@LK4D4 rebased

LGTM

@tiborvass updated

Better :)
LGTM
Thanks for your contribution @HuKeping !

@jfrazelle do you take back your NOT LGTM ?  Was your issue addressed?

looks like the versions were addressed so yes, thanks :)

This needs a mention in the "what's new" section of the API (and the changelog / release notes), because it's a breaking change.

@HuKeping can you please update "whats new" thanks!

@jfrazelle  sure, things get a  little busy these days, I'll do that this weekend :)

No worries just friendly reminder :)
On Thursday, May 7, 2015, HuKeping<EMAIL_ADDRESS>wrote:

@jfrazelle https://github.com/jfrazelle sure, things get a little busy
these days, I'll do that this weekend :)
—
Reply to this email directly or view it on GitHub
https://github.com/docker/docker/pull/11706#issuecomment-100065328.

@HuKeping, as @thaJeztah mentioned, this needs to be included in the remote api article before shipping. We need to warn people that we're changing the format:
https://github.com/docker/docker/blob/91fb4d672a8536d2f0437aeeb2dfc7b9e51aac16/docs/sources/reference/api/docker_remote_api.md

@calavera @HuKeping mentioned he was a bit busy and would try to do that this weekend.
If you want to have this merged, you can carry the commit and add the "what's new" note. Both code and docs have all the required LGTMs, so only the "what's new" mention remains.

@thaJeztah @calavera @jfrazelle updated, please take a look if the change is OK

needs a rebase, then can e try to get docs review asap so it wont need a rebase again, because we will have to make the code checks out again now

@jfrazelle rebased

docs LGTM
wind0ws build failed (not related)

Triggered a rebuild on windows

wired, would you please trigger a rebuild on windows

@HuKeping there were some issues with the windows build server, causing all builds to fail. I see you pushed a commit, so we'll have to wait till that completes. Fingers crossed :)

Builds passed. LGTM let's merge!
Thanks @HuKeping!

@shin- you might want to take a look at this change, it broke the go dockerclient so you might need to change something in docker-py

Thanks @vieux - We don't interpret JSON results as a general rule in docker-py so I don't think we'll be affected. Downstream users OTOH...

close #7670 now?

@ahmetalpbalkan sure