Source compilation fails on Musl system on multiple places

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Alpine Linux edge
TensorFlow installed from (source or binary): source
TensorFlow version: 2.3.1
Python version: 3.8.6
Installed using virtualenv? pip? conda?: source
Bazel version (if compiling from source): 3.5.0
GCC/Compiler version (if compiling from source): 10.2.1_pre1

Describe the problem
I'm trying to compile TensorFlow from source on Alpine Linux which is a Musl based system. It fails on several points however:
ERROR: /builds/PureTryOut/aports/testing/tensorflow/src/tensorflow-2.3.1/tensorflow/core/platform/default/BUILD:75:11: Couldn't build file tensorflow/core/platform/default/_objs/env/0/env.pic.o: C++ compilation of rule '//tensorflow/core/platform/default:env' failed (Exit 1)
tensorflow/core/platform/default/env.cc: In member function 'virtual bool tensorflow::{anonymous}::PosixEnv::GetCurrentThreadName(std::string*)':
tensorflow/core/platform/default/env.cc:160:15: error: 'pthread_getname_np' was not declared in this scope; did you mean 'pthread_setname_np'?
  160 |     int res = pthread_getname_np(pthread_self(), buf, static_cast<size_t>(100));
      |               ^~~~~~~~~~~~~~~~~~
      |               pthread_setname_np

ERROR: /builds/PureTryOut/aports/testing/tensorflow/src/tensorflow-2.3.1/tensorflow/core/platform/s3/BUILD:44:11: Couldn't build file tensorflow/core/platform/s3/_objs/aws_crypto/aws_crypto.pic.o: C++ compilation of rule '//tensorflow/core/platform/s3:aws_crypto' failed (Exit 1)
tensorflow/core/platform/s3/aws_crypto.cc: In member function 'virtual Aws::Utils::Crypto::HashResult tensorflow::AWSSha256HMACOpenSSLImpl::Calculate(const ByteBuffer&, const ByteBuffer&)':
tensorflow/core/platform/s3/aws_crypto.cc:38:14: error: aggregate 'HMAC_CTX ctx' has incomplete type and cannot be defined
   38 |     HMAC_CTX ctx;
      |              ^~~
tensorflow/core/platform/s3/aws_crypto.cc:39:5: error: 'HMAC_CTX_init' was not declared in this scope; did you mean 'HMAC_CTX_new'?
   39 |     HMAC_CTX_init(&ctx);
      |     ^~~~~~~~~~~~~
      |     HMAC_CTX_new
tensorflow/core/platform/s3/aws_crypto.cc:45:5: error: 'HMAC_CTX_cleanup' was not declared in this scope
   45 |     HMAC_CTX_cleanup(&ctx);
      |     ^~~~~~~~~~~~~~~~

Provide the exact sequence of commands / steps that you executed before running into the problem
The build script can be found at https://gitlab.alpinelinux.org/alpine/aports/-/raw/4cf626b10d2f4700cc5e5e9e7536061137c8c6a1/testing/tensorflow/APKBUILD. Note that prepare() there is called before build() and the environment variables set carry over.

@PureTryOut,
Could you please install the pip package dependencies as mentioned in the guide and check if you are still facing the same issue? Thanks!

Well, I get different errors that way.
ERROR: /home/bart/.cache/bazel/_bazel_bart/f5cee94bd62e1be0d824a974250af519/external/llvm-project/llvm/BUILD:3766:11: C++ compilation of rule '@llvm-project//llvm:Support' failed (Exit 1)
In file included from external/llvm-project/llvm/lib/Support/Process.cpp:101:
external/llvm-project/llvm/lib/Support/Unix/Process.inc: In static member function 'static size_t llvm::sys::Process::GetMallocUsage()':
external/llvm-project/llvm/lib/Support/Unix/Process.inc:93:19: error: aggregate 'llvm::sys::Process::GetMallocUsage()::mallinfo mi' has incomplete type and cannot be defined
   93 |   struct mallinfo mi;
      |                   ^~
external/llvm-project/llvm/lib/Support/Unix/Process.inc:94:10: error: '::mallinfo' has not been declared
   94 |   mi = ::mallinfo();
      |          ^~~~~~~~
Target //tensorflow/tools/pip_package:build_pip_package failed to build

This looks like some C/C++/system dependencies are not installed/found.
It seems issues come from LLVM. Are you able to compile LLVM on the system?

Well, right now it doesn't even want to compile that as it keeps trying to exec python while it should be using python3 instead.
INFO: Analyzed target //tensorflow/tools/pip_package:build_pip_package (405 packages loaded, 29314 targets configured).
INFO: Found 1 target...
ERROR: /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/tensorflow/core/util/BUILD:370:24: error executing shell command: '/bin/bash -c bazel-out/host/bin/tensorflow/tools/git/gen_git_source --generate "$@" --git_tag_override=${GIT_TAG_OVERRIDE:-}  external/local_config_git/gen/spec.json external/local_config_git/gen/h...' failed (Exit 127): bash failed: error executing command /bin/bash -c 'bazel-out/host/bin/tensorflow/tools/git/gen_git_source --generate "$@" --git_tag_override=${GIT_TAG_OVERRIDE:-}' '' external/local_config_git/gen/spec.json ... (remaining 3 argument(s) skipped)
env: can't execute 'python': No such file or directory

I have PYTHON_BIN_PATH=/usr/bin/python3 set, but it seems that is only used by ./configure and not by bazel?

Well, right now it doesn't even want to compile that as it keeps trying to exec python while it should be using python3 instead.
INFO: Analyzed target //tensorflow/tools/pip_package:build_pip_package (405 packages loaded, 29314 targets configured).
INFO: Found 1 target...
ERROR: /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/tensorflow/core/util/BUILD:370:24: error executing shell command: '/bin/bash -c bazel-out/host/bin/tensorflow/tools/git/gen_git_source --generate "$@" --git_tag_override=${GIT_TAG_OVERRIDE:-}  external/local_config_git/gen/spec.json external/local_config_git/gen/h...' failed (Exit 127): bash failed: error executing command /bin/bash -c 'bazel-out/host/bin/tensorflow/tools/git/gen_git_source --generate "$@" --git_tag_override=${GIT_TAG_OVERRIDE:-}' '' external/local_config_git/gen/spec.json ... (remaining 3 argument(s) skipped)
env: can't execute 'python': No such file or directory

I have PYTHON_BIN_PATH=/usr/bin/python3 set, but it seems that is only used by ./configure and not by bazel?

That again is a Bazel bug.

That again is a Bazel bug.

Found a workaround luckily.
So, from source install with instructions from https://www.tensorflow.org/install/source#install_python_and_the_tensorflow_package_dependencies, I now get a different error with TF 2.4.0, but that's fixed with https://github.com/tensorflow/tensorflow/pull/46138.
Now I'm back to the mallinfo error. LLVM is actually available on this distribution, is it not possible to use the system variant for TF?

Found a workaround luckily.
So, from source install with instructions from https://www.tensorflow.org/install/source#install_python_and_the_tensorflow_package_dependencies, I now get a different error with TF 2.4.0, but that's fixed with https://github.com/tensorflow/tensorflow/pull/46138.
Now I'm back to the mallinfo error. LLVM is actually available on this distribution, is it not possible to use the system variant for TF?

Unfortunately not really. TF does a lot of JIT and since LLVM does not provide a real stable ABI using the system variant might result in broken code.

Unfortunately not really. TF does a lot of JIT and since LLVM does not provide a real stable ABI using the system variant might result in broken code.

Well with hacks I get further and further.
To workaround the Python interpreter problem ($srcdir being a variable specific to the Alpine packaging system):
mkdir "$srcdir"/bin && ln -s /usr/bin/python3 "$srcdir"/bin/python
export PATH="$PATH:$srcdir/bin"

It seems I got rid of the LLVM problem by adding deps as used in the LLVM packages from the distribution.
Now I'm stuck with Cython?
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/cython/BUILD.bazel:3:8: declared output 'external/cython/cython' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/cython/BUILD.bazel:3:8: not all outputs were created or valid
ERROR: /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/tensorflow/tools/pip_package/BUILD:69:10 not all outputs were created or valid

Well with hacks I get further and further.
To workaround the Python interpreter problem ($srcdir being a variable specific to the Alpine packaging system):
mkdir "$srcdir"/bin && ln -s /usr/bin/python3 "$srcdir"/bin/python
export PATH="$PATH:$srcdir/bin"

It seems I got rid of the LLVM problem by adding deps as used in the LLVM packages from the distribution.
Now I'm stuck with Cython?
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/cython/BUILD.bazel:3:8: declared output 'external/cython/cython' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/cython/BUILD.bazel:3:8: not all outputs were created or valid
ERROR: /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/tensorflow/tools/pip_package/BUILD:69:10 not all outputs were created or valid

After setting those exports you have to run ./configure (better, python configure.py). i think this might solve.

After setting those exports you have to run ./configure (better, python configure.py). i think this might solve.

That is exactly what I'm doing and what I have always done, yes. Doesn't make a difference.
Please check my build script, should be nothing wrong. https://gitlab.alpinelinux.org/PureTryOut/aports/-/raw/mycroft-precise/testing/tensorflow/APKBUILD

That is exactly what I'm doing and what I have always done, yes. Doesn't make a difference.
Please check my build script, should be nothing wrong. https://gitlab.alpinelinux.org/PureTryOut/aports/-/raw/mycroft-precise/testing/tensorflow/APKBUILD

I took a change from Gentoo, seems echo "build --config=noaws" >> .bazelrc doies the trick as well to stop building AWS support.
So just stuck on the LLVM issue now. I really don't understand why, the failing code is guarded by a same conditional statement as one that's used to include the required header file. https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/Unix/Process.inc#L92 and https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/Unix/Process.inc#L34
There really is no reason this should fail...

I took a change from Gentoo, seems echo "build --config=noaws" >> .bazelrc doies the trick as well to stop building AWS support.
So just stuck on the LLVM issue now. I really don't understand why, the failing code is guarded by a same conditional statement as one that's used to include the required header file. https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/Unix/Process.inc#L92 and https://github.com/llvm/llvm-project/blob/main/llvm/lib/Support/Unix/Process.inc#L34
There really is no reason this should fail...

IREE uses LLVM and Bazel in the same way as TF (almost). Can you try compiling that? This should give us an indication on whether the issue is from TF or from LLVM.
Regarding having to manually write to .bazelrc to disable AWS, I think that is a bug in the ./configure process.

IREE uses LLVM and Bazel in the same way as TF (almost). Can you try compiling that? This should give us an indication on whether the issue is from TF or from LLVM.
Regarding having to manually write to .bazelrc to disable AWS, I think that is a bug in the ./configure process.

Following these instructions https://google.github.io/iree/get-started/getting-started-linux-bazel, LLVM fails the same way yes.

Following these instructions https://google.github.io/iree/get-started/getting-started-linux-bazel, LLVM fails the same way yes.

Does Bazel/Tensorflow call CMake for LLVM differently somehow? The thing it's failing on currently is guarded properly by CMake, and it works for the distribution packages in Alpine Linux. So what is different in Tensorflow that it somehow passes the condition while it shouldn't?

Does Bazel/Tensorflow call CMake for LLVM differently somehow? The thing it's failing on currently is guarded properly by CMake, and it works for the distribution packages in Alpine Linux. So what is different in Tensorflow that it somehow passes the condition while it shouldn't?

Bazel doesn't use cmake to configure the build.

Bazel doesn't use cmake to configure the build.

Oh, it doesn't use LLVM's own build system at all? How strange, why would you ever do that?
In that case, is there anyway to replicate what https://github.com/tensorflow/tensorflow/issues/45446 does in https://github.com/google/llvm-bazel/ then? As that is basically what should be happening but isn't currently and would fix the issue.

Oh, it doesn't use LLVM's own build system at all? How strange, why would you ever do that?
In that case, is there anyway to replicate what https://github.com/tensorflow/tensorflow/issues/45446 does in https://github.com/google/llvm-bazel/ then? As that is basically what should be happening but isn't currently and would fix the issue.

Bazel has a different way of representing the build dependencies than CMake.
Note that llvm-bazel only has the BUILD files, not the LLVM source code. To properly build, you need to import both the source code and the BUILD files and merge them together.

Bazel has a different way of representing the build dependencies than CMake.
Note that llvm-bazel only has the BUILD files, not the LLVM source code. To properly build, you need to import both the source code and the BUILD files and merge them together.

Sure, in case of Tensorflow already handles that merging together luckily. But how would I replicate the CMake check LLVM does in Bazel? This Bazel build system is completely new to me and so far hasn't been fun...

Sure, in case of Tensorflow already handles that merging together luckily. But how would I replicate the CMake check LLVM does in Bazel? This Bazel build system is completely new to me and so far hasn't been fun...

I think it's better to raise a bug on Bazel's repo.

I think it's better to raise a bug on Bazel's repo.

Hey there. The version of LLVM build files used by TF is not the same as the one at https://github.com/google/llvm-bazel. Both versions hardcode HAVE_MALLINFO=1, however, so yes unsurprising this doesn't work. Since the goal of those build files does not include building LLVM in every configuration it supports, configurability is added in an ad-hoc manner. If you want to be able to build TF on this system, you'll need to edit their build files. In particular at https://github.com/tensorflow/tensorflow/blob/a5c4882d6c953c24f8451b866b984abe98a8fa7b/third_party/llvm/llvm.bzl#L248
If you'd like to send a patch to llvm-bazel, that would also be welcome. The relevant configuration is here: https://github.com/google/llvm-bazel/blob/4c8b546e53eebc708c77ba19a2110926a8732642/llvm-bazel/llvm-project-overlay/llvm/config.bzl#L39. We do not yet have autodetection of library availability.
Yes having all these different copies and versions of the build files is awful, and we're trying to consolidate them.
If something being alpine is detectable with Bazel config settings, that would be the easiest way. https://github.com/bazelbuild/bazel/blob/master/src/conditions/BUILD shows the ones already available as select targets in bazel_tools. If not, then if it's detectable with https://docs.bazel.build/versions/master/configurable-attributes.html that would be the next easiest. After that, the options are basically creating your own flag to indicate musl usage or getting a bazel repo rule to do proper detection of system requirements. Bazel tends to be explicit rather than implicit, wanting to control things via the build invocation, not through environment detection because it aims for reproducibility (and prioritizes that way above ease of use, in my experience).
So all that said, I think you might be able to pass --copt=-UMALLINFO to Bazel. Not sure whether library defines or commandline copts take precedent.

Oh, it doesn't use LLVM's own build system at all? How strange, why would you ever do that?

:grin: great question. Because getting a Bazel project to interact with a non-Bazel build system is...not great. In addition, Bazel is happier if it manages all the source files. With those issues combined, it turns out to be easier to just create a Bazel build configuration for LLVM :confused:

Hey there. The version of LLVM build files used by TF is not the same as the one at https://github.com/google/llvm-bazel. Both versions hardcode HAVE_MALLINFO=1, however, so yes unsurprising this doesn't work. Since the goal of those build files does not include building LLVM in every configuration it supports, configurability is added in an ad-hoc manner. If you want to be able to build TF on this system, you'll need to edit their build files. In particular at https://github.com/tensorflow/tensorflow/blob/a5c4882d6c953c24f8451b866b984abe98a8fa7b/third_party/llvm/llvm.bzl#L248
If you'd like to send a patch to llvm-bazel, that would also be welcome. The relevant configuration is here: https://github.com/google/llvm-bazel/blob/4c8b546e53eebc708c77ba19a2110926a8732642/llvm-bazel/llvm-project-overlay/llvm/config.bzl#L39. We do not yet have autodetection of library availability.
Yes having all these different copies and versions of the build files is awful, and we're trying to consolidate them.
If something being alpine is detectable with Bazel config settings, that would be the easiest way. https://github.com/bazelbuild/bazel/blob/master/src/conditions/BUILD shows the ones already available as select targets in bazel_tools. If not, then if it's detectable with https://docs.bazel.build/versions/master/configurable-attributes.html that would be the next easiest. After that, the options are basically creating your own flag to indicate musl usage or getting a bazel repo rule to do proper detection of system requirements. Bazel tends to be explicit rather than implicit, wanting to control things via the build invocation, not through environment detection because it aims for reproducibility (and prioritizes that way above ease of use, in my experience).
So all that said, I think you might be able to pass --copt=-UMALLINFO to Bazel. Not sure whether library defines or commandline copts take precedent.

Oh, it doesn't use LLVM's own build system at all? How strange, why would you ever do that?

:grin: great question. Because getting a Bazel project to interact with a non-Bazel build system is...not great. In addition, Bazel is happier if it manages all the source files. With those issues combined, it turns out to be easier to just create a Bazel build configuration for LLVM :confused:

Thanks for the detailed answer! Sadly passing --copt=-UMALLINFO doesn't seem to work. For now I've just patched that line to report 0. Alpine it self isn't detectable, and shouldn't need to really. Musl follows standards very strictly: if something fails to compile with Musl but works on glibc, then the code is assuming the exception rather than the standard. Code has to check for glibc rather than others.
Preferably it would properly detect system requirements rather than just if (os == "Alpine") { }. I don't know Bazel though so I have no clue how to do that :sweat_smile:
So, I patched it for now. I get further, this time it fails differently (and seemingly not on LLVM anymore):
ERROR: Skipping '       ': Bad target pattern ' ': package names may contain A-Z, a-z, 0-9, or any of ' !"#$%&'()*+,-./;<=>?[]^_`{|}~' (most 7-bit ascii characters except 0-31, 127, ':', or '\')
WARNING: Target pattern parsing failed.
ERROR: Bad target pattern '     ': package names may contain A-Z, a-z, 0-9, or any of ' !"#$%&'()*+,-./;<=>?[]^_`{|}~' (most 7-bit ascii characters except 0-31, 127, ':', or '\')
``

Thanks for the detailed answer! Sadly passing --copt=-UMALLINFO doesn't seem to work. For now I've just patched that line to report 0. Alpine it self isn't detectable, and shouldn't need to really. Musl follows standards very strictly: if something fails to compile with Musl but works on glibc, then the code is assuming the exception rather than the standard. Code has to check for glibc rather than others.
Preferably it would properly detect system requirements rather than just if (os == "Alpine") { }. I don't know Bazel though so I have no clue how to do that :sweat_smile:
So, I patched it for now. I get further, this time it fails differently (and seemingly not on LLVM anymore):
ERROR: Skipping '       ': Bad target pattern ' ': package names may contain A-Z, a-z, 0-9, or any of ' !"#$%&'()*+,-./;<=>?[]^_`{|}~' (most 7-bit ascii characters except 0-31, 127, ':', or '\')
WARNING: Target pattern parsing failed.
ERROR: Bad target pattern '     ': package names may contain A-Z, a-z, 0-9, or any of ' !"#$%&'()*+,-./;<=>?[]^_`{|}~' (most 7-bit ascii characters except 0-31, 127, ':', or '\')
``

Thanks @GMNGeoffrey  for the additional context and the help.

Thanks @GMNGeoffrey  for the additional context and the help.

Well there is some stuff, but it doesn't seem related.
INFO: Reading rc options for 'build' from /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc:
  'build' options: --jobs=8 --compilation_mode=opt --host_compilation_mode=opt --repository_cache=/home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/bazel-cache/ --distdir=/home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/bazel-distdir/ --define=PREFIX=/home/bart/Documents/Git/alpine/aports/testing/tensorflow/pkg/tensorflow/usr --config=noaws --config=nohdfs --config=mkl
INFO: Found applicable config definition build:short_logs in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --output_filter=DONT_MATCH_ANYTHING
INFO: Found applicable config definition build:v2 in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:xla in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=with_xla_support=true
INFO: Found applicable config definition build:noaws in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=no_aws_support=true
INFO: Found applicable config definition build:nohdfs in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=no_hdfs_support=true
INFO: Found applicable config definition build:mkl in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=build_with_mkl=true --define=enable_mkl=true --define=tensorflow_mkldnn_contraction_kernel=0 --define=build_with_openmp=true -c opt
INFO: Found applicable config definition build:linux in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --copt=-w --host_copt=-w --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --config=dynamic_kernels
INFO: Found applicable config definition build:dynamic_kernels in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=dynamic_loaded_kernels=true --copt=-DAUTOLOAD_DYNAMIC_KERNELS

Well there is some stuff, but it doesn't seem related.
INFO: Reading rc options for 'build' from /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc:
  'build' options: --jobs=8 --compilation_mode=opt --host_compilation_mode=opt --repository_cache=/home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/bazel-cache/ --distdir=/home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/bazel-distdir/ --define=PREFIX=/home/bart/Documents/Git/alpine/aports/testing/tensorflow/pkg/tensorflow/usr --config=noaws --config=nohdfs --config=mkl
INFO: Found applicable config definition build:short_logs in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --output_filter=DONT_MATCH_ANYTHING
INFO: Found applicable config definition build:v2 in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:xla in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=with_xla_support=true
INFO: Found applicable config definition build:noaws in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=no_aws_support=true
INFO: Found applicable config definition build:nohdfs in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=no_hdfs_support=true
INFO: Found applicable config definition build:mkl in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=build_with_mkl=true --define=enable_mkl=true --define=tensorflow_mkldnn_contraction_kernel=0 --define=build_with_openmp=true -c opt
INFO: Found applicable config definition build:linux in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --copt=-w --host_copt=-w --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --config=dynamic_kernels
INFO: Found applicable config definition build:dynamic_kernels in file /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/.bazelrc: --define=dynamic_loaded_kernels=true --copt=-DAUTOLOAD_DYNAMIC_KERNELS

There should be some lines that should print the path to a malformed BUILD target.
Alternatively, you can use git commands to see where '       ' gets inserted, in case this was from an accidental edit.

There should be some lines that should print the path to a malformed BUILD target.
Alternatively, you can use git commands to see where '       ' gets inserted, in case this was from an accidental edit.

It seems I found the cause of that particular issue. I did the following:
bazel build \
    //tensorflow:libtensorflow_framework.so \
    //tensorflow:libtensorflow.so \
    //tensorflow:libtensorflow_cc.so \
    //tensorflow/tools/pip_package:build_pip_package

However, it seems Bazel doesn't like new lines and the whitespace. I put it all on one line instead, and the error was gone. Annoying :shrug:
New error:
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/com_github_grpc_grpc/src/compiler/BUILD:66:8: declared output 'external/com_github_grpc_grpc/src/compiler/grpc_python_plugin.bin' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/com_github_grpc_grpc/src/compiler/BUILD:66:8: not all outputs were created or valid
ERROR: /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/tensorflow/python/tools/BUILD:143:10 not all outputs were created or valid

It seems I found the cause of that particular issue. I did the following:
bazel build \
    //tensorflow:libtensorflow_framework.so \
    //tensorflow:libtensorflow.so \
    //tensorflow:libtensorflow_cc.so \
    //tensorflow/tools/pip_package:build_pip_package

However, it seems Bazel doesn't like new lines and the whitespace. I put it all on one line instead, and the error was gone. Annoying :shrug:
New error:
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/com_github_grpc_grpc/src/compiler/BUILD:66:8: declared output 'external/com_github_grpc_grpc/src/compiler/grpc_python_plugin.bin' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely)
ERROR: /home/bart/.cache/bazel/_bazel_bart/fa04af0b72c1747dcd0d716042f56ed5/external/com_github_grpc_grpc/src/compiler/BUILD:66:8: not all outputs were created or valid
ERROR: /home/bart/Documents/Git/alpine/aports/testing/tensorflow/src/tensorflow-2.4.0/tensorflow/python/tools/BUILD:143:10 not all outputs were created or valid

Hmm, now this is a grpc issue.
They also use Bazel, can you file an issue at https://github.com/grpc/grpc please?

Hmm, now this is a grpc issue.
They also use Bazel, can you file an issue at https://github.com/grpc/grpc please?

Sorry it took a while. I filed an issue, https://github.com/grpc/grpc/issues/25188

Sorry it took a while. I filed an issue, https://github.com/grpc/grpc/issues/25188

It seems I got rid of the LLVM problem by adding deps as used in the LLVM packages from the distribution.

Can you please elaborate on that?
I managed to compile 2.5 with Bazel 3.7.2, Python 3.9.5 running:
bazel build --config=noaws --config=nogcp --config=nonccl --config=mkl //tensorflow/tools/pip_package:build_pip_package
The only problem I had with TF itself was that I had to disable stacktrace using the method from this patch:
https://github.com/ribalda/meta-tensorflow/blob/master/recipes-framework/tensorflow/files/0001-support-musl.patch
LLVM refused to compile for me even with all the build dependencies. I took a similar approach for mallinfo by adding a GLIBC condition:
 96 #elif defined(HAVE_MALLINFO) && defined(__GLIBC__)  97   struct mallinfo mi;  98   mi = ::mallinfo();
in ~/.cache/bazel/_bazel_foo/a8eb10ea33836e8bc82984e17a3177c9/external/llvm-project/llvm/lib/Support/Unix/Process.inc
and had to disable backtrace. There's probably a more elegant solution - it's a matter of musl lacking execinfo.h discussed here:
https://www.openwall.com/lists/musl/2015/04/09/3
As mentioned, a viable solution is finding an alternative backtrace lib, if you care about that.

@PureTryOut Could you please let us know if this issue still persists ? Thanks!

Oof I haven't tried it in a while, I kinda lost interest because of all the issues. I'll give it another shot early in the new year.

Well the good news is that there are fewer copies of these build files now. They've been upstreamed at https://github.com/llvm/llvm-project/tree/main/utils/bazel. Additionally, we've started defining things based on C preprocessor macros in config.h, which are generally way easier to use than Bazel platform selects (with the limitation that we can't execute arbitrary code like try-compile), so if you want to move HAVE_MALLINFO and the like out of config.bzl and into the config headers themselves, then go for it.

Hey there. I successfully built TF 2.8.0 on Alpine Linux with these changes:  https://github.com/grebaza/tensorflow/commit/39381a1f453da0f37b7b1f94c2e64ea2736de4e1. I included the backtrace library (libexecinfo) and hardcoded POSIX defines. Hope this helps.

That is awesome! Any chance you could upstream that to the main Tensorflow repo (this one)?

Sure thing. I will also upload changes into tensorflow-io's repo (as tensorflow requires io during its installation).

@grebaza , Could you please confirm whether you got time to raise a PR for the mentioned changes in above comment ?
CC - @PureTryOut

Note that since then libexecinfo has been removed from Alpine Linux. They had technical reasons but I don't recall them exactly, it's been a while since I looked at this.

Hello there, I can delete the dependencies on libexecinfo thus enabling compilation on Alpine Linux >= 3.17 (in the same manner done here). After that I will raise a PR.

Hi @PureTryOut , @grebaza ,
Tensorflow team maintaining Ubuntu instructions officially may be due to Limited resources. If you still believe this is useful for larger community and also willing to contribute please feel free to raise PR.
Thanks!


[VS Code] Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. TrackingId:cf130952-9d2a-46a3-97dd-d517a53a653d, Address:sb://vsls-prod-ins-asse-private-relay.servicebus.windows.net/36a482ed38a3f80f8fdc30c87f89d2d8d8e0--b4192fdb-60d3-4cb0-9cd7-f75ee58d5b5e, Timestamp:2018/10/22 07:49:31

<!--
For Visual Studio problems/feedback, please use the Report

Thanks for reporting the issue. Can you please run the command "Live Share: Export Logs" and drag-and-drop the zip here or send it to<EMAIL_ADDRESS>cc @Priya91

cc @srivatsn

I am sorry I did not provide any details with it. I kept clicking affirmatively on the procedures I was taken through.
OS information

VSCode information

VSCode LiveShare logs
VSCodeLiveShare.zip
Please let me know if any other information is needed.
Thanks

Also, what SSL protocols do you have enabled?
You can check that using these methods:
https://www.techwalla.com/articles/how-to-make-sure-the-ssl-tls-protocols-are-enabled

I do have proxy configured on my machine. The included git component, Add-in store and every internet related activities work fine. I also tried adding proxy directly into User Settings JSON but it didn' change a thing.
Coming on to the SSL protocols,
I followed the article and it talks about the TLS protocols only. I have TLS 1.0, 1.1 and 1.2 enabled.

@harshankur Is your proxy an authenticating proxy, and does it use your windows AD credentials to authentication? Our relay connection doesn't support authenticating proxies, connecting with Direct mode will help you with establishing a liveshare session.

Closing due to inactivity.


add refinement node for x=int after checkInt(x)

Add refinement node for x=int after checkInt(x), and likewise for other known SDK methods. Or use argument-refinement information from bottom-up inlining.

Fixed


Proxy with Authentication Issue

Description
We have corporate network and all calls restricted without proxy config. Previously we used CNTLM  + Redirect to local host with proxy_http and proxy_https and it works. I want to change it to using NPM with auth parameters
Repro Steps
appcenter version 2.7.3

npm config set proxy http://%proxy.username%:%proxy.password%@%proxy.hostname%:%proxy.port%
npm config set https-proxy http://%proxy.username%:%proxy.password%@%proxy.hostname%:%proxy.port%

appcenter distribute release --file Legacy/iOS/Apps/<MY IPA> --app <MY APP> --group <MY USERS> --release-notes-file releaseNotes.md --silent --disable-telemetry --output json

failed with exception "request to https://api.appcenter.ms/v0.1/apps/<MY APP>/uploads/releases failed, reason: getaddrinfo ENOTFOUND api.appcenter.ms"

Any ideas?

Hello @Vacxe thank you for reaching out.  Please try setting your environment variable like this to use proxy
HTTPS_PROXY="http://%proxy.username%:%proxy.password%@%proxy.hostname%:%proxy.port%" appcenter distribute release...
Let me know if this works for you.

Closing due to inactivity.


clarify valid/invalid BUFR file

(moving from offline disussion with @david-i-berry)
Currently, the wis2box BUFR plugin checks / injects / discards as follows:

geometry: if none found, injected from station list
WSI: if none found, injected from station list
temporal: if none found, discarded

Does the absence of temporal information constitute an invalid BUFR message?

The message is not invalid BUFR, but it is unusable if the observation time is not present.


Update _micro_expressjs-basics.md

pls rebase.

nvm, I manually added your changes and pushed them to the branch.


missing completions

Environment data

Language Server version: 0.2
OS and version: OSx
Python version (Anaconda): 3.6

Expected behaviour and Actual behaviour
Please have a look here

This is very likely #1414.
Since you did not fill out our template, I don't know if you have caching enabled. Try disabling it with:
"python.analysis.cachingLevel": "None"

But please fill out the requested info in the future (mirrored here: https://github.com/microsoft/python-language-server/blob/master/TROUBLESHOOTING.md#filing-an-issue).

Thanks, I wasn't sure how to get info to start with since I wasn't using VSCode but emacs, but I'll look into it and try to provide back any missing info.

@kirk86 I had the same problem and disabling the cache did the trick.

@ernestom Thanks, I'll give it a shot.

Note that disabling caching is probably just a workaround for #1414, which has the implication of incomplete module information being stored to disk (then reloaded later).

Closing as a duplicate of #1414 for now.


ePub will not play - my problem or yours?

I am hosting a set of ePub from eBible.org on my website and Futurepress reader will not play them.  However, the same Futurepress reader installation will play my own ePubs, though noticeably slow.  I need help determining if the problem is the ePubs from eBible.org OR if Futurepress is failing in some way.
Will not play:
http://stage.aionianbible.org/?e=/xcdn/epub/Holy-Bible---English---World-English-Bible---Source-Edition
Here is the ePub file in use above:
http://resources.aionianbible.org/Holy-Bible---English---World-English-Bible---Source-Edition.epub
Okay but this does play, but SLOW, with the same Futurepress installation:
http://stage-epub.signedon.net/optimism-out-of-control
Here the same ePub plays faster on an older Futurepress installation:
http://epub.signedon.net/optimism-out-of-control
Any help would be greatly appreciated!

For the stage.aionianbible.org book the error I get is:
This page contains the following errors:
error on line 5 at column 52: attributes construct error

This refers to the viewport line which is missing a ' in the initial-scale attribute.
<meta name='viewport' content='width=device-width', initial-scale=1'>

The stage-epub.signedon.net reader seems to be trying to access a resource that is missing and hitting http://stage-epub.signedon.net/epub-not-found in a continuous loop which might explain the slowness.

Thank you very much!  and 2) a problem noted in the /reader/js folder

You did locate an error in my epub and the people at http://eBible.org send you hearty and sincere thanks.  The correction actually looks like this...

From this
<meta name='viewport' content='width=device-width', initial-scale=1'>
To this
<meta name='viewport' content='width=device-width, initial-scale=1' />
There was an extra single quote and missing close of the tag.  Some epub players didn't choke with that, but Futurepress choked.  Maybe there is no way to bullet proof that in Futurepress.

You also noted that my player was in an infinite loop looking for a missing resource.  The missing resource is /reader/js/epub.js.map.  The Futurepress reader package has regular and minimized version of epub.js and reader.js and only a minimized version of hooks.min.js.  Just so happens I was using the regular epub.js and not the minimized version and the map file is missing for epub.js, the epub.js.map file is not there.  When I switch to the minimized epub.min.js the epub.min.map file is there.

Also why is epub.js looking for epub.js.map when your naming convention is epub.map.  Also the reader.js map file is named reader.js.map instead of reader.map.  That no doubt is a secondary issue, just noting that there are two different naming conventions for your map files.  Hopefully not a problem elsewhere.
Finally, the Futurepress loading of this epub still seems a bit slow.  Do you noticed any other problems? http://stage-epub.signedon.net/optimism-out-of-control.


🐛 Potrait mode video is flipped to wrong direction

What's happening?
I am capturing the video in front camera with portrait and landscape mode. In Landscape mode it's working fine. but when i capture the video in portrait mode the video is flipped to wrong direction.
Please suggest.

Reproduceable Code
const frontformate = useCameraFormat(devicesFront, [
    { fps: 30 },
    {videoStabilizationMode : 'off'},
    { videoResolution: { width: 1280, height: 720 } },
    ]);

  const backformate =  useCameraFormat(devicesBack, [
    { fps: 30 },
    {videoStabilizationMode : 'off'},
    { videoResolution: { width: 1280, height: 720 } },
    ]);

<Camera
            ref={cameraRef}
            style={[styles.camera]}
            audio={true}
            video={true}
            isMirrored={false}
            device={cameraType === 'front' ? devicesFront : devicesBack}
            isActive={true}
            format={cameraType === 'front' ? frontformate : backformate}
          />

Relevant log output
2024-09-19 13:42:53.376174+0530 utrapp[3037:204765] [javascript] Permission: ios.permission.MICROPHONE, Status: granted
2024-09-19 13:42:53.384531+0530 utrapp[3037:204765] [javascript] 'isTablet', false
2024-09-19 13:42:53.384797+0530 utrapp[3037:204765] [javascript] 'isIpad', false
2024-09-19 13:42:53.385081+0530 utrapp[3037:204765] [javascript] 'iPhone', false
13:42:53.472: [info] 📸 VisionCamera.didSetProps(_:): Updating 25 props: [onInitialized, cameraId, position, enableBufferCompression, preview, onOutputOrientationChanged, onStarted, onCodeScanned, top, right, isActive, video, onViewReady, onError, onStopped, isMirrored, onPreviewOrientationChanged, onPreviewStopped, enableFrameProcessor, onPreviewStarted, format, left, bottom, audio, onShutter]
13:42:53.473: [info] 📸 VisionCamera.configurePreviewOrientation(_:): Updating Preview rotation: portrait...
13:42:53.473: [info] 📸 VisionCamera.configureOutputOrientation(_:): Updating Outputs rotation: portrait...
13:42:53.473: [info] 📸 VisionCamera.configure(_:): configure { ... }: Waiting for lock...
13:42:53.476: [info] 📸 VisionCamera.configure(_:): configure { ... }: Updating CameraSession Configuration...

Camera Device
Front formate {
  "formats": [],
  "minFocusDistance": 0,
  "sensorOrientation": "portrait",
  "maxZoom": 135,
  "minZoom": 1,
  "hasTorch": false,
  "hardwareLevel": "full",
  "position": "front",
  "maxExposure": 8,
  "supportsLowLightBoost": false,
  "id": "com.apple.avfoundation.avcapturedevice.built-in_video:1",
  "name": "Front Camera",
  "minExposure": -8,
  "hasFlash": true,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "neutralZoom": 1,
  "supportsFocus": false,
  "supportsRawCapture": false,
  "isMultiCam": false
}

back formate {
  "formats": [],
  "position": "back",
  "minFocusDistance": 10,
  "hardwareLevel": "full",
  "hasTorch": true,
  "isMultiCam": false,
  "supportsLowLightBoost": false,
  "maxExposure": 8,
  "supportsFocus": true,
  "supportsRawCapture": false,
  "neutralZoom": 1,
  "physicalDevices": [
    "wide-angle-camera"
  ],
  "name": "Back Camera",
  "minExposure": -8,
  "hasFlash": true,
  "maxZoom": 16,
  "id": "com.apple.avfoundation.avcapturedevice.built-in_video:0",
  "sensorOrientation": "portrait",
  "minZoom": 1
}

Device
iPhoneX OS 16.7.10
VisionCamera Version
4.5.3
Can you reproduce this issue in the VisionCamera Example app?
I didn't try (⚠ your issue might get ignored & closed if you don't try this)
Additional information

[X] I am using Expo
[X] I have enabled Frame Processors (react-native-worklets-core)
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

Can you reproduce this issue in the VisionCamera Example app?
I didn't try (⚠ your issue might get ignored & closed if you don't try this)

Please try if you can reproduce here.

I've been able to reproduce this with the front camera in the example app by adding isMirrored={false} to the Camera. It only seems to happen with video output on iOS. Photo output is correctly flipped around the vertical axis. Android works fine with both video and photo.

Same here, for android is working good, but for iOS with isMirrored={false} we are getting this error.

I am seeing this error as well. If isMirrored={false}, the resulting video is mirrored horizontally instead of vertically (the output video is upside down). However, I am also finding that video mirroring with the front camera on iOS isn't working.
In other words, if I record a video with the front camera, without using this isMirrored prop at all, the resulting output video does not get flipped like it should (like the default iOS camera would do). If I record a video, and hold up my right hand, it looks like my left hand in the preview, but then when I watch the output, it still looks like my left hand. If I do the same with the iOS built-in camera, the output properly looks like my right hand.
The code is below:
const device = useCameraDevice('front');

<Camera
        ref={cameraRef}
        style={StyleSheet.absoluteFill}
        device={device}
        isActive={true}
        video={true}
        audio={true}
        onInitialized={() => {
          onCameraReady();
        }}
        onError={(error) => console.error(error)}
/>

@colaquecez @davetodd  Am I missing something obvious here or is the front camera not working properly on iOS?

is this happening only in IOS version 16 or below 16 i saw the same issue in iphone x and in 7 but working fine in 13,14 device.

@davetodd ok got it. That makes sense. My built-in camera has the mirroring setting disabled, so if I'm trying to have react-native-vision-camera mimic that behavior, I should pass isMirrored={false}. I can confirm when I do that, the output video is upside down.
I am on iPhone XR - iOS v17.6.1
@mrousavy any idea what's causing this?

I also need a fix for this, mirroring on IOS is turning the video upside down instead of vertical mirroring as the documentations says it should. Any update?

I am also seeing this issue on IOS. Currently having to add a workaround to rotate the videos that are upside down.


Support compiling the project with Java 11.

@dvlato said that the test code had to change due to differences between Java versions 8 and 11.

Version 11 has a different default garbage collector, which shows up in JVM metrics.
Time format has got more accurate.
TLS handshake failure message has changed a bit.


Cut the pages

Design to be influenced by the very influential https://medium.com/

Built to be read. Must be suitable for low-cognitive-load reading.
Minimalistic layout and best available typefaces
Responsive (e.g. able to be read whilst in the bathroom)

Challenges

Exporting out of G drive (to markdown converter?)
Recurring update from G drive authoring master

The layout looks gewd


Add a CLI to download data

There used to be a CLI part of the lib project.
That CLI should be removed and a new one added to the dbpopd project.
The motivation is that the lib CLI is not functional anymore. Besides, Many of the lib CLI parameters are no longer needed since dbpopd has that in the configuration.
While I see a clear need for a download CLI, I am not so sure about the upload.

With the progress made on the UI, I don't see such a clear need anymore.


Cmdlets to validate objects with Azure policy conditions

PR Summary
Fixes #1266
Fixes #1277
Fixes #1278
Fixes #1340
Added the following cmdlets:

Export-AzPolicyAssignmentData
Export-AzPolicyAssignmentRuleData
Get-AzPolicyAssignmentDataSource

PR Checklist

[x] PR has a meaningful title
[x] Summarized changes
[x] Change is not breaking
[x] This PR is ready to merge and is not Work in Progress
Other code changes

[x] Unit tests created/ updated
[x] Link to a filed issue
[x] Change log has been updated with change under unreleased section

@ArmaanMcleod Nice work!
I made a few tweaks. There is some lines which are broken across lines, not sure if this is intended, but double check that.
Otherwise should be good to merge.

@BernieWhite Appreciate the tweaks and feedback, thanks for that mate 🙂


XS-Search, Navigations (add Server-Side Redirects + Downloads) XS-Leaks

CSP Violations were not included in server side redirects, as I will discuss them with @lweichselbaum next week

CSP Violations was added in 43cee80.
Since the article got a big bigger over time, I added a small adjustment in the introduction (0278aac).


Heading while creating time lock vault needs to be better

Heading should say "Choose Unlock Time" .

Closing as outdated, we will reopen as needed when resuming work on time locked vault


Setup https for ipld.io

Currently, visiting ipld.io works fine, https://ipld.io does not work fine we're using the ipfs.io certificate for it, leading to errors in the browser.
We need to setup https properly for ipld.io

[ ] Acquire certificate for ipld.io
[ ] Setup nginx to serve different certificates for different hosts (this should setup in way it'll be easy to add multiformats.io and libp2p.io once we have those ready as well)

When we are getting cert for ipld.io we might want to resolve https://github.com/ipfs/infrastructure/issues/192 at the same time.

Yeah, and also get certs for libp2p.io and mutliformats.io and the orbit website

I'd propose we look into automatic let's encrypt certs for non-ipfs.io domains. That'd benefit anyone using the gateway.

Note: This is blocking the deployment and finalization of shipping the ipld.io website

It is quite easy with certbot and can be done without it modifying nginx configs (one manual config edit), the .well-known/acme-challenge/ has to be redirected to some webroot and the the certbot has to be run, ref: https://loune.net/2016/01/https-with-lets-encrypt-ssl-and-nginx/

I'd propose we look into automatic let's encrypt certs for non-ipfs.io domains. That'd benefit anyone using the gateway.

I've looked into this a bit and put my notes in #212. @VictorBjelkholm if it's urgent we can still do the ipld.io cert manually before this.

Closing in favor of #212


Change sprintf to snprintf

sprintf does not perform any bounds checking, which could potentially lead to occurence of buffer overflow and cause undefined behavior.
snprintf require to specify the size of buffer so that it is able to prevent undefined behavior. Adding sizeof(v) + 1 to include null terminator.
Reference:
https://www.gnu.org/software/libc/manual/html_node/Formatted-Output-Functions.html

snprintf require to specify the size of buffer so that it is able to prevent undefined behavior. Adding sizeof(v) + 1 to include null terminator.

In the calculator application, do you think it is susceptible to a buffer overrun? If so, provide a minimal reproducible example to demonstrate the need for the proposed change.

Yes you are right, current char array is 20-byte long, after investigation I think it is suffcient to store int type integer.

However, there is one strange problem that once the calculator reach the limit of its length, next time I press a button of a number, the number in the calculator shows will randomly change to other number.

However, there is one strange problem that once the calculator reach the limit of its length, next time I press a button of a number, the number in the calculator shows will randomly change to other number.

Write down the steps to reproduce the issue, along with your analysis, and submit it in another GitHub issue.


python3Packages.pillow: pull zlib-1.3 fix pending upstream inclusion

Without the change tests fails against zlib-1.3 as:
    def test_sanity(self, tmp_path):
        # internal version number
>       assert re.search(r"\d+\.\d+\.\d+(\.\d+)?$", features.version_codec("zlib"))
E       AssertionError: assert None
E        +  where None = <function search at 0x7ffff74c5c60>('\\d+\\.\\d+\\.\\d+(\\.\\d+)?$', '1.3')
E        +    where <function search at 0x7ffff74c5c60> = re.search
E        +    and   '1.3' = <function version_codec at 0x7ffff6896680>('zlib')
E        +      where <function version_codec at 0x7ffff6896680> = features.version_codec
Tests/test_file_png.py:82: AssertionError

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg build python310Packages.pillow python311Packages.pillow (just to sanity check on CI)


Implement Miden's AIR constraints

The biggest part of the verifier that isn't implemented yet is the AIR constraint verification.
Today, Miden's AIR constraints are defined in the Rust code itself, see: https://github.com/0xPolygonMiden/miden-vm/blob/main/air/src/lib.rs#L60-L246.
Miden's team is planning to transition to use https://github.com/starkoracles/air-script to define their AIR constraints and to generate the Winterfell code for their implementation.
One idea is to leverage https://github.com/starkoracles/air-script to also generate Cairo code that describes the same AIR constraints. We suggest following that path.
Currently, this will consistent of two stages:

Develop a general ability to generate Cairo code that is based on air-script.air files.
Rewrite the Miden AIR constraints in *.air format.

We will start with #1, since we hope the Miden team will already convert their constraints by the time we are done with #1.
Another good news is that we have a reference of how a Cairo AIR description might look like, that was developed by Max Gillett on his work on ZeroSync, please see: https://github.com/ZeroSync/ZeroSync/blob/main/src/stark_verifier/air/transitions/frame.cairo. This implements some of the AIR constraints for CairoVM, but we can take inspiration from how it was done and apply some of it to this work.

First iteration of t constraints #8 done


react-navigation default screen

Hi I want to show 5 tabs (MyPlanner, Seminars and The Market etc) plus default home screen. The very first screen is Home screen and all the tabs will be display on home screen and no tab will be selected. I tried with TabNavigator but there is no provision to add Home as default screen in Tah bNavigator.
Code..
const MainNavigation = StackNavigator({
_home: {
screen: Home,
},
_exhibitorDirectory: { screen: ExhibitorDirectory },
_myPlannerStack: {
screen: StackNavigator({
_myPlanner: { screen: MyPlanner },
_addCustomItem: { screen: AddCustomItem },
}),
},
_seminarsAndEvents: { screen: SeminarsAndEvents },
_shuttlesAndMaps: { screen: ShuttlesAndMaps },
_theMarket: { screen: TheMarket },
});

You're wanting to display a set of tabs without one selected?

Yes,  n that is home page.
On 16 Sep 2017 10:22 pm, "Matt Hamil"<EMAIL_ADDRESS>wrote:

You're wanting to display a set of tabs without one selected?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/react-community/react-navigation/issues/2590#issuecomment-329980510,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATaS4mTF_tQAqjJ_J3YxuYBj2PHxrE2hks5si_zFgaJpZM4PY7n_
.

@vijay-dadhich09 I'm not sure what exactly you want to achieve, can you update the description?

Actually, I don't understand yr request. Can you please explain yr
requirement? I m quite confident for any challenge in terms of react n
react native.
Regards
Vijay D
On 4 Nov 2017 3:09 am, "Vojtech Novak"<EMAIL_ADDRESS>wrote:

@vijay-dadhich09 https://github.com/vijay-dadhich09 I'm not sure what
exactly you want to achieve, can you update the description?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/react-community/react-navigation/issues/2590#issuecomment-341834011,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATaS4nJD0y3O6n1FGRc49iTHGmtyVpsaks5sy4gsgaJpZM4PY7n_
.

Pinging OP @vijay-dadhich09 since this issue has not been active for a while, and it's related to an old version of the lib.
Please let me know if you want this to remain open (does it still happen in the latest version?); if I get no answer in the next 7 days I will close it.

Hi there @vijay-dadhich09,
In an effort to cleanup this project and prioritize a bit, since this issue had no follow up since my last comment I'm going to close it.
If you are still having the issue with the latest version (especially if it's a bug report) please check the current open issues, and if you can't find a duplicate, open a new one that uses the new Issue Template to provide some more details to help us solve it.


Documentation for themes

Is there any documentation how a theme is structured and what Vars are available?
I don't know the parameters for an entry in the prompt section:
  "prompt": [
   [ "cyan",  "", "$path" ],
   [ "red",   "", "$git_lbracket$git_branch$git_dirty$git_rbracket" ],
   [ "red",   "", "$hg_lbracket$hg_branch$hg_bookmark$hg_dirty$hg_rbracket" ],
   [ "green", "", "`n$([char]0x3BB)$([char]0x0BB)" ]
   ],

Sorry, there isn't really any documentation. The theme file defines plugins and prompt, and then each plugin can read further settings from the theme file.
Each sub array in "prompt" is [ "foreground-color", "background-color", "string to output" ]. These get written out sequentially.
The common variables like $path are here, and plugins can add their own prompt variables in the global:pshazz:[plugin-name]:prompt function, e.g. for git you can see the var names added, and you can see how some of these can be overridden in the theme JSON here.

The wiki page here might be of help.

Ah thx 👍 I've missed this wiki page completly


fix: handle invalid color values

Pull request for issue #5
Added handling clearing color input by user completely - now it sets to black.
Added validation of the color input value - stopped trying to create new Color instances if the value's not a valid color.
Added rendering the warning icon if the user's input isn't a valid color.
After all I settled for adding title property on the button instead of adding new tooltip component. Let me know what do you think about it.
Tested on Firefox 97

Just noticed a tiny bug.
When you add more colors, set one to an invalid color and then remove the color, the color after that is marked as invalid even when it is valid. But it's gone as soon as you interact with the color and I'm not completely sure what's causing this. Do you have an idea?
https://user-images.githubusercontent.com/25956751/155223359-4441b8e0-beb2-4f1a-a3b9-b8c950800378.mp4

Thanks for the comments. I don't know what might be causing the issue you mentioned. I will investiagate it and update PR.

I updated the PR, now the color validation runs on every color prop update so the bug you mentioned isn't happening anymore. I also took care of the other minor things that you mentioned.

Looks great. Thanks for implementing the changes.
The only thing that bugs me a little bit is that now the validateColor function is executed every on every update of the color picker because the color prop is changed. That happens like 60 times per second only to prevent a bug that might not even happen (if you know what I mean).
But I couldn't really think of a quick fix. So unless you have an idea I might just merge this and think of something later.

Yeah, it’s not ideal, but I also couldn’t come up with a better solution. I think you can merge it for now and when I get a better hold of Svelte maybe I’ll come up with something better and improve it.

Yeah, that might be the best idea. Thanks for your work!


must wait 1000 years to load the pages this Project is waste of time

i come from the future don't waste your  time for this project


Optims

In a few words, this PR:

tries to have Ammonite not unnecessarily run stty commands before / after each line of code, but only when Ammonite starts and exits instead (first commit),
tries to have Ammonite not discard its compiler instance after almost each line, but only when new JARs are added to the classpath (actual JARs, not just compilation class files, second and third commits).

(of course, github tangled with the commits ordering…)

Results of a quick benchmark:

Once the CI is green here, I can post the detailed methodogy if that's of interest to anyone…

I have only a ~surface understanding of the stuff I changed… (compiler discarding, and stty tangling) Have a careful look at them, before possibly merging that…

Preliminary benchmark instructions here

I'll probably merge that in the coming days, unless anyone opposes.
About the commented out failing test case, it seems unrelated to the core of this PR… More likely an unearthed corner case in TPrint (it only happens in 2.12, when class wrapping is enabled, the latter not being enabled by default).
The only point I'm not too sure about is whether this can mess with the terminal when one runs commands with % and %%. I guess the terminal state could be applied again right after a command is run. It can always be done in other PR in any case…

So, merging!


OGP image not working

Hi there. Thank you for awesome template!
This template use image directory on assets/images, however, OGP image tries to resolve static and failed.
I thought his line should be assets?
https://github.com/gethugothemes/techfeed-hugo/blob/2c324c44ce160d43bf7f2189c98768e1b44f5759/layouts/partials/head.html#L43

Hello @nacl30d
Thanks for correcting us, It was a mistake. I fixed this.
If you like this theme, a star to the repository would be incredible.


Added Migration from Dagger1 to Dagger2 in Android

Description 📜
I have added all the docs for Migration from Dagger1 to Dagger2 in Android.
Fixes #7370

Type of change 📝

[x] Doc#umentation (Content Creation in the form of codes or tutorials)
[ ]

Domain of Contribution 📊

[x] Android Dev #(Kotlin)

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

Hey @rahulsain and @sitamadex11 I have created the PR please review and merge it if there is no issue.


[Feature] Room DB on Chat rooms screen

[x] Migrate to androidx/jetpack
[x] Room DB
[x] Use LiveData for connection status

Using jetpack, so it depends on Android Studio 3.2-canary17 (you can install it alongside with the current AS)
depends on https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK/pull/173
Currently not working - will be fixed on the next PR:

Spotlight
loading and empty screen
load a channel by ID (for notifications)

@filipedelimabrito synced with develop. There are some things that are broken (look the PR description) that will be fixed on the next PR today or tomorrow


[streamalert] Remove samples, update schemas and add first CloudTrail rule

to: @jacknagz
cc: @airbnb/streamalert-maintainers
What

Add new and updated log schemas
Remove sample logs and rules
Add first CloudTrail rule
Remove tabs from conf/sources.json

Why

Address bugs in the old CarbonBlack schema
Allow folks to write CloudTrail rules
In it's current form, samples make it harder for new users to deploy streamalert
Pave the way for committing more production rules (value out of the box)

Testing
./test/scripts/rule_test.sh

@jacknagz suggestions addressed except for your s3 comment, see my reply. Thanks! :)


[vcpkg] Fix nuget/aria2/ninja version/filename inconsistent

Describe the pull request
Fix nuget/aria2/ninja in vcpkgTools.xml, vcpkg_find_acquire_program.cmake version/filename inconsistent

What does your PR fix? Fixes issue #10625

Which triplets are supported/not supported? Have you updated the CI baseline?

Does your PR follow the maintainer guide?

https://github.com/ninja-build/ninja/releases

ninja v1.10.0 released this on 28 Jan
?

https://github.com/ninja-build/ninja/releases

ninja v1.10.0 released this on 28 Jan

?

This PR fix issue #10655. Ninja will update to new version by other PRs.

why can't you update the version right away as it contradicts

Going to merge this to fix the immediate issue. For updating Ninja, we can open another PR


fix: crawl arrays and objects passed to callees

fix: crawl arrays and objects passed to callees
Description
Added cases for crawling ArrayExpression elements and ObjectExpression keys to each recursive parse function.
Fixes #99
Type of change

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

How Has This Been Tested?
Added unit tests for each rule covering class names in arrays and objects.
Test Configuration:

OS + version: macOS Catalina
NPM version: 8.1.0
Node version: 16.13.0

Checklist:

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

@matt-tingen, it looks great!
Thank you, I'll:

merge it
publish it in a beta
test it out on my current project
publish it on latest

3.3.0 published, thank you for your contribution 😄


blog post filename should be all lower case(as the same as node)

please fix 2017-02-22-the-secret-lives -of-WeChat’s-chatbots.md

The ' should be removed too, because it's not good to put it in filename.

Sorry, done


Custom Sort order for Levels of the Cube

Description
As of now, a Cube Level can have one following orders

ASCENDING
DESCENDING
FIRST_MEMBERS

Please add support for

AS_IS (Elements are already sorted, Don't sort them)
Lambda-based. It should be possible to specify a custom Comparator (think Java Comparator implementation). This is nice to have

Context
In a few scenarios, existing comparators are not good enough to sort the values.
For e.g. Time buckets can be

1 day, 1 week, 2 weeks, 1month, 3 months, 6 months, 1 year.
1d, 2d, 3d....10d, 11d,... 365d, 366d

When the element set is smaller (1st example above), FIRST_MEMBERS can work. However, it's very difficult to specify everything for the 2nd example, and it doesn't scale well.
Imagine there is an AS_IS comparator, data can be already sorted using Python code, or get it in sorted order from source and feed to the table.

The thing is that the order of insertion of the rows cannot be retrieved when tables are partitioned. So the AS_IS comparator as you described cannot be implemented. You'll have to stick to first_members() and be exhaustive.
For the lambda-based comparator, it would indeed offer maximum flexibility but at the cost of performance. Indeed, the aggregation engine of atoti is developed in Java and calling the Python lambda from Java would be much slower than what a declarative comparator such as ASCENDING, DESCENDING, or first_members() can offer (no roundtrips needed).

Thanks, I will stick with first_members() for now.
Another idea is to support sorting a field based on another field in the same table.
For example for the same time bucket problem above, I can have 2 columns in same table:

TimeBucketStartDateInDays (1, 7, 14, 30, 60,...365...)
TimeBucketLabel (1d, 1w, 2w, 1m, 2m,.. 1y...)
TimeBucketLabel should be sorted based on TimeBucketStartDateInDays.

Guess this will work for Partitioned tables and is possible to handle in Java.


python37Packages.lmdb: 0.95 -> 0.96

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-lmdb/versions.
meta.description for python37Packages.lmdb is: '"Universal Python binding for the LMDB 'Lightning' Database"'.
meta.homepage for python37Packages.lmdb is: '"https://github.com/dw/py-lmdb"

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
/bin/sh passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 0.96 with grep in /nix/store/b3281ycanjcsgzp02f0x4agagm96w37r-python3.7-lmdb-0.96
directory tree listing: https://gist.github.com/a083f9cc6aaa22c7d3cb069b85a698fa
du listing: https://gist.github.com/14727c6485047fd86b82cca6091eb8de

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)
3 package rebuild(s)
3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
grab-site
python27Packages.lmdb
python37Packages.lmdb

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/b3281ycanjcsgzp02f0x4agagm96w37r-python3.7-lmdb-0.96 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A python37Packages.lmdb https://github.com/r-ryantm/nixpkgs/archive/838b6e9f5556688e0117b4e84a53d55edab93fb5.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/b3281ycanjcsgzp02f0x4agagm96w37r-python3.7-lmdb-0.96
ls -la /nix/store/b3281ycanjcsgzp02f0x4agagm96w37r-python3.7-lmdb-0.96/bin

cc @copumpkin for testing.

@GrahamcOfBorg build grab-site python27Packages.lmdb python37Packages.lmdb


Paillier update

Added encryption for
-Floating point
-Negative numbers
-Negative floating point

Superseded by https://github.com/bazzilic/PaillierExt/pull/19


test(s) for default registration mode of admin_only

As of Workflow v2.12.0, the default registration mode has changed to admin_only.  The temporary workaround for e2e is to install the chart with controller.registration_mode=enabled as this is how the current suite of tests expects the cluster to be set up.
We will now need tests and/or a new suite to exercise the new default of admin_only.

At high level, this is the following strategy we're going to pursue for this issue:

leave one failing non-admin auth:register spec in the tests, expecting it to fail
rewrite the register helper method to assume it's an admin registering the user (which should fix the rest of the tests)
revert the --set controller.registration_mode=enabled e2e-runner flag so we are testing the new default


Highlight direct replies/mentions in notifications

Is your feature request related to a problem? Please describe.
With hellthread replies coming in at breakneck pace, it can be hard to keep up with notifications. Every reply, both direct and indirect, melts together into a giant feed of tastefully-blue-tinted visual sludge.
Describe the solution you'd like
By highlighting direct replies, it becomes far easier for the user to quickly spot where they want be focusing their attention.
This has already been implemented in a css extension - https://github.com/lunasorcery/better-bsky-notifs
Describe alternatives you've considered
I guess "don't join hellthread" ...but where's the fun in that?
Alternatively you could have different notification filters/tabs, so things like Only Likes or Only Direct Replies, etc.
Additional context
People seem to like the existing css extension, check out the rave reviews in these threads:
https://staging.bsky.app/profile/hydration.mom/post/3jvq2ovssoi2k
https://staging.bsky.app/profile/squish.fyi/post/3jvslvvms3j2j
I've implemented a rough pass at this feature in my fork, here. It probably wants to be put behind some sort of opt-in flag so as not to confuse the non-hellthreaders, and I'm not 100% on the implementation, obviously y'all know the codebase better than I do, but from my testing it seems to at least work as expected.

One thing we've been planning is a separate tab in notifications that shows only discussion, which should help.
I like the idea of highlighting direct responses as well, however. We'll take a look at it.

Are seperate Tabs still on the roadmap?

I vote for separate tabs and then highlighting. The point is to separate direct responses. Accomplish user needs first in general and then get more fine grained over time. I don't know which would be easier to accomplish though. I always go for the quick win first. Get the best bang for the buck so to speak.

FYI there's a draft PR open to add a Conversations tab to the Notifications screen:

#7044


Salvage Bounds Test

About the PR

adds a test that tells you what the correct bounds for a salvage grid are.
also fixes literally every salvage.
emisse please redo the salvages i beg of you.
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Changelog

no cl no fun

this test fail is wacky and incorrect.


A kit to help new botanists discover chemistry

About the PR

Added the "Agrichem is Fun!" kit to botany's Nutrimax vendor. It's a box containing 30u of several chemicals to make basic fertilizers, and 5u of 2 others to make unstable mutagen. It's meant to be reminiscent of the old 1950s chemistry kits that had uranium or other dangerous chemicals in them, and useful for new botanists.
Why / Balance

Hydroponics is a pretty chill department, but there's very little in-game information or training on anything there. A lot of learning comes from the wiki or other players. This change is done to provide something in-game that shows new botanists there's more to the job than "plant seed in tray, harvest produce later". It also introduces them to the game's chemistry system with some good chemicals they will want and an explanation of what they do.
Yes, all this information is in the guidebook. No, not everyone is going to read that. This is a way to find some of that out in-game without reading the OOC guidebook or wiki or such.
This kit is pretty limited, both in amount of reagents and products you can make with them. The idea is to get more of the people learning botany to look at the next step in complexity on the job, since there's not much right now to help you discover that on your own. The kit shows you how to make more of the baseline chemicals you use, along with alternative chemicals with stronger effects, and a little bit (15u) of robust mutagen without bugging chemistry.
Technical details

This is all YAML, no C#.
Media

Warning: codersprites

Requirements

[X] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

N/A
Changelog

:cl:

add: Botanists can now learn basic chemistry with the Agrichem Is Fun! kit in the Nutrimax vendor.

this is cute

mandatory feature

These are so much fun to read. You are great at writing :)
Thank you for your contribution!


(maint) Start using clj-parent

This switches us over to use clj-parent for managed dependencies.
Edit (AJ): And updates all the dependencies we're using in the process.
Signed-off-by: Ken Barber<EMAIL_ADDRESS>

Test FAILed

Test FAILed

Test PASSed

CLA signed by all contributors.

@kbarber this needs a rebase now too

@puppetlabs-jenkins, test this please

Test FAILed

Test FAILed

Test FAILed

Test FAILed

CLA signed by all contributors.

Test PASSed

Corresponds with https://github.com/puppetlabs/pe-puppetdb-extensions/pull/253


Cant import into xamarin

Hi there, just tried to add the package to a xamarin android solution and get the following message.
"You are trying to install this package into a project that targets 'MonoAndroid,Version=v4.4', but the package does not contain any assembly references or content files that are compatible with that framework."

How are you adding the package? Nuget or via source? What version of xamarin? Could you please provide some repro steps?

Apologies, I was attempting to add via the package manager in xamarin, however I have downloaded the zip file and just this second compiled the android version. and was about to close the issue. I had just assumed I could import this way

Sounds like the nuget package is broken. Let's keep this issue open to track that

Can't reproduce. Package imports OK


perf: prefer Object.fromEntries over reduce

It takes some time to upload the proper balance and Txs when I'm switching between networks. But in generally LGTM


[Service Bus] Merge 'hotfix/service-bus-1.1.4-increase-timeout' into master

Commit 1 - cherrypicked from master to fix the typedoc issue
Commit 2 - changes from the hotfix branch
Commit 3 - resolved merge conflicts and merged

Deleted the hotfix/service-bus-1.1.4-increase-timeout branch.


How to install without breaking react native app

After installing and testing the enhanced modal on the web, I am now starting my app with expo and both ios and android app can't start with error:
ReferenceError: Can't find varialbe: document.
I presume this should work also on react-native, otherwise it would be called react-web-modal, but looking  at the README.md, I see no installation step.
How do I configure this package for react native?
Thanks a lot for sharing!

I finally manage to get ios/android/web to work with this webpack configuration:
  config.resolve.alias['react-native-modal'] = 'modal-enhanced-react-native-web';

I had to use the import from react-native-modal in my jsx.
While closing the modal, I see some blicking of the modal on all of those versions, how can I disable it?

modal is now supported in react native web.
https://github.com/necolas/react-native-web/releases/tag/0.14.0
Could you use the modal in react-native-web? @kopax
Thank you for using this library!


Slider

Updates Slider component to new designs and behaviours.
Highlights:
Integration with Input

Support for custom step amount

Full "range" support

Converted to draft with Luke OOO.

With latest change, tooltip will not show when 1) mouse on the exact middle of the bar 2) off the track, is this intended behavior change? Previously i heard the tooltip needs to be visible after drag begins

@tomhazledine Design review complete. Can be found here: https://www.figma.com/design/JedClmXUirW6MG7OluTRGN/Slider?node-id=3180-461&t=5NCWiKeSlCexyPBT-1

A few comments, mostly on content. But just wanted to raise them so they're not lost.
There's a minor annoyance for me when using slider. Having to keep the mouse over the slider when dragging isn't a great UX cc @navkaur76

Have address most of the content questions/updates. Will defer to @navkaur76's expertise re: the a11y wording
Made a change to allow the mouse drag to continue without needing to be over the actual element. Led to a dev question that I've raised in the FED teams chat

#4076 will be tackled in a follow up


Hide the view count

Perhaps optionally as setting, I personally find it distracting.
This one that says 1,017 together with the icon.

Perhaps optionally as setting as I can imagine some would still want to see it.
Thank you.

Thanks for the suggestion. I also find it very distracting, but this extension don't plan offering any customizable option, it only makes twitter think it's running on a mobile screen and shows the official twitter ui for mobile without any modification.

Unfortunate to hear this.
I will have to port Minimal Theme for Twitter as they added support for this.
Hope you reconsider.

I am curious though how they made it. They said they 'didn't use CSS' for this. 🤔
I thought only way to remove things were via selectors.

I was thinking of making a fork of this repo with just that feature but I could only think of doing it via CSS selectors. Is there another way you can reccomend?


Feature/connection options

I'm not sure what should be done for the error message in HandshakeController::onTimeout().
The timeout can be null now and is by default.
'the handshake timed out after ' . $this->options->connectionTimeout() . ' seconds'

Just change it to "the handshake timed out".

Is this ready to go?

Yeah, i think i got everything this time. Look it over to check.
I considered renaming the fallback connection timeout from DEFAULT_SOCKET_TIMEOUT to FALLBACK_SOCKET_TIMEOUT because thats kind of what it is.

A few minor things, otherwise looks great!


Please mention about Update Domain and Fault Domain to Auto-Scale-In rules

As taking a look into FAQ, it mentions to update domain and fault domain.
Q. If I reduce my scale set capacity from 20 to 15, which VMs are removed?
A. Virtual machines are removed from the scale set evenly across update domains and fault domains to maximize availability. VMs with the highest IDs are removed first.
I hope that there is a same kind of caution here, as it just written "Scale in actions remove VM instances with the highest IDs first".

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

ID: 8a883d4f-426d-a3e1-7c90-d6657a569c42
Version Independent ID: 5c595228-369b-458b-1e09-34c5bcf1b8a4
Content: Tutorial - Autoscale a scale set with Azure PowerShell
Content Source: articles/virtual-machine-scale-sets/tutorial-autoscale-powershell.md
Service: virtual-machine-scale-sets
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@nmikuni Thanks for the feedback! We are currently investigating and will update you shortly.

@nmikuni with closets the instances you spin up should all be identical and sharing the workload. So the process in which the scale down happens is carefully thought out and orchestrated via Azure. It is not something I would be overly concerned about.
If you have further questions or comments about this feel free to get back to me and we can continue :)

Thanks for the feedback, @nmikuni. This tutorial doesn't specifically cover Availability Sets or Availability Zones, so it wasn't initially called out in the doc. When VM instances in a scale set are distributed across an Availability Set or Availability Zone, then yes, the instances are evenly scaled in. I have added a sentence to the tutorial to make this more clear, without going into further depth that is beyond the scope of this tutorial.


InfiniteHits continues to add hits when updating numeric refinement list

From SO, here is the content of the message:

Currently using the infinite search method that Algolia supplies through their instantSearch.js.
The following scenario is happening:

Search for an item
Refine the list
Load more pages up to page 5
Scroll back to the top and change refinement
Nothing happens

By the looks of it - it's appending the results of the new refinement to the results that are already there. I'm looking to make it resent the results, not sure if this is a bug with instant search itself?
       search.addWidget(
          instantsearch.widgets.numericRefinementList({
            container: '#price',
            attributeName: 'salePrice',
            options: [
              {name: 'All'},
              {end: 20, name: 'less than 20'},
              {end: 50, name: 'less than 50'},
              {start: 50, end: 100, name: 'between 50 and 100'},
              {start: 100, end: 300, name: 'Expensive'},
              {start: 300, name: 'Very Expensive'}
            ],
            templates: {
              header: 'Price'
            }
          })
        );

And the infinite search code:
    search.addWidget(
      instantsearch.widgets.infiniteHits({
        container: '#infinite-hits-container',
        templates: {
          empty: 'No results',
          item: hitTemplate
        },
        hitsPerPage: 3
      })
    );

I was able to reproduce the issue in this jsFiddle: https://jsfiddle.net/bobylito/cbj43209/

Also having this issue.

Merged in develop, published in v1.11.15 and v2.0.0-rc.1


[SOLVED] ibmcloud - App upload is invalid: Invalid zip archive

I got an error while pushing myapp on IBM Cloud for the first time, it is redundant when updating
It's a basic express server that serves a Vuejs dashboard.
I had no problem deploying a plain node.js server the same way.
I have a doubt on the size of the archive as it may contain node_modules/ inside which can be a reason to the excessive weight.
Command
ibmcloud app push myapp
NB: ibmcloud app equals cf

What occurred

Waiting for API to complete processing files...
Job (<JOB_ID>) failed: The app upload is invalid: Invalid zip archive

What you expected to occur
That it is correctly deployed like my previous server
CLI Version
cf version 6.37.0+a40009753.2018-05-25

CC API Endpoint Version
api endpoint:   https://api.ng.bluemix.net
api version:    2.92.0

CF Trace

RESPONSE: [2018-06-14T15:31:26+02:00]
HTTP/1.1 201 Created
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 270
Content-Type: application/json;charset=utf-8
Date: Thu, 14 Jun 2018 13:31:26 GMT
Expires: Thu, 14 Jun 2018 13:31:26 GMT
Pragma: no-cache
Server: nginx
X-Backside-Transport: OK OK
X-Content-Type-Options: nosniff
X-Global-Transaction-Id: 76956937
{
  "entity": {
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "status": "queued"
  },
  "metadata": {
    "created_at": "2018-06-14T13:31:26Z",
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "url": "/v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e"
  }
}

REQUEST: [2018-06-14T15:31:26+02:00]
GET /v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e HTTP/1.1
Host: api.eu-de.bluemix.net
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.34.1+bbdf81482.2018-01-17 (go1.9.2; amd64 darwin)

 76.49 MiB / 76.49 MiB [===================================================================================================================================================================================] 100.00%RESPONSE: [2018-06-14T15:31:26+02:00]
HTTP/1.1 200 OK
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 270
Content-Type: application/json;charset=utf-8
Date: Thu, 14 Jun 2018 13:31:26 GMT
Expires: Thu, 14 Jun 2018 13:31:26 GMT
Pragma: no-cache
Server: nginx
X-Backside-Transport: OK OK
X-Content-Type-Options: nosniff
X-Global-Transaction-Id: 107396323
{
  "entity": {
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "status": "queued"
  },
  "metadata": {
    "created_at": "2018-06-14T13:31:26Z",
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "url": "/v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e"
  }
}

 76.49 MiB / 76.49 MiB [===============================================================================================================================================================================] 100.00% 11s

Waiting for API to complete processing files...
REQUEST: [2018-06-14T15:31:29+02:00]
GET /v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e HTTP/1.1
Host: api.eu-de.bluemix.net
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.34.1+bbdf81482.2018-01-17 (go1.9.2; amd64 darwin)

RESPONSE: [2018-06-14T15:31:29+02:00]
HTTP/1.1 200 OK
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 271
Content-Type: application/json;charset=utf-8
Date: Thu, 14 Jun 2018 13:31:29 GMT
Expires: Thu, 14 Jun 2018 13:31:29 GMT
Pragma: no-cache
Server: nginx
X-Backside-Transport: OK OK
X-Content-Type-Options: nosniff
X-Global-Transaction-Id: 624581831
{
  "entity": {
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "status": "running"
  },
  "metadata": {
    "created_at": "2018-06-14T13:31:26Z",
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "url": "/v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e"
  }
}

REQUEST: [2018-06-14T15:31:32+02:00]
GET /v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e HTTP/1.1
Host: api.eu-de.bluemix.net
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.34.1+bbdf81482.2018-01-17 (go1.9.2; amd64 darwin)

RESPONSE: [2018-06-14T15:31:32+02:00]
HTTP/1.1 200 OK
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 271
Content-Type: application/json;charset=utf-8
Date: Thu, 14 Jun 2018 13:31:32 GMT
Expires: Thu, 14 Jun 2018 13:31:32 GMT
Pragma: no-cache
Server: nginx
X-Backside-Transport: OK OK
X-Content-Type-Options: nosniff
X-Global-Transaction-Id: 665559071
{
  "entity": {
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "status": "running"
  },
  "metadata": {
    "created_at": "2018-06-14T13:31:26Z",
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "url": "/v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e"
  }
}

REQUEST: [2018-06-14T15:31:35+02:00]
GET /v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e HTTP/1.1
Host: api.eu-de.bluemix.net
Accept: application/json
Authorization: [PRIVATE DATA HIDDEN]
User-Agent: cf/6.34.1+bbdf81482.2018-01-17 (go1.9.2; amd64 darwin)

RESPONSE: [2018-06-14T15:31:35+02:00]
HTTP/1.1 200 OK
Cache-Control: max-age=0, no-cache, no-store
Connection: keep-alive
Content-Length: 524
Content-Type: application/json;charset=utf-8
Date: Thu, 14 Jun 2018 13:31:35 GMT
Expires: Thu, 14 Jun 2018 13:31:35 GMT
Pragma: no-cache
Server: nginx
X-Backside-Transport: OK OK
X-Content-Type-Options: nosniff
X-Global-Transaction-Id: 81773745
{
  "entity": {
    "error": "Use of entity>error is deprecated in favor of entity>error_details.",
    "error_details": {
      "code": 160001,
      "description": "The app upload is invalid: Invalid zip archive.",
      "error_code": "CF-AppBitsUploadInvalid"
    },
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "status": "failed"
  },
  "metadata": {
    "created_at": "2018-06-14T13:31:26Z",
    "guid": "d242b0f8-4f17-4487-b47e-9f768b13573e",
    "url": "/v2/jobs/d242b0f8-4f17-4487-b47e-9f768b13573e"
  }
}

Job (d242b0f8-4f17-4487-b47e-9f768b13573e) failed: The app upload is invalid: Invalid zip archive.
ECHEC

Platform & Shell Details
Mac OS X 10.13

Any other relevant information

Solved by simply deleting node_modules/ before pushing.
Maybe you can change or add a new warning, as "invalid zip archive" gives no clues on the real issue if you're not at ease with cloudfoundry pushing process

I had same issue pushing a python app. Since I did not know what are node_modules/ it took me some time to understand I need to remove the venv directory. After doing this, I had to delete the app from IBM Cloud and push again. The Pivotal Tracker issue do not give any details. I think the push should handle the existence of a local venv directory, otherwise it makes things very hard for developers.

i have the same issue pushing a Java Liberty App
21.08 MiB / 21.08 MiB  100.00%The app is invalid: Invalid application source code found
FAILED
Finished: FAILED

i have the same issue pushing a Java Liberty App
21.08 MiB / 21.08 MiB  100.00%The app is invalid: Invalid application source code found
FAILED
Finished: FAILED


Revert "Merge #1001"

This reverts commit 690eab4a253bf25d6e457953182a86fb5ba8ee8b, reversing
changes made to 086020e543d422237121949656d43358a7f93ff0.
After arbitrage with @curquiza and @eskombro, this fix would introduce a relevancy bug that cannot be circumvented, whereas the previous bug was only a setting bug with a workaround. we need to discuss this issue further to provide a fix that meets our expectations.
related to #1050
This will be merged directly in the release branche, as a hotfix

bors r+


fix bug in shape inference of FullyConnected

ref: dmlc/mxnet#1778

@tqchen sure I can add ProdShape to TShape. But I'm wondering maybe we should also "fix" FlatTo2D -- either change the doc or its implementation. Currently the doc says
175   /*!
176    * flatten the higher dimension to second dimension, return a 2D shape
177    * \return the flat 2d shape
178    */

It seems the doc is indicating a different behavior from the current implementation. In the context of deep learning where the first dimension is samples, the behavior in the doc makes more sense. But I'm not sure how widely this function is used, so changing it might breaks a lot of the existing stuff. An alternative is to keep the current implementation but fix the doc.

let us fix the doc, so things can be compatible
On Sun, Apr 3, 2016 at 11:43 AM Chiyuan Zhang<EMAIL_ADDRESS>wrote:

@tqchen https://github.com/tqchen sure I can add ProdShape to TShape.
But I'm wondering maybe we should also "fix" FlatTo2D -- either change
the doc or its implementation. Currently the doc says
175   /*!176    * flatten the higher dimension to second dimension, return a 2D shape177    * \return the flat 2d shape178    */
It seems the doc is indicating a different behavior from the current
implementation. In the context of deep learning where the first dimension
is samples, the behavior in the doc makes more sense. But I'm not sure how
widely this function is used, so changing it might breaks a lot of the
existing stuff. An alternative is to keep the current implementation but
fix the doc.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/dmlc/mxnet/pull/1782#issuecomment-205027805

I think this only solves the shape inference problem. The computation is still wrong as flat2D gives you a different shape.

@Godricly Good point! Yes, it seems the computation code also uses FlatTo2D, and needs to be fixed.

You might need to keep current version of computation for some people only want to process last dim values.

@pluskid did we fix the comment @Godricly provided?

@tqchen No, I have not fixed it yet. If you have a minute, can you fix it? Otherwise I will try to do it tomorrow.


add block-tracker

Block Tracker
Track tile blocking status of npcs and players.
Intended for both practical use and for users to attain a better understanding of the blocking system in game.

Entity moves? previous tiles are released, new tiles are blocked
Player runs? In addition to the above, the in-between tiles of the ran path are also released; these tiles line up with what the character would walk if run was not enabled.
Entity despawns? previous tiles are released
Entity spawns? current tiles are blocked
NPC attempts movement but can't move? current tiles are re-blocked (this specific situation will occur every tick)

Some examples below, more are located in the Read Me
https://github.com/user-attachments/assets/710c6f47-3c4f-4084-9c52-7c80c7c58261
https://github.com/user-attachments/assets/34a3d3e1-00cd-472d-9aaf-55b91aadc0fa
https://github.com/user-attachments/assets/ddd9c80d-cbcc-414d-8411-b15a405667a9

on plugin shutDown, could you clear trackedNpcMapping, trackedPlayerMapping, tileMapping, trackableNpcs
on plugin startUp, Client#getTopLevelWorldView could yield null, so you may not end up initializing trackedPlayerMapping

on plugin shutDown, could you clear trackedNpcMapping, trackedPlayerMapping, tileMapping, trackableNpcs
on plugin startUp, Client#getTopLevelWorldView could yield null, so you may not end up initializing trackedPlayerMapping
btw you can also update the main class for the shadow jar generation https://github.com/1Defence/block-tracker/blob/2c8e4997aa63f0992bb8b5cb1b8cb12a3131d331/build.gradle#L40 (in case you ever want to use shadow jar for testing)

Thanks, resolved in recent commit.


Instructions for Ionic 2/3 typescript app

Im a newbie to typescript and am trying to add this to my Ionic 2 app. Can someone give me step by step instructions on how to add this? I tried:
npm install -S spotify-web-api-js
then browserify spotify-web-api.js -o spotifybundle.js  (on the file in the node_modules folder)
then add spotifybundle.js to my index.html
I also tried doing a typings install with all the *.d.ts files provided and still cant get it working (I get "SpotifyWebApi is not defined" when I try to make the call var spotify = new SpotifyWebApi() ).
thanks in advance.
P.S. I am using this instead of the angular-spotify version bc it seems more frequently updated.

@shawns582 Have you checked that you are making the request to the bundle file from the browser correctly and that you are importing the SpotifyWebApi variable? The library exports it but you need to import it from your code, or make it available in the global scope for you to access it.

Yo @shawns582... I know its been like, 8 months.. but did you ever resolve your issue?

Closing the issue for now. Feel free to reopen it if needed.


Add warning to README file to set default region in awscli config

If a user has not set a default region for the local awscli config file, the the is_da_account function fails to verify if the current account credentials are from the Delegated Administrator account. The execution of the command returns You must specify a region. You can also configure your region by running "aws configure". So the grep command does not find the expected string: Invoking account is the delegated admin. So the script fails to verify if the account credentials are coming from the DA and returns error: Log in DA account to enable Amazon Inspector2 on members account(s)..
I'm suggesting to add a warning or a note in the README file to let users know that they MUST have a default region setup in their ~/.aws/config file to avoid this issue. One main detail about this issue is that the above error DOES NOT show up on the user's terminal. The script is not outputting the issue to the log file. It only shows an empty file.
To reproduce this issue, simply delete the default region in your ~/.aws/config file and run the script: ./inspector2_enablement_with_awscli.sh -a activate -t members -s all
./inspector2_enablement_with_awscli.sh -a activate -t members -s all
123456789012
enable_inspector2_per_region members all

 ******** Activation of Inspector2 for accounts per region ********
[ACCOUNTS_LIST]:members
Log in DA account to enable Amazon Inspector2 on members account(s).
Log in DA account to enable Amazon Inspector2 on members account(s).
Log in DA account to enable Amazon Inspector2 on members account(s).
Log in DA account to enable Amazon Inspector2 on members account(s).
Log in DA account to enable Amazon Inspector2 on members account(s).
Log in DA account to enable Amazon Inspector2 on members account(s).

Hope this helps!

Hello @tolkiger
thank you for your feedback, I truly appreciate it.
I have added a warning in README.
regards