Windows: Hello world build fails - python.exe is not executable

System information (Please provide as much relevant information as possible)

OS Platform and Distribution (e.g. Linux Ubuntu 16.04, Android 11, iOS 14.4): Windows 11 21H2 (22000.739)

Compiler version (e.g. gcc/g++ 8 /Apple clang version 12.0.0): gcc 11.2 (mingw-w64)

Programming Language and version ( e.g. C++ 14, Python 3.6, Java ): VS Build Tools 16.11.16/MSVC v142 VS 2019 C++ x64/x86 build tools

Installed using virtualenv? pip? Conda? (if python): installed python from executable, Python 3.10.5

MediaPipe version: v0.8.10

Bazel version: 5.1.0

XCode and Tulsi versions (if iOS):

Android SDK and NDK versions (if android):

Android AAR ( if android):

OpenCV version (if running on desktop): 4.6.0

Also Windows 11 SDK 10.0.22000.0

Describe the problem:
I was trying to install mediapipe on Windows, and trying to test with Hello World example.
But bazel build failed with Error in fail: Configuration Error: --define PYTHON_BIN_PATH='C:\\Python310\\python.exe' is not executable. Is it the python binary?, while C:\\Python310\\python.exe is a perfectly valid python executable and also runnable.
Seriously I have no idea what is going on. I've google the error message and the only answer was "just use the correct path".... Well I used the correct path!
Provide the exact sequence of commands / steps that you executed before running into the problem:
I followed install guide for windows from 1~8,
and I ran bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\Python310\\python.exe" mediapipe/examples/desktop/hello_world at the mediapipe repository.
Complete Logs:
PS C:\mediapipe > bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:\\Python310\\python.exe" mediapipe/examples/desktop/hello_world
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_benchmark' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'pybind11_bazel' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'xctestrunner' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'pybind11' because it already exists.
INFO: Build option --action_env has changed, discarding analysis cache.
INFO: Repository local_execution_config_python instantiated at:
  C:/mediapipe/WORKSPACE:403:14: in <toplevel>
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/tensorflow/workspace2.bzl:868:19: in workspace
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/tensorflow/workspace2.bzl:91:27: in _tf_toolchains
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/tf_toolchains/toolchains/remote_config/configs.bzl:6:28: in initialize_rbe_configs
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/tf_toolchains/toolchains/remote_config/rbe_config.bzl:158:27: in _tensorflow_local_config
Repository rule local_python_configure defined at:
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl:279:41: in <toplevel>
ERROR: An error occurred during the fetch of repository 'local_execution_config_python':
   Traceback (most recent call last):
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 212, column 22, in _create_local_python_repository
                _check_python_bin(repository_ctx, python_bin)
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 145, column 25, in _check_python_bin
                auto_config_fail("--define %s='%s' is not executable. Is it the python binary?" % (
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/remote_config/common.bzl", line 12, column 9, in auto_config_fail
                fail("%sConfiguration Error:%s %s\n" % (red, no_color, msg))
Error in fail: Configuration Error: --define PYTHON_BIN_PATH='C:\\Python310\\python.exe' is not executable. Is it the python binary?
ERROR: C:/mediapipe/WORKSPACE:403:14: fetching local_python_configure rule //external:local_execution_config_python: Traceback (most recent call last):
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 212, column 22, in _create_local_python_repository
                _check_python_bin(repository_ctx, python_bin)
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 145, column 25, in _check_python_bin
                auto_config_fail("--define %s='%s' is not executable. Is it the python binary?" % (
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/remote_config/common.bzl", line 12, column 9, in auto_config_fail
                fail("%sConfiguration Error:%s %s\n" % (red, no_color, msg))
Error in fail: Configuration Error: --define PYTHON_BIN_PATH='C:\\Python310\\python.exe' is not executable. Is it the python binary?
ERROR: Analysis of target '//mediapipe/examples/desktop/hello_world:hello_world' failed; build aborted: Configuration Error: --define PYTHON_BIN_PATH='C:\\Python310\\python.exe' is not executable. Is it the python binary?
INFO: Elapsed time: 0.227s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (36 packages loaded, 11 targets configured)
    Fetching @local_jdk; fetching

but python works just fine....
PS C:\mediapipe > C:\\Python310\\python.exe
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello world')
hello world
>>> exit()

Hi @CookieHCl, Seems you have used the path where Python has installed, You need to add the Python Binary path to install MediaPipe.
Could you try following commands to find the binary path in Python interpreter:
>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
>>> Python Binary Path
I hope it will work. Thank you!

Still, it seems C:\\Python310\\python.exe is the correct path..
Python 3.10.5 (tags/v3.10.5:f377153, Jun  6 2022, 16:14:13) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> import sys
>>> os.path.dirname(sys.executable)
'C:\\Python310'
>>> sys.executable
'C:\\Python310\\python.exe'

Hi @CookieHCl, Seems unable to understand the same path for both. Could you look into the below path on your Windows(If Exist) and try to add the similar path to install the MediaPipe.

'C:/Users/Username/AppData/Local/Programs/Python/Python310/python.exe'

Please let us know if this resolves the issue. Thank you

OK. I've managed to get a new error message...
I'm using PowerShell 7.2.5 to type install command, but it seems bazel uses bash (likely msys2, since I don't have other bash) to run command. So C:\\Python310\\python.exe was the correct path in windows, but I had to use /mnt/c/Python310/python.exe in bazel.
Now python.exe is not executable error doesn't appears, but here is the new error....
PS C:\mediapipe [master ≡]> bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="/mnt/c/Python310/python.exe" mediapipe/examples/desktop/hello_world
DEBUG: Rule 'rules_foreign_cc' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "c2cdcf55ffaf49366725639e45dedd449b8c3fe22b54e31625eb80ce3a240f1e"
DEBUG: Repository rules_foreign_cc instantiated at:
  C:/mediapipe/WORKSPACE:42:13: in <toplevel>
Repository rule http_archive defined at:
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/bazel_tools/tools/build_defs/repo/http.bzl:353:31: in <toplevel>
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_benchmark' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'pybind11_bazel' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'xctestrunner' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'pybind11' because it already exists.
INFO: Repository local_execution_config_python instantiated at:
  C:/mediapipe/WORKSPACE:403:14: in <toplevel>
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/tensorflow/workspace2.bzl:868:19: in workspace
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/tensorflow/workspace2.bzl:91:27: in _tf_toolchains
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/tf_toolchains/toolchains/remote_config/configs.bzl:6:28: in initialize_rbe_configs
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/tf_toolchains/toolchains/remote_config/rbe_config.bzl:158:27: in _tensorflow_local_config
Repository rule local_python_configure defined at:
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl:279:41: in <toplevel>
ERROR: An error occurred during the fetch of repository 'local_execution_config_python':
   Traceback (most recent call last):
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 213, column 33, in _create_local_python_repository
                python_lib = _get_python_lib(repository_ctx, python_bin)
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 130, column 21, in _get_python_lib
                result = execute(repository_ctx, [python_bin, "-c", cmd])
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/remote_config/common.bzl", line 230, column 13, in execute
                fail(
Error in fail: Repository command failed
java.io.IOException: ERROR: src/main/native/windows/process.cc(202): CreateProcessW("C:\users\cookiehcl\_bazel_cookiehcl\3vmcl3ou\external\local_execution_config_python\mnt\c\Python310\python.exe" -c "from os import linesep;f = open('script.py', 'w');f.write(\"from __future__ import print_function\" + linesep);f.write(\"import site\" + linesep);f.write(\"import os\" + linesep);f.write(\"python_paths = []\" + linesep);f.write(\"if os.getenv('PYTHONPATH') is not None:\" + linesep);f.write(\"  python_paths = os.getenv('PYTHONPATH').split(':')\" + linesep);f.write(\"try:\" + l(...)): ??? ??? ?? ? ????.
 (error: 2)
ERROR: C:/mediapipe/WORKSPACE:403:14: fetching local_python_configure rule //external:local_execution_config_python: Traceback (most recent call last):
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 213, column 33, in _create_local_python_repository
                python_lib = _get_python_lib(repository_ctx, python_bin)
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 130, column 21, in _get_python_lib
                result = execute(repository_ctx, [python_bin, "-c", cmd])
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/remote_config/common.bzl", line 230, column 13, in execute
                fail(
Error in fail: Repository command failed
java.io.IOException: ERROR: src/main/native/windows/process.cc(202): CreateProcessW("C:\users\cookiehcl\_bazel_cookiehcl\3vmcl3ou\external\local_execution_config_python\mnt\c\Python310\python.exe" -c "from os import linesep;f = open('script.py', 'w');f.write(\"from __future__ import print_function\" + linesep);f.write(\"import site\" + linesep);f.write(\"import os\" + linesep);f.write(\"python_paths = []\" + linesep);f.write(\"if os.getenv('PYTHONPATH') is not None:\" + linesep);f.write(\"  python_paths = os.getenv('PYTHONPATH').split(':')\" + linesep);f.write(\"try:\" + l(...)): ??? ??? ?? ? ????.
 (error: 2)
ERROR: Analysis of target '//mediapipe/examples/desktop/hello_world:hello_world' failed; build aborted: Repository command failed
java.io.IOException: ERROR: src/main/native/windows/process.cc(202): CreateProcessW("C:\users\cookiehcl\_bazel_cookiehcl\3vmcl3ou\external\local_execution_config_python\mnt\c\Python310\python.exe" -c "from os import linesep;f = open('script.py', 'w');f.write(\"from __future__ import print_function\" + linesep);f.write(\"import site\" + linesep);f.write(\"import os\" + linesep);f.write(\"python_paths = []\" + linesep);f.write(\"if os.getenv('PYTHONPATH') is not None:\" + linesep);f.write(\"  python_paths = os.getenv('PYTHONPATH').split(':')\" + linesep);f.write(\"try:\" + l(...)): ??? ??? ?? ? ????.
 (error: 2)
INFO: Elapsed time: 3.783s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded, 0 targets configured)

OK so error message is ??? ??? ?? ? ????..... I thought this was cp949 (Korean codepage, the default codepage I'm using.) problem, so I used $OutputEncoding = [console]::InputEncoding = [console]::OutputEncoding = New-Object System.Text.UTF8Encoding to make my Powershell's codepage to UTF-8, but error message still appears as ??? ??? ?? ? ????.
Maybe bazel or msys2 bash encoding is wrong? But I don't know how to solve it....
However I was able to find the reason of the error: C:\users\cookiehcl\_bazel_cookiehcl\3vmcl3ou\external\local_execution_config_python\mnt\c\Python310\python.exe just simply didn't exist.
Only C:\Users\CookieHCl\_bazel_CookieHCl\3vmcl3ou\external\local_execution_config_python\ exists, and it's empty directory. (i.e. there wasn't such thing as mnt\c\Python310\python.exe)
Any idea how to solve this issue?

Hi @CookieHCl, MediaPipe currently tested with Bash MSMY2. Please follow the instructions mentioned in the official documentation. Thank you

Hi @CookieHCl, Did you try with above workaround mentioned. If tried, Could you please share the complete error log. Thank you

@kuaashish No, I couldn't do it because that path didn't exist. 'C:/Users/Username/AppData/Local/Programs/ didn't have Python directory. (Also checked LocalLow, Roaming)
If you really need the log, here's the log, but it's the same python.exe is not executable error.
C:\mediapipe>bazel build -c opt --define MEDIAPIPE_DISABLE_GPU=1 --action_env PYTHON_BIN_PATH="C:/Users/CookieHCl/AppData/Local/Programs/Python/Python310/python.exe" mediapipe/examples/desktop/hello_world
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_absl' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_benchmark' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'pybind11_bazel' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_protobuf' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_google_googletest' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'com_github_gflags_gflags' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_rules_apple' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_rules_swift' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'build_bazel_apple_support' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'xctestrunner' because it already exists.
DEBUG: C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/repo.bzl:124:14:
Warning: skipping import of repository 'pybind11' because it already exists.
INFO: Repository local_execution_config_python instantiated at:
  C:/mediapipe/WORKSPACE:403:14: in <toplevel>
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/tensorflow/workspace2.bzl:868:19: in workspace
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/tensorflow/workspace2.bzl:91:27: in _tf_toolchains
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/tf_toolchains/toolchains/remote_config/configs.bzl:6:28: in initialize_rbe_configs
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/tf_toolchains/toolchains/remote_config/rbe_config.bzl:158:27: in _tensorflow_local_config
Repository rule local_python_configure defined at:
  C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl:279:41: in <toplevel>
ERROR: An error occurred during the fetch of repository 'local_execution_config_python':
   Traceback (most recent call last):
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 212, column 22, in _create_local_python_repository
                _check_python_bin(repository_ctx, python_bin)
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 145, column 25, in _check_python_bin
                auto_config_fail("--define %s='%s' is not executable. Is it the python binary?" % (
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/remote_config/common.bzl", line 12, column 9, in auto_config_fail
                fail("%sConfiguration Error:%s %s\n" % (red, no_color, msg))
Error in fail: Configuration Error: --define PYTHON_BIN_PATH='C:/Users/CookieHCl/AppData/Local/Programs/Python/Python310/python.exe' is not executable. Is it the python binary?
ERROR: C:/mediapipe/WORKSPACE:403:14: fetching local_python_configure rule //external:local_execution_config_python: Traceback (most recent call last):
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 212, column 22, in _create_local_python_repository
                _check_python_bin(repository_ctx, python_bin)
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/py/python_configure.bzl", line 145, column 25, in _check_python_bin
                auto_config_fail("--define %s='%s' is not executable. Is it the python binary?" % (
        File "C:/users/cookiehcl/_bazel_cookiehcl/3vmcl3ou/external/org_tensorflow/third_party/remote_config/common.bzl", line 12, column 9, in auto_config_fail
                fail("%sConfiguration Error:%s %s\n" % (red, no_color, msg))
Error in fail: Configuration Error: --define PYTHON_BIN_PATH='C:/Users/CookieHCl/AppData/Local/Programs/Python/Python310/python.exe' is not executable. Is it the python binary?
ERROR: Analysis of target '//mediapipe/examples/desktop/hello_world:hello_world' failed; build aborted: Configuration Error: --define PYTHON_BIN_PATH='C:/Users/CookieHCl/AppData/Local/Programs/Python/Python310/python.exe' is not executable. Is it the python binary?
INFO: Elapsed time: 0.211s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded, 0 targets configured)

Hi @sureshdagooglecom, Could you please look into this issue. Thank you!

Oops... Sorry this was my issue..
I just found out WSL also makes bash command... I thought wsl was the only way to open WSL, but bash can also open WSL too...
So instead of msys2 bash, WSL bash was opening...
I solved this by setting BAZEL_SH environment variable mentioned here.

Hi @CookieHCl, Thanks for the confirmation! Can we move this issue to close status.
Thank you

Yes, I'll close this issue.
Thanks for your help!

Hi @CookieHCl, Seems you have used the path where Python has installed, You need to add the Python Binary path to install MediaPipe. Could you try following commands to find the binary path in Python interpreter:
>>> import os >>> import sys >>> os.path.dirname(sys.executable) >>> Python Binary Path
I hope it will work. Thank you!
I've tried as what you suggested but it occur like this

import os
import sys
os.path.dirname(sys.executable)
'C:\Python 3.10'
Python Binary Path
File "", line 1
Python Binary Path
^^^^^^
SyntaxError: invalid syntax

Hi @nurshafiza, Could you please raise a separate new issue and provide the complete details to reproduce the issue from our end. Thank you!


Hard drive space gone

It might not have been ahoviewer that caused this problem but I'm fairly certain it was. I was running ncmpcpp and ahoviewer, then I started to scroll through the pictures quickly and noticed that some errors kept popping up in my terminal. Then my computer slowed down and said I was running out of space. It went from around 20Gb to nothing in a couple min. After force shutting down it was fixed but I just wanted to put this here just in case it was ahoviewer that caused this.
This was the error:
(ahoviewer:1769): glibmm-CRITICAL **: bool Glib::DispatchNotifier::pipe_io_handler(Glib::IOCondition): assertion 'data.notifier == this' failed
Also just so you know I'm using osx and version 1.4.4-11-ge05df9e for ahoviewer.

You should recompile with the latest master (1.4.6) since I fixed a crash that may cause this problem.
Ahoviewer stores all of it's temporary files in /tmp or something similar.
If the program crashes it will not clean up after itself, and you will have to do it manually by deleting the ahoviewer.XXXXX directories.
Closing a booru tab does not delete the images that were viewed, only when the program exits normally are they deleted.  This is to lessen the amount of bandwidth used.


[FLINK-29704][runtime][security] E2E test for delegation token framework

What is the purpose of the change
At the moment there is no e2e test which would test whether delegation token is working fine. In this PR I've added it.
Brief change log
Added e2e delegation token framework test.
Verifying this change
Existing e2e tests.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? not applicable

I was not able to make the e2e tests work on my local machine (doc states the same that it's not designed for local development) so first checking whether it works or not.

@flinkbot run azure

cc @mbalassi

Rebased to the latest master in order to see that it works even if old DT framework deleted.

Pulsar test flaky

@flinkbot run azure


Patch dynamic data to repeat type

I'm submitting a ...
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[x] support request
What is the motivation / use case for changing the behavior?
Hi! My goal is to patch external json data to a form which contains a FieldArrayType.
The problem is that at the initial load of the form, only one item is present in the repeat section. Therefore, if I patch data to the form which contains two or more items of the field array, only the first item is applied and stored in the model.
Is there a way to programmatically add items to the FieldArray before patching the data so the data is received by the model?
Note: The length of the data can vary. So unfortunately solutions mentioned in https://github.com/ngx-formly/ngx-formly/issues/1139 are not sufficient.
Minimal reproduction of the problem with instructions
Please see the following stackblitz:
https://stackblitz.com/edit/angular-vfykhx
Thanks!

Either use options.resetModel or assign the new value to the model itself:
    this.model = {
      ...this.model,
      cars: [
        {"type":"Type1","name":"Name1"},
        {"type":"Type2","name":"Name2"},
      ]
    };

see https://stackblitz.com/edit/angular-vaq4gq


Protobuf decode absent values as default

Problem
Proto3 language guide states:

When a message is parsed, if the encoded message does not contain a particular singular element, the corresponding field in the parsed object is set to the default value for that field.

We currently use protons for protobuf encoding/decoding and its behavior does not match the language guide: https://github.com/ipfs/protons/issues/43
Decoding
Because of that, we manually replace an undefined value with the default value in some places: https://github.com/status-im/js-waku/blob/d79984fdba57c8e89400fc2a47958d49e0ed9645/src/lib/waku_message/index.ts#L273 as other implementations (go-waku, nwaku), do not encode default values on wire.
Encoding
Encoding default values over wire or not do not change the functionality.
Avoiding the encoding would few bytes of bandwith and data storage.
Solution
Best case, https://github.com/ipfs/protons/pull/48, or equivalent gets merged and we use it forward.
if not, then either:

fork protons to have a library that contains patch above (best to do that once protons' performance issues are solved https://github.com/ipfs/protons/issues/51)
OR, somehow create a wrapper/proxy module that generically implement desired behaviour on protobuf decoders.

Looks like protons did a fix: https://github.com/ipfs/protons/pull/66 so it's just a matter of upgrading to latest version

Latest update:
optional attribute in proto3 has a new meaning and it influences whether or not a field should be encoded over the wire.
Now:

optional field: if default value  (e.g. 0), still encode over wire. When decoding, if not present, assume to be "absent"
normal field: if default value (e.g. 0), do not encode over the wire. When decoding, if not present, assume it's default value (e.g. 0)

In Waku, we did not pay attention to any of this when defining protocols. Until now. See work done with https://github.com/vacp2p/rfc/issues/552 and https://github.com/vacp2p/rfc/pull/553
Steps:

Check that protons' behaviour matches latest proto3 language definition around optional field.
Hopefully (1) is true, so upgrade proton
Update protobuf definition to match the latest RFC (ie Waku Message first, also check https://github.com/vacp2p/waku

Some recent development (I haven't reviewed yet) https://github.com/ipfs/protons/pull/83


Add More eBird2021 Species to namespaces

Adding Missing eBird2021 from Ugandan Species.

Thank you Geoff! A few comments:

At the moment your PR changes all newline characters in ebird2021.csv to carriage return characters, which makes the diff for that file look much bigger than it is in reality. Could you convert them back to newline characters? Here's a pointer: https://www.commandlinewizardry.com/post/removing-windows-line-breaks
[Nit] The ebird2021.csv file lists species codes alphabetically, and it would be good to maintain that. Could you shuffle the added lines around to respect the alphabetical order?
The tests are failing because there are no corresponding lines in the ebird2021_to_genus.csv, ebird2021_to_family.csv, and ebird2021_to_order.csv mappings. You will have to add lines with the appropriate information for each new species code you are adding in your PR. (In accordance to 2., please make sure to respect the alphabetical order.)


Added onSliding function

I have added a utility function onSliding(percentage:number).
This function will be called when the side menu is sliding, it will return a percentage number. The number represents the percent of sliding animation completed by the side menu.
@Kureev Please review the PR and provide any feedbacks. I will happy to update the docs as well.

Hi @sharadsxn24!
Great PR! I love it ❤ ! The only thing I'd like to see before merging this is documentation. Could you be so kind to add it to the API list and outline a use case in a couple of words?
Thanks for this once again!

Awesome! Thanks for your hard work!

Hi @Kureev,
Thanks for your words of appreciation. :)
I have made a slight fix and updated the documentation.
But first of all, thanks for the awesome repo. It helped me alot 👍

Released 1.1.0 with this API


Maintain whitespace option on previous/next navigation.

During a pull-request review, when going through individual commits, maintain the whitespace option when using the "Previous" and "Next" buttons ("p" and "n" shortcuts, respectively) to navigate between commits.
Closes #660.

Thanks @abernix!


Runnable Test File + Warning Suppression

While still largely a disaster from being shipped, this one version at least runs a little bit.

These look good to me. I tried them out and the tests now past. Probably want to bring back some of the integration tests as they are useful in my opinion to verify that soarsdk is working as expected.


feat(protocol): delete ERC20 native token adaptor

The adaptor design introduces an issue. Using Native USDC token as one example, the adaptor is now the bridged token (for ERC20Vault), but the underlying native USTC token is not, so users can chose to bridge native USDC token as if it is a canonical token which creates confusion.
We shall deploy the Native USDC contracts, then use its configureMinter function to config ERC20Vault as one of the minters, then later add Circle's address(es) as minter(s) as well.

I'm ok deleting it, but there are several issues with just deleting this - and that was the reason we introduced USDCAdapter. Let's say Bob wants to bridge back USDC (from L2) to L1. Now, he calls sendsMessage(). Now, Bridge will always fail, since it cannot burn USDC (on L2), because:

USDC mint() funciton signature is different than this: IBridgedERC20(_token).burn(msg.sender, _amount).
The correct one for USDC is this:
function burn(uint256 _amount)
only minterRoles can burn tokens
only if msg.sender owns the tokens can burn the tokens.

So we also have to make ERC20Vault:

has minterRole
When it is USDC -> It handles burn witha  special case, which is: 1. transfers the tokens from user to ERC20Vault (also approve) and then burns is (see deleted USDCAdapter's burnToken function)

I think which is: 1. transfers the tokens from user to ERC20Vault (also approve) and then burns is (see deleted USDCAdapter'sburnToken function) works. Could you please follow up by working on this PR, @adaki2004

I'm ok deleting it, but there are several issues with just deleting this - and that was the reason we introduced USDCAdapter. Let's say Bob wants to bridge back USDC (from L2) to L1. Now, he calls sendsMessage(). Now, Bridge will always fail, since it cannot burn USDC (on L2), because:

USDC mint() funciton signature is different than this: IBridgedERC20(_token).burn(msg.sender, _amount).
The correct one for USDC is this:
function burn(uint256 _amount)
only minterRoles can burn tokens
only if msg.sender owns the tokens can burn the tokens.

So we also have to make ERC20Vault:

has minterRole
When it is USDC -> It handles burn witha  special case, which is: 1. transfers the tokens from user to ERC20Vault (also approve) and then burns is (see deleted USDCAdapter's burnToken function)

I think which is: 1. transfers the tokens from user to ERC20Vault (also approve) and then burns is (see deleted USDCAdapter'sburnToken function) works. Could you please follow up by working on this PR, @adaki2004

@dantaik
I think it is fixed now, but also a complete E2E test need to be done - and also on Holesky - Hekla context. (So writing unit tests for this special case i dont think is necessary, since we would be mocking a lot of things anyways (USDC contract, etc) and given the fact Circle will require a testnet example, i'd propose the following:

If you agree with this functional change, deploy USDC with it's proxy on L2. (Hekla)
Add minterRole to ERC20Vault in USDC contract
call changeBridgedToken on Hekla, to set the newly deployed USDC (proxy)
bridge over some USDC from Holesky -> Hekla and see if it works

Prerequisite: We need to have an USDC contract on Holesky - but i think we have as I did - but maybe it was on Sepolia, i gotta check this out.
cc. @davidtaikocha  for helping with deployments/contract calls.

I'm ok deleting it, but there are several issues with just deleting this - and that was the reason we introduced USDCAdapter. Let's say Bob wants to bridge back USDC (from L2) to L1. Now, he calls sendsMessage(). Now, Bridge will always fail, since it cannot burn USDC (on L2), because:

USDC mint() funciton signature is different than this: IBridgedERC20(_token).burn(msg.sender, _amount).
The correct one for USDC is this:
function burn(uint256 _amount)
only minterRoles can burn tokens
only if msg.sender owns the tokens can burn the tokens.

So we also have to make ERC20Vault:

has minterRole
When it is USDC -> It handles burn witha  special case, which is: 1. transfers the tokens from user to ERC20Vault (also approve) and then burns is (see deleted USDCAdapter's burnToken function)

I think which is: 1. transfers the tokens from user to ERC20Vault (also approve) and then burns is (see deleted USDCAdapter'sburnToken function) works. Could you please follow up by working on this PR, @adaki2004

@dantaik I think it is fixed now, but also a complete E2E test need to be done - and also on Holesky - Hekla context. (So writing unit tests for this special case i dont think is necessary, since we would be mocking a lot of things anyways (USDC contract, etc) and given the fact Circle will require a testnet example, i'd propose the following:

If you agree with this functional change, deploy USDC with it's proxy on L2. (Hekla). Add that proxy address to addressManager with this tag:

    /// @notice bytes32 representation of the string "bridged_native_usdc".
    bytes32 internal constant B_BRIDGED_NATIVE_USDC = bytes32("bridged_native_usdc");

Add minterRole to ERC20Vault in USDC contract
call changeBridgedToken on Hekla, to set the newly deployed USDC (proxy)
bridge over some USDC from Holesky -> Hekla and see if it works

Holesky (L1) USDC contract: https://holesky.etherscan.io/address/0x6436d7b483a35516f7cd19379a392ce9bd0b2852
cc. @davidtaikocha for helping with deployments/contract calls.

Please proceed with these changes.


[BUG] crc cleanup error

On windows after run crc setup if user just want to undo changes with crc cleanup without rebooting the machine the crc cleanup command ends up failing with:
Post "http://unix/clean": open \\.\pipe\crc-admin-helper: Access is denied.

Also the error seems bit random as subsequent execution of crc cleanup does not show any error
CRC version
CodeReady Containers version: 1.29.0+c289875e
OpenShift version: 4.7.18 (embedded in executable)

Logs
PS C:\Users\crcqe> crc setup
INFO Checking if crc-admin-helper executable is cached
INFO Checking for obsolete admin-helper executable
INFO Checking if running on a supported CPU architecture
INFO Checking minimum RAM requirements
INFO Checking if running in a shell with administrator rights
INFO Checking Windows 10 release
INFO Checking Windows edition
INFO Checking if Hyper-V is installed and operational
INFO Checking if crc-users group exists
INFO Checking if current user is in Hyper-V group and crc-users group
INFO Checking if Hyper-V service is enabled
INFO Checking if the Hyper-V virtual switch exists
INFO Found Virtual Switch to use: Default Switch
INFO Checking if admin-helper daemon is installed
INFO Installing admin-helper daemon
INFO Will run as admin: install admin-helper daemon
INFO Checking if CRC bundle is extracted in '$HOME/.crc'
INFO Checking if C:\Users\crcqe\.crc\cache\crc_hyperv_4.7.18.crcbundle exists
Your system is correctly setup for using CodeReady Containers, you can now run 'crc start' to start the OpenShift cluster
PS C:\Users\crcqe> crc cleanup
INFO Removing hosts file records added by CRC
INFO Uninstalling admin-helper daemon
INFO Will run as admin: uninstall admin-helper daemon
INFO Removing the crc VM if exists
INFO Removing dns server from interface
INFO Will run as admin: Remove dns entry for default switch
INFO Removing 'crc-users' group
INFO Will run as admin: remove crc-users group
INFO Removing pull secret from the keyring
INFO Removing older logs
INFO Removing CRC Machine Instance directory
Post "http://unix/clean": open \\.\pipe\crc-admin-helper: Access is denied.
PS C:\Users\crcqe>

this is due to the crc-users being removed. this means admin-helper or opening the port leads to a permission error.

@anjannath @adrianriobo Since this is not resolved in the current release binaries, this needs to be recorded as a known issue, right?
Also, needs to be resolved in the next sprint.

I don't really know how to fix this.
Cleanup is a best-effort function. This error didnt prevent the others cleanup functions to be performed. It is just that at the end, crc prints all errors.
Should the message be more explicit: Cannot remove custom hosts file entries: Post "http://unix/clean": open \\.\pipe\crc-admin-helper: Access is denied. ?

I don't really know how to fix this.
Cleanup is a best-effort function. This error didnt prevent the others cleanup functions to be performed. It is just that at the end, crc prints all errors.
Should the message be more explicit: Cannot remove custom hosts file entries: Post "http://unix/clean": open \\.\pipe\crc-admin-helper: Access is denied. ?

one easy-fix i wanted to try was just return nil if the err was of type PermissionError, like we are doing for ErrNotExists it should get rid of this specific error showing up in the end of cleanup? but not seeing this error consistently.. :/
https://github.com/code-ready/crc/blob/c3360d0f6f46d02e9d32e074a033993232a587f3/pkg/crc/preflight/preflight_checks_common.go#L246-L252


Mark wildcard imports as unused if there are no possible references

Ruff and Flake8 disagree over F401.
Using Ruff 0.1.7, config:
select = [
  "ALL",
]

ignore = [
  "I",
  "TD",
  "FIX",
  "ANN002",
  "ANN003",
  "ANN101",
  "D100",
  "E501",
  "N818",
  "S101",
  "TRY003",
  "FBT001",
  "FBT002",
  "EM101",
]

target-version = "py311"

[pydocstyle]
convention = "google"

Code snippet:
from redacted.models import *  # noqa: F401, F403

Flake8 is happy but Ruff complains:
redacted/shelltools.py:2:32: RUF100 [*] Unused `noqa` directive (unused: `F401`)
Found 1 error.
[*] 1 fixable with the `--fix` option.

If I change the code to this:
from redacted.models import *  # noqa: F403

Now Ruff is happy but Flake8 complains:
./redacted/shelltools.py:2:1: F401 'redacted.models.*' imported but not used

We implemented this and ultimately decided not to ship it. Flake8's analysis here is too limited. For example, it will mark the import here as unused, when in theory, redacted.models could export bar, and thus would lead to a bug:
from foo import bar
from redacted.models import *

print(bar)

@jschippergoauto -- Thanks, that makes sense. My suggestion though would be remove from F401 from the # noqa. Ruff isn't guaranteed to always be exactly consistent with Flake8, so trying to use Ruff and Flake8 simultaneously on the codebase can lead to other cases like this where you see small differences.

No worries, thanks for reporting and sorry that we didn't get to the ideal resolution for your project here.


RNN Transducer inference problem

Hi,
In your transducer_model inference function:
https://github.com/awni/speech/blob/master/speech/models/transducer_model.py#L93
where use both acoustic feature and ground truth label, which is not inference at all.
At least, do gready search or beam search.
When training model using transducer loss, the acoustic model PER is too big, can you provide a trained
baseline of RNN Transducer ?

Yes it still uses the ground truth previous label, this needs to be changed. Marking this as a duplicate of #21


MS Edge (Touchscreen) - Media controls show and then hide instantly on player tap.

Browser: Microsoft Edge 38.14393.0.0
OS: Windows 10 Pro 1607 Build 14393.447
Device: Microsoft Surface Pro 3
Clappr Version: Latest (0.2.64)
Steps to reproduce:

Go to http://cdn.clappr.io
Play the video.
Tap on the player to bring up the controls.
Notice the controls will slide up and then slide down right away. This also toggles the playback of the video too.
Note that this behaves as expected on any other browser that I have tested with on this device.

Did you try to reproduce this issue at http://cdn.clappr.io?
Yes.

Closing the issue. If still happens, please report.


Remove unused frontier extensions

Explain your changes:

Remove dead code extensions Ledger_table and Identity

Explain how you tested your changes:

Tested on a private cluster
Removing the code didn't cause a compilation error

Checklist:

[x] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[ ] Modified the current draft of release notes with details on what is completed or incomplete within this project
[x] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[x] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules
[x] Does this close issues? Closes #13536

!ci-build-me

Redirected towards develop.

!ci-build-me


Nuxt extends doesn't work with self hosted Gitlab instance

Environment

Operating System: Windows_NT
Node Version:     v18.13.0
Nuxt Version:     3.1.0
Nitro Version:    2.0.0
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      extends
Runtime Modules:  -
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-wfxuxw?file=nuxt.config.ts
Describe the bug
Currently isn't possible to extend the Nuxt project by remote source from self-hosted Gitlab instance
Additional context
No response
Logs
No response

Let's track the upstream issue in https://github.com/unjs/giget/issues/78.

@danielroe There is no information about this in docs, is there a way to implement in nuxt now?


Refactor gulpfile for issue #11

Fixed issue #11

I think we should move from using require together with let. The reference to the library created with require will not change.
I would opt in using const when using require.

good idea, also changed it in the gulpfile that will be generated


Validation Rules in Settings not working

Version information

Laravel: v5.8.33
Voyager: v1.2.6
PHP: 7.2
Database: MySQL 8.0

Description
I've set validation rules while adding a new setting but it's not applying/working.
Steps To Reproduce
Steps to reproduce the behavior:

Go to Settings
Add a new setting e.g
Name - Test
Key - test
Type - TextBox
Group - --Any--
Options -

{
    "validation": {
        "rule": "required"
    }
}

Then when you click on Save Settings without entering any value in the new setting column, it gets saved and does not show any validation error.

Expected behavior
If we set validation rule in a new setting, then it must through an error on invalid value and the old value must not be updated.
Screenshots
https://prnt.sc/ozm897

Please search before opening new issues.
Duplicate of https://github.com/the-control-group/voyager/issues/3494

Woops... sorry! :(


fix: table sorting with null values

Description
Push null values to bottom of the table while sorting
Fixes #7598
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

Test A
Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:white_circle: Total coverage has not changed
// Code coverage diff between base branch:release and head branch: fix/table-sorting-with-null

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
54.89 (-0.01)
36.6 (0.01)
33.6 (0)
55.43 (0)

:red_circle:
app/client/src/selectors/commentsSelectors.ts
83.61 (-1.64)
61.76 (-2.95)
73.33 (0)
88.24 (-2.35)

:green_circle:
app/client/src/widgets/TableWidget/widget/derived.js
58.25 (0.41)
59.26 (1.67)
43.9 (0)
58.2 (0.45)

/ok-to-test sha=f58a436

@vivekverma2312 Could you please test this on DP?

@sbalaji1192 Data is not reflected on the Table widget after binding.I can only see the column name is reflecting. I am blocked with testing the fix on the deploy preview.

@vivekverma2312 Fixed the issue. Could you please take a look again ?

@sbalaji1192 tested this on DP. Below are the observed issues.

Sorting does not appear right for ascending and descending when column type is set to Plain text. (Refer video)

When column type is set to Numbers null values and zero are mixed up and are not sorted. (Refer video)

https://loom.com/share/f768fcdb7c714fd19539b968f07ba033

@shwetha-ramesh
I have the fixed issue with sorting a column and empty values appear to be jumbled. Now all the empty values will come to the bottom.
Wrt, Issue with sorting string type columns, String sorting is little different than number sorting. For example, 200 < 1000 but "200" > "1000". since "2" is greater than "1". please test again on DP.

Re-tested this PR
The above listed issues are fixed.
When the column type is set to Plain text columns with just numericals and string+numericals (such as $,£) will sort appropriately with the selection made (asc, desc) and null values are pushed at the end of the column irrespective of type of sorting.
But when the column type is set to Numbers and if the column contains String (such as $200) this will be considered as a string and sorting is not applied in accordance with numbers, however null values are pushed at the end of the column.
Moving this to DONE.

/ok-to-test sha=24d703e


Virtual Monorepo support

We should be able to use Josh to stitch a "virtual monorepo" from a range of remote repo sources for advanced code synchronization without using hacky solution such as git subtree or git submodule.
In other word, we form one single big history from multiple smaller sources, which still fits the "Just One Single History" philosophy.
Related discussion: #1299
Also related: https://github.com/dotnet/announcements/issues/241

just my two cents, as someone who is tasked with migrated a poly-repo setup at work to a mono-repo, this would make such a migration trivial, since you could just combine the histories and continue development in the poly-repos (ensuring development isn't blocked) until the mono-repo is stable and ready to be released.
then to migrate you would just need to said a cutoff date for merging PRs into the old poly-repos, past that date you are expected to target new PRs or rebase old ones to the new mono-repo. Given enough time you should be able to get most sigificant works merged in the old poly-repos before that date, ensuring a smooth transition with minimal blockage.
Just wanted to emphasize a usecase for such a feature, as I am about to experience some pain from not having it :joy:


text encoder training ignored on free colab

i know the text encoder is what was crashing ram for the free users and i noticed it still tries to do it but now just skips it if it fails. Will the text encoder be optimized in the future to work for free users? and in the meantime will the models turn out okay without the text encoding? will character or style training suffer the most from lack of text encoder?

there was a problem with the dependencies, now it's fixed


A “--version” option would be helpful

Describe the bug
I don't know (or can't remember) which version of gut is currently installed. This means that:

I don't know which version to report a bug for, and
I don't know whether the latest version is installed.

To Reproduce
$ gut --help | grep -i version
	Effortlessly version control your projects with Gut.

Expected behavior
When invoked with the --version option, gut should show me its version (and possibly release or install date). E.g.:
$ gut --version
gut v0.2.6 (2023-04-10)

Hi @kseistrup,
You were right, this was something that was needed.
In v0.2.7, I have added the commands gut -v and gut version to print the version number.
Thank you for suggesting this.

Thanks for fixing it so swiftly.


Xcode 11.0, 11.1 and 11.4 will be deprecated on November 5th

Assess if this impacts us and if we need to update our build configuration:
Xcode 11.0, 11.1 and 11.4 will be deprecated on November 5th. Please update your build configuration if you are using those Xcode versions.

This should not affect us.
If you could just make sure we are using Xcode 11.7 or 11.6 on App Center for building our app.

Moving this to 1.3.0 as this is required before 5th Nov.
This is already done but needs verification on live. Dev and Staging builds on app centre have been verified.


Invalid link form LayoutCycleException

In

These loops cause a condition where a valid layout can't be created and the system can throw a LayoutCycleException if the loop is not recoverable.

The LayoutCycleException link  is opening the XamlParseException documentation instead of the LayoutCycleException documentation

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 61212330-2782-b5c0-4880-365e819ea4cd
Version Independent ID: 2e758efb-bf2f-a1dc-ea2f-06e0b5472984
Content: XAML custom panels overview - Windows apps
Content Source: hub/apps/design/layout/custom-panels-overview.md
Product: uwp
Technology: design
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

Thanks for reporting this issue. The link is fixed.


When resuming timer after stopping it, the elapsed ms includes the period over which it was stopped.

All in the title really. It means that I can't use the elapsedMs value in my callback function to add/remove time from the counter.

Perhaps the millisLastTick value should be updated during the start() method?


Remove org.json dependency

Current org.json dependency is somewhat outdated, and might not be used at all in some subprojects.
It seems to be used in a few places in the rdf4j-tools subproject for creating XmlHhttpRequests, maybe it can be replaced with a javax.json or com.fasterxml.jackson (which may eliminate this org.json dependency)

I've just been notified that we never logged a CQ for this dependency. Also, somewhat worryingly: a CQ is likely to not be approved, because this package has a license that is not fully OSS-compatible (in particular, it has a "only use for good not evil" clause in it somewhere).
We should expedite removing this dependency as soon as possible. It may block our next release.

We may need to cherry pick the fix we do for this and retroactively apply it to some older releases as well, at least the ones that we wish to keep available for download.

See discussion on https://dev.eclipse.org/ipzilla/show_bug.cgi?id=21981


ModSecurity Audit Logs Showing Numeric Severity Instead of String Defined in Rules and Incorrect Severity Mapping

I'm encountering an issue where the severity in ModSecurity audit logs is shown as a numeric value (e.g., "severity": "2") instead of the string defined in the rules (e.g., "severity": "CRITICAL")
0: EMERGENCY
1: ALERT
2: CRITICAL
3: ERROR
4: WARNING
5: NOTICE
6: INFO
7: DEBUG
Issue:
Rules like 949110 (blocking evaluation) do not have a defined severity, but in the logs, severity = 0 is being incorrectly mapped to "EMERGENCY", causing confusion.
audit_log.json

Hi @rohithmulka,
thanks for bringing this up.
Yes, this is a known behavior of libmodsecurity3 (I read your message on Slack, this is why I know - but it would be good to fill the issue template with versions and other information).
I think we have to discuss here (with other libmodsecurity3 users) what would be the correct behavior. I think we can modify the code that if a rule does not have a severity action then that field won't be in the log. But I don't know how users would be happy, eg. if someone uses an own parser which expects the field...

I feel like "no severity" should mean "default log level", which I assume would be DEBUG.


major update to serverless tool/utility for deployment to aws

App update to version 2.3.6
updated serverless.yml to accommodate new syntax in serverless 2.8.0
updated serverless from 1.78.1 to 2.8.0

fixed issues identified by CI time being close to midnight that caused some synthetic event timing / tests to fail.


Update contract addresses with RBS v1.1 deployment

superceded by https://github.com/OlympusDAO/olympus-docs/pull/72


notmuch fails to build on master

Describe the bug
The build is failing on master; it has been reproduced at c9248a6d87ce071fc7538dc5358b60ce86092e49.
An example of the failure is below:
T670-duplicate-mid: Testing duplicate message ids
 PASS   at most 1 thread-id per xapian document
 PASS   search: first indexed subject preserved
 BROKEN First subject preserved in notmuch-show (json)
        --- T670-duplicate-mid.3.expected       2022-01-10 15:49:39.334299463 +0000
        +++ T670-duplicate-mid.3.output 2022-01-10 15:49:39.334299463 +0000
        @@ -2,6 +2,7 @@
             [
                 [
                     {
        +                "crypto": {},
                         "date_relative": "2001-01-05",
                         "excluded": false,
                         "filename": [
        @@ -12,7 +13,7 @@
                         "headers": {
                             "Date": "GENERATED_DATE",
                             "From": "Notmuch Test Suite<EMAIL_ADDRESS>        -                    "Subject": "message 1",
        +                    "Subject": "message 0",
                             "To": "Notmuch Test Suite<EMAIL_ADDRESS>                         },
                         "id": "XXXXX",
 PASS   Search for second subject
 BROKEN Regexp search for second subject
        --- T670-duplicate-mid.5.EXPECTED       2022-01-10 15:49:39.352299871 +0000
        +++ T670-duplicate-mid.5.OUTPUT 2022-01-10 15:49:39.352299871 +0000
        @@ -1,3 +0,0 @@
        -MAIL_DIR/copy0
        -MAIL_DIR/copy1
        -MAIL_DIR/copy2
 PASS   search for body in duplicate file
 PASS   reindex drops terms in duplicate file
 PASS   reindex choses subject from first filename
 PASS   Deleted first duplicate file does not stop notmuch show from working
...

Notmuch test suite complete.
1537/1559 tests passed.
6 broken tests failed as expected.
16 tests failed.
All tests in 2 files skipped.
ERROR: some tests failed; first failed returned error code 1
make: *** [test/Makefile.local:75: test] Error 1

There is a new release (0.34.3) which also doesn't pass, so I didn't send the PR as it'd fail on CI.
Steps To Reproduce
Steps to reproduce the behavior:

nix-build -A notmuch

Notify maintainers
@flokli
@puckipedia

Those aren't the failing tests (BROKEN means they are known to fail). These are the real failures:
T355-smime: Testing S/MIME signature verification and decryption
 FAIL   emacs delivery of S/MIME signed message
        emacs_fcc_message \
             "test signed message 001" \
             "This is a test signed message." \
             "(mml-secure-message-sign \"smime\")"
*ERROR*: GPG error: "Sign failed", "Unusable secret key: 0DFB64A6E0972A47; Unusable public key: 0DFB64A6E0972A47"
 FAIL   emacs delivery of S/MIME encrypted + signed message
        emacs_fcc_message \
            "test encrypted message 001" \
            "<#secure method=smime mode=signencrypt>\nThis is a test encrypted message.\n"
*ERROR*: GPG error: "Sign failed", "Unusable secret key: 0DFB64A6E0972A47; Unusable public key: 0DFB64A6E0972A47"
 FAIL   Signature verification (openssl)
        --- T355-smime.3.EXPECTED       2022-01-10 20:47:04.570845875 +0000
        +++ T355-smime.3.OUTPUT 2022-01-10 20:47:04.572845879 +0000
        @@ -1 +1,2 @@
        -Verification successful
        +Error reading S/MIME message
        +140737348175680:error:0D0D40D1:asn1 encoding routines:SMIME_read_ASN1:no content type:crypto/asn1/asn_mime.c:399:
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
 FAIL   signature verification (notmuch CLI)
        --- T355-smime.4.expected       2022-01-10 20:47:04.897846462 +0000
        +++ T355-smime.4.output 2022-01-10 20:47:04.897846462 +0000
        @@ -1,72 +1 @@
        -[
        -    [
        -        [
        -            {
        -                "body": [
        -                    {
        -                        "content": [
        -                            {
        -                                "content": "This is a test signed message.\n",
        -                                "content-type": "text/plain",
        -                                "id": 2
        -                            },
        -                            {
        -                                "content-disposition": "attachment",
        -                                "content-length": "NONZERO",
        -                                "content-transfer-encoding": "base64",
        -                                "content-type": "application/pkcs7-signature",
        -                                "filename": "smime.p7s",
        -                                "id": 3
        -                            }
        -                        ],
        -                        "content-type": "multipart/signed",
        -                        "id": 1,
        -                        "sigstatus": [
        -                            {
        -                                "created": 946728000,
        -                                "email"<EMAIL_ADDRESS>        -                                "expires": 424242424,
        -                                "fingerprint": "616F46CD73834C63847756AF0DFB64A6E0972A47",
        -                                "status": "good",
        -                                "userid": "CN=Notmuch Test Suite"
        -                            }
        -                        ]
        -                    }
        -                ],
        -                "crypto": {
        -                    "signed": {
        -                        "status": [
        -                            {
        -                                "created": 946728000,
        -                                "email"<EMAIL_ADDRESS>        -                                "expires": 424242424,
        -                                "fingerprint": "616F46CD73834C63847756AF0DFB64A6E0972A47",
        -                                "status": "good",
        -                                "userid": "CN=Notmuch Test Suite"
        -                            }
        -                        ]
        -                    }
        -                },
        -                "date_relative": "2000-01-01",
        -                "excluded": false,
        -                "filename": [
        -                    "YYYYY"
        -                ],
        -                "headers": {
        -                    "Date": "Sat, 01 Jan 2000 12:00:00 +0000",
        -                    "From": "Notmuch Test Suite<EMAIL_ADDRESS>        -                    "Subject": "test signed message 001",
        -                    "To"<EMAIL_ADDRESS>        -                },
        -                "id": "XXXXX",
        -                "match": true,
        -                "tags": [
        -                    "inbox",
        -                    "signed"
        -                ],
        -                "timestamp": 946728000
        -            },
        -            []
        -        ]
        -    ]
        -]
        +
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/__init__.py", line 293, in load
    return loads(fp.read(),
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)
 FAIL   Decryption and signature verification (openssl)
        --- T355-smime.5.EXPECTED       2022-01-10 20:47:04.936846532 +0000
        +++ T355-smime.5.OUTPUT 2022-01-10 20:47:04.938846535 +0000
        @@ -1 +1,2 @@
        -Verification successful
        +Error reading S/MIME message
        +140737348175680:error:0D0D40D1:asn1 encoding routines:SMIME_read_ASN1:no content type:crypto/asn1/asn_mime.c:399:
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
Error reading S/MIME message
140737348175680:error:0D0D40D1:asn1 encoding routines:SMIME_read_ASN1:no content type:crypto/asn1/asn_mime.c:399:
 FAIL   Decryption (notmuch CLI)
        --- T355-smime.6.EXPECTED       2022-01-10 20:47:04.975846602 +0000
        +++ T355-smime.6.OUTPUT 2022-01-10 20:47:04.976846604 +0000
        @@ -1 +0,0 @@
        -This is a test encrypted message.
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
Traceback (most recent call last):
  File "/build/notmuch-0.34.2/test/json_check_nodes.py", line 55, in <module>
    data = json.load(sys.stdin)
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/__init__.py", line 293, in load
    return loads(fp.read(),
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/nix/store/dn4fwp0yx6nsa85cr20cwvdmg64xwmcy-python3-3.9.9/lib/python3.9/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)
 FAIL   Cryptographic message status (encrypted+signed)

Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
 FAIL   encrypted+signed message is known to be encrypted, but signature is unknown
        --- T355-smime.8.expected       2022-01-10 20:47:05.123846868 +0000
        +++ T355-smime.8.output 2022-01-10 20:47:05.123846868 +0000
        @@ -1 +1 @@
        -thread:0000000000000002   2000-01-01 [1/1] Notmuch Test Suite; test encrypted message 001 (encrypted inbox)
        +
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
 PASS   Encrypted body is not indexed
 FAIL   Reindex cleartext
        notmuch reindex --decrypt=true subject:'test encrypted message 001'
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
 FAIL   signature is now known
        --- T355-smime.11.expected      2022-01-10 20:47:05.177846965 +0000
        +++ T355-smime.11.output        2022-01-10 20:47:05.177846965 +0000
        @@ -1 +1 @@
        -thread:0000000000000002   2000-01-01 [1/1] Notmuch Test Suite; test encrypted message 001 (encrypted inbox signed)
        +
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
 FAIL   Encrypted body is indexed
        --- T355-smime.12.expected      2022-01-10 20:47:05.201847008 +0000
        +++ T355-smime.12.output        2022-01-10 20:47:05.201847008 +0000
        @@ -1 +1 @@
        -thread:0000000000000002   2000-01-01 [1/1] Notmuch Test Suite; test encrypted message 001 (encrypted inbox signed)
        +
Error: Cannot open database at /build/notmuch-0.34.2/test/tmp.T355-smime/mail/.notmuch: No such file or directory.
 FAIL   verify signed PKCS#7 subject (multipart-signed) signer User ID
        sig_uid: object not found: data[0][0][0]["crypto"]["signed"]["status"][0]["userid"]
 FAIL   verify signed PKCS#7 subject (onepart-signed) signer User ID
        sig_uid: object not found: data[0][0][0]["crypto"]["signed"]["status"][0]["userid"]
 FAIL   confirm signed and encrypted PKCS#7 subject (sign+enc) signer User ID
        sig_uid: object not found: data[0][0][0]["crypto"]["signed"]["status"][0]["userid"]
 FAIL   confirm signed and encrypted PKCS#7 subject (sign+enc+legacy-disp) signer User ID
        sig_uid: object not found: data[0][0][0]["crypto"]["signed"]["status"][0]["userid"]

Looks like a broken GPG setup in the build environment.

fixed in the next point release I think https://github.com/notmuch/notmuch/blob/63d3b2b5cf8702b5fecea77392ce46f8a8249175/NEWS#L7

prior work https://github.com/NixOS/nixpkgs/pull/154309/files


.NET Game Backend Mastery Updated

@microsoft-github-policy-service agree

On 2 Nov 2023, at 07:01, microsoft-github-policy-service[bot] @.***> wrote:
@microsoft-github-policy-service agree

Thanks @Mwenda-Eric !


[CSSimplify] Don't enable OneWayBindParam for result builder transf…

…ormed closures
This means two things:

transformed closures behave just like regular multi-statement closures
It's now possible to pass partially resolved parameter types into the closure which helps with diagnostics.

@swift-ci please test

@swift-ci please test source compatibility


Automate construction of complete Turnstile ingestion package

See #946
Remaining work: incorporate into CI

@tuxji I think what's left is to invoke this script from the CI process and save the zip file output somewhere.

Looks good.  I'm traveling on Wednesday, so I won't be able to make the CI changes until Thursday.

@glguy @kquick Please review the commit I just added to this pull request (I also rebased it on the master branch to bring it up to date).  I've modified the release workflow to build the Turnstile ingestion package and attach it to the release. I've also taken advantage of the fact that we're now using Ubuntu 22.04 which already has swi-prolog version 8.4.2 to simplify all the places which had to add swi-prolog's ppa repository before.  I figure we can remove these extra steps now as long as ASSIST doesn't need any features that are only in SWI-Prolog version 9.0.4 (the ppa version).

P.S. I ran the workflow's new commands manually in my checkout so I think they should work on the github runner.  However, you should review these commands as well.  I have to wait until we merge this pull request into the master branch before the Actions tab will let me call the assemble-turnstile-data.yml workflow from the Actions tab.  If it works when I call it from the Actions tab for testing, it should also work when CI calls it for the next release.

I noticed that this new action isn't run on the branch... I suppose we have to wait until merge time to see if it works OK?

Ah, I re-read your P.S. comment after making this remark... just ignore it.  :-)


Lab5

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

this for Lab5


I have same types with different values inside but of course DIP resolves the last one, which had been registered

I dig dip into Dependency Injection in Swift via DIP and I faced some collision that I don't understand how to avoid properly. I have same types with different values inside but of course DIP resolves the last one, which had been registered. I'll explain you with code: Here is ViewController & ViewModel 1
final class ViewController1: UIViewController {

  @IBOutlet weak var label: UILabel!
  var viewModel: ViewModelA!

  override func viewDidLoad() {
    super.viewDidLoad()
    self.label.text = viewModel.value
  }

}

struct ViewModelA {
  typealias UseCases = ProtocolA
  let value: String

  init(useCases: UseCases) {
    self.value = useCases.value
  }
}

The second ViewController and ViewModel are the same except the different name. ViewController2 and ViewModelB. The Composition1 is
enum Composition1 {
  static func configure(_ container: DependencyContainer) {
    container.register {
      Data(value: "Composition1")
    }

    // Use Cases
    container.register { (data: Data) in
      data as ViewModelA.UseCases
    }

    // View Models
    container.register { useCases in
      ViewModelA(useCases: useCases)
    }

    // View Controller
    container
      .register(storyboardType: ViewController1.self, tag: "ViewController1")
      .resolvingProperties { container, controller in
        controller.viewModel = try container.resolve()
    }

    DependencyContainer.uiContainers.append(container)
  }
}

and the Composition2 is
enum Composition2 {
  static func configure(_ container: DependencyContainer) {
    container.register {
      Data(value: "Composition2")
    }

    // Use Cases
    container.register { (data: Data) in
      data as ViewModelB.UseCases
    }

    // View Models
    container.register { useCases in
      ViewModelB(useCases: useCases)
    }

    // View Controller
    container
      .register(storyboardType: ViewController2.self, tag: "ViewController2")
      .resolvingProperties { container, controller in
        controller.viewModel = try container.resolve()
    }

    DependencyContainer.uiContainers.append(container)
  }
}

The RootComposition is:
enum RootComposition {
  static func configure() -> DependencyContainer {
    let container = DependencyContainer()
    Composition1.configure(container)
    Composition2.configure(container)
    return container
  }
}

So all ViewControllers - the 1 and 2 show "Composition2" in the label because Composition2.configure called the last one. Could somebody give me a helping hand please? What is the proper way to register and reset container?

Generally different implementations of the same type are registered and resolved with tags. I'd also advice against using DI containers with things that are considered data in your system, Data in your case though it's hard to say what it is from the snippet.

@ilyapuchka Hi! Thanks for your response.
But tag is required to use it across all the chain of register and resolve actions and this is not so convenient as simple type inference ))
Is the idea of drop & create container per each view controller will not work any better?

If you are using the auto-injection or auto-wiring the container will pass the tag along when resolving all the dependencies and if they are registered separately with such tag then this definition will be used, otherwise it will fallback to definition without any tag.
Other than that you can try to register your different components in different containers and use proper container to resolve them. Common dependencies can go into a common container that you would use to resolve these dependencies manually or it can be linked to others as collaborating container so that it is used to resolve them automatically.


Concurrent checkouts allocate more stocks to customers than the quantity available

When two customers check out concurrently for the same product, both checkouts may go through when this would cause the total amount of stock allocated to be larger than the quantity in inventory.
Steps to reproduce:

Start demo site, create two customers, create/pick test product.
Both customers add the product to their baskets such that each basket individually is under the quantity in inventory and together they exceed this quantity.  Perform a checkout concurrently, making sure both customers finish checkout (click the Place Order button) as close to the same time as possible.

We have reproduced this behavior on a single machine, by performing the above steps with one customer in one browser window and another customer in a second browser window.
Because this bug depends on concurrent execution, it may be helpful to introduce additional delay between the server and database.  If connecting to the database using unix sockets, the following script can act as a proxy that delays packets:
https://gist.github.com/TWarszawski/a0d8dd8aea9eb5b774d64c9f826de6db
Expected Result:
One of the two checkouts fails (this happens when doing the checkout serially).
Actual Result:
Both checkouts succeed, and the allocated field for the item is greater than quantity in the dashboard.

Now, when even two different user will add in the same time the same product with low quantity of it, then it is not possible to succeed both checkouts. One of it fails.


[9.12] Add support and compat testing for 8.11.4

This commit adds support and compat testing for 8.11.4, to 9.12.
relates #13821

So I'm looking at the last time I did this for 8.11.3 (https://github.com/apache/lucene/commit/521c26e4fb547bb0aeafdbea838aec038ceb1538), and it looks like there were more things added. Is that not needed anymore? (I know the back compat testing was changing a lot around that time, so I'm not sure what is actually needed now)

So I'm looking at the last time I did this for 8.11.3 (521c26e), and it looks like there were more things added. Is that not needed anymore? (I know the back compat testing was changing a lot around that time, so I'm not sure what is actually needed now)

The list of versions has been moved from a string in source to a separate versions file.


Dockerize

An initial pass at Docker and docker compose for #48
I haven't really used nfldb before so some pointers as to what a sane default command in the docker-compose.yml should be would be great.

I have used Docker before, but I am not quite sure about your question. Can you please explain a little more about your issue?

Also another question for you, I don't remember this, but can I set this to point to a different database, meaning I have a database hosted on AWS, I should be able to point it to that right?

Not for the proposed docker-compose.yml. As long as your AWS hosted database is postgres compatible the Dockerfile can be used to connect to that instead.
First you would need to edit the install/config.ini to point to your AWS setup. Then you would need to build the Dockerfile and then run the container. This will not do the automatic install of the default data though, as this is done in the postgres image.


User Specific Triggers

Instead of:
!no way <reply> yes way.
which can be triggered by all users...
!<seabass> no way <reply> yes way.
which can only be triggered by the bass'man himself.

Alternatively?
no way <reply to seabass> yes way.


Custom user permissions UI

This PR updates the Lightning Node Connect page to include a new overlay which allows users to create macaroons with customized permissions for specific URIs as well as expiration dates.
New option added to permissions dropdown

Custom permissions overlay

Custom session with an expiration date

Related to: #438
Depends on #450 & #457

One future thing that could be helpful is to create a common component library as a node package for us to consume in both terminal and lit. This way we could avoid duplicated code, and maybe create a storybook for @dstrukt to view what's being used in the codebase

Should Liquidity Manager and Payments Manager permission roles be in the dropdown as well?

Should Liquidity Manager and Payments Manager permission roles be in the dropdown as well?

Design/product decision to just have those live in custom as well. Want to see if people use them or not. Will populate the dropdown with the most popular options based on feedback. Still unsure how popular those two will be, but it's our first stab at it.

I can imagine the terminal lift will be significant for some of these custom permissions -- would those changes happen before the merge? Just curious

The code looks very clean and can confirm the feature works very well 👍
Will do a more thorough pass when it's ready for review!

One future thing that could be helpful is to create a common component library as a node package for us to consume in both terminal and lit. This way we could avoid duplicated code, and maybe create a storybook for @dstrukt to view what's being used in the codebase

This is interesting .. ACK for the shared library, and storybook if we keep it low effort export for time being.

Design Review:

[ ] Add 24px padding above Proxy Server input

[ ] Make the calendar icon our offWhite

[ ] Make the calendar text copy click trigger the dropdown, only the icon does this (ideal, but not required)

[ ] Conversely, the icon click on the select dropdown should trigger the dropdown too .. but this is an issue across LITD/TW, so another ideal, but not required, and might be worth a sep. issue, but defer to you

[ ] Add a 200ms ease-in-out transition to the background-color when hovering/selecting a Permission Type (just a nice to have)

That should be okay. Agree with Andy on the ideal behavior, but understand the tradeoff we made wrt usage of the browser controlled date picker and that's fine.

@dstrukt I added some code to automatically generate labels when none are defined. Users can still specify their own label when first viewing the add session option. However if no label is specified, the custom permissions page will automatically generate a label based on the permission type selected.
"My read-only session", "My liquidity session", "My loop session", etc.

Thanks for the updates. The latest commit LGTM 🚀

@itsrachelfish, remember to re-request review from reviewers when ready

@itsrachelfish, remember to re-request review from reviewers when ready

@itsrachelfish, remember to re-request review from reviewers when ready

@itsrachelfish, remember to re-request review from reviewers when ready

needs a rebase :)

@levmi @ellemouton updated with the latest from master :+1:

@itsrachelfish do you want to rebase to get a clean commit history (all authored and committed by you) or should we just merge?

@itsrachelfish, remember to re-request review from reviewers when ready


Windows: Extended frozen file explorer after reboot/before login

I thought we had cranked down timeouts to 19 seconds but I still see this:

Get logged in and browse around some private keybase folders with file explorer
Reboot (don't sign into keybase yet)
Open file explorer again and try to navigate to a non-kb directory

It seems explorer is trying to access private folders for listing them in the "recently used" list, but this freezes the whole thing for minutes at a time. Several timeout popups appear.
This is with dokan 0.8.0, latest master, built this morning:
1.0.16-20160527074935+7c9e507
my log id: 60d359e8829e68ffeea98e1c

I did not see it just now on Windows 10 with the 2-week old client we're still shipping on the website:
KBFS:
status:    running
version:   1.0.2-20160513144641+2e3e40f
log:       C:\Users\IEUser\AppData\Roaming\Keybase\keybase.kbfs.log
Service:
status:    running
version:   1.0.15-20160513144641+568ef0a
log:       C:\Users\IEUser\AppData\Roaming\Keybase\keybase.service.log
I could not test the latest Dokan 1.0.0RC4 because my VM quits working properly when it's installed (possibly related to having to disable driver signing enforcement?)
Windows7 does not show this problem with Dokan 1.0.0RC4. Testing 0.8.0 on Win7 now.

Could not repro on Win7. Also failed to re-repro on Win10, so this is a bit of a UFO. Maybe caused by a network hiccup at a specific time?

@taruti

This warrants a libdokan specific hack, will implement.

Fresh batch of logs with the dokan 1 test branch. Same symptom: explorer frozen at reboot when keys are left locked.
0e63316aa37fd81021e27a1c
Hung around 13:08 - 13:09 I think, then unlocked with pinentry at 13:15
@taruti

Was this with https://github.com/keybase/kbfs/pull/13 merged (the logs look like it was missing)?

Frozen for more than a minute at 9:53 AM
d3a95a0ad3e46236ec91051c
Note that kbfs should be the same as 83d77672e01f8b3a58a3afea12324633a3dcee62, despite my unnecessary merge.

Seems better with recent fixes. Closing.


Failed to deploy mattermost on vdc testnet

Installation method

From vdc.testnet.grid.tf

Steps to reproduce

Deploy vdc on testnet
Extend the cluster with larger node
Try to deploy mattermost

Traceback/Logs/Alerts
root@zosv2tst-8:~# tail -f ~/.config/jumpscale/logs/fs/log.txt
  File "/sandbox/code/github/threefoldtech/js-sdk/jumpscale/sals/vdc/kubernetes_auto_extend.py", line 58, in update_stats
    "cpu": {"used": cpu_mill, "total": cpu_mill / cpu_percentage,},
                    │                  │          └ 0.0
                    │                  └ 50.0
                    └ 50.0

ZeroDivisionError: float division by zero

verified on vdc latest


Bottom area of window is getting hidden behind task bar when maximizing the Window Provided Title bar and buttons are hidden.

Describe the bug
Having a winUi3 application which doesn't have title bar. i.e, Content will be extended to the title bar and Close, minimize, maximize buttons will be hidden. When the window is minimized in code behind, and when it is bought back to active, the bottom area of window is getting hidden behind task bar.
Similarly, when app is opened in full screen on first launch the taskbar is hidden. But when minimized and maximized again, it is getting hidden in behind.
Windows App SDK Version : 1.6.241114003
Windows.SDK.BuildTools : 10.0.26100.1742
Visual Studio version : 17.12.3
Steps to reproduce the bug

Create a blank packaged winui3 application.
In App.xaml.cs, OnLaunched method, add the below code after activating the window,
            AppWindow appWindow = GetAppWindowForCurrentWindow();          appWindow.SetPresenter(AppWindowPresenterKind.FullScreen);          if (appWindow.Presenter is OverlappedPresenter p)          {              p.Maximize();              p.SetBorderAndTitleBar(false, false);              appWindow.TitleBar.ExtendsContentIntoTitleBar = true;          }
In MainWindow constructor, add the below code,
this.SystemBackdrop = new DesktopAcrylicBackdrop(); this.SetTitleBar(null); this.AppWindow.TitleBar.IconShowOptions = IconShowOptions.HideIconAndSystemMenu; this.ExtendsContentIntoTitleBar = true; this.AppWindow.TitleBar.ExtendsContentIntoTitleBar = true;
In myButton_Click method, add the below snippet to minimize the application.
IntPtr hWnd = WindowNative.GetWindowHandle(this); WindowId myWndId = Win32Interop.GetWindowIdFromWindow(hWnd); AppWindow appWindow = AppWindow.GetFromWindowId(myWndId); appWindow.SetPresenter(AppWindowPresenterKind.Overlapped); if (appWindow.Presenter is OverlappedPresenter p) {  p.Maximize();  p.Minimize();  p.SetBorderAndTitleBar(false, false); }
Start the app, after application started, minimize and then open the app from task bar

Expected behavior
The bottom part of the application should not hide behind the task bar.
Screenshots
Immediately after app launch,

After minimize and maximize.

NuGet package version
None
Windows version
Windows 11 Pro
22631.4602
Additional context
Note: This is working fine when the title bar and titlebar buttons are visible

What you're describing seems to be the desired behaviour. Since you are invoking the window from task bar, it makes sense that the taskbar is on top. I don't think the window should re-size in this situation.
Closing, marking as by design.


Invalid access: Can not convert empty value

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)

daily run window function and the failed sql is  select i, i, row_number()  over w from window_function_0 window w as (partition by i order by id, i) order by 1, 2, 3, the full error info is Error 1105: other error for mpp stream: From MPP<query:<query_ts:0, local_query_id:0, server_id:0, start_ts:438529181194125313>,task_id:1>: Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Invalid access: Can not convert empty value., e.what() = Invalid access.
2. What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your TiFlash version? (Required)

I encountered this panic too.
[2023/01/05 18:01:29.371 +08:00] [ERROR] [Exception.cpp:89] ["Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Invalid access: Can not convert empty value., e.what() = Invalid access"] [source="DB::RawCppPtr DB::PreHandleSnapshot(DB::EngineStoreServerWrap *, DB::BaseBuffView, uint64_t, DB::SSTViewVec, uint64_t, uint64_t)"] [thread_id=23]

It is curious that we saw the same some errors in SchemaSyncService.

This may be a arm64 problem since  https://github.com/pocoproject/poco/issues/3331, however, we are not tested in arm64.

[source="DB::RawCppPtr DB::PreHandleSnapshot(DB::EngineStoreServerWrap *, DB::BaseBuffView, uint64_t, DB::SSTViewVec, uint64_t, uint64_t)"] [thread_id=50]
[2023/01/14 00:58:01.071 +08:00] [INFO] [TiDBSchemaSyncer.h:113] ["Start to sync schemas. current version is: 34 and try to sync schema version to: 39"] [source=SchemaSyncer] [thread_id=51]
[2023/01/14 00:58:01.071 +08:00] [DEBUG] [TiDBSchemaSyncer.h:171] ["Try load schema diffs."] [source=SchemaSyncer] [thread_id=51]
[2023/01/14 00:58:01.071 +08:00] [ERROR] [Exception.cpp:89] ["Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Invalid access: Can not convert empty value., e.what() = Invalid access"] [source="DB::RawCppPtr DB::PreHandleSnapshot(DB::EngineStoreServerWrap *, DB::BaseBuffView, uint64_t, DB::SSTViewVec, uint64_t, uint64_t)"] [thread_id=51]

Add log and see what the invalid data is

Restart solved

Does Poco::JSON does not support parsing "affected_options": null?

No, the regenerate_schema_map is missing, don't know why.

Got it. So it is introduced by https://github.com/pingcap/tiflash/pull/6563 which tries to get a field that is not always set.

Ok, so seem this is due to the TiDB version is too old in the test env


WIP: Node management

Introduces a new Node Management UI, still in progress.
Only cln is implemented at the moment

current state of dashboard:

channels:

transactions are showing the payments that happened directly on the node:

Amazing. Can you remove "apps", thats for another pr

I love how it doesn't look boilerplate at all, just another lnbits menu item (for those who choose to enable). Very cool

been working on the channels tab:

I think I should clarify why supporting JSON columns in db would be beneficial.
I'll use the recently added extra column in the https://github.com/lnbits/usermanager (which currently doesnt work on sqlite!) as an example.
It is important that the usermanager api gives a way of filtering by custom data in the extra column.
There are essentially two ways to do this:

fetch all users and filter application side
filter directly in sql and only return required rows

The latter option is obviously much more performant, but it requires the column type to be json so that we can write queries accordingly.
It also allows for easier partial updates. With a text column you'd have to select the row, do the update in python and then update. JSON type makes this possible in sql directly.
But it doesnt end here:
If the extra column on payments was changed to JSON type aswell, the api could support filtering by extra data too. So you could easily get all payments with the tag boltz. Something like that isnt possible right now.
If the extra column becomes more viable more extensions could use it to put some metadata alongside the payments, e.g. the discordbot could store the channel id the payment happened in so it can display stats.

node ui can now be turned on or off in the admin ui:

You can optionally expose some info about your node on a public path (/node/public) aswell:

The changes regarding the services.py fix type errors which now arise because I've typed the get_wallet_class function correctly

Codecov Report

Merging #1702 (40c66a9) into main (f97c698) will increase coverage by 0.64%.
The diff coverage is 63.66%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main    #1702      +/-   ##
==========================================
+ Coverage   49.06%   49.71%   +0.64%
==========================================
  Files          47       50       +3
  Lines        7091     7439     +348
==========================================
+ Hits         3479     3698     +219
- Misses       3612     3741     +129

Impacted Files
Coverage Δ

lnbits/wallets/void.py
58.82% <ø> (ø)

lnbits/core/views/generic.py
50.24% <28.57%> (-1.63%)
:arrow_down:

lnbits/nodes/cln.py
36.08% <36.08%> (ø)

lnbits/core/views/node_api.py
63.38% <63.38%> (ø)

lnbits/wallets/cln.py
19.51% <75.00%> (+1.86%)
:arrow_up:

lnbits/settings.py
86.17% <78.57%> (-0.72%)
:arrow_down:

lnbits/nodes/base.py
81.50% <81.50%> (ø)

lnbits/core/__init__.py
100.00% <100.00%> (ø)

lnbits/core/services.py
39.34% <100.00%> (ø)

lnbits/core/views/admin_api.py
48.38% <100.00%> (ø)

... and 2 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Getting

When writing the node tests I also figured out that the wallet class isn't initialized correctly, so is_fake was always true. This is now fixed and the test_pay_real_invoice test now actually runs (never ran before) and seems to cause some problems.

very good job, i very need this feature! when can i try it？

very good job, i very need this feature! when can i try it？
if you really want to you can checkout to this branch. Will take a bit more until its fully finished, Ive been extracting some of the changes here into other smaller prs to maoe this one less bulky.

Resolved merge conflicts to new main

LFGTM!
Its the best node management software on the planet, its not fair the world doesn't have it yet

@dni @jackstar12 do you know why this PR is closed?


Using MolField in django application

Hello! I am using rdkit in django app. The Compound model has a MolField. In django, when creating custom fields using method to serialize data for the database.
Now I have lagacy method writed other programmer:
    def get_prep_value(self, value):
        # convert the Molecule instance to the value used by the
        # db driver
        if isinstance(value, str):
            value = self.text_to_mol(value)
        if isinstance(value, Chem.Mol):
            value = memoryview(value.ToBinary())
        if value is None:
            return None
        return Func(value, function="mol_from_pkl")

I have trouble with using this implementation and I fix it by change implementation to:
   def get_prep_value(self, value):
        # convert the Molecule instance to the value used by the
        # db driver
        if isinstance(value, str):
            value = self.text_to_mol(value)
        if isinstance(value, Chem.Mol):
            value = memoryview(value.ToBinary())
        if value is None:
            return None
        return value.ToBinary() # Changes

Its fix my issue but I am new with rdkit and not shour what its  correct way to serialize data to db.
Can someone answer me wich of method a more correct?

it looks like the MolField and/or the get_prep_value implementations were originally taken from django-rdkit, maybe the question would be more in scope there, but I'm afraid an answer might be not possible considering the limited information available.
if get_prep_value was passed a string or an instance of Chem.Mol, the line you modified (when reached) I think should raise an AttributeError.

it looks like the MolField and/or the get_prep_value implementations were originally taken from django-rdkit, maybe the question would be more in scope there, but I'm afraid an answer might be not possible considering the limited information available.
if get_prep_value was passed a string or an instance of Chem.Mol, the line you modified (when reached) I think would raise an AttributeError.

text_to_mol method return Mol
    def text_to_mol(value):
        value = str(value)
        mol = (
            Chem.MolFromSmiles(value)
            or Chem.MolFromMolBlock(value)
            or Chem.inchi.MolFromInchi(value)
        )
        if mol is None:
            raise ValidationError("Invalid input for a Mol instance")
        return mol

yes, what I meant is that if the text input is converted to Mol, I think value should be then reassigned to memoryview(value.ToBinary()), that I would expect to raise an AttributeError if value.ToBinary() is called by the return statement.
but I saw you opened another ticket for django-rdkit, so I think the discussion can continue there.


PROBLEM No data received for 5 minutes

Hi
install and configure ZabbixDBA on zabbix 3.4 But  No data received for 5 minutes
zdba.log:
[2017/10/19 14:50:41][INFO ] [27] starting ZabbixDBA (version 3.2.0)
[2017/10/19 14:50:41][INFO ] [53] starting thread for database 'ORA12'
[2017/10/19 14:50:41][INFO ] [ZDBA::monitor:50] starting monitoring of 'ORA12'
[2017/10/19 14:50:41][INFO ] [ZDBA::DBIx::connect:47] connected to 'DBI:Oracle:host=G4DB-N;port=1521;sid=orcl12'
[2017/10/19 14:50:42][INFO ] [ZDBA::monitor:151] completed fetching data on 'ORA12' (elapsed 0.428486)
[2017/10/19 14:51:12][INFO ] [ZDBA::monitor:151] completed fetching data on 'ORA12' (elapsed 0.463671)
How to solve this problem?
thanks

Active Debug
new log:
[2017/10/19 15:18:42][DEBUG] [ZDBA::Sender::send_chunk:117] chunk has been sent to Zabbix
[2017/10/19 15:18:42][DEBUG] [ZDBA::Sender::send_chunk:110] sending chunk to Zabbix:
{"request":"sender data","data":[{"value":".00305","key":"ts_usage_pct[USERS]","host":"ORA12"},{"value":"195","key":"waits_ms[Concurrency]","host":"ORA12"},{"value":"12791","key":"waits_ms[User I/O]","host":"ORA12"},{"value":"117700","key":"waits_ms[System I/O]","host":"ORA12"},{"value":"12","key":"waits_ms[Configuration]","host":"ORA12"},{"value":"35811","key":"waits_ms[Other]","host":"ORA12"},{"value":"116","key":"waits_ms[Application]","host":"ORA12"},{"value":"416502","key":"waits_ms[Idle]","host":"ORA12"},{"value":"215","key":"waits_ms[Commit]","host":"ORA12"},{"value":"61270","key":"waits_ms[Network]","host":"ORA12"}]}
[2017/10/19 15:18:42][DEBUG] [ZDBA::Sender::send_chunk:117] chunk has been sent to Zabbix
[2017/10/19 15:18:42][DEBUG] [ZDBA::monitor:162] thread for 'ORA12' is going to sleep for 30 sec.

Data base name in config.pl  should be like host name in zabbix server.
Solved