Compiling UWP for HoloLens

Hi Esteve,
I'm trying to compile ros2_dotnet in order to deploy some ros2 applications to HoloLens, so I have been attempting to cross-compile for x86 on my x64 machine.  I am following the instructions in the README, and despite CI saying that it passes for UWP x86, rcldotnet_common fails to build when I select "Visual Studio 15 2017" as the target generator.  The primary error is:

error NETSDK1032: The RuntimeIdentifier platform 'win-x86' and the PlatformTarget 'x64' must be compatible

but I've pasted the full output for that package below. Ament builds fine, and I can build successfully for UWP x64.  Any help would be appreciated. Thanks!
-- Build files have been written to: C:/workspaces/ros2_dotnet_ws/build/rcldotnet_common ==> 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\cmake__build.bat C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\\MSBuild\15.0\bin\msbuild.EXE /m:16 /p:Configuration=Release c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln /p:Platform=Win32' in 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common'
Microsoft (R) Build Engine version 15.9.21+g9802d43bc3 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

Build started 2/4/2019 5:53:22 PM.
-- Detecting C compiler ABI info - done
-- Detecting C compile features
     1>Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln" on node 1 (default targets).
     1>ValidateSolutionConfiguration:
         Building solution configuration "Release|Win32".
       ValidateProjects:
         The project "INSTALL" is not selected for building in solution configuration "Release|Win32".
         The project "uninstall" is not selected for building in solution configuration "Release|Win32".
     1>Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln" (1) is building "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\ALL_BUILD.vcxproj.metaproj" (2) on node 1 (default ta
       rgets).
     2>Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\ALL_BUILD.vcxproj.metaproj" (2) is building "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\ZERO_CHECK.vcxproj" (4) on node 2 (default targ
       ets).
     4>PrepareForBuild:
         Creating directory "Win32\Release\ZERO_CHECK\".
         Creating directory "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\Release\".
         Creating directory "Win32\Release\ZERO_CHECK\ZERO_CHECK.tlog\".
       InitializeBuildStatus:
         Creating "Win32\Release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
       CustomBuild:
         Checking Build System
         CMake does not need to re-run because C:/workspaces/ros2_dotnet_ws/build/rcldotnet_common/CMakeFiles/generate.stamp is up-to-date.
       FinalizeBuildStatus:
         Deleting file "Win32\Release\ZERO_CHECK\ZERO_CHECK.tlog\unsuccessfulbuild".
         Touching "Win32\Release\ZERO_CHECK\ZERO_CHECK.tlog\ZERO_CHECK.lastbuildstate".
     4>Done Building Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\ZERO_CHECK.vcxproj" (default targets).
     1>Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln" (1) is building "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj.metaproj" (3) on node 1 (def
       ault targets).
     3>Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj.metaproj" (3) is building "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj" (5) on node 1
       (default targets).
     5>PrepareForBuild:
         Creating directory "Win32\Release\rcldotnet_common\".
         Creating directory "Win32\Release\rcldotnet_common\rcldotnet_common.tlog\".
       InitializeBuildStatus:
         Creating "Win32\Release\rcldotnet_common\rcldotnet_common.tlog\unsuccessfulbuild" because "AlwaysCreate" was specified.
       CustomBuild:
         C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe;-version;C:/Program Files/dotnet/dotnet.exe restore;-r;win-x86 rcldotnet_co
         mmon_dotnetcore.csproj; C:/Program Files/dotnet/dotnet.exe publish;-r;win-x86 rcldotnet_common_dotnetcore.csproj -> C:/workspaces/ros2_dotnet_ws/build/rcldotnet_common
         cmake version 3.12.18081601-MSVC_2

         CMake suite maintained and supported by Kitware (kitware.com/cmake).
           Restoring packages for c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common_dotnetcore.csproj...
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
           Generating MSBuild file c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\obj_core\rcldotnet_common_dotnetcore.csproj.nuget.g.props.
           Generating MSBuild file c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\obj_core\rcldotnet_common_dotnetcore.csproj.nuget.g.targets.
           Restore completed in 355.56 ms for c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common_dotnetcore.csproj.
         Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
         Copyright (C) Microsoft Corporation. All rights reserved.

-- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe -- works
-- Detecting CXX compiler ABI info
-- Detecting C compile features - done
-- Found ament_cmake_python: 0.5.1 (C:/workspaces/ament_ws/install/share/ament_cmake_python/cmake)
-- Found ament_cmake_ros: 0.5.0 (C:/workspaces/ros2_dotnet_ws/install/share/ament_cmake_ros/cmake)
-- Found PythonInterp: C:/Python37/python.exe (found suitable version "3.7.2", minimum required is "3")
-- Using PYTHON_EXECUTABLE: C:/Python37/python.exe
           Restore completed in 53.46 ms for c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common_dotnetcore.csproj.
     5>C:\Program Files\dotnet\sdk\2.2.103\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(134,5): error NETSDK1032: The RuntimeIdentifier platform 'win-x86' and the PlatformTarget
        'x64' must be compatible. [c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common_dotnetcore.csproj] [c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj]
     5>Done Building Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj" (default targets) -- FAILED.
     3>Done Building Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj.metaproj" (default targets) -- FAILED.
     2>Done Building Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\ALL_BUILD.vcxproj.metaproj" (default targets) -- FAILED.
     1>Done Building Project "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln" (default targets) -- FAILED.

Build FAILED.

       "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln" (default target) (1) ->
       "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj.metaproj" (default target) (3) ->
       "c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj" (default target) (5) ->
       (CustomBuild target) ->
         C:\Program Files\dotnet\sdk\2.2.103\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(134,5): error NETSDK1032: The RuntimeIdentifier platform 'win-x86' and the PlatformTarg
       et 'x64' must be compatible. [c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common_dotnetcore.csproj] [c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.vcxproj]

    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:02.95

<== Command 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\cmake__build.bat C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\\MSBuild\15.0\bin\msbuild.EXE /m:16 /p:Configuration=Release c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln /p:Platform=Win32' failed in 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common' with exit code '1'
SystemExit in rcldotnet_common: <== Command 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\cmake__build.bat C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\\MSBuild\15.0\bin\msbuild.EXE /m:16 /p:Configuration=Release c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln /p:Platform=Win32' failed in 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common' with exit code '1'
Traceback (most recent call last):
  File "c:\workspaces\ament_ws\install\Lib\site-packages\ament_tools\verbs\build_pkg\cli.py", line 253, in run_command
    subprocess.check_call(cmd, shell=True, cwd=cwd, env=build_action.env)
  File "C:\Python37\lib\subprocess.py", line 347, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['c:\\workspaces\\ros2_dotnet_ws\\build\\rcldotnet_common\\cmake__build.bat', 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\\\MSBuild\\15.0\\bin\\msbuild.EXE', '/m:16', '/p:Configuration=Release', 'c:\\workspaces\\ros2_dotnet_ws\\build\\rcldotnet_common\\rcldotnet_common.sln', '/p:Platform=Win32']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\workspaces\ament_ws\install\Lib\site-packages\ament_tools\verbs\build\cli.py", line 384, in process_in_parallel
    result = done_future.result()
  File "C:\Python37\lib\concurrent\futures\_base.py", line 425, in result
    return self.__get_result()
  File "C:\Python37\lib\concurrent\futures\_base.py", line 384, in __get_result
    raise self._exception
  File "C:\Python37\lib\concurrent\futures\thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "c:\workspaces\ament_ws\install\Lib\site-packages\ament_tools\verbs\build_pkg\cli.py", line 280, in main
    return run(opts, context)
  File "c:\workspaces\ament_ws\install\Lib\site-packages\ament_tools\verbs\build_pkg\cli.py", line 331, in run
    handle_build_action(on_build_ret, context)
  File "c:\workspaces\ament_ws\install\Lib\site-packages\ament_tools\verbs\build_pkg\cli.py", line 270, in handle_build_action
    run_command(build_action, context)
  File "c:\workspaces\ament_ws\install\Lib\site-packages\ament_tools\verbs\build_pkg\cli.py", line 262, in run_command
    sys.exit(msg)
SystemExit: <== Command 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\cmake__build.bat C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\\MSBuild\15.0\bin\msbuild.EXE /m:16 /p:Configuration=Release c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common\rcldotnet_common.sln /p:Platform=Win32' failed in 'c:\workspaces\ros2_dotnet_ws\build\rcldotnet_common' with exit code '1'
-- Found rosidl_typesupport_interface: 0.5.1 (C:/workspaces/ros2_dotnet_ws/install/share/rosidl_typesupport_interface/cmake)
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    INSTALL_EXAMPLES
    THIRDPARTY

Hi @jeffdelmerico ,
May I see your compilation command? I am (just now!!) compiling for UWP 32 (for hololens) in my Windows10 64 bits machine without any problem.
Best

@jeffdelmerico thanks for trying out ros2-dotnet. It looks like the .NET Core runtime for x86 is not installed in your NuGet cache. The CI uses Azure Pipelines, so the test runners already have everything.
Could you type the following to check that the everything is correct?
dotnet --list-runtimes

And this to make sure that you can build .NET Core projects for win-x86:
dotnet new console -n foo
cd foo
dotnet restore -r win-x86
dotnet build -r win-x86

You should now have a file named foo.exe in bin\Debug\netcoreapp2.1\win-x86/
Thanks.

Hi @esteve and @fmrico
Thanks so much for developing the dotnet interface for ros2!
I'm a long time ROS user, but I am new to .NET and Windows development, so it's possible that I've gone off track with my local setup.  However, here are the steps I've taken, starting from a clean terminal with no ROS or ROS2 distributions sourced:
md \workspaces\ament_ws\src
cd \workspaces\ament_ws
curl -sk https://raw.githubusercontent.com/esteve/ros2_dotnet/master/ament_dotnet_uwp.repos -o ament_dotnet_uwp.repos
vcs import src < ament_dotnet_uwp.repos
python src\ament\ament_tools\scripts\ament.py build --cmake-args -G "Visual Studio 15 2017 Win64" --
call install\local_setup.bat
cd \workspaces
md ros2_dotnet_ws\src
cd ros2_dotnet_ws
curl -sk https://raw.githubusercontent.com/esteve/ros2_dotnet/master/ros2_dotnet_uwp.repos -o ros2_dotnet_uwp.repos
vcs import src < ros2_dotnet_uwp.repos
ament build --parallel --cmake-args -G "Visual Studio 15 2017" -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0.14393 -DTHIRDPARTY=ON -DINSTALL_EXAMPLES=OFF -DCMAKE_FIND_ROOT_PATH="\workspaces\ament_ws\install;\workspaces\ros2_dotnet_ws\install" --

The ament step produces lots of output but no errors.  The ros2_dotnet step produces the error I included initially, along with lots of output for successful package builds.
@esteve: Here is the output of the commands you suggested:
# dotnet --list-runtimes
Microsoft.AspNetCore.All 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.1.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

# dotnet new console -n foo
Getting ready...
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on foo\foo.csproj...
  Restoring packages for C:\tmp\foo\foo.csproj...
  Generating MSBuild file C:\tmp\foo\obj\foo.csproj.nuget.g.props.
  Generating MSBuild file C:\tmp\foo\obj\foo.csproj.nuget.g.targets.
  Restore completed in 283.78 ms for C:\tmp\foo\foo.csproj.

Restore succeeded.

# dotnet restore -r win-x86
  Restoring packages for C:\tmp\foo\foo.csproj...
  Installing runtime.win-x86.Microsoft.NETCore.DotNetAppHost 2.2.0.
  Installing runtime.win-x86.Microsoft.NETCore.DotNetHostResolver 2.2.0.
  Installing runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy 2.2.0.
  Installing runtime.win-x86.Microsoft.NETCore.App 2.2.0.
  Restore completed in 9.7 sec for C:\tmp\foo\foo.csproj.

# dotnet build -r win-x86
Microsoft (R) Build Engine version 15.9.20+g88f5fadfbe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restoring packages for C:\tmp\foo\foo.csproj...
  Installing Microsoft.NETCore.DotNetAppHost 2.2.1.
  Installing Microsoft.NETCore.DotNetHostResolver 2.2.1.
  Installing Microsoft.NETCore.DotNetHostPolicy 2.2.1.
  Installing Microsoft.NETCore.App 2.2.1.
  Installing runtime.win-x86.Microsoft.NETCore.DotNetAppHost 2.2.1.
  Installing runtime.win-x86.Microsoft.NETCore.DotNetHostResolver 2.2.1.
  Installing runtime.win-x86.Microsoft.NETCore.DotNetHostPolicy 2.2.1.
  Installing runtime.win-x86.Microsoft.NETCore.App 2.2.1.
  Generating MSBuild file C:\tmp\foo\obj\foo.csproj.nuget.g.props.
  Generating MSBuild file C:\tmp\foo\obj\foo.csproj.nuget.g.targets.
  Restore completed in 12.69 sec for C:\tmp\foo\foo.csproj.
C:\Program Files\dotnet\sdk\2.2.103\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(134,5): error NETSDK1032: The RuntimeIdentifier platform 'win-x86' and the PlatformTarget 'x64' must be compatible. [C:\tmp\foo\foo.csproj]

Build FAILED.

C:\Program Files\dotnet\sdk\2.2.103\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.RuntimeIdentifierInference.targets(134,5): error NETSDK1032: The RuntimeIdentifier platform 'win-x86' and the PlatformTarget 'x64' must be compatible. [C:\tmp\foo\foo.csproj]
    0 Warning(s)
    1 Error(s)

Time Elapsed 00:00:13.30

I've also verified that I already had the x86 runtime installed (on my system at least).

So do I understand correctly that this runtime is not being found when I go to build?  How do I make sure that this is in my NuGet cache?
Thanks for your help!

@jeffdelmerico are you using the "x64 Native Tools Command Prompt for Visual Studio 2017" console when building this, or the "x64_x86 Cross Tools Command Prompt"?
As a workaround you can also unset the PlatformTarget environment variable (set PlatformTarget=) and that should work.
I usually just use the normal prompt, ament only needs to have CMake and MSBuild in %PATH%, but that's it.

@esteve thank you very much for your response.  That was indeed the problem.  I realized last night that I had initially used the x64 command prompt, so I tried again this morning with the x86 one, which also didn't work, but I had forgotten about the cross tools prompt.  The workspace builds now, but I get a few errors of the form:
 error MSB3491: Could not write lines to file "visualization_msgs_InteractiveMarkerControl__rosidl_typesupport_introspection_c.dir\Release\visualiz.08EEEE21.tlog\visualization_msgs_InteractiveMarkerControl__rosidl_typesupport_introspection_c.lastbuildstate". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. [C:\workspaces\ros2_dotnet_ws\build\visualization_msgs\visualization_msgs_InteractiveMarkerControl__rosidl_typesupport_introspection_c.vcxproj]

However, I'm fairly certain that this is just due to my workspace path being too long, so I will try with \dev or whatever.  I've actually tried to change the 260 character limit for my system according to these instructions, but it did not seem to work, at least in this context.
Thanks for your help!

@jeffdelmerico awesome! I'm glad it helped. Regarding the path length, yeah, unfortunately that's a limitation of Windows, but I think a workaround could be implemented in ros2-dotnet. Anyway, let me know if you have any doubts with ros2-dotnet for UWP and the HoloLens, I'll be happy to help.

Thanks!  I will definitely be in touch as I move forward, and perhaps I can help contribute to ARViz if there is some overlap in our goals.


TechDebt - Fix MyPy issues that popped up in 0.990 release

Codecov Report

Merging #5646 (1c07d7c) into master (d560ff0) will increase coverage by 0.00%.
The diff coverage is 93.30%.

:exclamation: Current head 1c07d7c differs from pull request most recent head d399264. Consider uploading reports for the commit d399264 to get more accurate results

@@           Coverage Diff           @@
##           master    #5646   +/-   ##
=======================================
  Coverage   96.20%   96.20%
=======================================
  Files         742      742
  Lines       72683    72744   +61
=======================================
+ Hits        69923    69983   +60
- Misses       2760     2761    +1

Flag
Coverage Δ

servertests
36.92% <17.61%> (-0.02%)
:arrow_down:

unittests
96.14% <93.30%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

...o/apigateway/integration_parsers/unknown_parser.py
85.71% <0.00%> (ø)

moto/apigateway/models.py
95.71% <93.01%> (+0.18%)
:arrow_up:

moto/apigateway/responses.py
95.40% <93.93%> (-0.12%)
:arrow_down:

moto/apigateway/integration_parsers/aws_parser.py
82.35% <100.00%> (ø)

moto/apigateway/integration_parsers/http_parser.py
100.00% <100.00%> (ø)

moto/batch/models.py
91.57% <100.00%> (+0.03%)
:arrow_up:

moto/wafv2/models.py
100.00% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Selects not opening first time

Proposed changes
Select immediately closing on open on materialize v0.100.2

Types of changes

[x] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to change).

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Duplicate of #6336 ? #6339 seems to be the PR that fixes the bug it is merged but without a new release you have to recompile yourself the JavaScript.

This issue comes to arrive with materializecss 1.0.0. I load the CDN https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css and on mobile phones, it's impossible to select an option.


Update licenses for v3.26

Product Version(s):

Issue:

Link to docs preview:

SME review:

[ ] An SME has approved this change.

DOCS review:

[ ] A member of the docs team has approved this change.

Additional information:

Merge checklist:

[ ] Deploy preview inspected wherever changes were made
[ ] Build completed successfully
[ ] Test have passed

@lwr20 The 3.26 release was published without these changes. Can you update this PR to put the same changes in calico_versioned_docs/calico-3.26 and similar?
Sorry about the extra legwork


minor bug in trim

Found a minor bug in file nc_test/tst_utf8_validate.c, line 353
353     for(i=l-1;l >= 0; i--) {
354         if(t[i] != ' ') break;

should be
353     for(i=l-1; i>= 0; i--) {
354         if(t[i] != ' ') break;

Because tst_utf8_validate.c is considered by git a binary file, I did not create a pull request.

The same bug appears in file nc_test/tst_utf8_phrases.c, line 272.

Thanks @wkliao fixing shortly!


chore: rename env LAUNCHER_SENTRY_DSN to LAUNCHER_FRONTEND_SENTRY_DSN

Ah crap, this wasn't supposed to be merged yet right?

I created another PR to revert this. Don't forget to mark your PR with a do not merge label (or a WIP title) if it's not ready yet


Add getEntityV2 to entity-client

@keremnalbant I wouldn't deprecate v1 at all to be honest. It still has its use cases, even if V2 is more performant


[camera] iOS photos do not have full exif data

In Android, I receive all Exif data for the captured photo via both Camera plugin (0.5.3+1) and Image_Picker plugin (0.6.0+17) but on iOS I receive full Exif data only from Image_Picker plugin, not the Camera plugin.
Based on what you mentioned above, I know that the reason why we still receive the orientation data is related to your fix PR which has already merged.
What I really need is the full Exif data not only the orientation. Fortunately, my app's deploy target is iOS 11+ so I'm happy to use the new callback you mentioned above.
Is there any sample code related to that in Objective-C to be able to replace it with the current approach in the Camera plugin?
Is there any roadmap for fixing the issue to have full Exit data on iOS as well?
Originally posted by @iNima in https://github.com/flutter/flutter/issues/16587#issuecomment-522395437
To implement the above we'd likely need to limit support to iOS 11, or only do this in iOS 11.

Just adding some more details to this issue regarding the mentioned callbacks on iOS:

captureOutput:didFinishProcessingPhotoSampleBuffer: the callback currently used by the camera plugin and deprecated since iOS 11+. The iOS documentation can be found here;
captureOutput:didFinishProcessingPhoto: the new callback available on iOS 11+,  includes the photo meta data (EXIF) but not supported by the camera plugin as of yet.

Added the didFinishProcessingPhoto callback in PR flutter/plugins#3337 which will make sure EXIF data is stored on iOS 11.0 and higher.
For previous versions of iOS the orientation is still determined using the accelerometer sensors.


Devices without BTN_STYLUS/BTN_TOOL_PEN somehow being treated as tablets.

/dev/input/event10 is touchpad but due to bug is being treated as tablet
Xorg log:
http://0x0.st/-BKh.log
evemu-describe:
http://0x0.st/-BPL.log
udev internal properties:
http://0x0.st/-BPu.txt
possible buggy code:
https://github.com/illiliti/libudev-zero/blob/bbea6a6d9022b0546ca76bfdc03232a83a787589/udev_device.c#L448

Waiting on response of issue reporter to confirm that bug is fixed by referenced commit.


Improving search bar

Is your feature request related to a problem? Please describe.
Right now, there is no query suggestion and recent searches in search bar,
Describe the solution you'd like
Adding query suggestion and recent searches  will improve user experience.

Are you working on this issue ?

No,I am not working in it.

Can I work on this?

I would like to work on this.

I would love to work on this issue , is anybody working on this issue , can you please assign it to me ?

Obsolete


Class Binding and Removing Class in DOM

Hey,
is it possible to have binding in the v-bind:class="{'test':test}" when also removing the class. What I mean by this, for example we have <div v-bind:class={'test':test}>Stuff</div>
and a Vue Instance
new Vue({
   el: "#stuff",
   data: {
     test: true
   }
});

Now when I remove the class in the DOM like this $("div").removeClass("test"); I would expect to have data.test = false after removing the class from the div.

No. Vue doesn't react to your manual Dom manipulations.
On Fri, Sep 9, 2016, 17:15 Marcin Poholski<EMAIL_ADDRESS>wrote:

Hey,
is it possible to have binding in the v-bind:class="{'test':test}" when
also removing the class. What I mean by this, for example we have <div
v-bind:class={'test':test}>Stuff
and a Vue Instance
new Vue({
el: "#stuff",
data: {
test: true
}
});
Now when I remove the class in the DOM like this
$("div").removeClass("test"); I would expect to have data.test = false
after removing the class from the div.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/vuejs/vue/issues/3649, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFTLl-fT85J1Wk54J12zdbp3VOF7-lTFks5qoSO8gaJpZM4J42lE
.

But could this be a Feature Request?

No. It is against the fundamental assumption upon which Vue works: you do
not manipulate Dom yourself (or with other libs)
On Fri, Sep 9, 2016, 17:28 Marcin Poholski<EMAIL_ADDRESS>wrote:

But could this be a Feature Request?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/vuejs/vue/issues/3649#issuecomment-245864956, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFTLl3vlwiEG5yBlav6VMP_MoGB98cySks5qoSazgaJpZM4J42lE
.


Root relative self

https://github.com/SignalK/specification/issues/391

This should be in the ws response also, correct?

Thanks. Fixed & force pushed.

...and one more force push, to fix the failing subscription test.


Changing config.yml values causes other keys to be logged as changed

Hot loading a change to the value of stroom.ui.helpUrl in the config.yml file causes other config keys (changepassword, apiKeys and users) to be marked as changed when they have not.  helpUrl was changed from x.x.x.x to xxxxxxx.x.x.x.
These keys are marked as changed for a change to any other key in the config file.
stroom                | INFO   [2021-07-07T08:01:41.670Z] [pool-4-thread-1] stroom.config.global.impl.AppConfigMonitor -  Change detected to config file /stroom/config/config.yml
stroom                | INFO   [2021-07-07T08:01:41.670Z] [pool-4-thread-1] stroom.config.global.impl.AppConfigMonitor -  Scheduling update of application config from file in 1000ms
stroom                | INFO   [2021-07-07T08:01:41.676Z] [pool-4-thread-1] stroom.config.global.impl.AppConfigMonitor -  Change detected to config file /stroom/config/config.yml
stroom                | INFO   [2021-07-07T08:01:42.670Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -  Reading updated config file
stroom                | Applying path substitutions to Drop Wizard configuration in file /stroom/config/config.yml
stroom                | Using stroom home [/stroom] from YAML for Drop Wizard config path substitutions
stroom                | Using stroom temp [/tmp/stroom] from YAML for Drop Wizard config path substitutions
stroom                | Replacing value for "/server/requestLog/appenders/0/currentLogFilename": [logs/access/access.log] => [/stroom/logs/access/access.log]
stroom                | Replacing value for "/server/requestLog/appenders/0/archivedLogFilenamePattern": [logs/access/access-%d{yyyy-MM-dd'T'HH:mm}.log.gz] => [/stroom/logs/access/access-%d{yyyy-MM-dd'T'HH:mm}.log.gz]
stroom                | Replacing value for "/logging/loggers/event-logger/appenders/0/currentLogFilename": [logs/user/user.log] => [/stroom/logs/user/user.log]
stroom                | Replacing value for "/logging/loggers/event-logger/appenders/0/archivedLogFilenamePattern": [logs/user/user-%d{yyyy-MM-dd'T'HH:mm}.log] => [/stroom/logs/user/user-%d{yyyy-MM-dd'T'HH:mm}.log]
stroom                | Replacing value for "/logging/loggers/org.flywaydb.core.internal.sqlscript/appenders/0/currentLogFilename": [logs/migration/migration.log] => [/stroom/logs/migration/migration.log]
stroom                | Replacing value for "/logging/loggers/org.flywaydb.core.internal.sqlscript/appenders/0/archivedLogFilenamePattern": [logs/migration/migration-%d{yyyy-MM-dd}.log] => [/stroom/logs/migration/migration-%d{yyyy-MM-dd}.log]
stroom                | Replacing value for "/logging/appenders/1/currentLogFilename": [logs/app/app.log] => [/stroom/logs/app/app.log]
stroom                | Replacing value for "/logging/appenders/1/archivedLogFilenamePattern": [logs/app/app-%d{yyyy-MM-dd'T'HH:mm}.log.gz] => [/stroom/logs/app/app-%d{yyyy-MM-dd'T'HH:mm}.log.gz]
stroom                | INFO   [2021-07-07T08:01:42.841Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -  Validating modified config file
stroom                | INFO   [2021-07-07T08:01:42.856Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -  Completed validation of application configuration, errors: 0, warnings: 0
stroom                | INFO   [2021-07-07T08:01:42.856Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -  Updating application config from file.
stroom                | INFO   [2021-07-07T08:01:42.857Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -    Updating config value of stroom.ui.helpUrl from [http://x.x.x.x/docs] to [http://xxxxxxxx.x.x.x/docs]
stroom                | INFO   [2021-07-07T08:01:42.857Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -    Updating config value of changepassword from [https://x.x.x.x:443/s/changepassword] to [../../../s/changepassword]
stroom                | INFO   [2021-07-07T08:01:42.857Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -    Updating config value of apiKeys from [https://x.x.x.x:443/s/apiKeys] to [../../../s/apiKeys]
stroom                | INFO   [2021-07-07T08:01:42.857Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -    Updating config value of users from [https://x.x.x.x:443/s/users] to [../../../s/users]
stroom                | INFO   [2021-07-07T08:01:42.862Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.AppConfigMonitor -  Completed updating application config from file. Changes: 4
stroom                | INFO   [2021-07-07T08:01:42.870Z] [ForkJoinPool.commonPool-worker-7] stroom.config.global.impl.GlobalConfigService -  Updated application config with global database properties
stroom                | INFO   [2021-07-07T08:01:56.536Z] [Stroom P2 #9 - Property Cache Reload] stroom.config.global.impl.GlobalConfigService -  Updated application config with global database properties

UrlConfig is no longer needed so can be removed


Update chart reloader to 1.0.79

This PR contains the following updates:

Package
Update
Change

reloader
patch
1.0.77 -> 1.0.79

[!WARNING]
Some dependencies could not be looked up. Check the warning logs for more information.

Release Notes

stakater/Reloader (reloader)
v1.0.78
Compare Source
Changelog

7d44e98 Merge pull request #624 from stakater/renovate/azure-setup-helm-4.x
2d74474 [skip-ci] Update artifacts
c5d8dd8 chore(deps): update azure/setup-helm action to v4

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠ Warning: custom changes will be lost.


[BUG] Support object properties on Kamelet

Describe the bug
Currently Kaoto only supports key/value style of bean property on Kamelet
https://github.com/KaotoIO/kaoto-backend/blob/main/kamelet-support/src/main/java/io/kaoto/backend/model/deployment/kamelet/Property.java
And some of official Kamelets are with this style.
However, while we want to be able to read this key/value style for backward compatibility, this is against Camel upstream schema and subject to be a validation error in Camel4. The correct style is properties with object type
https://github.com/apache/camel/blob/camel-3.x/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camel-yaml-dsl.json#L339-L341

Turned out properties on Kamelet beans is still key/value style (PropertyDefinition). The runtime and schema are out of sync. We have to keep supporting key/value style bean property for Camel3.
https://github.com/apache/camel/blob/camel-3.x/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/BeanFactoryDefinitionDeserializer.java#L61
For Camel4, i.e. on main branch, it's already fixed to use object type of properties - https://github.com/apache/camel/blob/main/core/camel-core-model/src/main/java/org/apache/camel/model/app/RegistryBeanDefinition.java#L46

Note: it's a problem specific to Kamelet kind with template bean, not for Integration kind with the bean same with plain YAML DSL.


Minor documentation issue: countmembers doesn't exist

The API documentation refers to countmembers when actually it's just implementing len (which is better).

Thanks for pointing out. Will take a look at it when I push the new version based on your PR.

Updated in newest docs.


[HUDI-1253] Merge two TestHoodieSnapshotExporter to one class

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
Merge two TestHoodieSnapshotExporter in hudi-utilities
Brief change log
Currently, there are two classes named TestHoodieSnapshotExporter, we'd better rename one of them or merge them to one class.
Verify this pull request
This pull request is already covered by existing tests, such as org.apache.hudi.utilities.functional.TestHoodieSnapshotExporter.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@yanghua  @xushiyan   please take a look when free

Hi @wangxianghu thanks for the changes. The split was intended for distinguishing between unit test and functional tests. Please see this ticket https://issues.apache.org/jira/browse/HUDI-994
When we use @Tag("functional") it means the whole test class will be included in a test suite to be run with -Pfunctional-tests. We'll probably come up with a guide about testing here.

Hi @wangxianghu thanks for the changes. The split was intended for distinguishing between unit test and functional tests. Please see this ticket https://issues.apache.org/jira/browse/HUDI-994
When we use @Tag("functional") it means the whole test class will be included in a test suite to be run with -Pfunctional-tests. The class you deleted here is a pure unit test hence it'd better stay as is. We'll probably come up with a guide about testing here.

Hi, @xushiyan thanks for your explanation.  closing this now


Handles the case when change estimate fee

Describe the task
Handles the case when change estimate fee
Actual : The estimate fee displayed after the change causes confusion for users

[ ] Handle case change estimate fee when transfer max
Actual : When changing the fee, you have to wait a while for the maximum amount to change accordingly


nixbld workers should be used in order

when installing stuff, it seems to me that the workers are used in random order (at least now I'm installing something with nixbld1, 2, 3 and 10). If they would be used in the proper order, one could identify in a glance how many workers are on work (approximately).

And if one ends sooner than others? Again, closed in favor of "showing better progress" #8252 (although it might be better in nix repo instead anyway).


Automated cherry pick of #5980

Cherry pick of #5980 on release-5.26.
/cc  @amyblais

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.


Adaptive lighting value appears overwritten

What issue do you have? Please be as thorough and explicit as possible.
When selecting adaptive lighting or changing brightness on selective lighting in Home app bulb changes to warm then back to cool white. Sometimes does not dim at all and stays bright.
Details of your setup.

Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS?
UI-X

Which version of Homebridge/HOOBS do you have?
1.5.0

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.
Pi with Homebridge image
16.26.0

Which version of this plugin (homebridge-meross) do you have? Has the issue started since upgrading from a previous version?
v8.2.0
Only just started with the plugin the past week or two, unsure if it has updated in that time.

Which Meross devices do you have that are causing issues? Please include product models if applicable.
MSL120D
MSL320CPR

Please paste any relevant logs below.

Hallway Ceiling with debug logging enabled. Changed brightness from 100% to 38%.
[11/09/2022, 18:47:12] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"8p50banog0eevrdet358r29237cqml13","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"b63078b0932691d3c78893e3bd0c9d91","timestamp":1662886032,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"luminance":100,"capacity":4,"channel":0}}}.
[11/09/2022, 18:47:12] [Meross] [Hallway ceiling] current brightness [100%].
[11/09/2022, 18:47:12] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"xhaffk5l8tpisksrjwlznbpd6bv7ha54","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"5ce4655e11fbf04b24cc72c14f1ae194","timestamp":1662886032,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":60,"capacity":2,"luminance":100,"channel":0}}}.
[11/09/2022, 18:47:12] [Meross] [Hallway ceiling] current mired/kelvin [285/3509] via adaptive lighting.
[11/09/2022, 18:47:14] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":914,"timestamp":1662886035,"sign":"575b5d4e761747f743eb7c7a6f146d5d","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"4f706e350e3cd74e70e14e19ab48d1d6","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":60,"rgb":16711680,"luminance":100,"channel":0,"capacity":2}}}.
[11/09/2022, 18:47:14] [Meross] [Hallway ceiling] current mired/kelvin [284/3521].
[11/09/2022, 18:47:59] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"kq10ku1s0p45jcexr0mpjziaugyjcc8p","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"90fa5b44f9b7110a26e77ff8ad3ae37a","timestamp":1662886079,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":60,"capacity":2,"luminance":100,"channel":0}}}.
[11/09/2022, 18:48:00] [Meross] [Hallway ceiling] current mired/kelvin [285/3509] via adaptive lighting.
[11/09/2022, 18:48:00] [Meross] [Kitchen Cabinets] current mired/kelvin [391/2558] via adaptive lighting.
[11/09/2022, 18:48:02] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":298,"timestamp":1662886082,"sign":"0b261aa294135b6f2abd7a983422d268","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"598dc6814d1e59af9769f3cd5f9887d0","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":60,"rgb":16711680,"luminance":100,"channel":0,"capacity":2}}}.
[11/09/2022, 18:48:02] [Meross] [Hallway ceiling] current mired/kelvin [284/3521].
[11/09/2022, 18:48:02] [Meross] [Kitchen Cabinets] current mired/kelvin [392/2551].
[11/09/2022, 18:48:02] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"57q0432pjmuuzqyc2uf53n459b97sdys","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"2ad420acb97a92a40323adc46eb06cf5","timestamp":1662886082,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"luminance":38,"capacity":4,"channel":0}}}.
[11/09/2022, 18:48:02] [Meross] [Hallway ceiling] current brightness [38%].
[11/09/2022, 18:48:03] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"whhg3ir8y48urn3kybx69rl33x68crqw","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"1b93921486a2cd8e85a335a36d28a5c3","timestamp":1662886083,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":38,"capacity":2,"luminance":38,"channel":0}}}.
[11/09/2022, 18:48:03] [Meross] [Hallway ceiling] current mired/kelvin [365/2740] via adaptive lighting.
[11/09/2022, 18:48:03] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"9fp40b6tkrzg9tbnpylt8u925704alyq","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"771ca0cc41896e267ea1007306839f57","timestamp":1662886083,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"luminance":37,"capacity":4,"channel":0}}}.
[11/09/2022, 18:48:03] [Meross] [Hallway ceiling] current brightness [37%].
[11/09/2022, 18:48:03] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"ulrbvbvveb0elx5khbfnm46vf95fflkq","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"3fc837068286e97c1880358b2248fd56","timestamp":1662886083,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":37,"capacity":2,"luminance":37,"channel":0}}}.
[11/09/2022, 18:48:03] [Meross] [Hallway ceiling] current mired/kelvin [366/2732] via adaptive lighting.
[11/09/2022, 18:48:06] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":692,"timestamp":1662886087,"sign":"48ad976581af5fe89a50fe136eef83e2","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"852e6e596f359c2a6970bb25b7ea9b3a","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":37,"rgb":16711680,"luminance":38,"channel":0,"capacity":2}}}.
[11/09/2022, 18:48:06] [Meross] [Hallway ceiling] current brightness [38%].
[11/09/2022, 18:48:06] [Meross] [Hallway ceiling] current mired/kelvin [367/2725].
[11/09/2022, 18:48:06] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"o0besoh9126wmrd6sfjr7cwbt1w681gn","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"1e23a4955d2fcc3c961c8aa2e3e54be3","timestamp":1662886086,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":38,"capacity":2,"luminance":38,"channel":0}}}.
[11/09/2022, 18:48:06] [Meross] [Hallway ceiling] current mired/kelvin [365/2740] via adaptive lighting.
[11/09/2022, 18:48:08] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":89,"timestamp":1662886089,"sign":"56f95346337a64a6a06a5072b1e261c4","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"f825c2bbdf3b3c136e4cc240a4a3df11","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":38,"rgb":16711680,"luminance":38,"channel":0,"capacity":2}}}.
[11/09/2022, 18:48:08] [Meross] [Hallway ceiling] current mired/kelvin [363/2755].
[11/09/2022, 18:48:59] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"q6rm547exx13ktcleumohw4f7cc98r08","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"d2231136baff3b9e469490215546d106","timestamp":1662886139,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":38,"capacity":2,"luminance":38,"channel":0}}}.
[11/09/2022, 18:49:00] [Meross] [Hallway ceiling] current mired/kelvin [365/2740] via adaptive lighting.
[11/09/2022, 18:49:02] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":470,"timestamp":1662886142,"sign":"1cc453a2c8d0ea74f632cb4174aaf46a","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"99628dfc60a4cf0b000ed090db7dfcbd","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":38,"rgb":16711680,"luminance":38,"channel":0,"capacity":2}}}.
[11/09/2022, 18:49:02] [Meross] [Hallway ceiling] current mired/kelvin [363/2755].
[11/09/2022, 18:49:59] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"apoc2ljly8ea3a6bi8who0kpt5my0ic6","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"d640ca53e8b1966ebb1dd7105e7c1176","timestamp":1662886199,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":37,"capacity":2,"luminance":38,"channel":0}}}.
[11/09/2022, 18:50:00] [Meross] [Hallway ceiling] current mired/kelvin [366/2732] via adaptive lighting.
[11/09/2022, 18:50:00] [Meross] [Kitchen Cabinets] current mired/kelvin [393/2545] via adaptive lighting.
[11/09/2022, 18:50:01] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":838,"timestamp":1662886202,"sign":"456c30d12dfd594ee610727b01c8bdc9","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"79983869a1ee589c46dd8236f43b37d4","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":37,"rgb":16711680,"luminance":38,"channel":0,"capacity":2}}}.
[11/09/2022, 18:50:01] [Meross] [Hallway ceiling] current mired/kelvin [367/2725].
[11/09/2022, 18:50:01] [Meross] [Kitchen Cabinets] current mired/kelvin [392/2551].
[11/09/2022, 18:50:59] [Meross] [Hallway ceiling] sending update: {"header":{"from":"http://<IP_ADDRESS>/config","messageId":"jiy3yv5zdqgwhdw700hyyfx2jkacd2er","method":"SET","namespace":"Appliance.Control.Light","payloadVersion":1,"sign":"f4a88db580b84632f66838d390217788","timestamp":1662886259,"triggerSrc":"iOSLocal","uuid":"21020510258695290d4248e1e94af5d3"},"payload":{"light":{"temperature":37,"capacity":2,"luminance":38,"channel":0}}}.
[11/09/2022, 18:51:00] [Meross] [Hallway ceiling] current mired/kelvin [366/2732] via adaptive lighting.
[11/09/2022, 18:51:00] [Meross] [Kitchen Cabinets] current mired/kelvin [393/2545] via adaptive lighting.
[11/09/2022, 18:51:02] [Meross] [Hallway ceiling] incoming mqtt: {"header":{"timestampMs":205,"timestamp":1662886262,"sign":"bf0ee847975e383be060db30440e3d8e","payloadVersion":1,"namespace":"Appliance.Control.Light","method":"PUSH","messageId":"f99f7cab5d85eb571097fc974267cadc","from":"/appliance/21020510258695290d4248e1e94af5d3/publish"},"payload":{"light":{"transform":-1,"temperature":37,"rgb":16711680,"luminance":38,"channel":0,"capacity":2}}}.
[11/09/2022, 18:51:02] [Meross] [Hallway ceiling] current mired/kelvin [367/2725].
[11/09/2022, 18:51:02] [Meross] [Kitchen Cabinets] current mired/kelvin [392/2551].

Also may or may not be related to the same issue, I’ve noticed a new behaviour (with iOS 16.0.1) where brightness slider up from 0% (off) to 1-3% makes the bulbs flash bright for a split second (close to full brightness) before returning to the expected brightness. This was observed with a pair of bulbs in a group).
I’ve also noticed that the bulbs in the group do not always respond with the same colour at the same time when setting a scene. One may be red (precious colour state) while the other is the specified colour from the scene, such as adaptive lighting. It can take 2-3 goes requesting the scene for both bulbs to comply with correct colour.

Hi @nashw83 sorry for delayed response, is this still an issue you are finding with the plugin?


Test details: remove hardware/tree requirement to enter the page

Currently, you always need to access /tree/<treeId> or /hardware/<hardwareId> to acess /test/<testId>, it would be interesting to be able to go to a test details page directly, without passing through trees or hardwares

Keep old routes as redirects

When accessing a test via the link /test/$testId, no context is passed to the Test Details page, which is important when generating the Build Info link (to create the breadcrumb). As a result, a new route, /build/$buildId, must be created to address this issue. This route can handle cases where no context is provided, showing no breadcrumb when the context is missing.


Remove logging and easylogging

Coverage increased (+0.7%) to 48.943% when pulling 5c3717b85af309151ee8c456ee972cb6be1a3a1a on pervazea:master into 4aeaeaff822424bd5e77eafcbb4d1e6f2e6e4074 on cmu-db:master.


mdc-helper-text doesn't show for mdc-select

Describe the bug
mdc-helper-text doesn't show for mdc-select
To Reproduce
Check the last demo for mdc-select
Expected behavior
"Selection is required" should be showing below the control
Screenshots

What Angular MDC version are you using?
1.0.5
What browser(s) is this bug affecting?:
Chrome

@BrianThorne Thanks for bringing this to my attention. Adding to next milestone


Notes regarding mechanical turret.

I've played around with this new feature and noticed a few things that might have some improvements:

I don't know much about entities, but turret is considered as "living" one I guess — it gets health bar displayed with Neat (and probably another similar mods) and has health indicator when operated, similar to the one you see when riding a horse.
Turret base occupies only one block, so the rest space can be covered in blocks, including the space where player sits. This also means many turrets can be placed next to each other, overlapping.

Another thing I just noticed: you can actually kill turrets (with another turret with Ember Gatling Gun installed for example), and they drop sulfur for some reason? And they also respawn instantly.

the turret is no longer a living entity in version 1.1.7


Stack Overflow "ami.js" tag

It would be great if somebody could help us get the "ami.js" tag on Stack Overflow.
You need 1500 reputation on Stack Overflow to create a tag.

created: https://stackoverflow.com/questions/tagged/ami.js

Thanks!


amazon-connect-1.3.js upgrade available ?

Hello Team .,
I am currently using amazon-connect-1.3.js . Is it possible I can get the upgraded and latest version something like amazon-connect-1.6.js

You can manually download the latest from the release page linked on the main page of the project, follow the instructions in the readme to migrate your code to use NPM to manage your package version (this is probably what you should do, it was not packaged to NPM in the 1.3 era which is why your predecessor did not use the NPM package.) or even check out the code locally and compile it yourself (by your question this might be outside your comfort zone... but is a option).

Thanks @altesean. Hi @darwinanirudh please check @altesean comment above, which is also what we recommend for customers.


[ENH] Enhancing polars support by introducing set_output and create_container

Introduces files set_output inside skpro.utils and new tests file test_set_output inside the tests folder. As part of https://github.com/sktime/enhancement-proposals/pull/34 and the notes written in my mentorship programme . I have introduced basic functions to convert multi column pandas dataframes into single column pandas dataframes, introduced functions to convert pandas dataframes to polars dataframes with enhanced functionality, and have created check_transform_config to ensure that transformations set by the users are aligned with available skpro output data containers. Finally, I have introduced _config inside BaseProbaRegressor and a new function set_output which mirrors sklearn's set_output for familiarity.
Other enhancements can potentially be included with #392 as we refactor the datatypes - perhaps the create_container function can be introduced in each Datatype Module
update 07/02/2024 - files create_container and test_create_container have been introduced to create container outputs for polars DataFrames. Discussion potentially needed on how to merge create_container with #392

@fkiraly I have attempted to create this branch under the branch containing #370, hopefully it worked properly? 😃

Next action item here is to write technical implementation of each of the _predict_* functions as polar frames inside the design doc - will update that soon

Do you mean inside the polars / pandas container adapters? We could use the convert utility there but I thought it would be simpler/faster if we used the standard dataframe caller.

Hm, that may be correct, but it introduces repetition/duplication, so my comment is in parts about being DRY. The idea behind the convert utility is that checking and conversions are localized in one place, that also ensures that there are no two slightly inconsistent definitions of the output type. Hopefully, there is also not too much computational overhead to it - if there is, we need to think about why.

@fkiraly Inside the new function set_output(self, transform):, i am thinking we could include another parameter named include_index which is a boolean value. If set as True and transform polars, then we would return the index from the pandas dataframe as a column named __index__

Hm, that may be correct, but it introduces repetition/duplication, so my comment is in parts about being DRY. The idea behind the convert utility is that checking and conversions are localized in one place, that also ensures that there are no two slightly inconsistent definitions of the output type. Hopefully, there is also not too much computational overhead to it - if there is, we need to think about why.

Agreed - I think we can easily utilize the corresponding _convert function. I'll make this change in a different pr once #392 is merged

let me know in case you need a review

Another review would be quite helpful.. I think I'll try and re-write the description to be more clear what the goal of the pull request is and whats being added in the PR.
I'll also note that the new code that supports mi-columns and si-columns/indxes for polars exists inside adapters.polars and not inside the table conversion utilities. Instead, the polars conversion utilities import the conversion methods from adapters.polars and uses them to convert the pandas dataframes and polars dataframes.
So if needed, I can separate the polars conversion methods inside adapters.polars into different functions:

One for si column pandas to polars (for the table scitype)
One for si column polars to pandas (for the table scitype)
A new conversion method for mi column pandas to polars (for any new mi abstract data types that we decide upon)
A new conversion methods for mi column pandas to polars i.e reverse mapping (for any new mi abstract data types that we decide upon)
All of these methods will still be inside adapters.polars unless you have another recommendation on the placement of these methods. Either way, this should allow the scitype conversion methods to be firmly independent from each other.

I'll also note that although predict_var is only single column, there are still some failures in the CI, because one of the notebook-examples (the one with plot_crossplot_std)

I remember asking you before why in the base code the output conversion only existed inside the predict function and nothing else. Could you kindly remind me why?
And given that reasoning, do you think it makes sense to have the other predict_* functions have this line of code also? or should it always be returned in the same data container as the input. If this is indeed the case, we can always allow data container type changes in these methods via set_output. But most likely in baby steps first since this is quite a challenging design question to solve !

From our discussion, summarizing what I think the key points for this PR, to avoid it moving around with minor changes:

a clear specification and use cases written down for set_output and the new config field, what it should do. Scenarios that we need to cover are pandas and polars inputs both.
this should, in particular, include a specification for what comes out of the proba methods if a polars output is produced
I would then add a section on how these outputs are getting mapped onto mtypes, and the datatypes module, a precise suggestion.

I am happy to write these, if you feel you are stuck - please let me know. Or, if they exist somewhere, links would be appreciated.

I'll also note that the new code that supports mi-columns and si-columns/indxes for polars exists inside adapters.polars and not inside the table conversion utilities.

I see - I would though not suggest to split here too much for now, instead we could just add the

I'll also note that although predict_var is only single column, there are still some failures in the CI, because one of the notebook-examples (the one with plot_crossplot_std)

This seems a bit suspicious, why would these changes impact the plotting function at all? I was under the impression that all existing code should run unchanged. Do you have an explanation for the failure?

I remember asking you before why in the base code the output conversion only existed inside the predict function and nothing else. Could you kindly remind me why?

That is because the different contracts of the underscore-methods, which are hopfully correctly stated in the extension template:

_predict gets input as X_inner_mtype and y_inner_mtype. It should return an output as y_inner_mtype type.
_predict_quantiles ets gets input as X_inner_mtype and y_inner_mtype. It needs to return the output in the specific pd.DataFrame based format, there is currently only a single choice for this.

Due to this, in the case of _predict, we need to convert the output too, if the returned y_pred should be of the same type as y seen in fit; but we do not need to do so for _predict_quantiles.

And given that reasoning, do you think it makes sense to have the other predict_* functions have this line of code also?

Yes, but weren't you already adding such a conversion in this PR? Which I think makes sense.

_predict_quantiles ets gets input as X_inner_mtype and y_inner_mtype. It needs to return the output in the specific pd.DataFrame based format, there is currently only a single choice for this.

Ah I see, so do you think in your opinion for predict_interval, predict_quantiles, and predict_var, that (for now) it should not trigger any convert function unless specified by the user via set_output? i.e
Scenario 1a: User passes in a pandas DataFrame as X_inner_mtype and y_inner_mtype and does not utilize set_output, thus the output is returned as pd.DataFrame
Scenario 1b: User passes in a polars DataFrame as X_inner_mtype and y_inner_mtype and does not utilize set_output, thus the output is returned as pd.DataFrame
Scenario 2a: pandas DataFrame as X_inner_mtype and y_inner_mtype and utilizes set_output for polars, thus the output is returned as pl.DataFrame
Scenario 2b: polars DataFrame as X_inner_mtype and y_inner_mtype and utilizes set_output for polars, thus the output is returned as pl.DataFrame
instead of automatically trying to convert it back to the input type of X_inner_mtype and y_inner_mtype i.e
Scenario 1: User passes in a pandas Series as y_inner_mtype and does not utilize set_output, thus the code will attempt to also output is returned as pd.Series due to the passed input y_inner_mtype
Scenario 2: User passes in a polars DataFrame as X_inner_mtype and y_inner_mtype and does not utilize set_output, thus the code will attempt to also output is returned as pl.DataFrame due to the passed input y_inner_mtype

I would do the second, not the first set of scenarios, because it is consistent with input/output behaviour as current. The quoted line is just explaining the status quo.
I think once we have the datatype extension though, it will not be difficult to switch between the two.

I would do the second, not the first set of scenarios, because it is consistent with input/output behaviour as current. The quoted line is just explaining the status quo.
I think once we have the datatype extension though, it will not be difficult to switch between the two.

I see, then it would be a good idea to write out the various possible data container types for the proba scitype to facilitate this. Maybe polars and pandas dataframes would be enough for now?

Part of these key points can be found in the design doc

a clear specification and use cases written down for set_output and the new config field, what it should do. Scenarios that we need to cover are pandas and polars inputs both.
This is covered in section 5.2. The main use cases for set_output would be 'pandas' and 'polars', with a third option named 'default' which is to indicate default behaviour.
this should, in particular, include a specification for what comes out of the proba methods if a polars output is produced
Polars dataframe outputs are described in section 3 for proba methods predict_interval, predict_quantiles, and predict_var
I would then add a section on how these outputs are getting mapped onto mtypes, and the datatypes module, a precise suggestion.
I may need some help for how the outputs get mapped onto mtypes and scitypes, i've described a solution inside section 5.3. Some help regarding how to design the mapping method, how we can integrate data container support for the Proba scitype and various scenarios would be appreciated.


[spaceship][deliver][pilot] temporarily fix finding app by filtering bundle id locally

Motivation and Context
Fixes #19898
Fixes #19899
Description
There is an issue with how App Store Connect API is handling /v1/apps?filter[bundleId]= where the bundle identifier is greater than 25 characters.
This PR temporarily removes the filter on the API request and will filter locally (which is not great because it needs to fetch all the apps).
This PR WILL GET UNDONE at somepoint when the API is fixed .
Radar/Feedback
FB9876626

For some reason I am unable to update:
rashidepps@Rashids-MacBook-Pro-2 fastlane % fastlane update_fastlane
[✔] 🚀
[23:32:03]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[23:32:04]: -----------------------------
[23:32:04]: --- Step: update_fastlane ---
[23:32:04]: -----------------------------
[23:32:04]: Looking for updates for fastlane...
[23:32:07]: Updating fastlane from 2.204.0 to 2.204.1... 🚀
[23:32:07]: $ brew upgrade fastlane
Warning: fastlane 2.204.0 already installed
[23:32:08]: Finished updating fastlane
[23:32:08]: fastlane.tools successfully updated! I will now restart myself... 😴
[✔] 🚀
[23:32:09]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[23:32:10]: -----------------------------
[23:32:10]: --- Step: update_fastlane ---
[23:32:10]: -----------------------------
#######################################################################
fastlane 2.204.1 is available.
You should use the latest version.
Please update using fastlane update_fastlane.
#######################################################################
Run gem cleanup from time to time to speed up fastlane
#######################################################################
2.204.1 Temporary App Store Connect Fix

[spaceship][deliver][pilot] temporarily fix finding app by filtering by bundle id locally (#19900) via Josh Holtz (@joshdholtz)

Please update using fastlane update_fastlane

Homebrew takes some time to update.
It will be soon after Homebrew/homebrew-core#94377 gets merged but it's out of my hands 🤷♂ The homebrew team is usually pretty quick at getting these merged in though! ❤

For some reason I am unable to update:
rashidepps@Rashids-MacBook-Pro-2 fastlane % fastlane update_fastlane
[✔] 🚀
[23:32:03]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[23:32:04]: -----------------------------
[23:32:04]: --- Step: update_fastlane ---
[23:32:04]: -----------------------------
[23:32:04]: Looking for updates for fastlane...
[23:32:07]: Updating fastlane from 2.204.0 to 2.204.1... 🚀
[23:32:07]: $ brew upgrade fastlane
Warning: fastlane 2.204.0 already installed
[23:32:08]: Finished updating fastlane
[23:32:08]: fastlane.tools successfully updated! I will now restart myself... 😴
[✔] 🚀
[23:32:09]: Get started using a Gemfile for fastlane https://docs.fastlane.tools/getting-started/ios/setup/#use-a-gemfile
[23:32:10]: -----------------------------
[23:32:10]: --- Step: update_fastlane ---
[23:32:10]: -----------------------------

#######################################################################
# fastlane 2.204.1 is available.
# You should use the latest version.
# Please update using `fastlane update_fastlane`.
#######################################################################
# Run `gem cleanup` from time to time to speed up fastlane
#######################################################################

2.204.1 Temporary App Store Connect Fix
* [spaceship][deliver][pilot] temporarily fix finding app by filtering by bundle id locally (#19900) via Josh Holtz (@joshdholtz)

Please update using `fastlane update_fastlane````

It says update successful but then prompts to update again

I'm facing the same issue.


FormatException: Unrecognized Guid format.

Description
When running paket update, I get a FormatException. Paket version is 5.198.0
Expected behavior
Paket update succeeds.
Actual behavior
Paket fails with the following output (with --verbose):
 - Installing for projects
   - paket.references -> [...].csproj
Installing to [...].csproj with ToolsVersion 4
    - Deleting Paket Reference nodes
Performance:
 - Resolver: 5 seconds (1 runs)
    - Runtime: 196 milliseconds
    - Blocked (retrieving package details): 196 milliseconds (3 times)
    - Blocked (retrieving package versions): 5 seconds (2 times)
    - Not Blocked (retrieving package versions): 1 times
 - Disk IO: 4 milliseconds
 - Average Request Time: 722 milliseconds
 - Number of Requests: 6
 - Runtime: 6 seconds
Paket failed with
-> FormatException: Unbekanntes Guid-Format.

I suspect that this refers to a Guid specified in some .csproj file, but there is not enough information to identify the offending file/location. There are more .csproj files than the one mentioned above, and at least in the mentioned one the only Guid entry is
    <ProjectGuid>{29C06D6C-678D-4354-A64A-FE33C6DA974A}</ProjectGuid>

which does not look suspicious.

The last time it ran successfully was several months ago, it the meantime a failure occurred before it reached this point. The last successful run was using paket 5.156.7

I think I found the cause, there was a project reference without any Guid resp. an empty string, like this:
  <ItemGroup>
    <ProjectReference Include="[...].csproj">
      <Project>
      </Project>
      <Name>[...]</Name>
    </ProjectReference>
  </ItemGroup>

Apparently, the earlier version of paket accepted this, since the file has not changed since the last successful build.
I can add the proper Guid to the project files, but it seems like a regression. At least, a more informative error message should be displayed in such a case.

do you have a small repro for me?

I managed to reproduce it with a small example: https://github.com/sigiesec/paket-3528

thanks for reporting. Fix is under way


fix: method to check if max ocp version is set for the custom dashs

Description
fix: method to check if max ocp version is set for the custom dashs

Pull Request Test Coverage Report for Build 989213679

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.849%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/removed_apis.go
0
1
0.0%

Totals

Change from base Build 979007100:
0.0%

Covered Lines:
18

Relevant Lines:
2119

💛  - Coveralls


[Accessibility] nav pills tabs : The focus on active link is not visible

On tabs with pills the focus on an active link is not visible (see https://v5.getbootstrap.com/docs/5.0/components/navs/) :

But on link button the focus is visible (see https://v5.getbootstrap.com/docs/5.0/components/buttons/) :

There is no focus style visible on Firefox browser for this active link, so we don't see the focus (we lose where we are).
To be accessible the focus on an active link must be visible (see success criterion 2.4.7 : https://www.w3.org/TR/WCAG21/#focus-visible).

@XhmikosR is this issue still open? can you give me more information? and this is to be corrected in the v5?
Thank you!

So, yeah it's open 😛
There's no more info to give, and I'm not sure how to tackle this, but the approach should be not asking us, but instead propose your PRs and someone from the team will have a look when they have time.

thanks @XhmikosR I will take a look at it and open a pr with the proposal


Support Numeric Conversion from Object to Double

This resolves issue #26 as well as adds support for Arrays of Numeric Type

Thanks for the contribution. :)
Numeric is exact so it would be better to map it to BigDecimal. Otherwise the PR is ok for merge.
https://www.postgresql.org/docs/current/static/datatype-numeric.html


Vendetta crashes when Firefox is open

Vendetta will crash when firefox is open on my phone I'm on android 13

I was never able to reproduce this.


[STORM-2464] update storm-mongodb.md

https://issues.apache.org/jira/browse/STORM-2464
storm-mongodb.md is out of date.For example,there is a new method in MongoMapper,but there isn't description in storm-mongodb.md. So ,storm-mongodb.md should be updated to be as same as storm-mongodb's README.md.

+1

+1

Hi, @vesense how are you?
I am sorry to bother you again.Would you help me to merge it?Thanks for your help these days.

Hello,@vesense
Could you help me to merge this PR?


Executing command on linux guest

While running
knife vsphere vm execute test2 -f LAB touch /tmp/1.tst --exec-user root --exec-passwd xxxxx --exec-dir /usr/bin - I receive an error
ERROR: RbVmomi::Fault: FileNotFound: File  was not found
running with -VV
root@Chef:~# knife vsphere vm execute test2 -f LAB touch /tmp/1.tst --exec-user root --exec-passwd xxxxx --exec-dir /usr/bin -VV
DEBUG: Using configuration from /root/.chef/knife.rb
DEBUG: value for config item vsphere_host: vc.maishsk.local
DEBUG: value for config item vshere_path:
DEBUG: value for config item vsphere_port: 443
DEBUG: value for config item vsphere_nossl:
DEBUG: value for config item vsphere_user: maish
DEBUG: value for config item vsphere_pass: xxxxx
DEBUG: value for config item vsphere_insecure: true
DEBUG: value for config item vsphere_dc: LAB
DEBUG: value for config item folder: LAB
DEBUG: value for config item vsphere_dc: LAB
DEBUG: value for config item exec_dir: /usr/bin
/usr/local/rvm/gems/ruby-1.9.3-p125/gems/rbvmomi-1.5.1/lib/rbvmomi/connection.rb:61:in parse_response': FileNotFound: File <unspecified filename> was not found (RbVmomi::Fault) 	from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/rbvmomi-1.5.1/lib/rbvmomi/connection.rb:90:in call'
from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/rbvmomi-1.5.1/lib/rbvmomi/basic_types.rb:203:in _call' 	from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/rbvmomi-1.5.1/lib/rbvmomi/basic_types.rb:74:in block (2 levels) in init'
from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/knife-vsphere-0.3.0/lib/chef/knife/vsphere_vm_execute.rb:65:in run' 	from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/chef-10.16.2/lib/chef/knife.rb:408:in run_with_pretty_exceptions'
from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/chef-10.16.2/lib/chef/knife.rb:168:in run' 	from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/chef-10.16.2/lib/chef/application/knife.rb:123:in run'
from /usr/local/rvm/gems/ruby-1.9.3-p125/gems/chef-10.16.2/bin/knife:25:in <top (required)>' 	from /usr/local/rvm/gems/ruby-1.9.3-p125/bin/knife:19:in load'
from /usr/local/rvm/gems/ruby-1.9.3-p125/bin/knife:19:in <main>' 	from /usr/local/rvm/gems/ruby-1.9.3-p125/bin/ruby_noexec_wrapper:14:in eval'
from /usr/local/rvm/gems/ruby-1.9.3-p125/bin/ruby_noexec_wrapper:14:in `'

Hi, is this still happening? Happy to help debug if so.

I was able to reproduce this locally. The argument parsing is a bit hairy.
If you have a command with an option, such as "/bin/cat /etc/hosts", then do not quote it. You want to run
knife vsphere vm execute VMNAME /bin/cat /etc/hosts --blah
What's happening is that the command is getting broken up into arguments and the command itself. If you quote it, it's trying to run the whole thing:
GuestProgramSpec(
  arguments: "",
  programPath: "/bin/ls /home",
  workingDirectory: "/root"
)

if you separate it out, it works better:
GuestProgramSpec(
  arguments: "/home",
  programPath: "/bin/ls",
  workingDirectory: "/root"
)

Hi, I'm closing this issue. If the problem persists, please reopen it and we can resume the conversation.


Publish symbols for Microsoft.SemanticKernel.*.dll

Describe the bug
Code that references this package will generate a SymbolCheck error when verifying that symbols are available for Microsolft.SemanticKernel.*.dll
See https://dev.azure.com/devdiv/DevDiv/_workitems/edit/2047053

I noticed that one of the warnings/errors was referring to the ActionPlanner. Can you confirm which version of Semantic Kernel you are on? That appears to be a pre-1.0 release of Semantic Kernel.

The current version is 0.15.231219.1-preview, so your supposition appears to be correct.


Change editing to use its own view controller

This allows us to remove dependencies and simplify other parts of the code, as well as use a proper one-size-fits-all overlay.

Note: the overlay itself should be tap-able which closes it without making a change. (In effect, the gray cancel button can simply be click-through.)

It doesn't need to be it's own VC, though. Just a view inside the MainViewController.

That's fine too. Most importantly, the code should be in its own file somewhere and be decoupled/encapsulated as much as possible. :)


Could you provide a command to manually trigger the animation?

As title. Since more animation will be added, it would be good to accept an argument for that command to specify which animation to trigger. This would be really cool when done, thank you!

The command is already here, try :Zone dvd.

@loicreynier Great! Then let me close this ;)


add admx info for System/AllowExperimentation

#6601

@JohanFreelancer9  Could you please look into this?

cc @ManikaDhiman

I have reached out to the product team to review the updates. Thanks!

@ManikaDhiman Please let us know whenever there are any updates from the product team, thanks.

@ManikaDhiman Following up.

The product team informed that they do not want the ADMX info for this policy to be available in public docs. Thanks!

Closing via Author's comments above. Thank you.


B1 parameter is incorrect for some substituents

To clarify, I used the command line Sterimol, but the algorithm it uses looks the same as wSterimol.
I was getting values for CHF2 and CHCl2 that seemed too small, so I added some code to Sterimol so it would plot a 2-D projection of the radii and some of the vectors Sterimol was trying to assign as B1. Below is the projection of the radii for CHCl2. Sterimol reports the B1 as 1.64 for this structure (indicated by the red dot), but this is not a valid B1. The FORTRAN sterimol program gets 1.88, so Sterimol should probably be choosing the orange or purple dots.

Here's the structure I used in .com format:
#n AM1 opt

steri13.xyz

0 1
H      0.00000     0.00000     0.00000
C     -1.10000     0.00000     0.00000
Cl    -1.69000     1.17000     1.17000
Cl    -1.69000     0.43000    -1.60000
H     -1.47000    -1.00000     0.27000

This structure is not optimized, but optimizing doesn't change the results very much.
command used:
python -m sterimol -a1 1 -a2 2 CHCl2.com

relevant output:
   STERIMOL: using cpk van der Waals parameters

    Structure                      L        B1        B5
   CHCl2.com                   3.89      1.64      3.46

Hi Tony,
Thanks for noticing this - these code packages (wSterimol and Sterimol) are currently not being actively developed, however, all new developments to Python-based Sterimol parameters from our group now take place in DBSTEP and it looks as though this is no longer an issue. The new package will allow you to collect these Sterimol parameters on the command line or through a Python script, along with a few other steric parameters, also allowing for visualization of the parameters measured using the PyMOL program.
I loaded in your example CHCl2 molecule for comparison. Using DBSTEP you can measure steric parameters using van der Waals radii (as opposed to CPK radii used in the Sterimol code) or using a grid-based method. You are able to switch between these with "--measure classic" (for VDW radii)  or "--measure grid" (grid is the default).
Using this command measure the Sterimol parameters from VDW radii
python -m dbstep chcl2.xyz --atom1 1 --atom2 2 --sterimol --measure classic
I receive the output
chcl2.xyz / Bmin:  1.93 / Bmax:  3.41 / L:  3.44
(The slight value difference from your results is attributed to a difference in CPK vs VDW radii)
I've attached the output visualization of the result below, and it looks like the Bmin parameter (in green) is corresponding to a value near where you had suggested the correct value should be.

The Sterimol repository has been archived for a couple of years, but we will update wSterimol to use DBSTEP, which should resolve the underlying issue for this package.


Shared configuration via NuGet ignoring stylecop.json config

Further to #2637, I have created a NuGet package with the appropriate .props file and .nuspec file, however the rules in the stylecop.json file I have added are being ignored when I reference the package in the target projects.
For example the stylecop.json file sets indentation:useTabs = true, however I am receiving warning messages instructing me to use spaces.
CSharp.Styleguide.props:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
	<PropertyGroup>
		<PackageName>XYZ.CSharp.Styleguide</PackageName>
		<PackageVersion>1.0.0</PackageVersion>
	</PropertyGroup>
	<PropertyGroup>
		<CodeAnalysisRuleSetLocation Condition=" '$(NuGetPackageRoot)' != '' ">$(NuGetPackageRoot)$(PackageName)\$(PackageVersion)</CodeAnalysisRuleSetLocation>
		<CodeAnalysisRuleSetLocation Condition=" '$(CodeAnalysisRuleSetLocation)' == '' and '$(SolutionDir)' != '' ">$(SolutionDir)packages\$(PackageName).$(PackageVersion)</CodeAnalysisRuleSetLocation>
		<CodeAnalysisRuleSetLocation Condition=" '$(CodeAnalysisRuleSetLocation)' == '' ">$([System.IO.Path]::GetDirectoryName($(MSBuildProjectDirectory)))\packages\$(PackageName).$(PackageVersion)</CodeAnalysisRuleSetLocation>
	</PropertyGroup>
	<PropertyGroup>
		<CodeAnalysisRuleSet>$(CodeAnalysisRuleSetLocation)\StyleCop.ruleset</CodeAnalysisRuleSet>
	</PropertyGroup>
	<ItemGroup>
		<AdditionalFiles Include="$(CodeAnalysisRuleSetLocation)\stylecop.json" Link="stylecop.json" />
	</ItemGroup>
</Project>

CSharp.StyleGuide.nuspec file:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
	<metadata>
		<id>XYZ.CSharp.Styleguide</id>
		<version>1.0.0</version>
		<description>C# Styleguide</description>
		<authors>Nick Heath</authors>
		<dependencies>
			<dependency id="StyleCop.Analyzers" version="1.1.118" />
		</dependencies>
	</metadata>
	<files>
		<file src="stylecop.json" target="" />
		<file src="StyleCop.ruleset" target="" />
		<file src="CSharp.Styleguide.props" target="build" />
	</files>
</package>

stylecop.json file:
{
  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
  "settings": {
    "documentationRules": {
      "companyName": "Tapiit",
      "documentInterfaces": false,
      "documentExposedElements": false,
      "documentInternalElements": false
    },
    "indentation": {
      "useTabs": true
    },
    "orderingRules": {
      "usingDirectivesPlacement": "outsideNamespace"
    }
  }
}

Are you using a <PackageReference> line to reference the CSharp.Styleguide package?
Does the following resolve it?
<AdditionalFiles Include="$(MSBuildThisFileDirectory)..\stylecop.json" Link="stylecop.json" />

Thanks for coming back to me.

Yes there is a PackageReference to the NuGet package
No that doesn't fix it

I've also removed SA1027 from the StyleCop.ruleset file (don't use tabs), however I'm still getting the warning.
I think the NuGet project is setup correctly, is there any other configuration I need to do in my target project so that the files are recognised?

Can you build using MSBuild on the command line with the /bl /t:Rebuild switch, and then use Visual Studio's "report a problem" tool to report that it's not passing your settings to the compiler? Attach the build.binlog file produced by the build, and then post a link here to the resulting developercommunity.visualstudio.com issue.

https://developercommunity.visualstudio.com/content/problem/789998/stylecop-nuget-package-not-passing-settings-to-com.html

Ok, I realised my error - in the NuGet project, the .nuspec and .props filenames should follow the same naming convention as the 'id' and 'metadata' items respectively. I will create a public repo with the full nuget project and a detailed explanation and post a link here.

@nheath99 Thanks for the update! I originally saw the nuspec file name as CSharp.Styleguide.nuspec, and failed to realize that the <id> line within it was different. Renaming the embedded properties file to match the package name should resolve the issue.


React Form Binder: Validation errors disappear/appear on blur/focus

Description of the bug
    @Email
    private String email;

  const email = field(binder.model.email);

        <TextField label="Your email" {...email} />

entering "1" in the field + tab to next field marks it invalid and shows an error. Sometimes tabbing back and forth after this causes the error to be removed or added on each focus/blur. Sometimes not. Especially after showing the binder value, this happens all the time.
https://github.com/vaadin/hilla/assets/260340/a08059c4-15ee-4e25-8777-c3924192cb22

Fixed by #1178


fix(cache): hash user file name for cache check

Hashing the user's filename handles user configuration from the /nix/store.
Resolves: #253

IMO, this solution is way too ad-hoc for Nix. Not really a fan of it.


Add Domain Address DataType to abstract Domains and Port

New File
domain_address.rs

File abstract Domains and Port

Modified
authority.rs

Add Type conversion from DomainAddress to Authority
Export DomainAddress in mod.rs

Todo

Add tests

Looks like you're off to a great start. Don't forget to run cargo fmt, clippy and the like. Other than that, all good. Agreed with your TODO as well.


PostgreSQL API response documentation

Hi,
I already have an API for quering data from PostgreSQL that I want to use for the thematicDataSource . The json response from API looks like this at the moment
{"gmlid":"UUID_BYGGNAD_1a7dbc23-63f9-4e1c-be52-2bc4fb8e1150","fastighetsnyckel":"040096351"} and the client loggs in console
Map(0) {} [[Entries]] No properties size: (...)
So my question is how the API respons should look like for the client to accept and render it in the info box? Should it be json?
Thank you!
I would be happy to help out with documentation bit when this is solved.

So, enclosing the json response object in an array solved this issue in "Horizontal" mode, response example:
[{gmlid: "UUID_BYGGNAD_1a7dbc23-63f9-4e1c-be52-2bc4fb8e1150", fastighetsnyckel: "040096351"}]

Hi,
I was writing and saw you've already solved it! :)
Yes, both the horizontal and vertical mode consist of an array of records marked by the [ ... ]. Each record represents a line in the table, where:

Each record in vertical mode only has exactly 3 elements: gmlid, attribute name and attribute value. The gmlids here can be duplicated in other records, but the combination of these 3 elements must be unique.
[
   { gmlid : "id1", value_name : "value" },
   {gmlid:"id2", value_name : "value" },
   ...
]

On the other hand, each record in the horizontal mode can have more than 2 elements, but the first one must always be gmlid and this must be unique for each record.

I've updated the change logs and release notes to include some explanation about the structure of the JSON responses accepted by the web client.
You are more than welcome to contribute to extending the change logs above or our online documentation here and here. Just make a pull request and we will be able to review your changes.
Best regards,
Son


Change Default Search Engine to Azure AI Search in finesse-frontend

Finesse-frontend currently uses AILab Search as its default search engine, which is undergoing development. To improve stability, switching to Azure AI Search is proposed. Also, to make future changes easier and avoid code alterations, an environment variable for selecting the default search engine should be implemented.
Tasks

[ ] Implement Environment Variable: Add an environment variable to select the default search engine.
[ ] Configure Azure AI Search as Default: Set Azure AI Search as the default in the environment variable.
[ ] Ensure Seamless Switching: Test to ensure that changing the search engine through the environment variable is effective.
[ ] Implement Automated Tests: Create automated tests to confirm the functionality of the environment variable for different search engines, and to verify that Azure AI Search is the default when the variable is unset.
[ ] Update Deployment Process: Ensure the new environment variable is included in the deployment pipeline.
[ ] Update Project Documentation: Document the procedure for changing the default search engine using the environment variable.

Acceptance Criteria

Ability to select the default search engine in finesse-frontend via an environment variable.
Azure AI Search set as the default engine upon initial setup.
Functionality of switching search engines using the environment variable is verified.
Automated tests confirm the reliability of the environment variable implementation and that Azure AI Search is the default when the environment variable is not set.
The deployment process includes the new environment variable.
Project documentation includes instructions for altering the default search engine with the environment variable.

Thanks!


"SPC u SPC s p" search another project instead of search current project include ignored files

What did you expect to happen?
According to the ivy module REAME, prefixing SPC s p should search current project including ignored files.
What actually happened?
But with prefixing, it asks for another project.
Steps to reproduce:

SPC u SPC s p
expect to ask for search pattern, but instead it ask for another project.

The docs are outdated. Will fix this soon.
To include ignored files in your search either:

Prefix your search with -u --  to search (git)ignored files. -uu --  to search hidden (dot) files/folders.
Or suffix them: query -- -u or query -- -uu.


Cells that are adjusted based on datasource values are bumped down due to spacerCell

Looking at the way the spacer cell behaves, a new cell is inserted into the table view, and is causing the cell properties to become out of alignment with the datasource. This isn't immediately obvious on cells with a static appearance, but on cells where the appearance is driven by the datasource, you can see the changed cells jump by one index each time the long press is activated.
Removing this spacer cell call in cellForRow:atIndexPath fixes the problem, but of course, then we don't get the spacer cell:
if let spacer = tableView.reorder.spacerCell(for: indexPath) {
    return spacer
}

Here's a gif that illustrates what I'm seeing:

⊙_⚆ When you forget to actually properly update your visual model in cellForRow:atIndexPath:...


With 10 million keys finds only first few million keys

I have tried the following code:
      BTreeIndex btree = new BTreeIndex(indexFile, false);
      btree.init(false);

      Random rand = new Random();
      for (int i = 0; i < 10000000; i++) {
        long nt = System.nanoTime(), val = rand.nextLong();
        Value key = new Value(String.valueOf(nt) + val);
        Value value = new Value(val);
        if (i % 10000 == 0) {
          System.out.println(i + " " + key + " " + btree.addValue(key, value));
        } else {
          btree.addValue(key, value);
        }
      }

Then in another method I open index file and try to search for keys:
       BTreeIndex btree = new BTreeIndex(indexFile, false);
       Value val = btree.getValue(new Value("205388120935395-497341292157541218"));
       System.out.println(Primitives.getLong(val.getData()));

On first few million, it works, but then throws NullPointerException inside Value class. Am I doing something wrong?

Hi @dimaa6,
Sorry to be late.
Could you provide stacktrace?

Added flush after every millionth addValue. Did not fix the issue. Part of stack trace concerning btree4j:
java.lang.NullPointerException
at btree4j.Value.(Value.java:48)
at btree4j.BTreeIndex.getValue(BTreeIndex.java:122)

@dimaa6 It should return null instead of NPE if key is not existing.
You need to call flush in the end of for-loop. For each 10000 is not enough (suppose 10001).
Is<PHONE_NUMBER>35395-497341292157541218 really registered?

Could you provide re-producible test code (entire) if possible?

Writing:
    File indexFile = new File(my_path_to_index_file);
    BTreeIndex btree = new BTreeIndex(indexFile, false);
    try {
      btree.init(false);

      Random rand = new Random();
      for (int i = 0; i < 10000000; i++) {
        long nt = System.nanoTime(), val = rand.nextLong();
        Value key = new Value(String.valueOf(nt) + val);
        Value value = new Value(val);
        if (i % 10000 == 0) {
          System.out.println(i + " " + key + " " + btree.addValue(key, value));
        } else {
          btree.addValue(key, value);
        }
        if (i % 1000000 == 0) {
          btree.flush();
        }
      }
      btree.flush();
      btree.close();
    }
    catch (Exception e) {
      e.printStackTrace();
    }

Copy the output. Now take key close to the end and use it in getValue call:
    File indexFile = new File("my_path_to_index_file");
    BTreeIndex btree = new BTreeIndex(indexFile, false);
    try {
      btree.init(false);

      Value val = btree.getValue(new Value("606313838488572-5317002158191699811"));
      System.out.println(Primitives.getLong(val.getData()));
    }
    catch (Exception e) {
      e.printStackTrace();
    }

@dimaa6 can be reproduced. Fixed in https://github.com/myui/btree4j/commit/e21f4dd69683a08c2e890739309868cc5ee0bf0b#diff-515de8ad972cfd158d924b4a0f88a0b5L946
It was a bug introduced in refactoring on the initial import.

test passed https://github.com/myui/btree4j/blob/master/src/test/java/btree4j/BTreeIndexTest.java#L222


Auto-generate the people table with values from a TSV file

This is so that we can pull from this spreadsheet: https://docs.google.com/spreadsheets/d/10bEG8qSVp-T2uztsIzViKwrMdxoOQX-BY-R78Pyp2ss/edit?gid=0#gid=0
and then easily move this information into the html format desired by Jekyll. There's a python script and example TSV which converts the data to jekyll's preferred JSON format. For now, we'll need to do this conversion manually.

The link checked seems to fail in the Jekyll table, so I'm just going to ignore checks in that file and check the members.yml directly


feat: streamline remote options

Objective:
Allows users to always specify the same modos server endpoint. Underlying htsget/s3 endpoints are auto-detected internally by querying the modos server.
For testing / advanced usage, a services option is still exposed in the API to bypass this and explicitely provide service endpoints.
Notes

As every command in the CLI was copy-pasting the s3_endpoint option, this PR removes it in favor of a top-level endpoint flag that is inherited by all commands (through typer.Context).
endpoint option can also read from the environment variable MODOS_ENDPOINT.
the docker compose config used a static network ip. This was only needed because we passed the S3_LOCAL_URL to htsget instead of S3_PUBLIC_URL (by mistake). Fixing the env var makes the static IP unnecessary, and this PR removes it.
pydantic.HttpUrl was used in some places for more explicit type hints, this PR adds it throughout the package and decorates functions with @validate_call, to validate url params at runtime.
expose the version from pyproject.toml through modos.__version__ and in the cli through modos --version using a typer callback.
describe MODO arguments in docstring

Limitations

If the environment variable is set, the user has to manually override it to create local objects which may not be intuitive.
This PR implements runtime parameter validation on functions (via pydantic.validate_call) and dataclases (by replacing dataclasses.dataclass with pydantic.dataclasses.dataclass), but not on normal classes.

Questions
should we use a more explicit mechanism for remote/local paths to avoid confusion? (e.g. --local flag or explicitely requiring s3:// paths for remote objects.). Should this be in this, or a separate PR?
Examples
CLI:
$ modos --version
modos 0.1.0

# create remote object on the s3 provided by the modos server at http://localhost
$ modos --endpoint http://localhost create bucket/object

# read endpoint from env variable to avoid repetition
$ export MODOS_ENDPOINT='http://localhost'
$ modos create bucket/object2
$ modos show bucket/object2
$ modos delete bucket/object2

API:
>>> from modos.api import MODO
>>> MODO('bucket/object2', endpoint='http://localhost')

# This is also possible, e.g. user has an s3 server, but no modos server
>>> nostream = MODO('bucket/ex-nostream', services={'s3': 'http://s3.example.org'})
>>> nostream.stream_genomics('demo1.cram')
ValueError: No htsget endpoint provided

TODO:

make only use remote modos when s3:// scheme is specified (otherwise local
add some info logs (with print) to stderr

Added this based on our discussion:

rudimentary logs on MODO instantiation
require s3:// for remote paths

check done on MODO instantiation using a custom S3Path pydantic model
changes made in modos.storage.S3Storage to support this


Fix for native (internal API change)

After merging #15184 I realized it will be problematic to native (as native is using the same _releaseTexture as ThinEngine).

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15192/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15192/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15192/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15192/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15192/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15192/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15192/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15192/merge#BCU1XR#0

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15192/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15192/merge/testResults/webgpuplaywright/index.html