TensorFlow Lite bazel ios build fails

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS Catalina 10.15.4
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version: 2.2(latest - cloned yesterday)
Python version: 2.7
Installed using virtualenv? pip? conda?:
Bazel version (if compiling from source): 3.0.0
GCC/Compiler version (if compiling from source): clang 11.0.3
CUDA/cuDNN version:
GPU model and memory:

I've made a code that uses tensorflowlite_c and libtensorflowlite_gpu_delegate.so in android. And it's build was successful and works well in Android devices.
So I wanted to build the same libraries for ios.
But building tensorflowlite_c fails when I'm trying to build for ios.
I've installed the latest XCode from the AppStore, and commandline tools works fine.
configure
➜  tensorflow git:(master) ./configure
You have bazel 3.0.0 installed.
Please specify the location of python. [Default is /Library/Frameworks/Python.framework/Versions/3.7/bin/python3]:

Found possible Python library paths:
  /Applications/root_v6.19.02/lib
  /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
Please input the desired Python library path to use.  Default is [/Applications/root_v6.19.02/lib]
/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages
Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]: n
No OpenCL SYCL support will be enabled for TensorFlow.

Do you wish to build TensorFlow with ROCm support? [y/N]: n
No ROCm support will be enabled for TensorFlow.

Do you wish to build TensorFlow with CUDA support? [y/N]: n
No CUDA support will be enabled for TensorFlow.

Do you wish to download a fresh release of clang? (Experimental) [y/N]: n
Clang will not be downloaded.

Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native -Wno-sign-compare]: -D_GLIBCXX_USE_CXX11_ABI=0 -O3

Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: n
Not configuring the WORKSPACE for Android builds.

Do you wish to build TensorFlow with iOS support? [y/N]: y
iOS support will be enabled for TensorFlow.

Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See .bazelrc for more details.
	--config=mkl         	# Build with MKL support.
	--config=monolithic  	# Config for mostly static monolithic build.
	--config=ngraph      	# Build with Intel nGraph support.
	--config=numa        	# Build with NUMA support.
	--config=dynamic_kernels	# (Experimental) Build kernels into separate shared objects.
	--config=v2          	# Build TensorFlow 2.x instead of 1.x.
Preconfigured Bazel build configs to DISABLE default on features:
	--config=noaws       	# Disable AWS S3 filesystem support.
	--config=nogcp       	# Disable GCP support.
	--config=nohdfs      	# Disable HDFS support.
	--config=nonccl      	# Disable NVIDIA NCCL support.
Configuration finished

build
➜  tensorflow git:(master) bazel build -c opt --config=ios //tensorflow/lite/c:tensorflowlite_c
Starting local Bazel server and connecting to it...
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=1 --terminal_columns=210
INFO: Reading rc options for 'build' from /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc:
  Inherited 'common' options: --experimental_repo_remote_exec
INFO: Reading rc options for 'build' from /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc:
  'build' options: --apple_platform_type=macos --define framework_shared_object=true --define open_source_build=true --java_toolchain=//third_party/toolchains/java:tf_java_toolchain --host_java_toolchain=//third_party/toolchains/java:tf_java_toolchain --define=use_fast_cpp_protos=true --define=allow_oversize_protos=true --spawn_strategy=standalone -c opt --announce_rc --define=grpc_no_ares=true --noincompatible_remove_legacy_whole_archive --noincompatible_prohibit_aapt1 --enable_platform_specific_config --config=v2
INFO: Reading rc options for 'build' from /Users/yonggyulee/tf/tf6/tensorflow/.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3 --action_env PYTHON_LIB_PATH=/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages --python_path=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3 --config=xla --action_env TF_CONFIGURE_IOS=1
INFO: Found applicable config definition build:v2 in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:xla in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --action_env=TF_ENABLE_XLA=1 --define=with_xla_support=true
INFO: Found applicable config definition build:ios in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --apple_platform_type=ios --apple_bitcode=embedded --copt=-fembed-bitcode --copt=-Wno-c++11-narrowing
INFO: Found applicable config definition build:macos in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --copt=-w --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --cxxopt=-std=c++14 --host_cxxopt=-std=c++14
INFO: Analyzed target //tensorflow/lite/c:tensorflowlite_c (64 packages loaded, 1589 targets configured).
INFO: Found 1 target...
INFO: Deleting stale sandbox base /private/var/tmp/_bazel_yonggyulee/85757772b8505423f8a25bcdc8f80746/sandbox
ERROR: /private/var/tmp/_bazel_yonggyulee/85757772b8505423f8a25bcdc8f80746/external/fft2d/BUILD.bazel:27:1: C++ compilation of rule '@fft2d//:fft2d' failed (Exit 1)
clang: error: invalid version number in '-mmacosx-version-min=13.4'
Target //tensorflow/lite/c:tensorflowlite_c failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 9.723s, Critical Path: 0.13s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

Can you specify --config=ios_fat instead of --config=ios and try again?
https://github.com/tensorflow/tensorflow/blob/master/.bazelrc#L104

@teijeong
Build failed with same issue.
I don't understand why -mmacosx-version-min=13.4 error occurs.
➜  tensorflow git:(master) bazel build -c opt --cxxopt=--std=c++11 --config=ios_fat //tensorflow/lite/c:tensorflowlite_c
Starting local Bazel server and connecting to it...
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=1 --terminal_columns=80
INFO: Reading rc options for 'build' from /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc:
  Inherited 'common' options: --experimental_repo_remote_exec
INFO: Reading rc options for 'build' from /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc:
  'build' options: --apple_platform_type=macos --define framework_shared_object=true --define open_source_build=true --java_toolchain=//third_party/toolchains/java:tf_java_toolchain --host_java_toolchain=//third_party/toolchains/java:tf_java_toolchain --define=use_fast_cpp_protos=true --define=allow_oversize_protos=true --spawn_strategy=standalone -c opt --announce_rc --define=grpc_no_ares=true --noincompatible_remove_legacy_whole_archive --noincompatible_prohibit_aapt1 --enable_platform_specific_config --config=v2
INFO: Reading rc options for 'build' from /Users/yonggyulee/tf/tf6/tensorflow/.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3 --action_env PYTHON_LIB_PATH=/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages --python_path=/Library/Frameworks/Python.framework/Versions/3.7/bin/python3 --config=xla --action_env TF_CONFIGURE_IOS=1
INFO: Found applicable config definition build:v2 in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:xla in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --action_env=TF_ENABLE_XLA=1 --define=with_xla_support=true
INFO: Found applicable config definition build:ios_fat in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --config=ios --ios_multi_cpus=armv7,arm64,i386,x86_64
INFO: Found applicable config definition build:ios in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --apple_platform_type=ios --apple_bitcode=embedded --copt=-fembed-bitcode --copt=-Wno-c++11-narrowing
INFO: Found applicable config definition build:macos in file /Users/yonggyulee/tf/tf6/tensorflow/.bazelrc: --copt=-w --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --cxxopt=-std=c++14 --host_cxxopt=-std=c++14
INFO: Analyzed target //tensorflow/lite/c:tensorflowlite_c (64 packages loaded, 1589 targets configured).
INFO: Found 1 target...
INFO: Deleting stale sandbox base /private/var/tmp/_bazel_yonggyulee/85757772b8505423f8a25bcdc8f80746/sandbox
ERROR: /Users/yonggyulee/tf/tf6/tensorflow/tensorflow/lite/kernels/internal/BUILD:695:1: C++ compilation of rule '//tensorflow/lite/kernels/internal:audio_utils' failed (Exit 1)
clang: error: invalid version number in '-mmacosx-version-min=13.4'
Target //tensorflow/lite/c:tensorflowlite_c failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 7.379s, Critical Path: 0.56s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

Oh I see the problem. I can reproduce this, but not sure if that target was designed to be built for iOS.
For iOS, you can try
bazel build -c opt --config=ios_fat //tensorflow/lite/experimental/ios:TensorFlowLiteC_framework to generate .framework file and then include it in your app. Can you try this path?

@teijeong
Thanks. That works.
I'm totally new to iOS, XCode, Swift, and Objective-C so just one more question.
Is .framework file available to use in C++?

Only C API is exposed with the framework, but yes it's totally ok to use it with the C++.
Please see https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/c/c_api.h for available APIs. Please let me know if your use case can't be covered by the provided C API.

@teijeong
Thanks for your help.
I'll give it a try and come back if a problem happens.

Hi lackhole, If everything goes well, can you close the issue?

Closing this - if you encounter other problems (besides iOS build issue), please file another bug :)

Hi @teijeong I'm facing the same issue when i run this bazel command:
bazel build --action_env PYTHON_BIN_PATH=/usr/bin/python --verbose_failures --config=ios_arm64 -c opt //tensorflow/lite/ios:TensorFlowLiteCMetal_framework
Configure
Same configuration
Output
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=1 --terminal_columns=164
INFO: Reading rc options for 'build' from /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc:
  Inherited 'common' options: --experimental_repo_remote_exec
INFO: Reading rc options for 'build' from /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc:
  'build' options: --define framework_shared_object=true --java_toolchain=@tf_toolchains//toolchains/java:tf_java_toolchain --host_java_toolchain=@tf_toolchains//toolchains/java:tf_java_toolchain --define=use_fast_cpp_protos=true --define=allow_oversize_protos=true --spawn_strategy=standalone -c opt --announce_rc --define=grpc_no_ares=true --noincompatible_remove_legacy_whole_archive --enable_platform_specific_config --define=with_xla_support=true --config=short_logs --config=v2 --define=no_aws_support=true --define=no_hdfs_support=true --experimental_cc_shared_library
INFO: Reading rc options for 'build' from /Users/adityadwipamungkas/Downloads/tensorflow-master/.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=/usr/bin/python3 --action_env PYTHON_LIB_PATH=/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages --python_path=/usr/bin/python3
INFO: Reading rc options for 'build' from /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc:
  'build' options: --deleted_packages=tensorflow/compiler/mlir/tfrt,tensorflow/compiler/mlir/tfrt/benchmarks,tensorflow/compiler/mlir/tfrt/jit/python_binding,tensorflow/compiler/mlir/tfrt/jit/transforms,tensorflow/compiler/mlir/tfrt/python_tests,tensorflow/compiler/mlir/tfrt/tests,tensorflow/compiler/mlir/tfrt/tests/analysis,tensorflow/compiler/mlir/tfrt/tests/jit,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_tfrt,tensorflow/compiler/mlir/tfrt/tests/tf_to_corert,tensorflow/compiler/mlir/tfrt/tests/tf_to_tfrt_data,tensorflow/compiler/mlir/tfrt/tests/saved_model,tensorflow/compiler/mlir/tfrt/transforms/lhlo_gpu_to_tfrt_gpu,tensorflow/core/runtime_fallback,tensorflow/core/runtime_fallback/conversion,tensorflow/core/runtime_fallback/kernel,tensorflow/core/runtime_fallback/opdefs,tensorflow/core/runtime_fallback/runtime,tensorflow/core/runtime_fallback/util,tensorflow/core/tfrt/common,tensorflow/core/tfrt/eager,tensorflow/core/tfrt/eager/backends/cpu,tensorflow/core/tfrt/eager/backends/gpu,tensorflow/core/tfrt/eager/core_runtime,tensorflow/core/tfrt/eager/cpp_tests/core_runtime,tensorflow/core/tfrt/gpu,tensorflow/core/tfrt/run_handler_thread_pool,tensorflow/core/tfrt/runtime,tensorflow/core/tfrt/saved_model,tensorflow/core/tfrt/graph_executor,tensorflow/core/tfrt/saved_model/tests,tensorflow/core/tfrt/tpu,tensorflow/core/tfrt/utils
INFO: Found applicable config definition build:short_logs in file /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc: --output_filter=DONT_MATCH_ANYTHING
INFO: Found applicable config definition build:v2 in file /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:ios_arm64 in file /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc: --config=ios --cpu=ios_arm64
INFO: Found applicable config definition build:ios in file /Users/adityadwipamungkas/Downloads/tensorflow-master/.bazelrc: --apple_platform_type=ios --apple_bitcode=embedded --copt=-fembed-bitcode --copt=-Wno-c++11-narrowing --noenable_platform_specific_config --copt=-w --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --define=with_xla_support=false
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/tensorflow/runtime/archive/f47028debe93d9514d4c35e1db2957c04950e602.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
WARNING: Download from https://mirror.bazel.build/github.com/bazelbuild/rules_cc/archive/081771d4a0e9d7d3aa0eed2ef389fa4700dfb23e.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_apple/releases/download/0.31.3/rules_apple.0.31.3.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/apple_support/releases/download/0.10.0/apple_support.0.10.0.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/bazelbuild/rules_swift/releases/download/0.21.0/rules_swift.0.21.0.tar.gz failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
DEBUG: Rule 'io_bazel_rules_docker' indicated that a canonical reproducible form can be obtained by modifying arguments shallow_since = "1596824487 -0400"
DEBUG: Repository io_bazel_rules_docker instantiated at:
  /Users/adityadwipamungkas/Downloads/tensorflow-master/WORKSPACE:23:14: in <toplevel>
  /Users/adityadwipamungkas/Downloads/tensorflow-master/tensorflow/workspace0.bzl:108:34: in workspace
  /private/var/tmp/_bazel_adityadwipamungkas/246c1b33c44a840eaa0052f321b57c7b/external/bazel_toolchains/repositories/repositories.bzl:35:23: in repositories
Repository rule git_repository defined at:
  /private/var/tmp/_bazel_adityadwipamungkas/246c1b33c44a840eaa0052f321b57c7b/external/bazel_tools/tools/build_defs/repo/git.bzl:199:33: in <toplevel>
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/gemmlowp/archive/e844ffd17118c1e17d94e1ba4354c075a4577b88.zip failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
WARNING: Download from https://storage.googleapis.com/mirror.tensorflow.org/github.com/google/XNNPACK/archive/322055148b47dccb76bc03ad010f16c1e3a94817.zip failed: class com.google.devtools.build.lib.bazel.repository.downloader.UnrecoverableHttpException GET returned 404 Not Found
INFO: Analyzed target //tensorflow/lite/ios:TensorFlowLiteCMetal_framework (110 packages loaded, 3980 targets configured).
INFO: Found 1 target...
ERROR: /Users/adityadwipamungkas/Downloads/tensorflow-master/tensorflow/lite/ios/BUILD:185:21: Executing genrule //tensorflow/lite/ios:TensorFlowLiteCMetal_framework failed: (Exit 1): bash failed: error executing command
  (cd /private/var/tmp/_bazel_adityadwipamungkas/246c1b33c44a840eaa0052f321b57c7b/execroot/org_tensorflow && \
  exec env - \
    PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/adityadwipamungkas/Developer/Flutter/flutter_v1/bin:/Users/adityadwipamungkas/Developer/Flutter/flutter_v1/.pub-cache/bin:/Users/adityadwipamungkas/Developer/Flutter/flutter_v1/bin:/Users/adityadwipamungkas/Developer/Flutter/flutter_v1/.pub-cache/bin \
    PYTHON_BIN_PATH=/usr/bin/python \
    PYTHON_LIB_PATH=/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages \
    TF2_BEHAVIOR=1 \
  /bin/bash -c 'source external/bazel_tools/tools/genrule/genrule-setup.sh; INPUT_FRAMEWORK="bazel-out/applebin_ios-ios_arm64-opt-ST-c2e45b3824d7/bin/tensorflow/lite/ios/Preprocessed_TensorFlowLiteCMetal_framework.zip" BUNDLE_NAME="TensorFlowLiteCMetal" ALLOWLIST_FILE_PATH="tensorflow/lite/ios/allowlist_TensorFlowLiteCMetal.txt" EXTRACT_SCRIPT_PATH="bazel-out/host/bin/tensorflow/lite/ios/extract_object_files_main" OUTPUT="bazel-out/ios_arm64-opt/bin/tensorflow/lite/ios/TensorFlowLiteCMetal_framework.zip" "bazel-out/host/bin/tensorflow/lite/ios/hide_symbols_with_allowlist"')
Execution platform: @local_execution_config_platform//:platform
  File "/private/var/tmp/_bazel_adityadwipamungkas/246c1b33c44a840eaa0052f321b57c7b/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/lite/ios/extract_object_files_main.runfiles/org_tensorflow/tensorflow/lite/ios/extract_object_files_main.py", line 27
    def main(argv: Sequence[str]) -> None:
                 ^
SyntaxError: invalid syntax
Archive:  bazel-out/applebin_ios-ios_arm64-opt-ST-c2e45b3824d7/bin/tensorflow/lite/ios/Preprocessed_TensorFlowLiteCMetal_framework.zip
  inflating: /var/folders/nh/8rbl1_fd01g1lc3ylj5rs09m0000gn/T/framework.6il99Zk3/TensorFlowLiteCMetal.framework/Headers/TensorFlowLiteCMetal.h
  inflating: /var/folders/nh/8rbl1_fd01g1lc3ylj5rs09m0000gn/T/framework.6il99Zk3/TensorFlowLiteCMetal.framework/Headers/metal_delegate.h
  inflating: /var/folders/nh/8rbl1_fd01g1lc3ylj5rs09m0000gn/T/framework.6il99Zk3/TensorFlowLiteCMetal.framework/Modules/module.modulemap
  inflating: /var/folders/nh/8rbl1_fd01g1lc3ylj5rs09m0000gn/T/framework.6il99Zk3/TensorFlowLiteCMetal.framework/TensorFlowLiteCMetal
Target //tensorflow/lite/ios:TensorFlowLiteCMetal_framework failed to build
INFO: Elapsed time: 409.138s, Critical Path: 34.96s
INFO: 867 processes: 339 internal, 528 local.
FAILED: Build did NOT complete successfully

@Miko2x That error suggests that your Python interpreter doesn't understand the type hinting syntax, which was introduced in Python 3.5. What is your Python version? Can you try the build again with Python 3.5 or higher?

@yyoon, Thanks for the reply.
On this report I'm using 2.7.18. After that when I try to use Python 3.7.2, it's give me another error message. Looks like the program can't find numpy path, is there any file that i can set the numpy path?
adityadwipamungkas@Adityas-MacBook-Pro tensorflow-master % pip3 show numpy
Name: numpy
Version: 1.21.5
Summary: NumPy is the fundamental package for array computing with Python.
Home-page: https://www.numpy.org
Author: Travis E. Oliphant et al.
Author-email: None
License: BSD
Location: /usr/local/lib/python3.7/site-packages
Requires:
Required-by:

Configure file

Output
ERROR: An error occurred during the fetch of repository 'local_execution_config_python':
   Traceback (most recent call last):
        File "/Users/adityadwipamungkas/Downloads/tensorflow-master/third_party/py/python_configure.bzl", line 213, column 39, in _create_local_python_repository
                numpy_include = _get_numpy_include(repository_ctx, python_bin) + "/numpy"
        File "/Users/adityadwipamungkas/Downloads/tensorflow-master/third_party/py/python_configure.bzl", line 187, column 19, in _get_numpy_include
                return execute(
        File "/Users/adityadwipamungkas/Downloads/tensorflow-master/third_party/remote_config/common.bzl", line 230, column 13, in execute
                fail(
Error in fail: Problem getting numpy include path.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
Is numpy installed?
ERROR: Error fetching repository: Traceback (most recent call last):
        File "/Users/adityadwipamungkas/Downloads/tensorflow-master/third_party/py/python_configure.bzl", line 213, column 39, in _create_local_python_repository
                numpy_include = _get_numpy_include(repository_ctx, python_bin) + "/numpy"
        File "/Users/adityadwipamungkas/Downloads/tensorflow-master/third_party/py/python_configure.bzl", line 187, column 19, in _get_numpy_include
                return execute(
        File "/Users/adityadwipamungkas/Downloads/tensorflow-master/third_party/remote_config/common.bzl", line 230, column 13, in execute
                fail(
Error in fail: Problem getting numpy include path.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
Is numpy installed?
ERROR: Analysis of target '//tensorflow/lite/ios:TensorFlowLiteCMetal_framework' failed; build aborted: Problem getting numpy include path.
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ModuleNotFoundError: No module named 'numpy'
Is numpy installed?
INFO: Elapsed time: 211.008s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (23 packages loaded, 66 targets configured)
    Fetching @go_sdk; fetching 28s
    Fetching @local_config_cc; fetching

Could you file a new issue for your issue and cc me?
I don't think it's appropriate to continue this on an issue closed a long time ago.

Could you file a new issue for your issue and cc me? I don't think it's appropriate to continue this on an issue closed a long time ago.

Sure.


Screening service #68

Here's the docker setup for the screening service.

Codecov Report

Merging #69 (a544e4a) into develop (7a7534a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #69   +/-   ##
========================================
  Coverage    76.78%   76.78%
========================================
  Files           14       14
  Lines          870      870
========================================
  Hits           668      668
  Misses         202      202

Continue to review full report at Codecov.

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

Codecov Report

Merging #69 (a544e4a) into develop (7a7534a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop      #69   +/-   ##
========================================
  Coverage    76.78%   76.78%
========================================
  Files           14       14
  Lines          870      870
========================================
  Hits           668      668
  Misses         202      202

Continue to review full report at Codecov.

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


create and delete event not emitted if folder was freshly created and then deleted within timeout period

My watcher config is -
{
      ignoreInitial: true,
      recursive: true,
      renameDetection: true,
      renameTimeout: 10000,
      persistent: true,
      ignore(filePath: string) {
        return !!filePath.match(/(^|[\/\\])\../);
      },
    }

Is this the correct behaviour? If i create a file and delete it within the timeout period or delete it before create event is emitted, delete is not emitted as well.
Can we get both the events to emit? Just for consistency and what if we want to track and perform some server-side updates for each of the event.
Is this just happening because renameTimeout is too high?

Also, whenever we create a new folder - these two events got emitted - shouldn't this just be one?
directory path got created /Users/sahiljain/Desktop/watch_folder/untitled folder
directory was renamed /Users/sahiljain/Desktop/watch_folder/untitled folder /Users/sahiljain/Desktop/watch_folder/jjjjd3

Is this the correct behaviour? If i create a file and delete it within the timeout period or delete it before create event is emitted, delete is not emitted as well.

If I'm understanding it correctly no events are emitted in that case?
If so yeah, that's intentional, events are delayed by the value of renameTimeout, as that's necessary for detecting renamed, you set a very high value so they are delayed by a lot. The default value should work better I think.

Can we get both the events to emit?

Getting both sets of events from the same watcher would be very confusing in case where a rename is detected, because what are you supposed to do if the watcher tells you that file X got deleted, then added, then renamed?
If you want both rename events and regular events you can potentially start two watchers, one with rename detection enabled and one with it disabled, they should be cheap enough.

Also, I tried creating a new folder named jjjjd3 - these two events got emitted - shouldn't this just be one?

If you got those events that's what happened under the hood. Perhaps the way you created the folder it looked to you like you just created a folder named jjjjd3, but in reality a untitled folder got created first.


[qt5-declarative]: Post-build validation fail with --x-install-root

Describe the bug
I have my vcpkg tree on a different drive. Let's just say it's on S:\vcpkg. In there I already have all dependencies of the qt5-declarative package (using the same triplet x64-windows-static-md).
Now I run the following command in a vcpkg tree on a different drive (faster but less capacity - thus the idea is to build it there but store the final result on S):
vcpkg install qt5-declarative:x64-windows-static-md --x-install-root=S:\vcpkg\installed

The build works fine, but when it's time to do the installation I get
-- Package build-x64-windows-static-md-dbg
-- Package build-x64-windows-static-md-rel
-- Package install-x64-windows-static-md-dbg
-- Package install-x64-windows-static-md-rel
-- Installing: C:/Users/dev-user/vcpkg/packages/qt5-declarative_x64-windows-static-md/share/qt5-declarative/copyright
-- Performing post-build validation
The folder /include is empty or not present. This indicates the library was not correctly installed.
Found 1 error(s). Please correct the portfile:
    C:\Users\dev-user\vcpkg\ports\qt5-declarative\portfile.cmake
-- Performing post-build validation done
Error: Building package qt5-declarative:x64-windows-static-md failed with: POST_BUILD_CHECKS_FAILED

So I assume the post-build validation check  (or in fact the entire install procedure) is not picking up the correct install-directory (I verified that S:\vcpkg\installed\include exists and already contains content - Nothing that appears related to QtDeclarative though).
Note however that it did figure out that all dependencies are already installed on S: (they are not in the tree on C:).
Note also, that the same procedure (on the same machine) has worked for packages icu and poco.
Environment

OS: Windows
Compiler: VS2019

The folder /include is empty or not present. This indicates the library was not correctly installed.

typically means that it is not picking up required dependencies and not building anything at all.

But ir compiled for > 3h. So it mudt have done something. During that time I also saw various instances of jom, qmake and c++ compiler in the task manager.
So I think it'd be odd if it didn't build anything :thinking:

This issue hasn’t been updated in 3 month, if it is still an issue, please reopen this issue.


Created Polygon Shape

Created polygon shape with clip-path depending on sides prop (sides in [3,10])

Made requested changes also forgot to reference this is Issue #42


Document anticipated end of life date

Is your feature request related to a problem? Please describe.
Documentation correction.
Describe the solution you'd like
Our supported open source products all include a couple of lines in README that shares, based on our expert understanding, a how long (at minimum) we anticipate the product will continue to work without any further changes, based on the update frequency of the technologies it relies on.
Describe alternatives you've considered
None. This is mandatory documentation for our supported products.
Additional context
This is documentation cleanup for consistency.
Tasks

[x] research expected end of life of newest version of PowerShell that we test against (PowerShell 7)
[ ] research expected end of life of the newest configuration set we have added (Windows 11)
[ ] add an 'End of Life' section to README.md, based on the template here: https://answers.uillinois.edu/illinois/109544

PowerShell 7 Information:

7.0 (LTS) End Support Date was 03 Dec 2022
7.2 (LTS) End Support Date is 08 Nov 2024
7.4 (LTS) End Support Date is 10 Nov 2026

Dates from https://endoflife.date/powershell

Windows 11 Information:

11 21H2 (E) End Support Date is 08 Oct 2024
11 22H2 (E) End Support Date is 14 Oct 2025
11 23H2 (E) End Support Date is 10 Nov 2026

Dates from https://endoflife.date/windows

@edthedev , do you know which exact versions of PowerShell and Windows 11 should be referenced?

Tentative text to add based upon the latest dates available for PowerShell and Windows 11:
End-of-Life and End-of-Support Dates
This product is supported by the Cybersecurity teams at the
University of Illinois Urbana-Champaign on a best-effort basis.
As of the last update to this README, the expected End-of-Life
and End-of-Support dates of this product are 10 November 2026.
End-of-Life was decided upon based on these dependencies:

PowerShell 7.4 (10 November 2026)
Windows 11 23H2 (10 November 2026)

PR created


Make this website responsive

I would like to work on this, SindhuraPogarthi assign this to me

Thank you for showing interest in my website. I have assigned you the issue. You may start working on it.

@SindhuraPogarthi  hi there , please close this issue as done
otherwise unassign me of this issue
(i'm tracking my open source contribution by following assigns)
thanks a lot


Bug: Dual scroll bars

see screenshots

FWIW, I was able to fix this on Drought by removing the optional data-width attribute from the embed code that's exported from Twitter.

Done


Treemap doesn't handle the level with all zero value correctly.

When we try to build a Treemap with the data which all children have 0 value, it will display the treemap with children overlapped. Is it more reasonable to show an empty treemap or a treemap with same-sized children.
The demo is here: http://jsfiddle.net/znfxLcn3/
Thank you for help.

Related #2420 (for d3.svg.pie).

Fix staged in #2591 for 3.5.7.


🐞 Wraplayout crash application when set Spacing or HorizontalSpacing

Implementation
                    <mdc:WrapLayout
                        BindableLayout.ItemsSource="{x:Binding ComponentData.SupportedPlatformsInfo,
                                                               Source={x:Reference root}}"
                        HorizontalOptions="Start"
                        Spacing="5"
                        VerticalOptions="Center">
                        <BindableLayout.ItemTemplate>
                            <DataTemplate x:DataType="app:PlatformInfo">
                                <Image
                                    HeightRequest="25"
                                    HorizontalOptions="Center"
                                    Source="{x:Binding Logo}"
                                    VerticalOptions="Center"
                                    WidthRequest="25" />
                            </DataTemplate>
                        </BindableLayout.ItemTemplate>
                    </mdc:WrapLayout>

Platforms
Windows: bug
Android: not tested
IOS: not tested
MacOS: not tested
Exception
Non-negative number required. (Parameter 'width')

Log
   at Windows.Foundation.Size..ctor(Single width, Single height)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.HorizontalStackLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCellsWithUnknowns()
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCells()
   at Microsoft.Maui.Layouts.GridLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.MeasureContent(IContentView contentView, Thickness inset, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.TemplatedView.Microsoft.Maui.IContentView.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.Handlers.Compatibility.FrameRenderer.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.Handlers.Compatibility.VisualElementRenderer`2.GetDesiredSize(IPlatformViewHandler handler, Double widthConstraint, Double heightConstraint, Nullable`1 minimumSize)
   at Microsoft.Maui.Controls.Handlers.Compatibility.VisualElementRenderer`2.GetDesiredSize(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.Handlers.Compatibility.VisualElementRenderer`2.Microsoft.Maui.IViewHandler.GetDesiredSize(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.TemplatedView.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCellsWithUnknowns()
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCells()
   at Microsoft.Maui.Layouts.GridLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.MeasureContent(IContentView contentView, Thickness inset, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.TemplatedView.Microsoft.Maui.IContentView.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.ContentPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.TemplatedView.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Material.Components.Maui.<WrapLayout>F18B24EE5785AB6A6442879F15BA99F4FECC04E2D7B65542222385381CE494BD6__WrapLayoutManager.HorizontalMeasure(Double widthConstraint, Double heightConstraint)
   at Material.Components.Maui.<WrapLayout>F18B24EE5785AB6A6442879F15BA99F4FECC04E2D7B65542222385381CE494BD6__WrapLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.VerticalStackLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCellsWithUnknowns()
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCells()
   at Microsoft.Maui.Layouts.GridLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.ScrollView.Microsoft.Maui.IContentView.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Handlers.ScrollViewHandler.InsetScrollView(Double widthConstraint, Double heightConstraint, Func`3 internalMeasure, IScrollView scrollView)
   at Microsoft.Maui.Handlers.ScrollViewHandler.<>c__DisplayClass22_0.<IncludeScrollViewInsets>b__0(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.ContentPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.ScrollView.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCellsWithUnknowns()
   at Microsoft.Maui.Layouts.GridLayoutManager.GridStructure.MeasureCells()
   at Microsoft.Maui.Layouts.GridLayoutManager.Measure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.LayoutPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)
--- End of stack trace from previous location ---
   at WinRT.ExceptionHelpers.<ThrowExceptionForHR>g__Throw|20_0(Int32 hr)
   at Microsoft.Maui.ViewHandlerExtensions.GetDesiredSizeFromHandler(IViewHandler viewHandler, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.ComputeDesiredSize(IView view, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.VisualElement.MeasureOverride(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.MeasureContent(IContentView contentView, Thickness inset, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Layouts.LayoutExtensions.MeasureContent(IContentView contentView, Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Controls.ContentPage.Microsoft.Maui.IContentView.CrossPlatformMeasure(Double widthConstraint, Double heightConstraint)
   at Microsoft.Maui.Platform.ContentPanel.MeasureOverride(Size availableSize)
   at ABI.Microsoft.UI.Xaml.IFrameworkElementOverrides.Do_Abi_MeasureOverride_0(IntPtr thisPtr, Size availableSize, Size* result)

Can not copy!

Could you please provide a minimal reproducible project?

I was able to reproduce the issue while preparing your bug branch, but surprisingly, it worked. I’m not entirely sure what caused the crash and exception, but I suspect it may have been due to the version of Visual Studio. The only difference from my previous implementation is that I updated Visual Studio. My current version, which is working fine, is 17.6.5. I believe my previous version may have been 17.6.2, but I’m not entirely certain.

If you encounter this bug again, you can reopen the issue.


[bug] "npm create tauri-app" fails on openSUSE Tumbleweed with "Not a directory" error

Describe the bug
Trying to create a project under openSUSE Tumbleweed with npm create tauri-app, it fails with the following error:
error: Not a directory (os error 20)
npm ERR! code 1
npm ERR! path /tmp
npm ERR! command failed
npm ERR! command sh -c -- create-tauri-app

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/x/.npm/_logs/2022-09-28T16_53_00_647Z-debug-0.log

Same error with any other tool (e.g. yarn).
Reproduction
No response
Expected behavior
No response
Platform and versions
Environment
  › OS: openSUSE 20220926 X64
  › Node.js: 18.9.1
  › npm: 8.19.1
  › pnpm: Not installed!
  › yarn: 1.22.19
  › rustup: 1.25.1
  › rustc: 1.64.0
  › cargo: 1.64.0
  › Rust toolchain: stable-x86_64-unknown-linux-gnu

Stack trace
No response
Additional context
I tried running it with strace utility and the syscall which fails is:
openat(AT_FDCWD, "/usr/bin/node18", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
Node.js installation contains two executables: /usr/bin/node (which seems to be a stub) and /usr/bin/node18 (the real one).
If I rename /usr/bin/node18 to /usr/bin/node then everything works.
This issue is specific to tauri, I tried for example creating other apps like react and it worked.

can you upload the full log here?

Sure but I think it's not very helpful. Here is it:
2022-09-28T16_53_00_647Z-debug-0.log

Might be an issue with this line in the create-tauri-app.js:
if (binStem === "node" || binStem === "nodejs") {
   ...
}

the logs shows that it fails to invoke create-tauri-app, can you try running inside a directory that isn't /tmp preferably $HOME

Might be an issue with this line in the create-tauri-app.js:
if (binStem === "node" || binStem === "nodejs") {
   ...
}

Nah this is just used to provide a better name for the cli in the help message

I tried that already, the current directory doesn't really matter.
The difference is the nodejs executable name, if it's /usr/bin/node it works, if it's /usr/bin/node18 (invoked by /usr/bin/node) then there is this "not a directory" error.

are you using any node manager like nvm or fnm?

No, just installed node.js from the Linux repositories.
But it uses libalternatives method to launch a specific node version, so I can have version 18 and 17 installed at the same time.
The /usr/bin/node stub reads /usr/share/libalternatives/node/18.conf file which looks like:
binary=/usr/bin/node18
man=node18.1

Then it execs this binary replacing itself (execve call).

It's actually pretty simple to reproduce under Linux:

Rename /usr/bin/node to /usr/bin/node18
Create /usr/bin/node shell script with the following context:

#!/bin/bash
exec /usr/bin/node18 "$@"

Mark it as executable with chmod +x /usr/bin/node

based on your last reproduction comment, I have this output:
amr - ~ took 4s
❯ yarn create tauri-app
yarn create v1.22.17
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...

success Installed<EMAIL_ADDRESS>with binaries:
      - create-tauri-app
[####] 4/4
+✔ Package name · usrbinnode185
error: Not a directory (os error 20)
error Command failed.
Exit code: 1
Command: /home/amr/.yarn/bin/create-tauri-app
Arguments:
Directory: /home/amr
Output:

info Visit https://yarnpkg.com/en/docs/cli/create for documentation about this command.

amr - ~ took 23s
❯

You can see the highlighting comment is asking for Package name pre-filled with userbinnode18. this step only happens when a path has been provided to the cli.
So somehow the cli is invoked like this create-tauri-app /usr/bin/node18 so create-tauri-app will use that first argument as a directory to initialize the project in which doesn't exist because it is a file.
Now I don't know why this happens but this seems like an issue with the script which I don't have knowledge/time to debug.
I am using nvm and fnm to manage multiple node versions and they both work fine so maybe libalternative has a bug.

It's not related to libalternative, I have mentioned above that you can reproduce it simply by making a shell script wrapper called /usr/bin/node which calls /usr/bin/node18.


Rfc30/compiletime benchmark to ci

Motivation and Context
Compile time benchmark was merged before but it was reverted as it was causing error.
This one has it's error fixed.
Test for this CI can be found here.
https://github.com/awslabs/smithy-rs/actions/runs/5299211765/jobs/9592047342
Testing
https://github.com/awslabs/smithy-rs/actions/runs/5299211765/jobs/9592047342
Checklist

[ ] I have updated CHANGELOG.next.toml if I made changes to the smithy-rs codegen or runtime crates
[ ] I have updated CHANGELOG.next.toml if I made changes to the AWS SDK, generated SDK code, or SDK runtime crates

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Hi,
The issue we had is fixed now.
You can find the test result here.
https://github.com/awslabs/smithy-rs/actions/runs/5299211765/jobs/9592047342
Test was done by adding a ci-action to ci.yml.
This is now removed from the PR.


adds partnerships resolves #170

Partnerships are unique to a style
A style can only have 1 partnership
Partnerships can relate to >=1 partners
A "partner" is actually the address of an origin collection
Partnerships have an expiry date
Partnerships have 1 beneficiary account
The beneficiary gets 50% of platform shares when the partnership is active
An exclusive partnership disallows minting splices on that style
Exclusivity also applies to multi origins: if one origin is not included in the partnership, the mint is rejected.
A non exclusive partnership allows minting on everything but pays out shares when not expired.
When exclusive partnerships have expired, no shares are paid and minting is open to everybody
To fully constrain a style to a certain collection(s), create a partnership for that collection and set the expiration date far into the future.

Impact on minting fees
#main
······························|··························|·············|·············|·············|···············|··············
|  Splice                     ·  mint                    ·     186204  ·     241973  ·     203258  ·           47  ·     100.18  │
······························|··························|·············|·············|·············|···············|··············
#170
······························|····························|·············|·············|·············|···············|··············
|  Splice                     ·  mint                      ·     194331  ·     283482  ·     218860  ·           59  ·     122.17  │
······························|····························|·············|·············|·············|···············|··············


daemon: Clarify cases in which PATCH /endpoint waits

Commit 41c08396ce4b ("daemon: Only regenerate in PATCH from valid
state") removed the endpointWait from "PATCH /endpoint" in the case
where the identity is not yet resolved, but introduced an unlocked
access to the endpoint's state field. Fix it so that it will instead
wait if the API call is forcing regeneration.
Related: #3274
Signed-off-by: Joe Stringer<EMAIL_ADDRESS>

test-me-please


Compile error with version 0.49.0

Getting a compile error with the newest version 0.49.0 for both state-adapt/core and state-adapt/angular.
Using version 14.2.0 of angular
Error: node_modules/@state-adapt/core/lib/adapters/build-adapter.function.d.ts:20:74 - error TS2536: Type 'P_1' cannot be used to index type 'R & S & { state: (state: State) => State; } & BasicAdapterMethods<State>'. 20 } & BasicAdapterMethods<State> extends infer T_1 ? { [P_1 in keyof T_1]: (R & S & { ~~~~~~~~~~ 21 state: (state: State) => State; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 22 } & BasicAdapterMethods<State>)[P_1]; } : never>["selectors"], 19>;

I also get it with version of 14.0.3 of angular which is the last version i was using that I know worked with version 0.48.0 of state-adapt

0.48 doesn't have buildSelectors, but I know it was compiling for me when I released 0.49. What version of TS are you using?

4.7.2, which is the same version that worked with 0.48.0 as well.

Are you actually using buildAdapter?
Also, do you have a link to your repo or is it just local changes? When I get to my computer I can try it on StackBlitz and see if I can reproduce it. Actually I'm not sure I'll be able to, because I have one on StackBlitz already with 0.49 and Angular 14 and it's working https://stackblitz.com/edit/angular-ivy-cwnz5p?file=src%2Fapp%2Fapp.module.ts

There's no reference to "buildAdapter" in my code that I can see. So not unless it's being used by something else.
it's on master and develop https://github.com/kamcknig/gloomhaven-helper

just update to 0.49.0 , install with --force because of angular 14.2.0.

I forked my stackblitz and moved it to 14.2 and it still compiles. I'll have to pull down your repo

Must be something I'm using. I tried on a computer that didn't have it previously and same thing. so wasn't a weird npm issue i don't think

What version of node are you using?

I pulled your repo and it's working for node 14.17.6, 16.10 and 18.8.0. I did have to use npm install --force for 18.8.0 as you said above, but it looks like it's working anyway.
Are you on Windows maybe?

Node version 16.13.1
I am in windows

I just used nvm to install 16.10.0 of node and it still failed with the  same error. hmm

I'm running it in Windows and just having trouble with NPM install in general.
I need to release 0.50 soon anyway. I noticed recently that my scripts weren't updating peer dependencies in the dist folder. I need to fix that so it's fine with any Angular minor version (^14.0.3 instead of @14.0.3). I would like to blame an Nx script, but honestly it might have been a problem for a while.
In version 50, I'm trying out re-exporting all dependencies through state-adapt/angular. This is because I need to create a new library for RxJS so I can separate core adapter stuff from RxJS-dependent stuff, so I can support a no-RxJS version in React, SolidJS and Qwik. This would mean people could import adapt from either @state-adapt/rxjs or @state-adapt/angular and that would lead to mistakes. So I thought I should just export everything Angular developers need through @state-adapt/angular.
Anyway, that should be done this week. I will let you know. Then I'll try to reproduce your issue. But I have a feeling there might be a problem with npm install somewhere. I know you did it on 2 separate computers and with Angular 14.0, but in my experience with Windows-specific problems, it's from npm install 99% of the time, and there might be a side-effect of using --force.

Oh and after 0.50, I will create a createListAdapter function, and then I should be ready to release StateAdapt 1.0.

My library strategy failed. So I released 0.51. I've separated RxJS from core stuff. It's a little bit of migration, not much.
But it looks like I've found the same error on MacOS with my new version. But I got another couple of errors. Was the error you posted the only error you got? Here's what I got

I only get the one error

I have a solution to the immediate problem. Still trying to figure out why this became an issue in the built TypeScript definitions, because it's not an issue in my source code. But the solution is to change
export type ReactionsFromAdapter<A extends Adapter<any, any, any>> = {
  [K in keyof A]: A[K] extends Reaction<any> ? A[K] : never;
};

to
export type ReactionsFromAdapter<A extends Adapter<any, any, any>> = {
  [K in Extract<keyof A, string>]: A[K] extends Reaction<any> ? A[K] : never;
};

I found another couple of subtle problems. I'm going to work on getting all of this in the next update. I'll comment again when it's ready for you to try out.

You can also fix this directly in your node_modules if you don't want to wait. In build-adapter.function.d.ts on line 16.

I still have the same error with that.

Ugh. I just discovered that too. It appears this fixes it in my local prod build, but not in your repo. It's the same general issue, just need to find out where to put it in the source code to get the exact right spot.
If you still want to fix it, you actually need to change line 20 from
} & BasicAdapterMethods<State> extends infer T_1 ? { [P_1 in keyof T_1]: (R & S & {

to
} & BasicAdapterMethods<State> extends infer T_1 ? { [P_1 in Extract<keyof T_1, string>]: (R & S & {

Alright, fixed it for real this time. That's the correct fix locally. The real fix will be in version 0.54.0. Yeah, I have been struggling with builds and versions :)

With the new version I can't get correct imports for Source or joinSelectors from @state-adapt/core.

Those are now exported from @state-adapt/rxjs

I can now run it with import from @state-adapt/rxjs and the hack to the build-adapter.function.d.ts

Good! I'll keep this issue open until I get the next release out.

0.54.0 is out.


Incorrectly labeled manifests: JAR's keep being marked as 2.1.0

Can you please make sure to update your manifests so that this stops happening.
It makes version tracking and updating tiresome
2.1.0 (snapshot), 2.2.0, 2.2.1 & 2.3.0 for 1.17 are all affected
For reference

Fixed in the latest version, sorry for any inconveniences.


Keep VC-JWT in line with the new spec for v2

New spec in the W3C. Still in draft. This issue is to note that we should track it as it progresses. https://w3c.github.io/vc-jwt/

related to #340

v1.1 being handled in #340


'yt lics' fails on a module without installed dependencies

In a freshly cloned module that doesn't have dependencies installed yet, yt lics fails with this error message:
  File "/usr/local/bin/yt", line 4, in <module>
    yotta.main()
  File "/usr/local/lib/python2.7/dist-packages/yotta/main.py", line 218, in main
    status = args.command(args, following_args)
  File "/usr/local/lib/python2.7/dist-packages/yotta/licenses.py", line 44, in execCommand
    for lic in dep.licenses():
  File "/usr/local/lib/python2.7/dist-packages/yotta/lib/component.py", line 586, in licenses
    return [x['type'] for x in self.description['licenses']]
KeyError: 'licenses'```

Thanks for reporting, this case should probably report that dependencies are missing so the result is incomplete, and recommend that the user runs yotta install first.

http://jira-dev0.cambridge.arm.com/browse/IOTSFW-894


Http and variable directive

Is there an existing issue for this?

[X] I have searched the existing issues

Product
Hot Chocolate
Describe the bug
I try to make a rest integration using the http directive.
But I don't get if it really exists.
I still have those errors
1. Unable to find type(s) @http (HotChocolate.Types.ObjectType)
2. Unable to resolve dependencies @http, Int, String, Int, String, IdType!, ListType<IdType!>!, SessionFilterInputType (Input), SortInputType<Session> (Input), Int, String, Int, String, SessionFilterInputType (Input), SortInputType<Session> (Input), IdType!, ListType<IdType!>!, Int, String, Int, String, IdType!, ListType<IdType!>!, Int, String, Int, String, String! (Input), [String!]! (Input), IdType!, ListType<IdType!>! for type `Query`. (HotChocolate.Types.ObjectType)
3. Unable to find type(s) @fromJson (HotChocolate.Types.ObjectType)
4. Unable to resolve dependencies @fromJson, @fromJson, @fromJson, @fromJson for type `Todo`. (HotChocolate.Types.ObjectType)
5. Unable to find type(s) @http (HotChocolate.Types.ObjectTypeExtension)
6. Unable to resolve dependencies @http for type `Query`. (HotChocolate.Types.ObjectTypeExtension)

Even the sample project is not working. https://github.com/ChilliCream/hotchocolate-examples/tree/master/misc/RestIntegration
Steps to reproduce

clone sample
run

Relevant log output
Microsoft.Extensions.Hosting.Internal.Host[9]
      BackgroundService failed
      HotChocolate.SchemaException: For more details look at the `Errors` property.

      1. Unable to resolve dependencies None: variable, None: http for type `Book`. (HotChocolate.Types.ObjectTypeExtension)
      2. Unable to resolve dependencies None: variable, None: http for type `Book`. (HotChocolate.Types.ObjectType<RestIntegration.Book>)

Additional Context?
No response
Version
13.*

We do not have a directive like that.

So you mean this https://github.com/ChilliCream/hotchocolate-examples/blob/master/misc/RestIntegration/GraphQLService/Schema.graphql#L8-L9 was just a POC ?

Yes ... However ... we now have an Open API integration ... its still early but can already be used.
https://www.nuget.org/packages/HotChocolate.OpenApi/

https://github.com/ChilliCream/graphql-platform/blob/b01aa33012e921c1cc1058c39d4ff6d6cf48f94d/src/HotChocolate/OpenApi/tests/HotChocolate.OpenApi.Tests/IntegrationTests.cs#L90

Awesome ! Thank @michaelstaib
I think it still need few check to be sure openapi spec is valid for hotchocolate.
I've got few issue on response type not explicite cause of some  XXX.first()   or FirstOrDefault().
Even if the spec is well parsed by Microsoft Lib.


Add tests and update csg boltzmann

In an attempt to remove use of histogram and replace it with histogramnew without breaking the code it was necessary to setup a few unit tests for classes that made use of the histogram class. This merge is responsible for creating these tests which are located in the csg-boltzmann folder.
In response to issue https://github.com/votca/tools/issues/47

Does that fix #155?

The boltzmann constant used in the boltzmann inversion function in the tabulated potential has a hard coded value in what I believe is units of [ kJ/(mol K) ]. Is this what you are referring too?

It is not really that clear to me how to use csg_boltzmann. @junghans in the interactive mode I can specify a histogram etc... but is there a way to do this without going into the interactive mode? I'm also not sure what to use for the selection to get meaningful output? I've been trying with files in tools/references/spce but I don't know if this is appropriate either.
list: list all available bonds
vals <file> <selection>: write values to file
hist <file> <selection>: create histogram
tab <file> <selection>: create tabulated potential
autocor <file> <selection>: calculate autocorrelation, only one row allowed in selection!
cor <file> <selection>: calculate correlations, first row is correlated with all other rows

I was thinking about something like echo "command1\ncommand2\nq" | csg_boltzmann.

I have did something like:
hist end.txt end-end
vals end-v.txt end-end
hist AA.txt AA-bond
hist AAA.txt AAA-angle
hist set periodic 1
hist set auto 0
hist set min -3.14159
hist set max 3.14159
hist AAAA.txt AAAA-dihedral
tab set T 400
tab U_AA.txt AA-bond
tab U_AAA.txt AAA-angle
tab set periodic 1
tab set smooth1 1
tab set auto 0
tab set min -3.14159
tab set max 3.14159
tab U_AAAA.txt AAAA-dihedral
autocor end-cor.txt end-end
autocor AA-cor.txt AA-bond[4]
autocor AAA-cor.txt AAA-angle[5]
autocor AAAA-cor.txt AAAA-dihedral[4]
cor bond-angle.txt AAA-angle[4] AA-bond
cor bond-dihe.txt AAAA-dihedral[4] AA-bond
cor angle-dihe.txt AAAA-dihedral[4] AAA-angle
q

and then cat "cmd" | csg_boltzmann --top topol.tpr before.
However it seems CMake has a hard time to redirect stdin into tests (see https://stackoverflow.com/questions/36304289/how-to-use-redirection-in-cmake-add-test).
So @JoshuaSBrown how hard would it be to add an option (e.g. --in to have csg_boltzmann read from a file instead of stdin?

If you do that than I will write the tests!

Yes, that could be a separate issue. How units are handled could be streamlined across the whole VOTCA package. Though I don't yet have a good feel for that aspect of the VOTCA package yet as I have not really used the tools with the various file formats we support.

@JensWehner and yes that is the idea, once we have good tests in place we should be able to replace histogram with histogramnew and then remove it hopefully without any hiccups.

https://github.com/votca/tools/pull/84 should be merged first.


Selected english but still in spanish

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details
Please visit this link - https://developer.mozilla.org/en-US/docs/Learn/Forms/HTML5_input_types
English is selected as the language but the page is in Spanish.
Please see attached image.

Thank you MDN!

Also the I am not sure what to follow because the sidebar links and the In This Module section is different (Please see attached images)
Sidebar Links Image

In This Module section links

Thanks again MDN

Thanks for reporting this; someone translated some of that page into Spanish, so I've reverted it.
As for the sidebar, I did submit a pull request to update it to the new structure in January, but it has bene forgotten about. I've asked for a review on it now. The list in the page is the correct one.

Thank you @chrisdavidmills , truly appreciate the quick response.


feat:Angular Component Library

Description
Description
Create an Angular Component Library that offers pre-built UI components for integrating Chimoney services into Angular applications. Components such as payment forms, transaction histories, and user account management interfaces should be included, with customization options for developers.
Tasks:
Develop a set of reusable Angular components that wrap Chimoney’s services (e.g., payment forms, transaction lists).
Ensure components are customizable and compatible with various UI frameworks.
Provide comprehensive documentation and examples for how to use each component in a Angular app.
Test the component library to ensure ease of integration, customization, and performance.
Screenshots
No response
Ready to Work?

[X] I want to work on this issue

🚀 This Issue is Now an Oruly Task - Earn Rewards for Your Contribution! 💰
Hey GitHub community! 👋 This issue has been converted into an exciting opportunity on Oruly.
🌟 Task Details:

Title: feat:Angular Component Library
Reward: $10 USD
Task Type: github

Why Tackle This Challenge on Oruly?

💼 Showcase Your Skills: Demonstrate your expertise to a global audience of businesses and fellow developers.
💰 Earn Real Rewards: Get paid for your valuable contributions and problem-solving abilities.
🌐 Expand Your Network: Connect with cool companies and like-minded professionals worldwide.
📈 Boost Your Profile: Each completed task enhances your Oruly reputation, opening doors to more opportunities.

How It Works:

Click the "Claim This Task" button below to view full details on Oruly.
Complete the task by submitting a pull request to this GitHub issue.
Once approved, submit your PR link on Oruly to claim your reward.

Ready to Take On This Challenge?

"The only way to do great work is to love what you do." - Steve Jobs

Join Oruly today and turn your coding passion into rewarding opportunities! 💻✨

This task was created by Oruly and sponsored by Chimoney! - Empowering developers worldwide. 🌍

@phyleria can you assign me this.


Bounding box

Hello, I am working on your code. I have a question that how can i get bounding box like (x,y,x_max,y_max) of the model ?

Hi @bentennyson9x, z_where here refers to the bounding box. Its shape is (B, G*G, 4), where G*G is the number of cells (e.g., 4*4).  z_where[:, :, :2] gives the size of the object (normalized to (0, 1))  and z_where[:, :, 2:] gives location (normalized to (-1, 1)). Since many of the cells won't contain valid objects, you also need z_pres here to determine which cells contain objects.
To convert z_where and z_pres  (you should binarize z_pres before sending it in) into list of bounding boxes like [[(y_min, y_max, x_min, x_max)]] in pixel values, you can use the convert_to_bbox function here.

Thanks for your help! I got it

I got an error "IndexError: The shape of the mask [256, 1] at index 1 does not match the shape of the indexed tensor [256, 4] at index 1" when I passed convert_to_boxes(log.z_where,log.z_pres, log.z_pres_prob) to the "convert_to_boxes" function. I checked again and realized that log.z_pres always has a shape (256,1) while log.z_where shape is ([256, 4] with [sx, sy, tx, ty]. Am I missing something?

Ah sorry I forgot to mention this thing: you should squeeze z_pres and z_pres_prob from (B, N, 1) to (B, N) (i.e. z_pres.squeeze(2)) before sending them to convert_to_boxes as shown here
https://github.com/zhixuan-lin/SPACE/blob/e1eaf4ad387cd6f79df7fa9682333ea4da2072cc/src/eval/ap.py#L39-L40

I got bad values of the bounding box. I think it is due to the binarizing z_pres in the range [0,1]. I don't know the threshold to do it. Can you help me. z_pres values are in this picture when I print it out

A simple z_pres = z_pres > 0.5 should do. How did you binarize it? The result is supposed to be ByteTensor but what you show me seems to be FloatTensor.

Oh, I did it! Thank you very much.

You're welcome :)


Clean up our callback style

We use arrow functions in most places; this enforces it.
Passing arrow functions to Mocha is discouraged: https://mochajs.org/#arrow-functions
This was a mix of autofixes and hand adjustments.

Warnings

:warning:

This PR modified service code for gem but not its test code. That's okay so long as it's refactoring existing code.

Messages

:book:

:sparkles: Thanks for your contribution to Shields, @paulmelnikow!

  Generated by :no_entry_sign: dangerJS


chore(deps): update common-dev-assets digest to e11eb25

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
9fe7626 -> e11eb25

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

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


Error:Execution failed for task ':app:spotlessKotlin'. > Unexpected indentation (2) (it should be multiple of 4)

.editorconfig >>
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
trim_trailing_whitespace = false
[*.json]
insert_final_newline = ignore
[*.java]
max_line_length = 100
continuation_indent_size = 4
[*.{kt,kts}]
max_line_length = 100
indent_size = 4
continuation_indent_size = 8
[gradlew.bat]
end_of_line = crlf
apply plugin: 'com.diffplug.gradle.spotless'
spotless {
enforceCheck false
java {
//licenseHeaderFile 'spotless.license.java'
googleJavaFormat()
}
kotlin {
//licenseHeaderFile '../spotless/copyright.kt'
target "**/*.kt"
ktlint('0.9.2')
}
}

indent_size is set to 4 (under [*.{kt,kts}]) and yet somewhere in one of the files you are linting indentation is "  " (2) instead of "    ".


ament_index: 0.7.2-1 in 'dashing/distribution.yaml' [bloom]

Increasing version of package(s) in repository ament_index to 0.7.2-1:

upstream repository: https://github.com/ament/ament_index.git
release repository: https://github.com/ros2-gbp/ament_index-release.git
distro file: dashing/distribution.yaml
bloom version: 0.8.0
previous version for package: 0.7.1-1

@nuclearsandwich Please merge whenever it is convenient for the buildfarm.


redo flight check

add alias of bat as batcat
make flight check results more clear
remove \n from error strings, because it wont show anyways

aims to fix #88

Thank you!


Roadmap

Hi,
seeing the conversation in https://github.com/sveltejs/eslint-plugin-svelte/pull/899#discussion_r1827225654, I'd like to clarify the roadmap for this plugin if possible - so that us contributors know what to count on in the future. The way I read the discussion, it seems to me to be like this:

eslint-plugin-svelte version
Svelte 4 support
Svelte 5 support

2
Full support
No support

3
Full support, removal of Svelte-4-specific rules from recommended
Full support

4
Deprecated
Full support

5
???
Full support

Is this correct?

Thank you for posting this issue.
I don’t have a plan for whether or not to drop support for Svelte v4.
But I think it will probably look something like the table you wrote.

Thank you for posting the issue!
I created a issue about this.
https://github.com/sveltejs/eslint-plugin-svelte/issues/966
(In particular, we would like to finalize the scope of support for eslint-plugin-svelte v4 depending on how many users stay with Svelte4.)


Show recent projects in Explorer when no folder is open

Currently, the Explorer shows two suggestions when no folder is open ("Open Folder" and "Clone Repository"). I think it would be helpful if it also listed some recent projects, which would make it unnecessary to go into the nested menu File -> Open Recent.

@cbrnr aren't you seeing the Welcome page when in that state? This page already has a Recent section:

I know. I don't see the Welcome page because I've set the option to start with an empty document. I thought for those people it might be helpful to list recent projects in the Explorer sidebar. But I'm fine with switching back to the Welcome page if you think this doesn't make sense.

I recently saw a proposal for the viewsWelcome contribution point to let extensions contribute multiple commands in such a way that they'd display as a blue button with a dropdown widget to give access to the second, third etc commands. With that available it'd be less controversial to add the command which appears on Command Palette as File: Quick Open Recent..., since it wouldn't consume any extra vertical space.
I wouldn't like a list of recent folder/workspace links here, as that would eat up vertical space which other extensions might need for their own viewsWelcome contribution to Explorer.

An extension can contribute a button to that view which runs the Open Recent command.
See how the builtin git extension does it here:
https://github.com/microsoft/vscode/blob/da7d76d2ece2e073be8be7d9b972f82b98e43ce3/extensions/git/package.json#L2326-L2331


Conda support

Add Conda support to the Beam.
Imported from Jira BEAM-14097. Original Jira may contain additional context.
Reported by: Anand Inguva.

prior discussion on mailing list: https://lists.apache.org/thread/krlmrhv53x8xo1k0bs1mjv477mv108dv


Client Allocation Request for: ABC Inc

Client Allocation Questions
Core Information

Name: ABC Inc
Website / Social Media: https://foo.com, (@foo, Twitter)
Region: Greater China
DataCap Requested: 256 GiB
Addresses to be Notarized: f1495978707
Notary Requested: Claudia Richoux

This user’s identity has been verified through filplus.storage


topology: Added support for VPP running in docker container

This pull request extends docker topology by information from VPP running inside docker container:

adding/removing VPP node into docker container namespace (if running VPP is detected inside docker container)
adding/removing edge between VPP and veth interface in docker container (if it is usable/listed in interface list in VPP)
adding/removing memif interface node in docker container (if created by VPP)
adding/removing edge between memif intefaces (only one edge is supported by memif socket file)

Motivation for given topology extensions is this topology case:
host/node -> veth tunnel -> VPP (first docker container) -> memif tunnel -> VPP (second docker container) -> memif tunnel -> VPP (third docker container) -> veth tunnel -> host/node
Relation to existing VPP probe:
The existing VPP probe is communicating with VPP installed on host/node. My PR is detecting VPP inside docker containers. The existing VPP probe is using govpp, but i use for simplicity VPP CLI due to additional docker client layer.

run tests

run skydive-functional-tests-backend-orientdb

Code compilation is working for me (using "make") , "make fmt" is also success (i'm using VM with ubuntu 18.04, go 1.11) and elastic search failure is some test timeout problem (not sure about the cause).
So what can i do to resolve/help to resolve the failing tests?

@fgschwan First, thanks a lot for this pull request. Our CI is using Go 1.10.3 - which has different fmt policies than 1.11 that could explain the issues with skydive-go-fmt.
skydive-compile-tests fails on Windows compilation because of :
agent/probes.go:92:39: too many arguments in call to docker.NewProbe
	have (*netns.Probe, string, string, []subprobes.Subprobe)
	want (*netns.Probe, string, string)

run skydive-functional-tests-backend-elasticsearch

@fgschwan First, thanks a lot for this pull request. Our CI is using Go 1.10.3 - which has different fmt policies than 1.11 that could explain the issues with skydive-go-fmt.

I downgraded my go installation to match your CI, reapplied "make fmt" and created fix commit https://github.com/skydive-project/skydive/pull/1857/commits/761ff264864e22836e6afab7414b58a1a27cd670 (basically i amended previous fmt commit).

skydive-compile-tests fails on Windows compilation because of :
agent/probes.go:92:39: too many arguments in call to docker.NewProbe
	have (*netns.Probe, string, string, []subprobes.Subprobe)
	want (*netns.Probe, string, string)

I didn't properly check all possible architecture/custom build tags combinations. I fixed the code in https://github.com/skydive-project/skydive/pull/1857/commits/8f7829be2ccbfd58cd837c02d194570ed837119b .

great @fgschwan ! this is the code used for this demo? :
https://www.youtube.com/watch?v=wl96kwRmS5I

great @fgschwan ! this is the code used for this demo? :
https://www.youtube.com/watch?v=wl96kwRmS5I

@matrohon, yes, but code used in that demo was before heavy refactoring that was needed to do this PR. So do code is different, but the functionality is exactly the same.

I wonder how we could make this probe more generic:

what if another runtine than docker is used (runc?...)
what if the container are running in a kubernetes context?
what if we want to see other vpp interfaces than container/memif , like container/vpp-vxlan or container/vpp-physical-nics(veth)?

I'm going to play with your probe in the context of the NSM project.

I wonder how we could make this probe more generic:
* what if another runtine than docker is used (runc?...)

VPP subprobe must be decoupled from docker probe. That means that the API between docker probe and VPP subprobe have to be more generic and the VPP data retrieving also have to be changed to support other containerization technologies.

* what if the container are running in a kubernetes context?

I didn't check the kubernetes part of Skydive, so no idea what additional kubernetes-related functionality must be supported.

* what if we want to see other vpp interfaces than container/memif , like container/vpp-vxlan or container/vpp-physical-nics(veth)?

I think that we are hitting some complexity threshold here. The code in this PR is using the VPP CLI. It works. It can be extended also to get information about vxlan or veth from VPP just by extending info retrieving capabilities. The problem is that VPP CLI was never meant for heavier data grabbing. So the proper solution in compare to using more and more VPP CLI would be the binary API in VPP. This is actually used in VPP probe (the non-container VPP topology) by usage of govpp. The binary API gives us structured data without the need to parse text from CLI. There is also possibility to make some common code with VPP probe(non-container VPP), but there containers can have different VPP versions and that is problem. The binary API probably can also solve some performance problems (i never checked that with govpp). I tried to make my code more efficient in case of many docker containers and in the end the docker client calls to container were the problem. I minimized their usage by getting more information in on docker client call, but that is all i can do. If i used govpp, i could communicate to VPP directly using socket file and bypass docker. The only problem is to get VPP socket file, but that can be done by using docker inspect and grab "MergedDir" to get path to docker filesystem and get socket file there. Don't know if something similar can be done for OCI.

@fgschwan thanks for your reply.
An interesting alternative would be to receive notifications from vpp, by using vpp-agent for instance:
https://github.com/ligato/vpp-agent/tree/master/examples/grpc_vpp/notifications
It would avoid polling. But it also implies that the container running vpp is also running vppagent.
It seems pantheon is working on those technologies too: https://pantheon.tech/vpp-grpc-rest/

It would avoid polling. But it also implies that the container running vpp is also running vppagent.
It seems pantheon is working on those technologies too: https://pantheon.tech/vpp-grpc-rest/
I'm familiar with vpp-agent, but the need to have it running inside container breaks skydive's ability to detect VPP in ANY docker container. Of course if you are some kind of owner of docker containers and can enforce running vpp-agent inside docker containers then you can use vpp-agent. IMHO this could be used only when also running vpp-agent is detected in container (together with running VPP) and in cases without vpp-agent fallback to non-vpp-agent solution.

run skydive-functional-tests-backend-elasticsearch

@lebauce
I did some functional tests for this PR (https://github.com/skydive-project/skydive/pull/1857/commits/718cf0a7d6a6eca569d8e7657dee058822ca291d), but to properly run my tests with your CI i needed to set env var WITH_DOCKER_VPP to true. I checked how it is done in other PRs or other tests and it seems to be either in scripts/ci/jobs/jobs.yml or in CI scripts (package scripts/ci). I was able to run my tests using the scripts, but they are running 3 times (skydive-functional-tests-backend-orientdb(log), skydive-functional-tests-backend-elasticsearch(log), skydive-functional-hw-tests) and one test is always failing in skydive-functional-hw-tests (i guess that something is colliding in setup with docker container with VPP because in that test the container must be in privileged mode due to veth interfaces setup). So the solution is to reduce my tests (TestRunningVPPInDocker, TestDockerVPPConnectingToVeth, TestTwoVPPsConnectedUsingMemifTunnel) to only one test run, i.e skydive-functional-tests-backend-orientdb. To do that i had to move setting of env var WITH_DOCKER_VPP to jobs.yml. The problem is that i can't really test such launch configuration (i have it now commited in such state, see currently last commit https://github.com/skydive-project/skydive/pull/1857/commits/d9a03ea3e457ebe83b90be18d3ab5079da45045a), because my changed jobs.yml seems to not be used by your CI to run the tests.
I guess that someone from your side needs to update the (jenkins?) jobs (using scripts/ci/jobs/update-jobs.py ?). Or do you prefer other way how to do it?

run skydive-functional-tests-backend-elasticsearch

@fgschwan Indeed. I just updated our Jenkins with your change.
Sorry for the delay, we were a bit busy those 2 last weeks. We will give a proper review of your PR this week for sure.

run skydive-functional-tests-backend-elasticsearch

run skydive-functional-tests-backend-orientdb

@lebauce thank you, tests are passing in skydive-functional-tests-backend-orientdb test suite (see log for tests TestRunningVPPInDocker, TestDockerVPPConnectingToVeth, TestTwoVPPsConnectedUsingMemifTunnel)

@fgschwan I took a pretty long to review your PR, sorry about that.
I actually spend quite a long time trying things.
My concern was that we would kinda have 2 different VPP probes : one that uses govpp, the other one using the CLI.
I therefore tried to run the existing VPP probe - that uses govpp - inside the container. The problem is that govpp uses /dev/shm to talk with VPP so we have to enter the PID and most importantly the mount namespace. I created a simple mode for Skydive (in addition to agent and analyzer) that is basically a very stripped down version of the agent but that runs only a single probe. Before starting the probe, it simply jumps to the right namespaces (so that we can use /dev/shm). I faced many issues (regarding the fact that the VPP libs don't support changing namespaces). Then I found that new versions of govpp allow talking to VPP using dead simple UNIX sockets. With this method, my trick worked nicely and it brings also a nice thing : the Skydive executable do not rely on VPP libs (libvppinfra.so, libvppapiclient.so, .....), so we don't care about the version of VPP that is installed on the host or inside the container.
I also tried to simplify the code that handles the links between the VPP node and the interfaces, and the links between the memifs (using Linker and MetadataIndexerLinker https://github.com/skydive-project/skydive/blob/master/graffiti/graph/linker.go and https://github.com/skydive-project/skydive/blob/master/graffiti/graph/indexer.go).
But I don't see the point in delaying the merging of your PR, I'll push a PR with the refactoring later and add you as a reviewer, if it's ok for you.
That being said, I have one remark with the PR. It's a bit odd to have a VPP folder in the docker probe, with a docker.go inside this VPP folder. So I suggest something :
In the NewProbe of the existing vpp probe, we can register a graph listener using g.AddEventListener(listener) so that we are notified when a container has been added. To do so, we can react on new edge in OnEdgeAdded. If the parent is a network namespace (Type: "netns") and the children a container ("Type": "container"), then we start the subprobe for this particular namespace.
With this change, all the related VPP code would be in topology/probes/vpp and not in topology/probes/docker. For the VPP probe to be able to use the Docker probe (for the docker exec thing), the docker probe could be passed to vpp.NewProbe (like how the Docker probe is passed the Netlink probe in https://github.com/skydive-project/skydive/blob/master/topology/probes/docker/docker.go#L289) and a public Exec function could be added to the Docker probe. This way, we don't have a instantiate a new Docker client and could use the existing one.

@lebauce Thank you for your review.

the Skydive executable do not rely on VPP libs (libvppinfra.so, libvppapiclient.so, .....), so we don't care about the version of VPP that is installed on the host or inside the container.

I don't think that we can ignore VPP version, because govpp is using binary API of VPP and that can change from version to version. You probably can compile it, but actual communication with VPP for those binary API that changes may fail.

But I don't see the point in delaying the merging of your PR, I'll push a PR with the refactoring later and add you as a reviewer, if it's ok for you.

Yes, please add me as reviewer to your refactoring.

It's a bit odd to have a VPP folder in the docker probe, with a docker.go inside this VPP folder

The docker.go was meant as library for all subprobes, but there was only one subprobe (the VPP subprobe). So i left it inside the VPP subprobe. The only other place that i can put this file without getting cyclic dependency is topology/probes/docker and that seems odd to because it is for subprobes only.

So I suggest something :
In the NewProbe of the existing vpp probe, we can register a graph listener using g.AddEventListener(listener) so that we are notified when a container has been added. To do so, we can react on new edge in OnEdgeAdded. If the parent is a network namespace (Type: "netns") and the children a container ("Type": "container"), then we start the subprobe for this particular namespace.

This seems like a nice idea. Maybe easily breakable if someone changes docker probe code in some way and not knowing dependency in vpp probe, but that could be manageable by using tests. Also i checked the subprobe API if this is possible. All thing except https://github.com/skydive-project/skydive/pull/1857/files#diff-01d2cbebb5fe6a69afd9cd490e4791d6R39 are graph related and this one thing that is not is used to grab mounted volumes from docker to see whether memif interfaces are referring to the same physical socket file. This can be managed i.e. by docker probe exposing volume mount information in metadata (don't know if it does right know or not).

This way, we don't have a instantiate a new Docker client and could use the existing one.

I thought about using docker client provided from docker probe (to vpp subprobe), but there was no goroutine-safety (thread-safety) guarantee about the docker client and i was running docker "exec" concurrently in multiple goroutines due to performance. Ideally, the move to use govpp would probably solve performance issues that i tracked down to docker client (too many docker client calls for many docker containers). I would also allow us to get rid of docker client. I already discussed govpp usage in the end of https://github.com/skydive-project/skydive/pull/1857#issuecomment-501721194 . Using govpp could also unify vpp probe and docker vpp-subprobe code to use the same code for grabbing data from VPP. The only problem is that different version of VPP have different binary API (most thing doesn't change between version but some do)

the Skydive executable do not rely on VPP libs (libvppinfra.so, libvppapiclient.so, .....), so we don't care about the version of VPP that is installed on the host or inside the container.

I don't think that we can ignore VPP version, because govpp is using binary API of VPP and that can change from version to version. You probably can compile it, but actual communication with VPP for those binary API that changes may fail.

I checked with govpp people what is the current state and future plans for handling differences in VPP versions. There are actually 2 binary API, one for handling configuration and on for statistics (2 different unix socket files). The important one (configuration binary api = get/set config values) currently needs to have generated structs from binary API json files from VPP. The statistic API needed in past generated structs as the configuration API, but now it works differently. It is more generic and without generated structs. To make binary api call you fill string name of method you want to call and values as parameters. Then govpp finds it in binary API definition files of VPP (json files) and tries to make the proper format for call to VPP. Of course if you try to call unsupported/dropped/modified API part of VPP, it will fail. But it will fail dynamically in runtime and not in compilation time. This gives more power to user of govpp, because with generation of struct any change in API invalidated usage of govpp for running VPP (version mismatch). With this approach, if API mismatch happens in part of API that is not used at all, everything works. As i mentioned earlier, this is approach is currently only in statistic binary API and some day it will be available for configuration binary API. So in the end, different VPP versions will still need to be handled, but it won't be that difficult as to have generated structs for all supported VPP versions and properly switch between them.

@fgschwan We recently merged the support for seeds in Skydive : it's a single Skydive probe executed as a standalone process in the Docker namespace.
This PR modifies the VPP existing probe to be able to run inside the namespace, using the socket interface. I integrated the memifs retrieval that you implemented and the links between them. I also cherry-picked the tests from your PR.
It would be very nice if you could give it a try.


The --filter name=xxxx option should say that a full match is not required.

File: engine/reference/commandline/ps.md
The --filter name=xxxx option says only
name | Container’s name
The explanation should be clearer, saying that a full match is not required.  This option matches all containers whose name contains xxxx as a substring.
Furthermore, I suspect that there's some secret regular expression  processing here; a definitive statement would help.

 This particular content is maintained in an upstream repo. If the issue is still applicable, please help create an issue/discussion in the source repo at https://github.com/docker/cli/tree/master/docs/reference/commandline
Closing this as unable to fix in this repo.


make project name configurable from cli

I found that:

It is usable by projects written in other languages, provided you give it the version of the project when invoking it.

Was not the case, as towncrier wanted to load a Python package in order to get the project name.
I've added another cli option to ignore that behaviour, in the same way as the version does. It now works in non-python projects 🌐

Codecov Report

Merging #107 into master will decrease coverage by 3.38%.
The diff coverage is 66.66%.

@@            Coverage Diff            @@
##           master    #107      +/-   ##
=========================================
- Coverage   93.49%   90.1%   -3.39%
=========================================
  Files          13      12       -1
  Lines         692     455     -237
  Branches       99      57      -42
=========================================
- Hits          647     410     -237
- Misses         25      27       +2
+ Partials       20      18       -2

Impacted Files
Coverage Δ

src/towncrier/__init__.py
87.09% <66.66%> (-3.17%)
:arrow_down:

src/towncrier/_settings.py
80% <0%> (-8.1%)
:arrow_down:

src/towncrier/test/test_cli.py
92.59% <0%> (-5.17%)
:arrow_down:

src/towncrier/_git.py
72% <0%> (-3.87%)
:arrow_down:

src/towncrier/test/test_format.py
100% <0%> (ø)
:arrow_up:

src/towncrier/_builder.py
100% <0%> (ø)
:arrow_up:

src/towncrier/_exceptions.py

Continue to review full report at Codecov.

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

@hawkowl sorted - but now travis is being uncooperative, doesn't seem to be picking up the PR 😞
If I can do anything to help it along, let me know!

But I see you are busy at PyCon. Fair enough. ;-)
https://youtu.be/A5tPhUKljuY

Thank you! I have immediately released zestreleaser.towncrier 1.0.0b3 which makes use of the new features.


AccessControlEnumerable?

Apologies if there is an existing issue for this (couldn't find any using keyword searches), but are there any plans to add the enumerable version of AccessControl?
Edit: I see that AccessControl internally uses EnumerableSet so we just need to expose the length functions. If that would be an acceptable addition to the existing AccessControl contract I would be happy to make a PR for it.

A PR would be welcome.

Added https://github.com/solidstate-network/solidstate-solidity/pull/216 :slightly_smiling_face:


Web: after choosing a spell-check suggestion, the wrong spelling re-appears when I type

Mis-spell a word (in Web).
Choose the correct suggested spelling.
Type some more characters.
Observe that your wrong spelling re-appears.

Testing this on web, v1.4.0 and this is no longer an issue - closing to tidy up some of our issue admin on this repo. Also tested on nightly for element web and it's fine there too.
https://user-images.githubusercontent.com/56027671/228847941-7925ecf1-b02e-4a3d-ae3d-0e5954295912.mov


fix fix doris jdbc catalog data scan error

Proposed changes
Issue Number: close #xxx
Problem summary
when I use mysql-jdbc 5.1.47 create a doris jdbc catalog, the boolean and largeint cannot select

Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 34.76 seconds
stream load tsv:          421 seconds loaded<PHONE_NUMBER>9 Bytes, about 169 MB/s
stream load json:         24 seconds loaded<PHONE_NUMBER> Bytes, about 93 MB/s
stream load orc:          59 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230508120028_clickbench_pr_140292.html

run buildall

We'd better change the error image to error message, and can use markdown "```" format.


Exercise on color mixing?

It might be nice to have an exercise which covers the basics of color mixing.  Based on experience with WebGL workshop it seems that some people got tripped up with this when they first hit the color rendering lesson.  Spending an exercise to get people up to speed seems like a good use of time.

do you mean glsl mix() or general color mixing theory?

General color theory, like how red + green = yellow, etc.