Changing default install path for CNL

Hi John
I recently started using your library. It works magically on my local machine. When I migrate the code to a server, unfortunately I do not have write permissions to /usr/local/include/, so I have to install it at some other location, say /data/shared/common/cnl/.
On my local machine, the code works as expected. On the server, it is throwing errors like this one:
from <some_path>/src/main.cpp:16:
/data/home/ankoleka/.conan/data/cnl/0.0.2/johnmcfarlane/development/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/cnl/_impl/../_impl/wide_integer/../duplex_integer/multiply.h: In member function ‘constexpr cnl::_impl::long_multiply<T>::result_type<Lhs, Rhs> cnl::_impl::long_multiply<T>::operator()(const Lhs&, const Rhs&) const’:
/data/home/ankoleka/.conan/data/cnl/0.0.2/johnmcfarlane/development/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/include/cnl/_impl/../_impl/wide_integer/../duplex_integer/multiply.h:55:58: error: declaration of ‘using result_type = cnl::_impl::long_multiply<T>::result_type<Lhs, Rhs>’ shadows a member of 'this' [-Werror=shadow]
                 using result_type = result_type<Lhs, Rhs>;

I suspect it may be because of the library install path since that is the only thing different between my local machine and the server, but I am not entirely certain.
I am new to using conan, so I do not know where to even start looking. Do you have any suggestions/recommendations?
Thanks
Priyanka.

Hi Priyanka,
Thanks for bringing this to my attention.
It looks like on your server, you have the shadow and warnings-as-errors flags enabled. CNL won't compile with this combination of flags, something I will have to fix. If you're able, you can work around this problem by removing either the -Werror or -Wshadow flag. However, that's not a recommended solution in the long-run.

Hi John,
Thanks for your quick response.
Yes, you are right the warnings as errors flag is enabled. But what I
confounds me is that these are enabled on my local machine as well where
the project builds without any issues.
Like I mentioned, the only thing different (or so I think) is the install
location of the library on both entities.
But I will try without the flags and see if that works for now.
Thanks again for writing a very useful library. I hope it becomes part of
C++ like STL is.
Priyanka.
On Fri, Jun 5, 2020, 1:51 PM John McFarlane<EMAIL_ADDRESS>wrote:

Hi Priyanka,
Thanks for bringing this to my attention.
It looks like on your server, you have the shadow and warnings-as-errors
flags enabled. CNL won't compile with this combination of flags, something
I will have to fix. If you're able, you can work around this problem by
removing either the -Werror or -Wshadow flag. However, that's not a
recommended solution in the long-run.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/johnmcfarlane/cnl/issues/619#issuecomment-639810074,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AENYZZ6YN7II75T5RK6CH5LRVFLFLANCNFSM4NTQO4WQ
.

Thanks!
I've applied a potential fix. I'd be grateful to know whether it fixed your problem.
Are you saying that the library is installed under /usr locally where there's no problem but under /home on the server? If a header is found in a system search path (e.g. when specified by -isystem), then warnings are not emitted for that header. Try installing to a local directory locally and see if the warnings return.

Hi John,
Sorry for not getting back sooner.
Just to give you an idea of how I am building/installing the library (like I mentioned earlier, I am new to using conan and do not entirely understand it. I realized installing it on the server was proving to be quite a task with permission issues etc.):
<In /path/to/some/project/>
mkdir build
cd build
conan remote add johnmcfarlane/cnl https://api.bintray.com/conan/johnmcfarlane/cnl
conan install --build cnl ..
cmake ..
make

Does this look right to you? I am pretty darn sure I am missing/messing something, because I continue to see the issue with -Wshadow related error.
Also - do you mind updating the README/Installation instructions? I managed to use some hybrid from the README in this repo, and the README in the cnl_example repo.

Hi John,
Do you have to separately update the conan package with these updates you applied to take care of the warnings?
Thanks,
Priyanka.

Sorry, yes, that conan package version was out of date. I added a version 0.0.3/development with the fix.
I followed the instructions in the README and was not able to find a snag. Can you tell me which step was a problem and/or what error messages/problems you're seeing?

Hi John,
Thanks so much for updating the conan package. I am having some trouble getting updated version to build. I have tried both 0.0.3 and 0.0.4.
Here is what i see:
ankoleka@a483e7b9d582 build (ankoleka_dev)$ conan install --build cnl ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libstdc++11
compiler.version=11.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

cnl/0.0.3@johnmcfarlane/development: Not found in local cache, looking in remotes...
cnl/0.0.3@johnmcfarlane/development: Trying with 'conan-center'...
cnl/0.0.3@johnmcfarlane/development: Trying with 'johnmcfarlane/cnl'...
Downloading conanmanifest.txt completed [0.06k]
Downloading conanfile.py completed [0.91k]
cnl/0.0.3@johnmcfarlane/development: Downloaded recipe revision 0
benchmark/1.5.0@johnmcfarlane/stable: WARN: Package is corrupted, removing folder: /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/package/ebb103f769d6a6b15f941f0d31abaf0641053211
cnl/0.0.3@johnmcfarlane/development: Forced build from source
conanfile.txt: Installing package
Requirements
    benchmark/1.5.0@johnmcfarlane/stable from local cache - Cache
    cnl/0.0.3@johnmcfarlane/development from 'johnmcfarlane/cnl' - Downloaded
    gtest/1.10.0 from 'conan-center' - Cache
Packages
    benchmark/1.5.0@johnmcfarlane/stable:ebb103f769d6a6b15f941f0d31abaf0641053211 - Missing
    cnl/0.0.3@johnmcfarlane/development:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Build
    gtest/1.10.0:9c77c8e9c698f5cb54065de5b7cf579ce2a48699 - Missing

Installing (downloading, building) binaries...
ERROR: Missing binary: benchmark/1.5.0@johnmcfarlane/stable:ebb103f769d6a6b15f941f0d31abaf0641053211
ERROR: Missing binary: gtest/1.10.0:9c77c8e9c698f5cb54065de5b7cf579ce2a48699

benchmark/1.5.0@johnmcfarlane/stable: WARN: Can't find a 'benchmark/1.5.0@johnmcfarlane/stable' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=apple-clang, compiler.libcxx=libstdc++11, compiler.version=11.0, os=Macos
- Options: enable_exceptions=True, enable_lto=False, fPIC=True, shared=False
- Dependencies:
- Requirements:
- Package ID: ebb103f769d6a6b15f941f0d31abaf0641053211

ERROR: Missing prebuilt package for 'benchmark/1.5.0@johnmcfarlane/stable'
Try to build it from sources with "--build benchmark"
Or read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package"

The install command has changed. I've updated the . Try conan install --build missing ... Also, you may find the cnl_example project helpful. It's a very simple example of how you might use the CNL library as a dependency in another project.

Thank you so much for patiently answering all my questions. I have learnt a lot of new things through this exercise. And like I mentioned before, the CNL library has made integrating fixed point arithmetic very easy. I build software to simulate hardware systems, so fixed point is very crucial. CNL is just what I needed.

You're welcome. Feedback from users is essential to successful software so
thank you.
On Wed, 17 Jun 2020 at 13:21, priyankaankolekar<EMAIL_ADDRESS>wrote:

Thank you so much for patiently answering all my questions. I have learnt
a lot of new things through this exercise. And like I mentioned before, the
CNL library has made integrating fixed point arithmetic very easy. I build
software to simulate hardware systems, so fixed point is very crucial. CNL
is just what I needed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/johnmcfarlane/cnl/issues/619#issuecomment-645340574,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFTGN7G2GH2BOY2FDRXPYDRXCYN7ANCNFSM4NTQO4WQ
.

Hi John,
The changes in the conan package version 0.0.4 work absolutely fine on Linux. When I try the same setup on Mac it fails with this:
conan install --build missing ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libstdc++11
compiler.version=11.0
os=Macos
os_build=Macos
[options]
[build_requires]
[env]

benchmark/1.5.0@johnmcfarlane/stable: WARN: Package is corrupted, removing folder: /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/package/ebb103f769d6a6b15f941f0d31abaf0641053211
conanfile.txt: Installing package
Requirements
    benchmark/1.5.0@johnmcfarlane/stable from local cache - Cache
    cnl/0.0.3@johnmcfarlane/development from 'johnmcfarlane/cnl' - Cache
    gtest/1.10.0 from 'conan-center' - Cache
Packages
    benchmark/1.5.0@johnmcfarlane/stable:ebb103f769d6a6b15f941f0d31abaf0641053211 - Build
    cnl/0.0.3@johnmcfarlane/development:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Build
    gtest/1.10.0:9c77c8e9c698f5cb54065de5b7cf579ce2a48699 - Build

Installing (downloading, building) binaries...
benchmark/1.5.0@johnmcfarlane/stable: WARN: Build folder is dirty, removing it: /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211
benchmark/1.5.0@johnmcfarlane/stable: Copying sources to build folder
benchmark/1.5.0@johnmcfarlane/stable: Building your package in /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211
benchmark/1.5.0@johnmcfarlane/stable: Generator cmake created conanbuildinfo.cmake
benchmark/1.5.0@johnmcfarlane/stable: Calling build()
-- The C compiler identification is AppleClang <IP_ADDRESS>00033
-- The CXX compiler identification is AppleClang <IP_ADDRESS>00033
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Conan: called by CMake conan helper
-- Conan: called inside local cache
-- Conan: Adjusting output directories
-- Conan: Using cmake global configuration
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Conan: Adjusting fPIC flag (ON)
-- Conan: C++ stdlib: libstdc++11
-- Failed to find LLVM FileCheck
-- Found Git: /usr/local/bin/git (found version "2.25.0")
-- git Version: v0.0.0
-- Version: 0.0.0
-- Performing Test HAVE_CXX_FLAG_STD_CXX11
-- Performing Test HAVE_CXX_FLAG_STD_CXX11 - Failed
-- Performing Test HAVE_CXX_FLAG_STD_CXX0X
-- Performing Test HAVE_CXX_FLAG_STD_CXX0X - Failed
-- Performing Test HAVE_CXX_FLAG_WALL
-- Performing Test HAVE_CXX_FLAG_WALL - Failed
-- Performing Test HAVE_CXX_FLAG_WEXTRA
-- Performing Test HAVE_CXX_FLAG_WEXTRA - Failed
-- Performing Test HAVE_CXX_FLAG_WSHADOW
-- Performing Test HAVE_CXX_FLAG_WSHADOW - Failed
-- Performing Test HAVE_CXX_FLAG_WERROR
-- Performing Test HAVE_CXX_FLAG_WERROR - Failed
-- Performing Test HAVE_CXX_FLAG_PEDANTIC
-- Performing Test HAVE_CXX_FLAG_PEDANTIC - Failed
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS
-- Performing Test HAVE_CXX_FLAG_PEDANTIC_ERRORS - Failed
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32
-- Performing Test HAVE_CXX_FLAG_WSHORTEN_64_TO_32 - Failed
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING
-- Performing Test HAVE_CXX_FLAG_FSTRICT_ALIASING - Failed
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED_DECLARATIONS - Failed
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED
-- Performing Test HAVE_CXX_FLAG_WNO_DEPRECATED - Failed
-- Performing Test HAVE_CXX_FLAG_WD654
-- Performing Test HAVE_CXX_FLAG_WD654 - Failed
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY
-- Performing Test HAVE_CXX_FLAG_WTHREAD_SAFETY - Failed
-- Performing Test HAVE_CXX_FLAG_COVERAGE
-- Performing Test HAVE_CXX_FLAG_COVERAGE - Failed
-- Performing Test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX
-- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK
-- Performing Test HAVE_STEADY_CLOCK -- failed to compile
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Configuring done
-- Generating done
CMake Warning:
  Manually-specified variables were not used by the project:

    CMAKE_EXPORT_NO_PACKAGE_REGISTRY

-- Build files have been written to: /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211
Scanning dependencies of target benchmark
[  4%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o
[  9%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark.cc.o
[ 14%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_name.cc.o
[ 19%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_register.cc.o
[ 23%] Building CXX object src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o
[ 28%] Building CXX object src/CMakeFiles/benchmark.dir/colorprint.cc.o
[ 33%] Building CXX object src/CMakeFiles/benchmark.dir/commandlineflags.cc.o
[ 38%] Building CXX object src/CMakeFiles/benchmark.dir/complexity.cc.o
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_name.cc:15:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/include/benchmark/benchmark.h:172:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_api_internal.cc:
1:
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_api_internal.h:4:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/include/benchmark/benchmark.h:172:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/commandlineflags.cc:15:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/commandlineflags.h:4:10: fatal error: 'cstdint' file not found
#include <cstdint>
         ^~~~~~~~~
1 warning and 1 error generated.
make[2]: *** [src/CMakeFiles/benchmark.dir/commandlineflags.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
1 warning and 1 error generated.
1 warning and 1 error generated.
make[2]: *** [src/CMakeFiles/benchmark.dir/benchmark_api_internal.cc.o] Error 1
make[2]: *** [src/CMakeFiles/benchmark.dir/benchmark_name.cc.o] Error 1
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_register.cc:15:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_register.h:4:10: fatal error: 'vector' file not found
#include <vector>
         ^~~~~~~~
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark.cc:15:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/include/benchmark/benchmark.h:172:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_runner.cc:15:
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_runner.h:18:
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/benchmark_api_internal.h:4:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/include/benchmark/benchmark.h:172:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~
warning: include path for stdlibc++ headers not found; pass '-stdlib=libc++' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/colorprint.cc:15:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/colorprint.h:4:10: fatal error: 'cstdarg' file not found
#include <cstdarg>
         ^~~~~~~~~
In file included from /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/src/complexity.cc:18:
/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/include/benchmark/benchmark.h:172:10: fatal error: 'algorithm' file not found
#include <algorithm>
         ^~~~~~~~~~~
1 warning and 1 error generated.
make[2]: *** [src/CMakeFiles/benchmark.dir/complexity.cc.o] Error 1
1 warning and 1 error generated.
1 warning and 1 error generated.
1 warning and 1 error generated.
1 warning and 1 error generated.
make[2]: *** [src/CMakeFiles/benchmark.dir/colorprint.cc.o] Error 1
make[2]: *** [src/CMakeFiles/benchmark.dir/benchmark.cc.o] Error 1
make[2]: *** [src/CMakeFiles/benchmark.dir/benchmark_runner.cc.o] Error 1
make[2]: *** [src/CMakeFiles/benchmark.dir/benchmark_register.cc.o] Error 1
make[1]: *** [src/CMakeFiles/benchmark.dir/all] Error 2
make: *** [all] Error 2
benchmark/1.5.0@johnmcfarlane/stable:
benchmark/1.5.0@johnmcfarlane/stable: ERROR: Package 'ebb103f769d6a6b15f941f0d31abaf0641053211' build failed
benchmark/1.5.0@johnmcfarlane/stable: WARN: Build folder /Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211
ERROR: benchmark/1.5.0@johnmcfarlane/stable: Error in build() method, line 68
	cmake.build()
	ConanException: Error 2 while executing cmake --build '/Users/ankoleka/.conan/data/benchmark/1.5.0/johnmcfarlane/stable/build/ebb103f769d6a6b15f941f0d31abaf0641053211/.' '--' '-j8'

Would you mind taking a look?
Thanks
Priyanka.

For all Clang variants I need to edit the test/cmake/common.cmake immediately after first line as follows:
include(ExternalProject)
include(cmake/toolchain/clang.cmake)

Thus the compiler specific options have to be included.
In OSX I can not use libstdc++11 with Clang compiler. Not with apple-clang or with llvm clang. The errors you are experiencing are due to mismatch between standard headers and libraries.
For apple-clang compilation the conan profile should be as follows. For me this is the default profile on Mac:
[settings]
os=Macos
os_build=Macos
arch=x86_64
arch_build=x86_64
compiler=apple-clang
compiler.version=11.0
compiler.libcxx=libc++
compiler.cppstd=14
build_type=Release
[options]
[build_requires]
[env]

Then for clang-10, which you can get from homebrew (brew install llvm). I call this clang-10 profile on Mac:
[settings]
os=Macos
os_build=Macos
arch=x86_64
arch_build=x86_64
compiler=clang
compiler.version=10
compiler.libcxx=libc++
build_type=Release
[options]
[build_requires]
[env]
CC=/usr/local/opt/llvm/bin/clang
CXX=/usr/local/opt/llvm/bin/clang++

Then build and install the conan dependencies to your project as:
$ conan install --build=missing --profile=<profile-you-want-to-use> <path_to_cnl_project>

Depending which compiler (profile) I want to use.
In all platforms if you are using anything else than default compiler you have to set the CC and CXX environment variables accordingly as conan profile only controls the compilation of conan packages. Not CNL.
$ export CC=/usr/local/opt/llvm/bin/clang
$ export CXX=/usr/local/opt/llvm/bin/clang++

And then configure:
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14 -DCNL_SANITIZE=OFF -DCMAKE_PROJECT_cnl_INCLUDE:FILEPATH="$(pwd)"/conan_paths.cmake <path_to_cnl_project>

Notice that for all Clang variants For all Clang variants I need to turn the CNL_SANITIZE=OFF. CXX_STANDARD=17 will issue some errors due to deprecated features.
Naturally install directory can be changed wherever you want it by passing -DCMAKE_INSTALL_PREFIX=some-directory-path in the previous configuration step.
And more:
gcc-9 profile on mac and gcc-9 installed from homebrew:
[settings]
os=Macos
os_build=Macos
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=9
compiler.libcxx=libstdc++11
build_type=Release
[options]
[build_requires]
[env]
CC=/usr/local/bin/gcc-9
CXX=/usr/local/bin/g++-9

clang-10 profile on Linux
[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=clang
compiler.version=10
compiler.libcxx=libstdc++11
compiler.cppstd=14
build_type=Release
[options]
[build_requires]
[env]
CC=/usr/bin/clang-10
CXX=/usr/bin/clang++-10

Thus the correct steps are:
$ git clone https://github.com/johnmcfarlane/cnl.git
$ cd cnl
$ mkdir cmake-build-clang
$ cd cmake-build-clang
$ conan install --build=missing --profile=default ..
$ cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PROJECT_cnl_INCLUDE:FILEPATH="$(pwd)"/conan_paths.cmake ..
$ cmake --build . --target test-all
$ ctest -R test-unit

If you experience compilation errors... start from scratch
$ rm -rf *
$ conan remove gtest/1.10.0
$ conan remove benchmark/1.5.0
$ conan install --build=missing --profile=default ..

Hope this helps.
And finally. Conan profiles can be edited manually in .conan/profiles directory.

@priyankaankolekar do @hbe72's notes help at all? Also, I noticed in the README.md that there is a command in the instructions which might not apply to OS X:
conan profile update settings.compiler.libcxx=libstdc++11 default

If you are following this line, you might end up with the wrong standard library. I've really no idea. Just a thought.
Also, while I don't have access to OS X hardware, if you can produce an exhaustive list of repo steps, I can maybe reproduce this in Travis-CI.

Thank you @hbe72. These instructions worked.
@johnmcfarlane - thank you for updating the README.

@priyankaankolekar you are welcome. I'll close this issue now. Note that 0.0.6 is now the latest release.


Documentation

The component looks awseome, however, the documentation is lacking. Do you have plans for making a more in-depth "how-to" for the component?

Also: Is it possible to see the source of
https://demark-pro.github.io/react-booking-calendar/
?

Hi. I've already started writing the documentation here. I will try to create a page with examples and complete documentation shortly.


[BEAM-3074] Serialize DoFns by portable id in Dataflow runner.

DESCRIPTION HERE

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand:

[ ] What the pull request does
[ ] Why it does it
[ ] How it does it
[ ] Why this approach

[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Gradle failure seems unrelated.
Jenkins: run python postcommit

Ping @kennknowles This should be quite the easy review. Any comments?

I believe it and LGTM. Is there a Python equivalent of run Dataflow ValidatesRunner? Or what coverage is there?

I tested this by patching the change internally on the local runner.
Jenkins: run PythonPostCimmt

Run Python PostCommit

We should get some public coverage. Anyhow if any job at all, like an example E2E then I am satisfied. And TBH if it doesn't break the build again LGTM.

Run Python PostCommit

Run Python PostCommit

Indeed Python SDK PostCommit found I was not guarding against not using the Fn API. Fixed, all passes now.


Continuos login request and 401 status using iPhone iOS with Safari

Checklist

Have you pulled and found the error with jc21/nginx-proxy-manager:latest docker image?

Yes

Are you sure you're not using someone else's docker image?

Yes

Have you searched for similar issues (both open and closed)?

Yes

Describe the bug
I'm trying to create a proxy to block access to Frigate using the htaccess authentication, it goes very well but if I try to login by an iPhone it ask me to login, reading the logs I see that every time it ask me to login it there is a row wit 401 status, with Android or Windows I don't have that trouble.
Nginx Proxy Manager Version
v2.10.4 © 2023
To Reproduce
Steps to reproduce the behavior:

create an Access List with name Frigate, check Satisfy Any
Click on Authorization tab and add a user with password
Click on Access and insert Allow <IP_ADDRESS>/24 and Deny All, than click SAVE
Create a new proxy, insert a valid dns on your server, sheme http, forwart yo your frigate ip address port 5000, enable block exploit and websochet support
Under SSL tab check all and insert dns name inserted on step 4
Save
Try from iPhone/iPad with Safari, it asks for username and password, insert it and log in, when you try to change page or it reloads, you must insert again username and password, reading logs I've a lot of:
[29/Aug/2023:21:47:15 +0000] - - 401 - GET https my.domain.private.com "/live/jsmpeg/cam" [Client <IP_ADDRESS>] [Length 176] [Gzip -] [Sent-to <IP_ADDRESS>] "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) EdgiOS/116.0.1938.56 Version/17.0 Mobile/15E148 Safari/604.1" "-"
[29/Aug/2023:21:47:21 +0000] - - 401 - GET https my.domain.private.com "/live/jsmpeg/cam" [Client <IP_ADDRESS>] [Length 176] [Gzip -] [Sent-to <IP_ADDRESS>] "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) EdgiOS/116.0.1938.56 Version/17.0 Mobile/15E148 Safari/604.1" "-"
[29/Aug/2023:21:47:27 +0000] - - 401 - GET https my.domain.private.com "/live/jsmpeg/cam" [Client <IP_ADDRESS>] [Length 176] [Gzip -] [Sent-to <IP_ADDRESS>] "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) EdgiOS/116.0.1938.56 Version/17.0 Mobile/15E148 Safari/604.1" "-"
[29/Aug/2023:21:47:33 +0000] - - 401 - GET https my.domain.private.com "/live/jsmpeg/cam" [Client <IP_ADDRESS>] [Length 176] [Gzip -] [Sent-to <IP_ADDRESS>] "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) EdgiOS/116.0.1938.56 Version/17.0 Mobile/15E148 Safari/604.1" "-"

Expected behavior
Just I want to make a proxy server with basic_auth between users and frigate, frigate don't use https and it haven't authentications support, I need to use it with Safari on iOS
Operating System
iOS 16.x and iOS 17.0 beta

did you try to reproduce it? the trouble is still on


VoiceMailPortalStack fails with InvalidParameterException: A domain must be associated with this user pool. error

I m following this doc to configure voicemail for connect and I have given user pool domain prefix as xy-dev and it successfully creates CopyLambdaArtifacts, VoiceMailStack stacks but it fails in VoiceMailPortalStack creation with InvalidParameterException: A domain must be associated with this user pool. error during customizeUserPool. I tried deploying my stack in us-west-2. During rollback I am getting an error The following resource(s) failed to delete: [UserPoolDomain]. and  User pool us-west-2******* does not exist. in VoiceMailStack

It is because I used the old template please update links in this doc so that next one won't get lost and waste their time in figuring out what went wrong

Hi,
Thank you for making me aware of an outdated url. I will get that fixed. For the user pool domain, those are globally unique so the stack failed to create due to the domain not being unique. We are working on making this error more obvious.


housekeeping#1: removed a function from EDA with pandas notebook and add a new notebook

modified notebook: removed the describe function from EDA with pandas notebook
initial commit- add notebook on first assignment

no conflicts with the base branch. Okay to merge.


Fix 1 line shift in stack traces

For example:
14:05:18  W2   error   <IP_ADDRESS>	POST	/api	500
500 TypeError: Cannot destructure property 'token' of 'session' as it is undefined.
  method (/application/api/example.1/getClientInfo.js:7:13)
  Procedure.invoke (/node_modules/impress/lib/procedure.js:76:22)
  HttpChannel.rpc (/node_modules/metacom/lib/channel.js:247:27)
  processTicksAndRejections (internal/process/task_queues.js:95:5)

while getClientInfo.js have destructuring at line 6
({
  access: 'public',
  method: async () => {
    const { uuid, session, client } = context;
    const { ip } = client;
    const { token, accountId } = session;
    return { result: { ip, token, accountId, uuid } };
  },
});

Everything works well as of now


Make re_path -> path fixer convert include()s with unterminated regexes

Fixes #263.
Now that the blocking issue is resolved, here is a patch! Let me know if you need me to make some adjustments.
PS: I needed the removesuffix utility so I took the one from the PEP 616 similarly to what you probably did for the removeprefix one.

Everything here looks logical but will double review tomorrow...

ofc, no rush. Thanks for the quick review :raised_hands:
I've juste rebased on main.


Proposal for: Index out of range exception

Description
Using the method func model(_ indexPath: IndexPath) throws -> Any of CollectionViewSectionedDataSource I received few crash reports because of Index out of range.
The description of the method says:

Returns model at index path. In case data source doesn’t contain any sections when this method is being called, RxCocoaError.ItemsNotYetBound(object: self) is thrown.

I was wondering if the library can help also with the out of range error.

Hi @serluca ,
I think it's consistent with Swift to have index out of range errors be fatal. You can always create your own convenience wrapper if you like.

HI @kzaher
Thanks for getting back to me, you are right, it's better to keep the library consistent with Swift


.gitsubmodules

Problem
The git submodules file is still included.
This means if you want to share the archive and push to another repo, you will get the submodules even though they are redundant.
Suggestion
Exclude it?

It can be excluded it via .gitattributes and export-ignore.


Introduce a unix module and implement $unix:umask

Resolves #681

@xiaq Do you prefer people push PR updates as deltas (i.e., standalone commits) or forced pushes after squashing the update into the previous commit? I'm asking because I noticed you merged a couple of my earlier PRs without squashing the subsequent change(s) I made in response to your review feedback. Which is not how other projects typically handle pull-request deltas made as a result of review feedback.

@xiaq, I've addressed all of your points with one exception. You made two contradictory recommendations with regarding to the unix: namespace on non-UNIX platforms. I have tentatively decided it makes more sense to make the namespace visible on non-UNIX platforms. Adding a $unix:usable variable makes it easy, and clear, to determine if that namespace is usable. The original approach of creating an empty namespace required doing == 0 (count (keys $unix:)) to determine if the namespace was usable. The $unix:usable var means any Elvish program can safely do use unix then if (not $unix:usable) { echo error message; exit 123 }.

My introduction of the $unix:usable bool is also meant, obviously, to set a precedent. This makes it easy for an Elvish program to determine if it is running on a non-UNIX platform without resorting to considerably more complicated mechanisms such as comparing the $platform:os var against a list of acceptable values. The intent is to make it possible to introduce other optional namespaces such as windows: (or win:) that Elvish programs can easily, and clearly, test if they are usable.

Re. making it easy for Elvish code to decide whether the unix module is available: you can introduce a $platform:is-unix variable instead.
Re. preference of how you push code: I don't mind, since when merging a PR in GitHub you can optionally squash all the commits. When I see people pushing commits that say "address PR feedback" I'd use "sqush and merge"; when I see people force-push I'd use "rebase and merge".

Re. making it easy for Elvish code to decide whether the unix module is available: you can introduce a $platform:is-unix variable instead.

SGTM. I chose the current solution because it localizes the var for determining the usability of a module to that module. But given the existence of the platform module it is also reasonable to place equivalent vars in that module. I'll create an independent PR to do that and also introduce a $platform:is-windows variable at the same time since those are the cases of greatest interest at this time.

@xiaq, Please take another look. I've rebased on the recent changes to the master branch but otherwise the changes only addressed your most recent feedback.

It's correct, but a small nitpick: use a RWMutex to allow concurrent reads.

That would be incorrect in this instance since the Get() method mutates the state. Allowing concurrent readers means that one of them might see, and return, the transitory zero value.

That would be incorrect in this instance since the Get() method mutates the state. Allowing concurrent readers means that one of them might see, and return, the transitory zero value.

Oops, you are right!
Please format the files with goimports. You can format all Go files with this Elvish command:
goimports -w **.go

If you don't like the option of running goimports when the editor saves files, I'd suggest that you set up some Git commit hook to run this.

I ran goimports. Please squash merge.
P.S., I've gone ahead and added a write hook to my Vim config. The problem with that approach is that if I edit a Go source file using some other program then goimports won't automatically be run. How would you feel about adding a make style build target that runs goimports and prettier if they are available?

Also, I just installed prettier and ran it via prettier --tab-width 4 --prose-wrap always --write **.md. It modified six files :smile:

@krader1961 I introduced a make style target, enjoy :)
A few more nitpicks on the PR, but I'll merge it anyway and address myself:

The godoc comment for the package should say clearly that it introduces an Elvish namespace;
The godoc comment block for an exported symbol should always start with the exported symbol itself.

Also, I am not sure what the test case in unix_test.go is supposed to do: currently it verifies that the unix: module has at most 1 symbol; that number will simply need to be bumped when it gets more symbols, which seems repetitive and not very useful to me.
Do you have a specific failure mode in mind that this test case is supposed to catch? I'll remove it if it's not clear why it is there.

Also, I am not sure what the test case in unix_test.go is supposed to do: currently it verifies that the unix: module has at most 1 symbol; that number will simply need to be bumped when it gets more symbols, which seems repetitive and not very useful to me.

That's leftover from when I intended to make it possible to use unix even on non-unix systems. It simply ensures that the namespace isn't empty -- which it would have been on non-unix systems. Nuke it.


Settings Search

Description
This PR adds support for searching settings in CE's settings, it works very similar to the way System Settings searches.
Related Issues

close #1309

Checklist

[x] I read and understood the contributing guide as well as the code of conduct
[x] The issues this PR addresses are related to each other
[x] My changes generate no new warnings
[x] My code builds and runs on my machine
[x] My changes are all related to the related issue above
[x] I documented my code
[x] Code is clean
[x] Highlighted text of search
[x] Fix grouping issue

Screenshots
https://github.com/CodeEditApp/CodeEdit/assets/128280019/f06a28f4-24c4-4c09-839e-7ff950d9833b
Extra notes
I've updated the docs for adding a new setting so that it appears in the search results

You'll notice that:

The text is aligned with the parent item's label.
The child item itself is selectable.
There is only one parent item, in yours there is a parent for every child

@luah5 :
Registrazione.schermo.2023-06-13.alle.12.55.26.mov

It would be possible for everyone in the same place to group them.
When clicked, on the text it should open the place where it is which happens, but you don't understand where that text is, it would be possible to make it flash or something similar to how android does when you search for something in the search bar settings.

Unfortunately, @Angelk90, it would be near-impossible to do number 2, as the way my code is structured with getting settings uses the Models not the Views.

@Angelk90 I'd agree with out that it should probably flash or jump out at you in some way. System settings doesn't do this though so we might save this for another PR. Regardless, my guess is It is selecting all the related items because they all point to the same location, so they are all selected. We need to think of a workaround to this so only the item that is clicked is selected.

@Angelk90 I'm very aware of "grouping" issue I have already noted this down in this PR's description.

@luah5 When there is no search text input, the menu item color needs to be primary. It looks like it is defaulting to secondary. It should only be secondary when there is text input into the search field.

So, I'm putting this PR back into Draft because as highlighted by @Wouter01's review comments something has to happen with naming. I'll post more in the discord, regarding what progress I'm making.

Nice work! I noticed some issues:

Tab selection state isn't kept

Could you show a video, does the tab selection need to be kept across sessions with UserDefaults?

I should be able to go through the search results by pressing the up and down arrow keys

Re implementing that feature makes the search results group again

It is difficult to search for settings because the search keywords don't match the "real" labels of the settings

Fixed.

This is a good base, but I think it needs improvements. I strongly suggest using settings labels instead of variable names as keywords. This is what will need to happen anyway. Not doing that now is a bit pointless, as the work from this PR would be removed later on. I would also like to avoid complaints from users about search not being accurate / predictable

Fixed.

@luah5 Several things:

The text size is too small. Please use the original text size.
The default color of main navigation items is too light.
Result items text should line up with main items text. Give it a little more left spacing.

@luah5 Several things:

The text size is too small. Please use the original text size.

Fixed, I'm not sure what happened though.

The default color of main navigation items is too light.

New: Right, Old: Left
I can't see a difference, but if you were referring to the text, I have fixed that.

Result items text should line up with main items text. Give it a little more left spacing.

Fixed in the latest commit

Font size and text color are still incorrect.

@Angelk90 Not reproducable, please check that you are on the latest commit.

@luah5 Several things:

The text size is too small. Please use the original text size.
The default color of main navigation items is too light.
Result items text should line up with main items text. Give it a little more left spacing.

I just realized this is because of the sidebar size system setting. Disregard this.
This looks like it was addressed. Thanks!

@luah5 :
Latest commit version, as you can see when I click on an element then it loses focus because the focus is on the input field.
Problem with font or size, looks weird.
mac os ventura.
Registrazione.schermo.2023-07-10.alle.15.50.34.mov

Fixed :)

@luah5 : Is it normal that it loses focus when I click?
https://github.com/CodeEditApp/CodeEdit/assets/20476002/81eae85e-7cb8-424b-b61f-fcee50311afd

That is not normal, and I cannot reproduce it, what version of macOS are you on?

I genuinely have no clue what's happening maybe a macOS bug. As you can see in this video the same issue doesn't occur on my machine, also check you are on the latest version.
https://github.com/CodeEditApp/CodeEdit/assets/128280019/16821687-9fcb-44b1-a65e-37bbed60f4b3
Thanks for the report though, I appreciate it!

Where are we on this PR? Is it ready to be approved? Is there anything pending revision?

@austincondiff, I'm just waiting for it to be reviewed.

What is the status on this PR? We need to either finish it or close it. There is a lot of good work here so I'd rather push it over the finish line if we can.

What is the status on this PR? We need to either finish it or close it. There is a lot of good work here so I'd rather push it over the finish line if we can.

Sorry for the recent inactivity, I'll try to get this finished with my limited time at the moment. Then this PR can be merged.

I would love to have this PR merged, could some people please review this PR?

@luah5 can you fix the conflict with CodeEdit.xcodeproj/project.pbxproj?
Then it should be fine for re-review.

@luah5 can you fix the conflict with CodeEdit.xcodeproj/project.pbxproj? Then it should be fine for re-review.

sure

just fixed the merge conflicts, if a reviewer has time, please review this PR, thanks!

@luah5 FYI, shorthand_operator should not trigger if you use Text() + Text().
see https://github.com/realm/SwiftLint/issues/4936, https://github.com/realm/SwiftLint/issues/4953 for more information.

In the interest of preserving the work that has been done and not letting this PR become stale, I merged this PR. For those that requested changes to this PR, feel free to open follow-up PR's for these changes.


Support .nvmrc

It would be nice if setup-node understood an .nvmrc file (even if it does not use nvm under the hood, the idea is the node-version is just the contents of the file).
If GitHub Actions as a whole could read the contents of a file as part of an expression, I could do something like
uses: setup-node@v1
with:
  node-version: {{ contents(.nvmrc) }}

But I don't know where to log that type of feature request!
Perhaps '.nvmrc' could be used as a special placeholder, so that:
uses: setup-node@v1
with:
  node-version: '.nvmrc'

Instructs this action to read the contents and treat the contents as the desired version?

If GitHub Actions as a whole could read the contents of a file as part of an expression

I think its probably unlikely we're going to expand our expression parsing to that degree - in general computation isn't supposed to happen there and we want to discourage moving in that direction, and keep that more towards just reading existing variables. Note that you could do something like the following here:
run: nvmrc=$(cat .nvmrc)

uses: setup-node@v1
with:
  node-version: $nvmrc

Perhaps '.nvmrc' could be used as a special placeholder

I'm interested in this option. We're looking at doing something similar in setup-dotnet: https://github.com/actions/setup-dotnet/pull/15. I see a couple options here:

If there's a .nvmrc at the root of the repo (or the current working directory) and no node-version specified, automatically use the version in the .nvmrc file. Maybe have a variable that allows you to turn this on or off.
Allow node-version to be a path to a .nvmrc file.
Don't allow this option.

@chrispat, any thoughts on this one? I think maybe we should establish a pattern here and with setup-dotnet for similar requests (I'm sure node and dotnet aren't the only tools with config files that can specify versions).

Thanks for the top about just using an output, that makes sense and is good enough for me, though the simpler developer experience would be nice;  maybe it's just worth a setup-npm action?

I see a couple options here:

If there's a .nvmrc at the root of the repo (or the current working directory) and no node-version specified, automatically use the version in the .nvmrc file. Maybe have a variable that allows you to turn this on or off.
Allow node-version to be a path to a .nvmrc file.
Don't allow this option.

if it's helpful in making the decision, travis-ci has the behavior of 1. and is very often sufficient for my projects. it also has the benefit of removing the need to keep the versions in sync for what is intended for use with local development and the version intended for CI since there is a single source of truth rather than distributing across multiple files.

The following also works well.
    - name: Read .nvmrc
      run: echo ::set-output name=NVMRC::$(cat .nvmrc)
      id: nvm

    - name: Setup node
      uses: actions/setup-node@v1
      with:
        node-version: '${{ steps.nvm.outputs.NVMRC }}'

Set an output parameter: set-output | Development tools for GitHub Actions - GitHub Help
My workflow test.yml | peaceiris/actions-hugo

Has there been any progress towards natively supporting .nvmrc instead of having to use set-output?

We got the following issue in the virtual environments repo: https://github.com/actions/virtual-environments/issues/4
What's the latest on the plans to support .nvmrc? Is it on the roadmap?

I think the action could be updated to support .nvmrc as the default if no version is specified in the node-version parameter.  At the moment we do not have anyone we an assign to do that work in the action but it does feel like something we could code review as a community contribution.

I chatted with @bryanmacfarlane about this. I think for now we're going to close this issue, and instead move forward with the recommendation to just add nvm to the image as is requested in the virtual environments repo. https://github.com/actions/virtual-environments/issues/4

cating an nvmrc file and using that version should be pretty simple, right?
If you're not already using nvm under the hood to find which node version to install... Why add another dependency to the mix?

Yeah, pretty straight forward and we haven't closed so we'll get to it at some point.  Note that in your example above you should add shell: bash to your first run step if you want to ensure it works on windows as well

Wait, this is not supported yet? Well, good to know now 🤷🏻♂
I really hope this will be getting implemented soon.

Update/Add nvm · Issue #4 · actions/virtual-environments was closed and nvm will be available on Actions runners 🚀

Update/Add nvm · Issue #4 · actions/virtual-environments was closed and nvm will be available on Actions runners 🚀

I'm so happy about this.

Awesome! How can we know once it's deployed and we can remove custom actions we had to support nvm? Thanks 🙏

Sorry for the late reply here, you can always follow along over at https://github.com/actions/virtual-environments
For instance, nvm was added some time back to the Ubuntu images :)
https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-README.md
I think we can close this issue @bryanmacfarlane

I don't think having NVM on the images is the same thing given NVM does not support Windows.  I think the best option would be to have this actions support the .nvmrc.  If someone would like to raise a PR for it we could likely accept it.

@chrispat can I pick this up? Would love to know if you have any thoughts in mind or guidance w.r.t to this.

@sangeeth96 feel free to open a PR.  My general expectation would be that if node-version is not supplied the action would look for a .nvmrc in the root of the workspace and attempt to use the value from that.

I don't think having NVM on the images is the same thing given NVM does not support Windows. I think the best option would be to have this actions support the .nvmrc. If someone would like to raise a PR for it we could likely accept it.

On windows you should be using nodist, which then makes this a non issue as nodist doesn't require all the messing about like nvm does.

Guys sorry to ask, but... what is the current correct way to let setup-node use the .nvmrc specific node version? 😅
I got lost and I can't find it in the README

Guys sorry to ask, but... what is the current correct way to let setup-node use the .nvmrc specific node version? 😅
I got lost and I can't find it in the README

@damianobarbati, like this:
jobs:
  build:
    name: Build
    runs-on: ubuntu-18.04
    steps:
      - name: Clone repository
        uses: actions/checkout@v2
        with:
          persist-credentials: 'false'
      - name: Get Node.js version
        id: nvm
        run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc)
      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: ${{ steps.nvm.outputs.NODE_VERSION }}

@damianobarbati, like this:
jobs:
  build:
    name: Build
    runs-on: ubuntu-18.04
    steps:
      - name: Clone repository
        uses: actions/checkout@v2
        with:
          persist-credentials: 'false'
      - name: Get Node.js version
        id: nvm
        run: echo ::set-output name=NODE_VERSION::$(cat .nvmrc)
      - name: Setup Node.js
        uses: actions/setup-node@v1
        with:
          node-version: ${{ steps.nvm.outputs.NODE_VERSION }}

@dessant thanks x1000!
It's so verbose though, is there any intention to make it slimmer with an option in setup-node action?

@dessant thanks x1000!
It's so verbose though, is there any intention to make it slimmer with an option in setup-node action?

@damianobarbati If you're using GitHub runners, the Linux and macOS machines have had nvm installed by default for quite some time.  You can see a full list of supported software here.  I've stopped using setup-node ever since.

@damianobarbati If you're using GitHub runners, the Linux and macOS machines have had nvm installed by default for quite some time.  You can see a full list of supported software here.  I've stopped using setup-node ever since.

@chingc are you sure? I read the article and I'm using Ubuntu 20.04 in my actions, but
      - name: check
        run: |
          nvm install < .nvmrc
``
results in command not found

@chingc are you sure? I read the article and I'm using Ubuntu 20.04 in my actions, but
      - name: check
        run: |
          nvm install < .nvmrc
``
results in command not found

@damianobarbati For reasons, nvm only works under a login shell (e.g. shell: bash --login {0})... so something like
- name: npm test
  shell: bash --login {0}
  run: nvm install && npm ci && npm test

... might be what you want. If your run script is complex or multiple lines, you might want to pass bash other flags for safety too (e.g. -e, -o pipefail, -O inherit_errexit), or move it out to an external script.
Unlike actions/setup-node, nvm's changes are only active for the duration of the run script, so successive runs that need the same Node environment would want to start with nvm use.

@damianobarbati For reasons, nvm only works under a login shell (e.g. shell: bash --login {0})... so something like
- name: npm test
  shell: bash --login {0}
  run: nvm install && npm ci && npm test

... might be what you want. If your run script is complex or multiple lines, you might want to pass bash other flags for safety too (e.g. -e, -o pipefail, -O inherit_errexit), or move it out to an external script.
Unlike actions/setup-node, nvm's changes are only active for the duration of the run script, so successive runs that need the same Node environment would want to start with nvm use.

Noticed errors weren't being caught when using shell: bash -l {0}
To make sure the GitHub Action fails correctly, make sure to use the -e flag so that bash exists if a command exits with a non-zero status:
shell: bash -e -l {0}

What I recently develpped to use the package.json engines
jobs:
  build:
    runs-on: ubuntu-latest

    name: node
    steps:
      - name: Checkout
        uses: actions/checkout@v2

      - name: Read package.json node and npm engines version
        uses: skjnldsv/read-package-engines-version-actions@v1
        id: package-engines-versions

      - name: Show node version number
        run: echo "Node version is ${{ steps.package-engines-versions.outputs.nodeVersion }}"

      - name: Show npm version number
        run: echo "Npm version is ${{ steps.package-engines-versions.outputs.npmVersion }}"

      - name: Set up node ${{ steps.package-engines-versions.outputs.nodeVersion }}
        uses: actions/setup-node@v2
        with:
          node-version: ${{ steps.package-engines-versions.outputs.nodeVersion }}

      - name: Set up npm ${{ steps.package-engines-versions.outputs.npmVersion }}
        run: npm i -g npm@"${{ steps.package-engines-versions.outputs.npmVersion }}"

      - name: Install dependencies & build
        run: |
          npm ci
          npm run build --if-present

      # ... etc

@peaceiris commented on 9 Oct 2019
The following also works well.
    - name: Read .nvmrc
      run: echo ::set-output name=NVMRC::$(cat .nvmrc)
      id: nvm

    - name: Setup node
      uses: actions/setup-node@v1
      with:
        node-version: '${{ steps.nvm.outputs.NVMRC }}'

Yet another variation. 👇 I guess no real advantages or disadvantages though.
    - name: Read .nvmrc
      run: echo NVMRC=`cat .nvmrc` >> $GITHUB_ENV

    - name: Setup node
      uses: actions/setup-node@v2
      with:
        node-version: ${{ env.NVMRC }}

Is this fixed with https://github.com/actions/setup-node/pull/338?

I declare it fixed!  I didn't say it, I declared it

If you got here from googling, let me tell you, that the newest and simplest way of reading the .nvmrc file and using it in actions/setup-node is with the node-version-file option:
  - name: Setup node
    uses: actions/setup-node@v2
    with:
      node-version-file: '.nvmrc'

Hi Everyone!
I am facing this problem when I am using .nvmrc file and reading it through using cat command or using node-version-file to get the version from it, this fails github action.
Using Setup Node:
github actions error :
Run actions/setup-node@v3
Node version file is not JSON file
Resolved .nvmrc as ��15.x
Attempting to download ��15.x...
Not found in manifest. Falling back to download directly from Node
Error: Unable to find Node version '��15.x' for platform linux and architecture x64.
Yaml Script:

name: Setup node
uses: actions/setup-node@v3
with:
node-version-file: ".nvmrc"

Using Cat command to read .nvmrc file:
github actions error:
Run actions/setup-node@v2
Attempting to download ��15.x...
Not found in manifest.  Falling back to download directly from Node
Error: Unable to find Node version '��15.x' for platform linux and architecture x64.
Yaml script:

name: Checkout repository
uses: actions/checkout@v2

name: Read .nvmrc
run: echo "##[set-output name=NODE_VERSION;]$(cat .nvmrc)"
id: nvm

name: Use Node.js ${{steps.nvm.outputs.NODE_VERSION}}
uses: actions/setup-node@v2
with:
node-version: ${{steps.nvm.outputs.NODE_VERSION}}

Thank you for the help :)

I recently added this to my action and publishing started failing. I'm still trying to understand if this is the root cause, but I believe that setting node-version-file causes registry-url to be empty, which I'm not sure is the expected behavior.
Let me know if there's a need to open a different issue about it.


Flash BeagleBone Black with GPIO program toggling an LED between high and low

Dod: Flash BeagleBone Black with GPIO program toggling a pin between high and low
This could just be a program written in cpp and ran after not neccessarily with the BuildRoot setup
Blockers: Research how to use libgpio on BeagleBone Black

https://github.com/Yettimania/myBBB

Moving to flashing the LED rather than GPIO, I can actually take a video if it flashing.

This is using the flashed image from https://github.com/zesoft23/morse-code-driver/issues/7 but a python program setting the led 1 -3 to flash!
https://youtu.be/xT14wDDH47I


[Feature] Disable Clock

Hi, how can I disable the panel clock? I only see the option to display the seconds.
https://prnt.sc/rQ2TvVeL9iSF

Hello, this feature will be considered in the later, and you can currently achieve the effect by custom css

css

Thank you very much for the reply.
I don't understand CSS, would you mind providing me with the CSS code I should use?


[FEATURE REQUEST] Light mode

I would like to work on this issue.
Please assign it to me.

Go ahead @rjwignar
I have assigned this to you.
I'm here for any assistance you need.
Thank you for your interest!

Thank you.
So far I've extended the UI to use light/dark mode according to the user's system preferences.
Right now I'm working on the light mode styling.

I should have a PR later today.
However, I'm not sure of the best way to proceed with the grid image for light mode:

I understand the white grid image is from @/assets/bg-grid.png, but I can't seem to modify the image color using code.
Do you know of a way to do this without adding a new image to the project?

This is looking good.
For the bg-grid.png, we can do 2 things, choose whichever option you like:

Leave it for now & open a separate issue for that.
I'll give you access to the Figma, you make a light-mode version of it and use it in the assets as well. Write logic to show respective versions when in light or dark mode.

I can't guarantee if I can replicate the exact effect you have in the original, but I can try making a light-version of it using the figma and include it in my PR.
Then depending on how you like it we can keep it remove it from the PR.
If sharing the figma requires an email you can share it to this email address<EMAIL_ADDRESS>


Convert GelfMessage into string required by createAmqpMessage

This is just an idea how to make the GelfMessageFormatter and AmqpHandler compatible (again).

Thanks!


Sign-Up Credentials in Kubernetes Deployment

More of a Suggestion
I have just deployed Mattermost with Kubernetes and everything is going good. I just want to ask that is there a way to change Sign-Up credentials (other than password) ??
I mean i want to make 'Full Name' field compulsory for new sign-ups.
Is there any way to do so ??
Am i missing something here ?

I don't understand what you want to do, but it doesn't seems to be Docker related ^^


Remove OAuth authentication for GitHub

Also, improve the error handling to be sure we can see what's happening when an exception occurs.

@Carlos-Muniz @kdmccormick These changes make the bot work well for the openedx organization.


Migrate to entry_point macro

Closes #230.

If you find the current status too annoying, please look at the original cosmwasm PR; CosmWasm/cosmwasm#701 (comment) and re-open this issue. I just accepted using this larger macro heading everywhere.

It's OK with me. Maybe the macro can be written in a way that has this check inside? (just curious)

Will create a new branch to migrate cw-plus to Rust 0.51.0, as there are a number of linting issues to deal with.

It's OK with me. Maybe the macro can be written in a way that has this check inside? (just curious)

Of course there is, the macro could also emit nothing if the "library" feature flag was set. Simon was worried that we would then be adding "magic" feature flag support into the macros, and said to do that in this repo. I see his point (make it explicit) and your point (make it easy)

Will create a new branch to migrate cw-plus to Rust 0.51.0, as there are a number of linting issues to deal with.

Sounds good. So, you will do that first and then rebase this on it? I will approve it, so as soon as CI passes, I am happy.

This was caused by thec check_contract dep being built from main istead of from a tag.
Changed it so we can merge this independently of the Rust 1.51.0 migration (than @ethanfrey).


CVE Vulnerabilities in 1.12.2

Hey, just want to bring a few CVE vulnerabilities to your attention that affect the latest version of kured:

Package: github.com/emicklei/go-restful/v3
Severity: high
Info: https://github.com/emicklei/go-restful/issues/497
Impacted versions: <v3.10.0

Package: go
Severity: high
Info: https://nvd.nist.gov/vuln/detail/CVE-2023-24537
Impacted Versions: < 1.19.8
Fixed in: 1.20.3, 1.19.8

Operating System
Severity: high
Package: openssl
Info: https://nvd.nist.gov/vuln/detail/CVE-2023-0464
Impacted versions: <3.0.8-r1
Fixed in: 3.0.8-r1

Operating System
Severity: medium
Package: openssl
Info: https://nvd.nist.gov/vuln/detail/CVE-2023-0466
Impacted versions: <3.0.8-r3
Fixed in: 3.0.8-r3

Operating System
Severity: medium
Package: openssl
Info: https://nvd.nist.gov/vuln/detail/CVE-2023-0465
Impacted versions: <3.0.8-r2
Fixed in: 3.0.8-r2

To fix those I think the following steps should be taken:

Update go-restful from v3.9.0 to v3.10.0
Rebuild package with latest go version and latest base image

Hey @s-bauer,
thanks for your issue. We will release a new version in the next few days. I think we can update go-restful before that. Do you want to open a PR?

@ckotzbauer Yea will have a look over the weekend and hopefully open a PR

Thank you @s-bauer!

Thank you @s-bauer!


[Autocomplete] A component is changing the default value state of an uncontrolled Autocomplete after being initialized with uncontrolled component

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
When using a basic Autocomplete setup like the following:
<Autocomplete
  defaultValue={initValue}
  options={options}
  freeSolo
  renderInput={(renderParams) => (
    <TextField
      {...renderParams}
    />
  )}
/>

Whenever the initValue changes, the value in the autocomplete does not update (which is correct behavior). But it does provide a warning in the console saying that I should be using a controlled component:
MUI: A component is changing the default value state of an uncontrolled Autocomplete after being initialized. To suppress this warning opt to use a controlled Autocomplete.
Expected behavior 🤔
In my situation, I do not want a controlled component, the reason the initValue is changing is because the user can update the field, submit the form, I will send that to the backend, the page will re-render and initValue will contain the updated value. defaultValue should ignore this change and not throw a warning at me, much like how a TextField works.
A workaround is to do something like this:
const [initValueState, initValueState] = useState(initValue);

return (<Autocomplete
  defaultValue={initValueState}
  options={options}
  freeSolo
  renderInput={(renderParams) => (
    <TextField
      {...renderParams}
    />
  )}
/>)

Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
npmPackages:
    @emotion/react: ^11.10.5 => 11.10.5
    @emotion/styled: ^11.10.5 => 11.10.5
    @mui/base:  5.0.0-alpha.104
    @mui/core-downloads-tracker:  5.10.12
    @mui/icons-material: ^5.10.9 => 5.10.9
    @mui/material: ^5.10.12 => 5.10.12
    @mui/private-theming:  5.11.7
    @mui/styled-engine:  5.11.8
    @mui/system: ^5.11.8 => 5.11.8
    @mui/types:  7.2.3
    @mui/utils:  5.11.7
    @types/react: ^18.0.27 => 18.0.27
    react: ^18.2.0 => 18.2.0
    react-dom: ^18.2.0 => 18.2.0
    typescript: ^4.7.3 => 4.7.3

I think @sai6855 resolved your issue. I am closing the issue.

@hbjORbj could we not close just yet? I have some follow ups

The warning is there to make you aware that even if you change the value, it'll be ignored. What's exactly the use case here? Why do you change the defaultValue?

@michaldudak
https://codesandbox.io/p/sandbox/sleepy-hugle-h9mo0l?file=%2Fsandbox.config.json
Here ya go

I can only see hydration errors in the console in this codesandbox:

Yeah im not too sure about those, maybe something with the template I copied. But if you just clear those and then change the value in the Autocomplete (its freeSolo) and hit Submit, the last warning under any hydration errors should be the warning you are looking for.

The warning is there to make you aware that even if you change the value, it'll be ignored. What's exactly the use case here? Why do you change the defaultValue?

In my case, I need to change the default value if the input is editable on another tab. An error doesn't make sense here; a warning may be more appropriate.

If you really need to change the defaultValue, you can force the component to unmount and remount with the new defaultValue. To do this, add the key prop equal to your defaultValue. When React sees a component with a new key, it creates a new instance of it.
<Autocomplete
  key={initialValue}
  defaultValue={initialValue}
  ...

If you really need to change the defaultValue, you can force the component to unmount and remount with the new defaultValue. To do this, add the key prop equal to your defaultValue. When React sees a component with a new key, it creates a new instance of it.
<Autocomplete
  key={initialValue}
  defaultValue={initialValue}
  ...

 Để thực hiện việc này, hãy thêm keyprop bằng defaultValue.


mod-admin-full: Allow odhcpd to be configured via LuCI

Add odhcp section configuration and per-interface odhcpd for v4.
Signed-off-by: Daniel Dickinson<EMAIL_ADDRESS>

I have something similar in the works which also is fully IPv6 capable. May I suggest that I create PR for my changes and we then pick the best of both?

Makes sense to me!

Similar PR here: https://github.com/openwrt/luci/pull/990

I like the changes in dhcp.lua. I think ifaces.lua is missing some features of odhcpd.

Marking this and #990 as 'needs update' to reflect desire to merge the two.

Closing as have taken a break from LEDE/OpenWrt development for various reasons, so will reopen when this is back on the radar.


Make controllers for both Unity XR and WebVR

This PR adds the ability to map controller button and axis inputs to the appropriate Unity XR input and WebVR controller, depending on which context the project is running.  Basically, it enables VR controllers to work between Unity and WebVR and fixes issue #233.
This involves change with how controllers work:

Removes WebVRManager and makes WebVRController a component of controller GameObject.  (This binding was done auto-magically previously, this is way more straightforward and easier to understand and work with).

Handness is now defined on this component.
Component now deals with applying appropriate transforms for rotation and position (rather than user script).
Button mapping configuration defined using scriptable object asset (we'll get into how that's done  down below)
Usage (as showcased in ControllerInteraction.cs example):

// Grab the WebVR controller component.
WebVRController controller = gameObject.GetComponent<WebVRController>();

// Check "Trigger" Input state.
if (controller.GetButtonDown("Trigger"))
{
    Debug.Log("Trigger is down!");
}

The Trigger action needs to be mapped to the appropriate Unity XR and WebVR controller inputs.  To do this, we have a WebVRControllerInputSettings scriptable object that is used to create a configuration.
We bundle a basic configuration for Left and Right hand controllers: LeftControllerMap and RightControllerMap respectively. You can make your own using Assets > Create > WebVRControllerInputSettings:

For each action, we define a WebVR Controller button or axis ID and Unity Input definition.  This is defined using Unity's Input Manager:

See Unity's XR Input docs https://docs.unity3d.com/Manual/OpenVRControllers.html to find the appropriate axis and button ID's to use.  In this case, we want to use Axis1D.PrimaryIndexTrigger, which corresponds with joystick button 14.

@cvan ready for another review, fixed review issues + nits.

@caseyyee let me know when you've addressed @delapuente's review feedback (excellent comments, btw :+1:). and I can take another look, test it, and we can merge this. let me know if you're stuck on anything or need a hand. otherwise, this looks very close to ready. great work, @caseyyee!

Closing in favor of #306.


Make BulkMutation Batch Size Configurable

Make BulkMutation Batch Size Configurable

I am a developer
Who wants to have the pipeline as stable as possible
So that I can focus on adding features instead of firefighting

Design & Implementation Notes
See Make BulkMutation Batch Size Configurable.
For brevity, it is included here too:
Upon checking our codebase, the BulkMutation maximum size is :
    /* maximum number of cells supported for each batch mutation */
    public static final int MAX_BATCH_SIZE = 10000;

→ iff we are still experiencing instability at this point, we take the following steps:
For the first iteration, we hard code it to 1,000 from 10,000.
Iff that yields (or indicates the possibility of) better resilience, we then:
We make MAX_BATCH_SIZE configurable, within the range 1-1_000_000.
We methodically try different batch sizes (probably using a binary search approach) until we get the best bang-for-buck

Note that the steps outlined we're not followed. The remit of this PR is to make the batch size configurable.


TypeError: BatchNormalization + Merge on GPU (ResNet)

When implementing an architecture similar to the ResNet50 example code, a TypeError is thrown due to the combination of BatchNormalization and merge layer. The error only occurs when the code is executed on a GPU. Here is a simplified script that should be able to reproduce the error:
from keras.datasets import mnist
from keras.models import Model
from keras.layers import Dense, Activation, Flatten, Input, merge
from keras.layers import Convolution2D, BatchNormalization
from keras.utils import np_utils

def conv_block(inp):
    x = Convolution2D(32, 1, 1)(inp)
    x = BatchNormalization(axis=1)(x)
    x = Activation('relu')(x)

    shortcut = Convolution2D(32, 1, 1)(inp)
    shortcut = BatchNormalization(axis=1)(shortcut)

    x = merge([x, shortcut], mode='sum')
    x = Activation('relu')(x)
    return x

def resnet():
    inputs = Input(batch_shape=(32,1,28,28))

    x = Convolution2D(64, 3, 3)(inputs)
    x = Activation('relu')(x)

    x = conv_block(x)

    x = Flatten()(x)
    x = Dense(10)(x)
    x = Activation('softmax')(x)

    model = Model(input=inputs, output=x)
    return model

def main():
    (X_train, Y_train), (X_test, Y_test) = mnist.load_data()

    X_train = X_train.reshape(X_train.shape[0], 1, 28, 28)
    X_test = X_test.reshape(X_test.shape[0], 1, 28, 28)

    Y_train = np_utils.to_categorical(Y_train, 10)
    Y_test = np_utils.to_categorical(Y_test, 10)

    model = resnet()

    model.compile(loss='mse', optimizer='sgd')
    model.fit(X_train, Y_train, validation_data=(X_test, Y_test))

if __name__ == "__main__":
    main()

When commenting out the line shortcut = BatchNormalization(axis=1)(shortcut), no error appears. Also, when setting the trainable  parameter of the first 8 layers to False, the script shows the desired behavior. Here is the complete error message:
TypeError: ('IfElse requires same types for true and false return values', GpuFromHost.0, Elemwise{second,no_inplace}.0, CudaNdarrayType(float32, 4D), TensorType(float32, 4D))

Any suggestions on how to solve this issue?

Does it work if you set device=gpu in the Theano flags/config? On my system I can reproduce your error when I set device=cuda but not with device=gpu.
Part of the problem, I think, is that device=cuda uses Theano's new GPU backend, while the Keras batch normalization code calls the cuDNN function from the old backend. Mixing the two backends gives problems for IfElse, apparently.

This seems strange, since I am using device=gpu in my config file. May it be worthwile to look into installing Theano's new GPU backend to solve this issue?

That's strange. Which version of Theano and Keras are you on?

I looked a bit further. You're right, it does indeed also go wrong with device=gpu on the current Theano and Keras development branches. I think this is a bug in Theano, but I made a little workaround for Keras that might solve the problem. It works for me, could you perhaps check if it works for you as well?

Yes, it works now. Thanks a lot for the quick fix!

I believe I have same problem.
IfElse error when using BathchNormalize, and no error when commenting out the BatchNormilize.
How can I install this fix ?
Newbie in Git, will appreciate an explanation.


Discovering other homekit devices.

Good morning,
I have just installed this and I cannot seem to get it to detect my lifix lights. those lights are not connected through home bridge but are straight to home kit. This seems like normal behaviour but I was wondering if there was an easy way for it to discover them without finding a plugin for each device on my network?
Thanks.

Homebridge (and config-x) can only see devices added to HomeKit by Homebridge. You could try to attach your lights through a Homebridge plugin instead (of the native solution) to be able to interact with both through HomeKit and Homebridge. The added benefit of then being able to interact with them through any further system connected to Homebridge again.

Perfect thanks for the clarification!!


Illegal instruction when running neon_convolution example

Output of 'strings libarm_compute.so | grep arm_compute_version': arm_compute_version=v18.03 Build options: {'opencl': '0', 'neon': '1', 'examples': '1', 'asserts': '0', 'debug': '0', 'Werror': '1', 'build': 'native'} Git hash=02c62c8030e7aca592b294396556a93c6bfb9f7a
Platform: Raspberry Pi 2
Operating System: Raspbian OS

Problem description: I've successfully installed computeLibrary on Raspberry Pi2 BUT when I run the neon_convolution example, I get "Illegal instruction". This happens in conv3x3.run() function. Could you please help?

You need an OS which is compiled for armv7 (Raspbian is compiled for armv6) See this other thread for more details

Thanks for replying
I read somewhere that armv6 does not support Neon and hence computeLibrary is unavailable.
But I have successfully built OpenCV with Neon flag on Raspbian OS. I've also included <arm_neon.h> and used Neon C intrinsics for some of my codes.
Could you please provide the clear reason for armv6 incompatibility?

As explained in the other thread, the only architectures supported are armv7 and later, for armv6 NEON is optional, so by tweaking the compiler flags you might manage to get it working on armv6.
But the recommended way is to use an armv7 distribution (You've got several available for Raspberry Pi)


Online applications editting

Second page of the online applications flow, which is the edit page. Staff should add details to the existing data, before they can complete processing of it.

Looks good! :+1:


"You added %1 shopping cart." resolve translation 2.2.6

"You added %1 to your shopping cart." ==> "You added %1 to your <a href=""%2"">shopping cart."
It's Work !!!

Bonjour,
La clé You added %1 to your shopping cart. est traduite mais pas celle avec un lien sur shopping cart :
You added %1 to your shopping cart.
Elle est utilisée sur module-checkout/view/frontend/templates/messages/addCartSuccessMessage.phtml


Make Krustlet VM preemptible

Add a flag, save money.

This might not be worth documenting as the default. The goal of these guides are to provide best practices towards production-readiness (once krustlet is stable, of course).
Preemptible instances can be terminated at any time. If the user has only one Krustlet node (like as what's described in the documentation here), this would result in all of their WebAssembly workloads shutting down with no recourse. I'm not sure that's something we'd want to recommend to first-time users.
I could see this as a separate topic guide, however, on what pre-emptible VM instances are and how it affects your workload.
Let us know your thoughts.

https://cloud.google.com/compute/docs/instances/preemptible


How did A3C/'v_batch' define?

Hi, I am wondering about the A3C.py, at line 53: R_batch[-1] = v_batch[-1]
The v_batch (I assumed it's value_batch) is defined as:
v_batch=self.criticNetwork.forward(s_batch).squeeze().to(self.device) later.
How will the if part work then?
if terminal:
            pass
        else:
            R_batch[-1] = v_batch[-1]

Many thanks to your torch code update:)

sorry,this code is a typo.
I wrote this code in reference to hongzimao/pensieve/sim/a3c.py,line232-235.
if terminal:
            R_batch[-1,0] = 0
 else:
            R_batch[-1,0] = v_batch[-1,0]

because R_batch is initialized to zeros tensor,I write pass in first condition.
you can see A3C.py line261.when len(r_batch)>=TRAIN_SEQ_LEN and video is not finished,end_of_video is false.After putting the exp to central_agent,terminal is false at line138.it will casuse to R_batch[-1] = v_batch[-1].
In original code(mao's version),he use cumulative rewards minus v_batch.
In mao's paper,he should use r + \gamma*v(s_{t+1}) - v(s_{t}).
There was some confusion,but I didn't realize it at the time.
now,I think the follwing code is correct for the case of cumulative rewards minus v_batch.
if terminal:
            pass
 else:
            R_batch[-1] = r_batch[-1]

thanks for asking.

sorry,this code is a typo.
I wrote this code in reference to hongzimao/pensieve/sim/a3c.py,line232-235.
if terminal:
    R_batch[-1,0] = 0
else:
    R_batch[-1,0] = v_batch[-1,0]

because R_batch is initialized to zeros tensor,I write pass in first condition.
you can see pensieve-pytorch.py line261.when len(r_batch)>=TRAIN_SEQ_LEN and video is not finished,end_of_video is false.After putting the exp to central_agent,terminal is false at line138.it will casuse to R_batch[-1] = v_batch[-1].
mao's code mean the reward for the last step at the end of the video is 0.
There was some confusion,but I didn't realize it at the time.
now,I think the follwing code is correct.
if terminal or not terminal:
    R_batch[-1] = r_batch[-1]

thanks for asking.

wow thanks for your quick reply!
it makes sense to me now^^


Build(deps-dev): Bump @babel/core from 7.24.5 to 7.24.7 (#5803)

Pull request opened by the merge tool on behalf of #5803

Merged in da6868028f2be2e5c191cf65ac25300ce9587f07


how to get detailed results about the codebooks and codes parameters

Could you please guide me on where to find detailed results about the codebooks and codes parameters for the quantized model ISTA-DASLab/Llama-2-7b-AQLM-2Bit-1x16-hf?

Hello @noforit !
If I understand your question, you are asking how to view parameters of codebooks and codes in quantized llayer.
Below is an example of how to do this for the quantized Llama-2-7b-AQLM-2Bit-1x16-hf  for mlp's gate_proj layer in transformer block 0.
quantized_model = AutoModelForCausalLM.from_pretrained(
    "ISTA-DASLab/Llama-2-7b-AQLM-2Bit-1x16-hf",
    torch_dtype="auto", device_map="auto", low_cpu_mem_usage=True,
)
print(quantized_model.model.layers[0].mlp.gate_proj.codes)
print(quantized_model.model.layers[0].mlp.gate_proj.codebooks)

If this is not what you were asking, please clarify, and I will try to help.

@Vahe1994  Thanks a lot！ Haved solved this issue！


Add toString for configuration objects

Objects which hold configuration are serialized from json/yaml files.
Without proper toString() methods, it is impossible to log what
is the configuration of the application after it was deserialized into
the configuration class. It is especially important in regards to the
DefaultServerFactory class, which holds the configuration for the
server command. By adding the toString() methods, it is
possible to log during application startup what is the actual configuration
used by the app.

LGTM. :+1:

Great, thx for merging :)


internal: publish

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Codecov Report

Merging #1741 (cd83a42) into master (6169f84) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1741   +/-   ##
=======================================
  Coverage   98.29%   98.29%
=======================================
  Files         102      102
  Lines        1879     1879
  Branches      378      378
=======================================
  Hits         1847     1847
  Misses         17       17
  Partials       15       15

Continue to review full report at Codecov.

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


Implement firework methods

Basic methods to implement fireworks into other modules

Other than that one method, this looks good.

Firework#setPower(0) doesn't work as intended

The .setPower(0) was unintentional.
Also don't merge just yet

What is the intent of setting the power of the firework?

@iEli2tyree011 Power is half a second of flight time.
@twizmwazin  This can now be merged

Thanks


[azappconfig] AddSetting should handle content-type

Get AppConfig settings Content-Type back
The v0.1.0 & v0.2.0 provided a way to add AppConfig settings with a Content-Type (using a generous Setting struct); it's now impossible (from v0.3.0 onwards, only the label is accessible in the AddSettingOptions).
It would be nice to get this feature back, typically for Azure KeyVault references.

Fix will come out in this month's release.


Cloud Talent API: Java Histogram sample missing from source control (and others )

https://cloud.google.com/talent-solution/job-search/docs/histogram#job_search_histogram_search-java
In which file did you encounter the issue?
jobs/v4/src/main/java/com/google/cloud/examples/talent/v4beta1/JobSearchHistogramSearch.java
Describe the issue
It existed on talent-v4beta1-samples but not on master now. The talent-v4beta1-samples branch is gone, though so many of them are missing.
Looks like like a bunch were migrated in https://github.com/GoogleCloudPlatform/java-docs-samples/pull/2033 -- were some left behind?

I have a CL open to update the devsite; just need confirmation on the behaviour here / if we plan to support those samples / bring them back.

Branch deletion reverted.


idx bidder adapter docs

Thanks for improving the documentation 😃
Please give a short description and check the matching checkboxes to help us review this as quick as possible.
🏷 Type of documentation

[ ] new bid adapter
[ ] update bid adapter
[ ] new feature
[ ] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[ ] Related pull requests in prebid.js or server are linked
[ ] For new adapters check submitting your adapter docs

Hi
Is this just a doc update or are there accompanying code changes as well? If there are code changes could you link the code PR to this PR? Thanks.

Hi! No, it's just doc update


Extensible and modular request validator

Alternate approach to #101.
It seems a bit convoluted with all the self-referencing generics. I'm open to other ideas.

Alternate approach to #101.
It seems a bit convoluted with all the self-referencing generics. I'm open to other ideas.

Indeed. I think in practice it makes it difficult to use but is it frequent use case to have different domains that you would combine together.
It's also abusing the interfaces to make a class extending two parents.

I had in mind that the standard belgif validations could perhaps also be split up into modules like SsinValidatorModule, EnterpriseNumberValidatorModule, CrossParameterValidatorModule, ...
Because Smals has already let us know that they use a different bean validation approach for validating ssins, enterprise numbers, ... so they could then decide to create their own validator that does not include those modules.
But I don't know, they could also just ignore those methods and not use them :wink:.
Whether it's really abusing interfaces or not is up for debate :smile:.
It's kind of a well established (anti-?)pattern to use interfaces in this way to have mixins in java.

I had in mind that the standard belgif validations could perhaps also be split up into modules like SsinValidatorModule, EnterpriseNumberValidatorModule, CrossParameterValidatorModule, ...
Because Smals has already let us know that they use a different bean validation approach for validating ssins, enterprise numbers, ... so they could then decide to compose their own validator that does not include those modules.
But I don't know, they could also just ignore those methods and not use them 😉.
Whether it's really abusing interfaces or not is up for debate 😄. It's kind of a well established (anti-?)pattern to use interfaces in this way to have mixins in java.

Ok. But we have to choose between both implementations. If Smals already uses different modules, maybe this solution is the way to go.

Closing in favor of #101.


Add test coverage for consuming email with attachments

I wonder if there would be interest in testing with a secure flavor, I mean imaps, pop3s and on.

Yes, in general the extension needs more test coverage to cover functionality for each of the supported mail protocols.

Looks like there's an NPE to resolve (which is not occurring for me locally)....

I have reworked the tests to switch from mock-javamail to using a containerized mock mail server. Hopefully this helps to fix things. It also opens the door to testing with additional protocols and with security enabled etc.

Actually after doing 50 test runs there still seems to be some instability. Not sure if it's the way I have composed the tests or some issue in camel-mail. I'm going to abandon this for now....


Not able to convert json string into json object

Hi,

Thanks for providing a convenient solution.

I was trying to make a sample program where JSON string is different and the
result is some strange charaters.

Steps followed: (Using Visual studio 2010 professional)
1) Copied Include folder in my project.
2) Change Json string as:
const char json[] ="{ \"address-book\" : [{ \"name\":\"Jane
Roe\",\"email\":\"jane.roe@example.com\"},{\"name\":\"John\",\"email\" :
<EMAIL_ADDRESS>3) Code is compiling successfully in Release mode

4) While debugging:
     a) Pasring is done successfully
     b) But it returns some strange characters at the end.

Please find the attached code for more details.

Thanks and Regards,

Vijay Soni
Software Engineer (c++)

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 12 Aug 2013 at 7:09
Attachments:

RapidjsonTest

[deleted comment]

Please check "Querying Array" in
https://code.google.com/p/rapidjson/wiki/UserGuide#3._Value

Original comment by<EMAIL_ADDRESS>on 14 Aug 2013 at 1:23

Please refer to the new file attached

Original comment by<EMAIL_ADDRESS>on 12 Aug 2013 at 7:14
Attachments:

RapidjsonTest.txt

Your attached code should assert in debug mode, as objJson does not contain a
key called "name".

Original comment by<EMAIL_ADDRESS>on 12 Aug 2013 at 8:47

Hi

could you please give hint how to traverse through this json string
	"[												\
							{											\
							\"ResponseName\":\"Table\",					\
							\"ListData\":								\
								[										\
									{\"Param\":\"Power\"},				\
									{\"Param\":\"Def\"},				\
									{\"Param\":\"Opt\"},				\
								]										\
							}											\
						]";

As this is an array , but I not able to get its member.

Please help

Original comment by<EMAIL_ADDRESS>on 14 Aug 2013 at 10:23

Original comment by<EMAIL_ADDRESS>on 30 Jun 2014 at 1:57

Changed state: Invalid

Would you think that you should use 0L instead ? to remove all chances this is
ambiguous?

Original comment by<EMAIL_ADDRESS>on 18 Jun 2014 at 10:36

Hi,

 Sorry to trouble you again and again. But using the same I am getting strange reponse that's why I have posted my query here.

Code is :

#include "stdafx.h"
#include "URI.h"
#include <iostream>
#include <cstdio>

#include "rapidjson\document.h"		// rapidjson's DOM-style API
#include "rapidjson\prettywriter.h"	// for stringify JSON
#include "rapidjson\filestream.h"	// wrapper of C stream for prettywriter as
output
#include "rapidjson\stringbuffer.h"
#include <cstdio>

using namespace std;
using namespace openutils;
using namespace rapidjson;

rapidjson::Document objJson;	// Default template parameter uses UTF8 and
MemoryPoolAllocator.
rapidjson::StringBuffer strBuff(0, 1024);
rapidjson::Document::AllocatorType& allocator = objJson.GetAllocator();
rapidjson::Value objVal(rapidjson::kObjectType);

int main(int argc, char *argv[])
{
static const char* kTypeNames[] = { "Null", "False", "True", "Object", "Array",
"String", "Number" };

	const char json[] =	"[				\
	{				\
	\"ResponseName\":\"Table\",					\
	\"ListData\":		\
        [	\									{\"Param\":\"Power\"},				\			{\"Param\":\"Def\"},				\
	{\"Param\":\"Opt\"} 				\
]									\
}									\
]";

	if(objJson.Parse<0>(json).HasParseError())
	{
	printf("Error parsing ");
	}

const Value& a = objJson; // Using a reference for consecutive
assert(a.IsArray());
for (SizeType i = 0; i < a.Size(); i++) // rapidjson uses SizeType instead of
size_t.
printf("a[%d] = %d  /n", i, a[i].GetInt());

printf("%s  /n", a[SizeType(0)].GetString());

if(objJson.IsArray())
{
for (Value::ConstValueIterator itr = a.Begin(); itr != a.End(); ++itr)
printf("%d \n", itr->GetInt());

for (Value::ConstMemberIterator itr = objJson.MemberBegin(); itr !=
objJson.MemberEnd(); ++itr)
printf("Type of member %s is %s\n", itr->name.GetString(),
kTypeNames[itr->value.GetType()]);
				}
		}
		catch(...)
		{
			printf("Error unknown");
		}
	getchar();
	return 0;
}

==> The response which I get is different everytime. such as (check the
attachment)

Original comment by<EMAIL_ADDRESS>on 16 Aug 2013 at 6:37
Attachments:

JsonResponse.jpg