Eigen types are recognized as 'int'

When editing this:
#include <Eigen/Eigen>

int main(int argc, char *argv[])
{
    Eigen::Matrix3d bar;
    bar(0,0) = 1;
    return 0;
}

I get this error: [Error]called object type 'Eigen::Matrix3d' (aka 'int') is not a function or function pointer
The logs don't say anything about the request (just the cache creation). Using the compilation database or the .cquery file give the same result. The completion for the Eigen namespace works properly (Eigen::M offers the different matrix for completion).
I would say this is related to how Eigen is written but YCM is able to correctly handle those types (with completion for the different methods etc) so I'm assuming it comes from cquery.

I believe your project configuration is not correct, likely due to a missing include directory; try using cquery --check <file.cc> until you find the missing include directory.
Can you include your project config here? If ycmd is able to parse the project it'd be good to make sure cquery can as well.

Here's the result:
(   0.000s) [main thread  ]          utils.cc:319   | Reading /path/to/applications/example/src/main.cpp
(   0.000s) [main thread  ]   command_line.cc:444   | Using path /path/to/applications/example/src/main.cpp
(   0.000s) [main thread  ]        project.cc:549   | Trying to load /path/to/build/compile_commands.json
(   0.000s) [main thread  ]clang_system_include_extractor.cc:75    | Using compiler drivers /usr/bin/g++, /home/lesur/Clones/cquery/build/release/bin/cquery-clang, clang++, g++
(   0.000s) [main thread  ]clang_system_include_extractor.cc:87    | Running /usr/bin/g++ -E -x c++ - -v -working-directory=/path/to/build/libs/configuration_loader
(   0.001s) [main thread  ]clang_system_include_extractor.cc:92    | Output:
Using built-in specs.
COLLECT_GCC=/usr/bin/g++
g++: error: unrecognized command line option ‘-working-directory=/path/to/build/libs/configuration_loader’
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
(   0.001s) [main thread  ]clang_system_include_extractor.cc:87    | Running /home/lesur/Clones/cquery/build/release/bin/cquery-clang -E -x c++ - -v -working-directory=/path/to/build/libs/configuration_loader
(   0.002s) [main thread  ]clang_system_include_extractor.cc:92    | Output:
(   0.001s) [main thread  ]        loguru.hpp:1767  | atexit
(   0.002s) [main thread  ]clang_system_include_extractor.cc:87    | Running clang++ -E -x c++ - -v -working-directory=/path/to/build/libs/configuration_loader
(   0.039s) [main thread  ]clang_system_include_extractor.cc:92    | Output:
clang version 3.8.0-2ubuntu4 (tags/RELEASE_380/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/6.0.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.4.0
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/6.0.0
Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found CUDA installation: /usr/local/cuda
 "/usr/lib/llvm-3.8/bin/clang" -cc1 -triple x86_64-pc-linux-gnu -E -disable-free -disable-llvm-verifier -main-file-name - -mrelocation-model static -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -v -dwarf-column-info -debugger-tuning=gdb -resource-dir /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0 -working-directory /path/to/build/libs/configuration_loader -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0 -internal-isystem /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/backward -internal-isystem /usr/local/include -internal-isystem /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /path/to/ ferror-limit 19 -fmessage-length 0 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -o - -x c++ -
clang -cc1 version 3.8.0 based upon LLVM 3.8.0 default target x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
ignoring duplicate directory "/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0"
#include "..." search starts here:
#include <...> search starts here:
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0
 /usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/backward
 /usr/local/include
 /usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
# 1 "<stdin>"
# 1 "<built-in>" 1
# 1 "<built-in>" 3
# 325 "<built-in>" 3
# 1 "<command line>" 1
# 1 "<built-in>" 2
# 1 "<stdin>" 2
(   0.039s) [main thread  ]        project.cc:157   | Using system include directory flags
  -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0
  -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0
  -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/backward
  -isystem/usr/local/include
  -isystem/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include
  -isystem/usr/include/x86_64-linux-gnu
  -isystem/usr/include
(   0.039s) [main thread  ]        project.cc:161   | To disable this set the discoverSystemIncludes config option to false.
(   0.039s) [main thread  ]        project.cc:66    | Failed to normalize /path/to/libs/foo/include # and a bunch of other modules
(   0.040s) [main thread  ]          timer.cc:35    | compile_commands.json clang time took 0.515ms
(   0.040s) [main thread  ]          timer.cc:35    | compile_commands.json our time took 39.39937ms
(   0.040s) [main thread  ]        project.cc:695   | angle_include_dir: /usr/local/include/opencv/
(   0.041s) [main thread  ]        project.cc:695   | angle_include_dir: /usr/local/include/
(   0.041s) [main thread  ]   command_line.cc:452   | Using arguments /usr/bin/g++ -working-directory=/path/to/build/applications/example_with_ext_dep -DOPENCV_TRAITS_ENABLE_DEPRECATED -isystem /path/to/3rdparty/eigen3 -isystem /usr/local/include -isystem /usr/local/include/opencv -Wall -Wpedantic -Wextra -g -std=gnu++14 /path/to/applications/example_with_ext_dep/src/main.cpp -resource-dir= -Wno-unknown-warning-option -fparse-all-comments -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0 -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0 -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/backward -isystem/usr/local/include -isystem/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -isystem/usr/include/x86_64-linux-gnu -isystem/usr/include
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h646:3 use of undeclared identifier '__builtin_ia32_storeups'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h696:3 use of undeclared identifier '__builtin_ia32_movntps'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h700:1 static declaration of '_mm_sfence' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h700:1 definition of builtin function '_mm_sfence'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h784:1 static declaration of '_mm_getcsr' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h784:1 definition of builtin function '_mm_getcsr'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h790:1 static declaration of '_mm_setcsr' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h790:1 definition of builtin function '_mm_setcsr'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h389:10 use of undeclared identifier '__builtin_ia32_cvtps2pd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h395:10 use of undeclared identifier '__builtin_ia32_cvtdq2pd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h601:3 use of undeclared identifier '__builtin_ia32_storeupd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h686:19 use of undeclared identifier '__builtin_ia32_pavgb128'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h692:19 use of undeclared identifier '__builtin_ia32_pavgw128'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1234:3 use of undeclared identifier '__builtin_ia32_storedqu'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1255:3 use of undeclared identifier '__builtin_ia32_movntpd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1261:3 use of undeclared identifier '__builtin_ia32_movntdq'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1279:1 static declaration of '_mm_clflush' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1279:1 definition of builtin function '_mm_clflush'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1285:1 static declaration of '_mm_lfence' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | e-dir=
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h646:3 use of undeclared identifier '__builtin_ia32_storeups'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h696:3 use of undeclared identifier '__builtin_ia32_movntps'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h700:1 static declaration of '_mm_sfence' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h700:1 definition of builtin function '_mm_sfence'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h784:1 static declaration of '_mm_getcsr' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h784:1 definition of builtin function '_mm_getcsr'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h790:1 static declaration of '_mm_setcsr' follows non-static declaration
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/xmmintrin.h790:1 definition of builtin function '_mm_setcsr'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h389:10 use of undeclared identifier '__builtin_ia32_cvtps2pd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h395:10 use of undeclared identifier '__builtin_ia32_cvtdq2pd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h601:3 use of undeclared identifier '__builtin_ia32_storeupd'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h686:19 use of undeclared identifier '__builtin_ia32_pavgb128'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h692:19 use of undeclared identifier '__builtin_ia32_pavgw128'
(   0.681s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1234:3 use of undeclared identifier '__builtin_ia32_storedqu'
(   0.682s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1255:3 use of undeclared identifier '__builtin_ia32_movntpd'
(   0.682s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1261:3 use of undeclared identifier '__builtin_ia32_movntdq'
(   0.682s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1279:1 static declaration of '_mm_clflush' follows non-static declaration
(   0.682s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1279:1 definition of builtin function '_mm_clflush'
(   0.682s) [     8CF09700]  clang_indexer.cc:2367  | /usr/lib/llvm-3.8/lib/clang/3.8.0/include/emmintrin.h1285:1 static declaration of '_mm_lfence' follows non-static declaration
(   0.682s) [     8CF09700]  clang_indexer.cc:2367  | e-dir=
(   0.682s) [main thread  ]  clang_indexer.cc:2403  | Got 40 diagnostics
(   0.686s) [main thread  ]        loguru.hpp:1767  | atexit

You can see that line 66, eigen is included in the include dir:
(   0.041s) [main thread  ]   command_line.cc:452   | Using arguments /usr/bin/g++ -working-directory=/path/to/build/applications/example_with_ext_dep -DOPENCV_TRAITS_ENABLE_DEPRECATED -isystem /path/to/3rdparty/eigen3 -isystem /usr/local/include -isystem /usr/local/include/opencv -Wall -Wpedantic -Wextra -g -std=gnu++14 /path/to/applications/example_with_ext_dep/src/main.cpp -resource-dir= -Wno-unknown-warning-option -fparse-all-comments -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0 -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0 -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/backward -isystem/usr/local/include -isystem/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -isystem/usr/include/x86_64-linux-gnu -isystem/usr/include
The way we include eigen in our project is by adding a CMake interface and add the 3rdparty folder to the include dirs. Note that we tagged it as system dependency (it's basically the only way to shut all the warnings):
    set(EIGEN3_LOCATION 3rdparty/eigen3)
# ...
    add_library(Eigen3 INTERFACE)
    target_include_directories(Eigen3 SYSTEM INTERFACE ${EIGEN3_LOCATION})

And in this example program's CMake:
set(MODULE_NAME "foo")

set(SRC_FILES
    src/main.cpp
    )
add_executable(${MODULE_NAME} ${SRC_FILES})
target_link_libraries(${MODULE_NAME} Eigen3)

Does clang -working-directory=/path/to/build/applications/example_with_ext_dep -DOPENCV_TRAITS_ENABLE_DEPRECATED -isystem /path/to/3rdparty/eigen3 -isystem /usr/local/include -isystem /usr/local/include/opencv -Wall -Wpedantic -Wextra -g -std=gnu++14 /path/to/applications/example_with_ext_dep/src/main.cpp -resource-dir= -Wno-unknown-warning-option -fparse-all-comments -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0 -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/x86_64-linux-gnu/c++/5.4.0 -isystem/usr/bin/../lib/gcc/x86_64-linux-gnu/5.4.0/../../../../include/c++/5.4.0/backward -isystem/usr/local/include -isystem/usr/lib/llvm-3.8/bin/../lib/clang/3.8.0/include -isystem/usr/include/x86_64-linux-gnu -isystem/usr/include run without errors?

It compiles without error :/

FWIW, I also have the same problem, and can confirm that YCM in fact handles this correctly. I couldn't seem to get an easy fix myself, but I have switched back to YCM for now. Hopefully this can be somehow fixed.

Are there any updates here? I am also getting Eigen types parsed as 'int'. The project config has not changed, and the required Eigen files are included. This used to work, so I imagine something changed a few weeks ago.

Update: I don't know what it was. I tried to locate the bug to a particular commit, but failed to reproduce it. And the code example given https://github.com/cquery-project/cquery/issues/659#issue-320854465 also does not throw an error. So maybe try a clean build, @pLesur? Hope that helps.

Did a clean build, but the issue persists unfortunately. I'll do a bit more testing later (I just realized cquery is using llvm-6.0, I don't know if previous versions also did but that could be an issue).

@pLesur You're right. I was hasty in saying that it corrected things. I think I located the faulty commit using git bisect.  It is here: https://github.com/cquery-project/cquery/commit/43b4a30f11c6a0ff9ba880e827b02e9f6f84df06
Could you confirm that this is the first bad commit for you? As in this one fails to parse Eigen correctly in your example?

Yup, this one fails and the one right before worked!

Here's a patch to correct the problem. I don't know why that commit was performed, so someone will have to tell me about that.
@jacobdufault Maybe you can help? You seem to have worked on the commit https://github.com/cquery-project/cquery/commit/43b4a30f11c6a0ff9ba880e827b02e9f6f84df06
Eigen.txt

I doubt https://github.com/cquery-project/cquery/commit/43b4a30f11c6a0ff9ba880e827b02e9f6f84df06 has anything to do with this issue. Please note that commit happened later than the time this issue was first created. If you want to Git bisect, you probably need to move backward further to find the real cause.

I can confirm that the patch works on master for me. And yes, I purged the cache, and regenerated compile_commands.json too, just for good measure.

To be clear, I don't know whether that commit is the one to blame, but undoing a change there does correct the working of my system. I can verify this again if you like, but I am running on master with the patch I have provided in https://github.com/cquery-project/cquery/issues/659#issuecomment-398433910

So I encountered the (exact?) same issue with YCM on another project. I don't know if it helps at all for cquery, but I assume you'd like to know you're not alone in this situation! I'll create an issue later on the YCM repo. Here's some information about the problem...
Using the MWE I posted in the OP:

compiler\completion system
cquery
YCM

gcc
nope
ok

clang
nope
ok

However, when working on my current codebase...

compiler\completion system
cquery
YCM

gcc
nope
nope

clang
nope
ok

I'll need to get another MWE for my project because there's obviously something missing. It could be due to how I include Eigen.
Anyhow, in the case of YCM, it seems like a compile_commands.json parsing issue (project compiles fine in all cases so it's not CMake). Could it be similar for cquery? Would be quite surprise to encounter the same issue from two unrelated causes. But what do I know ¯\(ツ)/¯

DEIGEN_DONT_VECTORIZE

If you add it directly in compile_commands, how do you add it?


HBASE-23008 put batch with updated position into queue even empty

In order to trigger cleanOldLogs

@saintstack Could you help to review it ?

@bsglz Is this a branch-2-only problem? If not, can you please target master and we then start backporting it.

But like @HorizonNet says, Master branch is different. Does it have this issue?

Yeah, branch-2 only, master is ok.
Close it.


Turn Condition.code into a string, not an enum

See https://github.com/kubernetes-sigs/multi-tenancy/issues/235.
Enums are not backwards-compatible, but enum-like strings are just fine.
Since these are only generated by the controller, validation during
input isn't a concern anyway.
Also restructures some global vars and consts and improves
documentation.
Testing: builds and passes unit tests
Fixes: #235

/assign @yiqigao217
/assign @rjbez17

/ok-to-test
/approve
/lgtm
/hold
@yiqigao217  feel free to release hold when satisfied.

/hold cancel


Passing empty string into boolean type prop result in true

Version
2.3.4
Reproduction link
https://jsfiddle.net/u2mo75oo/2/
Steps to reproduce
run repro
What is expected?
comp.name to be false or get warning.
What is actually happening?
comp.name is true.

https://github.com/vuejs/vue/blob/b5b1ac373a8f4d464454e7770a888fdd178891c4/src/core/util/props.js#L27
i found https://github.com/vuejs/vue/issues/4539 to fix  https://github.com/vuejs/vue/pull/4538

Seems this is intended, found the code here:  https://github.com/vuejs/vue/blob/dev/src/core/util/props.js#L27
Is there any background reason for this?

@Kingwl 👍
@jkzing
see: https://www.w3.org/TR/html51/syntax.html#name

Just the attribute name. The value is implicitly the empty string.

@gebilaoxiong i found wrong commit so i delete that 😂

Found it in docs as well...https://vuejs.org/v2/guide/migration.html#Built-In-Directives
Maybe we should make this more clear in component section?

You're welcome to submit a PR to Vue docs repo :)


[BUG] flag profiles dont work

Fishstrap Version
v<IP_ADDRESS>
What problem did you encounter?
when trying to use a flag profile, it wont work.
i am  using windows 11.
Bloxstrap Log
N/A

what preset

i called it preset didnt i?

What presets aren't working for you?

Oh

What's wrong with the profiles?

What's wrong with the profiles?

dont load.

somehow got this with snipping tool

Could you check flag profiles folder in Fishstrap installation folder?

Could you check flag profiles folder in Fishstrap installation folder?

sure, i normally delete fishstrap and add my presets back, may be the problem of me not deleting fishstrap this time.

Could you check flag profiles folder in Fishstrap installation folder?

for what?

What's wrong with the profiles?

dont load.
doing ctrl click to delete multiple flag  profiles dont work either.

You've said flag profiles aren't loading. Try checking if any exist in the first place.

think so

Load page is just empty?

 think so
shouldn't the flag profiles be in .json

huh, could be just my laggy pc then

https://github.com/user-attachments/assets/205ade88-358e-4c7f-84ff-3dbd85cf42a0

check clientappsettings.json if they were added

check clientappsettings.json if they were added

good idea, but didnt update it.


Add biaodian - the chinese punctuation marks extension

Description
Add the Chinese punctuation marks (中文標點符號, biaodian is the spell of 標點 in chinese)
FYR https://www.ltl-shanghai.com/chinese-punctuation/
some common punctuation marks (ex: ，。 )are able to type via keyboard with input method (IME), but some (ex:、「」) are not that easy.
With this extension you can list or search via english punctuation marks (ex: . , [ ]) to find the chinese punctuation marks (。，『』)
Type of change

New extension (based on gitmoji)

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing

@pernielsentikaer updated, thanks

@pernielsentikaer added, please kindly review again


[DO NOT MERGE] Example: Custom environment

This shows how you could use a text area to provide a customizable environment setup prior to starting Jupyter notebook server.
Current limitations of the batch connect plugin prevent from modifying the size of the text area, so until that is fixed this may not be an ideal user experience, as the default text area is small. But some browsers do allow manually resizing, as I have done in this screenshot below:

Can this PR be closed? It seems it was never mean to be merged anyhow so it'll still exist as documentation.
Plus I'll add words like juypter text field and This would allow a user to set up their jupyter environment much more flexibly. They could even load the proper environments/modules for running other kernels available on the cluster, e.g. R, MATLAB. (quoted from the original request in discourse/mailing list).


Linter fail when method has return type declaration

PHP version: 5.6.30
PHP CS Fixer version: 2.1.0
Command:
php-cs-fixer fix test.php --diff --verbose

Output:
Loaded config default.
I
Legend: ?-unknown, I-invalid file syntax, file ignored, S-Skipped, .-no changes, F-fixed, E-error

Fixed all files in 1.167 seconds, 9.250 MB memory used

Files that were not fixed due to errors reported during linting before fixing:
   1) /(...)/test.php

Test file:
<?php

abstract class Test
{
    protected $prop;

    public function getProp() : string
    {
        return $this->prop;
    }
}

The code you try to fix is not valid for PHP 5.6. If you want to fix PHP 7 code you must run the tool of at least that version.
This cannot be helped (easly) as we use the build in PHP linter and tokenizer.

Ok. With 7.0.15 works properly.


refactor(theme-default): remove unneeded template

Well, this is kind of coding style thing. Similar to
if (foo) {
  str = 'foo'
} else {
  str = 'bar'
}

vs.
if (foo) str = 'foo'
else str = 'bar'


Cannot install because these package have conflicting dependencies

"INFO: pip is looking at multiple versions of auto-subtitle to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install auto-subtitle because these package versions have conflicting dependencies.

The conflict is caused by:
    openai-whisper 20230124 depends on torch
    openai-whisper 20230117 depends on torch

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts"

It looks like PyTorch cannot be installed and is a requirement for Whisper.
I'm not very good at it. Do you know any solution? I'm trying to install on a windows 11

https://github.com/openai/whisper/discussions/906
Go through this discussion, It could be an issue due to different python versions being used by pip and python.


Version 2021.3.5s

Hello, will there be an updated release for version 2021.3.5s? Would be much appreciated!

Hi, I'll update it for the new among us map update (once Reactor is updated)


Use a command for variables value

Congrats for the great  work on this  plugin !
Would it be worth considering to use a command for the json variables values ? ie something like :
{
  "dev": {
    "base_url": "http://localhost:3000",
    "jwt_token": $(gopass show pass/mytoken)
  },
  "prod": {
    "base_url": "https://foobar.eu-west.some-cloud.com",
    "jwt_token": "SECRET"
  }
}

That's an interesting proposal, and I definitely see the use case. However, I'm a bit skeptical about the specific implementation for two reasons:

It would break the JSON specification, and therefore the compatibility with the REST clients on VSCode, IntelliJ and the likes.
It would open the doors to potential command injection, especially when the command can contain references to external variables.

Perhaps this could work better if implemented through standard shell environment variables. Two possible ways to implement it:

The simple way - you run export jwt_token="$(gopass show pass/mytoken)" before running neovim, and the existing environment variables are joined to the lookup map, so you can use ${jwt_token} in your requests
With custom pre-request scripts - defined either per-environment or on global level. Something along the lines of:

{
  "dev": {
    "__before__": "scripts/setup.dev.sh",
    "base_url": "http://localhost:3000"
  }
}

Then scripts/setup.dev.sh would look like this:
export jwt_token="$(gopass show pass/mytoken)"

This would actually be quite powerful because it would enable to run any custom logic before a request (not only variables), and it may also allow for an __after__ script that can e.g. cleanup things after a request.
How would you consider these options?

@BlackLight thanks for the feedback, I totally agree that my proposed implementation is not relevant, it was more to get the idea.
In my workflow, the first and easiest implementation is the best : I use a "lightweight workspace manager" (https://github.com/jamesob/desk), in fact mainly a bunch of shell script setting environment variables. I can rely on this variables to pimp the JSON.


Vercel 0.7.0 + Laravel 10

Question

Hey guys, I am trying to setup the Laravel.
Unfortunately, the smooth journey ends when I am trying to run migration via route to trigger Artisan::call('migrate --force'). The default migration script did run but with error below on Neon Postgres DB:
SQLSTATE[25P02]: In failed sql transaction: 7 ERROR: current transaction is aborted, commands ignored until end of transaction block (Connection: pgsql, SQL: alter table "users" add constraint "users_email_unique" unique ("email"))
I looked into the database and found that the users table did not create. If I tried on my local Postgres DB it didn't behave such a way.
Also, I noticed there is API limit of 50MB, barebone deployment already shaved 41.6MB. I can guess it is not suit for production if the system upscales in the future?
Appreciate for some advice if anyone able to get through this. Thanks in advance.

I'm facing same issue

Looking at this in September. Still the same issue.
I don't think Vercel's serverless database provided by Neon is configured to optimally work with PHP (Laravel).

When using Neon PostgreSQL, the NON-POOLING Database URI should be used. https://neon.tech/docs/guides/laravel-migrations
PHP Artisan migrate should run successfully when using the non-pooling connection.
Neon supports both direct and pooled database connection strings, which can be copied from the Connection Details widget on your Neon Project Dashboard. A pooled connection string connects your application to the database via a PgBouncer connection pool, allowing for a higher number of concurrent connections. However, using a pooled connection string for migrations can be prone to errors. For this reason, we recommend using a direct (non-pooled) connection when performing migrations. For more information about direct and pooled connections, see [Connection pooling](https://neon.tech/docs/connect/connection-pooling).


Chapter 7: database migration issue on production

I am stuck at page 215 because the migration to production fails with error below. My repo is: https://github.com/ra2u18/webapp.
I have migrated to local using scripts/init_db, and migrated to production using DATABASE_URL= sqlx migrate run. I have also deleted the database and applied specs.yaml again, I ended up with the same errors. Locally, when running tests it works; it also works on cargo run.
2022-08-17T07:44:14.950914678Z error: failed to find data for query
2022-08-17T07:44:14.950957103Z                INSERT INTO subscriptions (id, email, name, subscribed_at, status)
2022-08-17T07:44:14.950967327Z                VALUES ($1, $2, $3, $4, 'confirmed')
2022-08-17T07:44:14.950973603Z
2022-08-17T07:44:14.950979739Z   --> src/routes/subscriptions.rs:61:5
2022-08-17T07:44:14.950983801Z    |
2022-08-17T07:44:14.950988817Z 61 | /     sqlx::query!(
2022-08-17T07:44:14.950993066Z 62 | |         r#"
2022-08-17T07:44:14.950996984Z 63 | |         INSERT INTO subscriptions (id, email, name, subscribed_at, status)
2022-08-17T07:44:14.951000749Z 64 | |         VALUES ($1, $2, $3, $4, 'confirmed')
2022-08-17T07:44:14.951004786Z ...  |
2022-08-17T07:44:14.951009038Z 69 | |         Utc::now()
2022-08-17T07:44:14.951014649Z 70 | |     )
2022-08-17T07:44:14.951018352Z    | |_____^
2022-08-17T07:44:14.951022009Z    |
2022-08-17T07:44:14.951025737Z    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` (in Nightly builds, run with -Z macro-backtrace for more info)
2022-08-17T07:44:14.951596963Z
2022-08-17T07:44:15.159378756Z warning: unused import: `chrono::Utc`
2022-08-17T07:44:15.159414941Z  --> src/routes/subscriptions.rs:3:5
2022-08-17T07:44:15.159420353Z   |
2022-08-17T07:44:15.159424921Z 3 | use chrono::Utc;
2022-08-17T07:44:15.159430672Z   |     ^^^^^^^^^^^
2022-08-17T07:44:15.159434388Z   |
2022-08-17T07:44:15.159438240Z   = note: `#[warn(unused_imports)]` on by default
2022-08-17T07:44:15.159443155Z
2022-08-17T07:44:15.160509404Z warning: unused import: `uuid::Uuid`
2022-08-17T07:44:15.160524854Z  --> src/routes/subscriptions.rs:5:5
2022-08-17T07:44:15.160528853Z   |
2022-08-17T07:44:15.160532546Z 5 | use uuid::Uuid;
2022-08-17T07:44:15.160536196Z   |     ^^^^^^^^^^
2022-08-17T07:44:15.160538828Z
2022-08-17T07:44:15.797194772Z warning: `zero2prod` (lib) generated 2 warnings
2022-08-17T07:44:15.885725534Z error: could not compile `zero2prod` due to previous error; 2 warnings emitted
2022-08-17T07:44:15.893232516Z error building image: error building stage: failed to execute command: waiting for process to exit: exit status 101
2022-08-17T07:44:15.898621648Z
2022-08-17T07:44:15.898635929Z command exited with code 101
2022-08-17T07:44:29.629483612Z  ! Build failed (exit code 101)```

I am not sure I follow - when do these errors pop up? When building the Docker image?

These error pop up when I push my code to github and DigitalOcean rebuilds my docker image

I deleted my application entirely from DigitalOcean and then ran doctl apps create --spec spec.yaml. Now after finishing chapter 7 in the book, I get multiple issues. I guess this is related to db migrations, but I m not sure how to fix it.

fixed by updating sqlx offline file


Feat reworked home screen

This PR adds a new version of the home screen on the app, showing the user his next courses his latest absences and notes

Note: The notes are not correctly centered in the boxes, and each note is missing a title. However, since the screen works properly, I approve and proceed with the merge. These elements can be fixed later.


"No GDAL environment" appearing in test cases, randomly

In my wrapper library that uses GeoPandas and Fiona, I have test cases that sometimes (!) raises fiona.errors.EnvError: No GDAL environment exists.
The exception happens on gpd.read_file, but before that I open a dozen or two of gpkg files with fiona.
When I make it run in the reverse manner (first, test with gpd.read_file, then many open/close of fiona), it works normally.
Here's my project (to test, clone and do pytest in its root, or ./testdb.sh or ./testcov.sh). For me, all three recently worked ok (Python 3.8.10, Fiona 1.8.17, GeoPandas 0.9.0), although I have no idea how it got fixed (maybe after I started closing one fiona reader manually).
In Github Workflows, it fails. Fail log here.
Looking into tests code, I see there are some tests where I use mask, and these fiona.ogrext.Iterator objects are never closed.
Any suggestions what can be done to make it not fail?

It's possible that fiona could be made more safe, but I would need a more minimal reproducer of the issue.


Building on Windows with VS2017

I'd like to build Zig using up uptodate visual studio. In order to do this I assume I would have to build llvm+clang myself with the same compiler.
Could you provide information on what targets are needed for zig, etc ?

you can follow these instructions, replacing 2015 with 2017. https://github.com/zig-lang/zig/wiki/How-to-build-LLVM%2C-libclang%2C-and-liblld-from-source

How did I miss that page ... Thanks!

Also if you just want a working zig binary, you can download appveyor artifacts. Pick a green build, click "artifacts" and download the .zip file.

Feel free to comment here if you run into an issue and I'll re-open.


Fix circleci flow

When ActuatorRefreshKafkaIT started failing in github workflow, I could not understand why does it passes in circleci? It meant two things:

circleci was caching SNAPSHOT dependencies, and we were never properly using snapshots. This was indeed the case, and while looking more closely and debugging a bit, I found out that the cache we were using was never being updated with latest snapshots. I fixed that in this PR.
and second, it meant that ActuatorRefreshKafkaIT was broken because of a recent snapshot version of some library: the test was passing in circleci (where we had an older snapshot version and we were never using the newest one), and was failing in github workflow - where we were using the most recent snapshot version.

This PR also cleans up a bit the pipeline making it more readable. In essence, the flow/logic stays the same; but it's more readable now, imho.
And of course now, because we fixed this issue, ActuatorRefreshKafkaIT fails - which is normal and expected. When we figure out what is going on and fix the underlying problem, a rebuild here will pass the test.

This PR can go in, only after the github actions one does.

@ryanjbaxter  this is the next one in the list for you to review when you get a chance. thank you


javascript and typescripts different (JS: has to be 39 characters long and TS  has to be 40 characters long in Function createFromRawAddress)

can not run with TS, i only can run with JS. Maybe TS many bug dont fix
import { Address, RepositoryFactoryHttp } from 'symbol-sdk';
// replace with address
const rawAddress = 'TB6Q5E-YACWBP-CXKGIL-I6XWCH-DRFLTB-KUK34I-YJQ';
const address = Address.createFromRawAddress(rawAddress);
console.log(address);
// replace with node endpoint
const nodeUrl = 'http://api-01.us-east-<IP_ADDRESS>.x.symboldev.network:3000';
const repositoryFactory = new RepositoryFactoryHttp(nodeUrl);
const accountHttp = repositoryFactory.createAccountRepository();
accountHttp.getAccountInfo(address).subscribe(
(accountInfo) => console.log(accountInfo),
(err) => console.error(err),

Can you please provide the exact commands you are running and the errors you get?
Your code snippet belongs to GettingAccountInformation.ts. When I run tsc this file compiles without problems and produces a .js file which I can run with node.

Can you please provide the exact commands you are running and the errors you get?
Your code snippet belongs to GettingAccountInformation.ts. When I run tsc this file compiles without problems and produces a .js file which I can run with node.


Optimize instances of textureGather with TextureViews and manual pack/unpack from R32UINT views or similar

28:00 from https://www.youtube.com/watch?v=Bmy3Tt3Ottc

obscure and early optimization.


ag/simplify

let's hold off on trying to make okpy use rpc until we're able to integrate it into cs61a-apps; if it's not in the ecosystem, there's no point trying to coerce it in


Unable to execute the Agent flow.

Describe the bug
Hi, I have setup the opensearch cluster to run on single instance. I have created the embedding model and setup the pipeline to do the text-embedding on indexing the documents. I am able to query the index to get the records. To setup RAG, I have created the remote connector and able to create the model and deployed it. Using the VectorDBTool and MLModelTool, I have created the agent. On executing the error, I am observing the following error:
"{"error":{"reason":"Invalid Request","details":"Error from remote service: ","type":"OpenSearchStatusException"},"status":400}"
All the above, I have tried it in DevTools of the dashboard web.
   I broke her heart And made her cry Now I'm alone, so all alone What can I do, what can I do?  (There goes my baby) Whoa-oh-oh-oh-oh (There goes my baby) Yeah, yeah, yeah, yeah (There goes my baby) Whoa-oh-oh-oh (There she goes) Yeah! (There she goes)  I wanna know if she loved me Did she really love me? Was she just playing Me for a fool?  I wonder why she left me Why did she leave me So all alone So all alone?  I was gonna tell her that I loved her And that I need her Beside my side To be my guide  I wanna know where is my (doo-doot-doo-doo-doo-doo) Where is my baby? (doo-doot-doo-doo-doo-doo) I want my baby (doo-doot-doo-doo-doo-doo) I need my baby  Yeah, whoa-oh-oh (There goes my baby) Whoa-oh-oh-oh-oh (There goes my baby) Whoa-oh-oh-oh-oh There goes my baby) Whoa-oh-oh-oh-oh (There goes my baby) Whoa-oh-oh-oh-oh",
      "vector_lyrics": [...]
    }
  },
  {
    "_index": "song_lyrics_index",
    "_id": "6c6eb041cf4f4ce7b19207a6ffc452b1",
    "_score": 1,
    "_source": {
      "artist": "Elvis Presley",
      "album": "50,000,000 Elvis Fans Can’t Be Wrong (Elvis’ Gold Records, Vol. 2)",
      "meta_data": {
        "release_date": "1959-06-23",
        "year": 1959,
        "media": "[{'provider': 'youtube', 'start': 0, 'type': 'video', 'url': 'http://www.youtube.com/watch?v=HnrZ7MQsT0s'}]",
        "writers": "[{'api_path': '/artists/1014527', 'header_image_url': 'https://images.genius.com/d2fcd79abf3d5d805bb61d555cb141a4.200x200x1.jpg', 'id': 1014527, 'image_url': 'https://images.genius.com/d2fcd79abf3d5d805bb61d555cb141a4.200x200x1.jpg', 'is_meme_verified': False, 'is_verified': False, 'name': 'Sidney Wyche', 'url': 'https://genius.com/artists/Sidney-wyche'}, {'api_path': '/artists/368580', 'header_image_url': 'https://images.genius.com/33fad1faa4fef3a4605899e42fa642fc.220x220x1.jpg', 'id': 368580, 'image_url': 'https://images.genius.com/33fad1faa4fef3a4605899e42fa642fc.220x220x1.jpg', 'is_meme_verified': False, 'is_verified': False, 'name': 'Aaron Schroeder', 'url': 'https://genius.com/artists/Aaron-schroeder'}]",
        "url": "https://genius.com/Elvis-presley-a-big-hunk-o-love-lyrics"
      },
      "lyrics": "[Intro] Hey baby, I ain't asking much of you No no no no no no no no baby, I ain't asking much of you Just a big-a big-a big-a hunk of love will do  [Verse 1] Don't be a stingy little mama You're about to starve me half to death Well you can spare a kiss or two and Still have plenty left, no no no Baby, I ain't asking much of you Just a big-a big-a big-a hunk of love will do  [Verse 2] You're just a natural born beehive Filled with honey to the top Well I ain't greedy baby All I want is all you got, no no no I ain't asking much of you Just a big-a big-a big-a hunk of love will do  [Verse 3] I got wishbone in my pocket I got a rabbit's foot around my wrist You know I'd have all the things these lucky charms could bring If you'd give me just one sweet kiss, no no no no no no no Baby, I ain't asking much of you Just a big-a big-a big-a hunk of love will do",
      "vector_lyrics": [ ... ]
    }
  },
  {
    "_index": "song_lyrics_index",
    "_id": "6555a24228c74579ac9fe7c6737adb54",
    "_score": 1,
    "_source": {
      "artist": "Johnny and The Hurricanes",
      "album": "Red River Rock",
      "meta_data": {
        "release_date": null,
        "year": 1959,
        "media": "[]",
        "writers": "[]",
        "url": "https://genius.com/Johnny-and-the-hurricanes-red-river-rock-lyrics"
      },
      "lyrics": """Unknown Miscellaneous Paddy And The Whale PADDY AND THE WHALE  Paddy O'Brian left Ireland in glee; He had a strong notion old England to see; He shipped in the Nellie, for England was bound And the whiskey he drank made his head go around  Cho: Laddy whack, fol de dol, fol de rol I dee dee *  O, Paddy been never sailing before; It made his heart ache when he heard the loud roar; For the glance of his eye, a whale he did spy: "I'm going to be ate," says Paddy,"by-and-by"  O, Paddy run forward and caught hold of the mast He grasped his arms round and there he held fast The boat gave a tip, and, losing his grip Down in the whale's belly poor Paddy did slip  He was down in the whale six months and five days Till luck one day to his throat he did pop The whale give a snort and then give a blow And out on the land poor Paddy did go  O, Paddy is landed and safe on the shore; He swears that he 'll never go to sea any more The next time he wishes old England to see It will be when the railroad runs over the sea  Note: Alternate chorus I've heard is: Caterwaulin', Tarpaulin', Harpoonin' and all Tune is another Derry Down variant RG From Ballads and Sea Songs of Newfoundland, Greenleaf Collected from John Edison, Fleur de Lys, 1929 @sailor @fish Filename[ PADWHAL Play.exe DERRDWN2 RG ===DOCUMENT BOUNDARY===""",
      "vector_lyrics": [ ... ]
    }
  }

Remote Connector details:
_GET /_plugins/ml/connectors/WVgvuY8Ba1cmZFt-2qvW
{
  "name": "DevToolsRemoteConnector7",
  "version": "1",
  "description": "This is remote connector configurator created from Open Search Lib at runtime",
  "protocol": "http",
  "parameters": {
    "endpoint": "****************",
    "deployment_name": "*******",
    "temperature": "0.0",
    "model": "****",
    "api_version": "**********"
  },
  "actions": [
    {
      "action_type": "PREDICT",
      "method": "POST",
      "url": "https://${parameters.endpoint}/openai/deployments/${parameters.deployment_name}/chat/completions?api-version=${parameters.api_version}",
      "headers": {
        "api-key": "${credential.openAI_key}"
      },
      "request_body": """{ "messages": "${parameters.messages}", "temperature": ${parameters.temperature} }"""
    }
  ],
  "owner": {
    "name": "admin",
    "backend_roles": [
      "admin"
    ],
    "roles": [
      "own_index",
      "all_access"
    ],
    "custom_attribute_names": [],
    "user_requested_tenant": "__user__"
  },
  "access": "private"
}

Remote model details
_GET /_plugins/ml/models/XlgwuY8Ba1cmZFt-Nquz
{
    "name": "devtools_remote_model6",
    "model_group_id": "OCW-hY8BT-AsUikAscDk",
    "algorithm": "REMOTE",
    "model_version": "8",
    "description": "Description about the remote model",
    "model_state": "DEPLOYED",
    "created_time":<PHONE_NUMBER>794,
    "last_updated_time":<PHONE_NUMBER>296,
    "last_deployed_time":<PHONE_NUMBER>296,
    "auto_redeploy_retry_times": 0,
    "planning_worker_node_count": 1,
    "current_worker_node_count": 1,
    "planning_worker_nodes": [
      "SgpCQj20SGWdpTIL0-bXGg"
    ],
    "deploy_to_all_nodes": true,
    "is_hidden": false,
    "connector_id": "WVgvuY8Ba1cmZFt-2qvW"
  }

Agent Configuration:
_GET /_plugins/ml/agents/ZVgwuY8Ba1cmZFt-3qvO
{
    "name": "Song Lyrics Agent #1",
    "type": "flow",
    "description": "Description about the agent",
    "tools": [
      {
        "type": "VectorDBTool",
        "parameters": {
          "input": "${parameters.messages}",
          "source_field": """["artist","album","meta_data"]""",
          "embedding_field": "vector_lyrics",
          "index": "song_lyrics_index",
          "model_id": "cyEKpY8BQusrTe_CRBnv",
          "k": "4"
        },
        "include_output_in_agent_response": false
      },
      {
        "type": "MLModelTool",
        "description": "Tool for answering the question",
        "parameters": {
          "model_id": "XlgwuY8Ba1cmZFt-Nquz",
          "message": """This is the context:\n${parameters.VectorDBTool.output}\nThis is your question:\n${parameters.messages}\n. Give an answer based on the given context\n.""",
          "reponse_field": "result"
        },
        "include_output_in_agent_response": false
      }
    ],
    "created_time":<PHONE_NUMBER>827,
    "last_updated_time":<PHONE_NUMBER>827,
    "is_hidden": false
  }

Execute the agent with the below:
POST /_plugins/_ml/agents/ZVgwuY8Ba1cmZFt-3qvO/_execute
{
    "parameters" : {
        "messages" : "List the songs which are very peppy beat songs from  the lyrics"
    }
}

Following response is observed:
"{\"error\":{\"reason\":\"Invalid Request\",\"details\":\"Error from remote service: \",\"type\":\"OpenSearchStatusException\"},\"status\":400}"
Expected behavior
As per the request made to agent, the syntensized response has to be the output. Instead error is observed.
Additional Details
Plugins
Please list all plugins currently enabled.
Screenshots
If applicable, add screenshots to help explain your problem.
uname -a

Darwin EPINCHEW00ED 23.4.0 Darwin Kernel Version 23.4.0: Fri Mar 15 00:12:49 PDT 2024; root:xnu-10063.101.17~1/RELEASE_ARM64_T6020 arm64
Additional context
Add any other context about the problem here.

[Triage - attendees 1 2 3 4 5 6
@admin-techheralds Thanks for creating this issue, it should be transfer to the ml-commons repo they can help you in that repo
@opensearch-proejct/admin could you please transfer this issue to ml-commons?


Forbidden to access root directory

My structure:
+ root (No access)
 + trunk
 + branches (No access)
  + branch1
  + branch 2
 + releases
  + release1

I can clone everything, but not together as I've no access to the root.
Is there a way to avoid the access on those subfolders?

Maybe you can try by using the trunk url and --rootistrunk --nobranches instead of the root url?


Maze wrong scoring with black tiles

This black tile should make the wall a linear wall and not a floating wall

Huh? Where do you find this in the rules? :)

Actually wasn't really sure about this. I think in germany we always played it like that. The rules say
"1.3.1 Walls may or may not lead to the entrance/exit. Walls that lead to the entrance/exit are called “linear walls.”
By placing the black tile at this point, the wall leads to the entrance. I thought this rule was introduced to give victims that can only be found by doing more than just following the right wall (and avoiding black tiles) a higher scoring?

But it is the walls that leads to the entrance or exit. Not the path the robot needs to take. Walls is the keyword here.
But yes, it may need to be changed for next year. Something for TC to discuss?

Do you have an account on the forum? Please ask there so everyone can see the answer and if we have any problems during competition we can refer to your question asked before the competition :)

WIll do as soon as the picture upload in the forum is working again :) I think that nobody will complain about this though because they get more points.

(Not complaining about their own score, but others. They can complain that another team got more score than they thought was possible.)

Forum topic:
https://junior.forum.robocup.org/t/floating-linear-walls-influenced-by-black-tiles/230


Obfuscation methods are using patchable functions that makes code unsafe

Hello!
First of all I want to say that this tool is great. Previously I was using only javascript-obfsucator, but it was extremily easy to deobfuscated and debug. Some people even did whole deobfuscators based on the obfuscation logic of the javascript-obfuscator.
Okay, now I will give a little bit of context.
I am web game anticheat dev. My client side anticheats were used in multiple games, and it was pretty effective, even tho it is just uncopmlite version of actual anticheat (actual versioun requires a lot of server related work which is extremily difficult and have a lot of issues at implementing it on ready made games + plus it has bad relationships with hashing).
So, since I was using javascript obfuscator on custom low obfuscation config, because I couldn't use any other since it took huge chunk of performance (like 2 seconds, which is unacceptable for the game or site), for hackers it was very easy to handle it "on fly" and edit specific places in code to make it work like they wanted. Even tho they did it I was very happy that they were forced to do this out of options, instead of trying to monkeypatch this (basically my anticheat protects from monkeypatching).
So I wanted to make it stronger. And in you library I see a lot of great features for that, but unfortunatly a lot of them use patchable function to make them work.
Patchable functions are methods / global functions / global classes that can be redefined.
Here the example of one:
const S_charCode = "S".charCodeAt(0);

And this function (method String.prototype.charCodeAt) can be patched, for example like this:
String.prototype.charCodeAt = function() {
    return "fake value"
}

And this is unsafe.
The live example of it is source protection.
I actually use hash source protection that wraps all the completed / obfuscated code into function, then I am getting the hash of this function and pass as argument. Inside of this function I am getting the function signature and compare it's hash with passed hash.
Obviously to hash it I have to use chatCodeAt to get char code and base hash value on it. I did it by creating static dictionary of all
existing symbols:
      return {
        0: 48,
        1: 49,
        2: 50,
        3: 51,
        4: 52,
        5: 53,
        6: 54,
        7: 55,
        8: 56,
        9: 57,
        ":": 58,
        ";": 59,
        "<": 60,

Alright. Now I'll show some specific case of the methods of the JS-Confuser which we can make safier.

String compression
I don't quite understand how this option works, but I see that it use patchable/unsafe methods like:
join, split, charCodeAt, charAt, push, pop
There are a safe analogs of this functions, however, it will make my comment way longer than it should.
If not replacing them, it could be amazing to have customisable function for encoding and other string-operate functions (such as String concealing, String encoding)!
The same issue is related to the array shuffle.

Duplicated literal removal
This method is interesting as well, I kind wanted to implement my own in my obfuscator.
This thing is great, but it has some little issue with it.
It has OVV74A9['call'](this) for no obvious reason. I can imagine only one case, for example when function returns array that has arrow function... I am not sure, but apperantly it has a reason, but it still stays unsafe.

Dispatcher
It has similar to Duplicated literal removal issue, but it also uses spread operator in arguments. And yeah... spread operator is also hackable.

Opaque Predicates
To be honest, I don't really see any changes on my example code, maybe this is a bug. (At we version)

Dead code
Little comment on Dead code option

Deobfuscators (such as deobfuscate.relative.im) can easily find such expressions that are obviously "dead". You can make it more difficult for deobfuscators by creating check when even human can never be sure. For example "key123" in {} (we can never be sure that prototype hasn't this property defined... well... yeah it can break someones code, but who defines something on global prototype anyway, right? I can modify this example).

Stack / Flattern
Another very interesting option. But it has unsafe spread operator use, defineProperty (for some reason).
Also I think I should mention that adding properties to object that didn't originaly had it is a bad idea from the safetiy side, since it can be redefined.
unsafe:

const obj = {}
obj[key] = "new value"
```safe:
```js
const obj = {
    key: null
}
obj[key] = "new value"

Rgf
It has huge potential but it is weird and unsafe in both term.

Overall this thing is great. I cannot ask you to implement this things that I meantioned, probably gonna do it myself. Web security
and monkeypatching is very difficult topics, that no one actually know about and only a few neet it.
Little comments:

_=>_=>_=>...=>_ <- this thing will kill obfsucator.
debugger stuff is not that effective against monkeypatching at all (we can just manualy disable setInterval and fake Date.now)
do you use hashing for integrity check?
footer on js-confuser.com is hidding very buttom of the code
if you select shuffle false on js-confuser.com it will still try to shuffle arrays with length > 2

lot to read lol

lot to read lol

"Didn't read, lol"

@MichaelXF by the way I found few bugs when code breaks even with no enabled options at all

I think this project is abandoned

I think this project is abandoned, nice dc server

Thit is unfortunate.

Patchable functions are methods / global functions / global classes that can be redefined. Here the example of one:
const S_charCode = "S".charCodeAt(0);

And this function (method String.prototype.charCodeAt) can be patched, for example like this:
String.prototype.charCodeAt = function() {
    return "fake value"
}

And this is unsafe.

This is absolutely something the deobfuscator should protect against. I plan to make JS-Confuser safe from this reverse engineering strategy

String compression
...
If not replacing them, it could be amazing to have customisable function for encoding and other string-operate functions (such as String concealing, String encoding)!

Yes, this is planned.

Duplicated literal removal
...
It has OVV74A9['call'](this) for no obvious reason. I can imagine only one case, for example when function returns array that has arrow function... I am not sure, but apperantly it has a reason, but it still stays unsafe.

The .call(this) will be removed as it's unsafe.

Dispatcher
It has similar to Duplicated literal removal issue, but it also uses spread operator in arguments. And yeah... spread operator is also hackable.

Wow classic JavaScript. We will have to deter from spread operator now.

Dead code
Little comment on Dead code option

Deobfuscators (such as deobfuscate.relative.im) can easily find such expressions that are obviously "dead". You can make it more difficult for deobfuscators by creating check when even human can never be sure. For example "key123" in {} (we can never be sure that prototype hasn't this property defined... well... yeah it can break someones code, but who defines something on global prototype anyway, right? I can modify this example).

Yes Dead Code should place more complex false tests. The current idea is other transformations (Duplicate Literals Removal) will obfuscate the false to something more unreadable. I like "key123" in {}. Maybe this could integrate well with Opaque predicates

Stack / Flattern
Another very interesting option. But it has unsafe spread operator use, defineProperty (for some reason).

The Object.defineProperty is purely used to preserve the original function.length property. A new option named preserveFunctionLength will allow users to disable this feature in the next release.

Rgf
It has huge potential but it is weird and unsafe in both term.

RGF has some issues with variable scoping but the next release contains some improvements for it.

It also errors in my console and Node.JS, is this a valid program? Additionally acorn and escodegen are responsible for all parsing / generating, so it's not an issue JS-confuser can easily solve.

debugger stuff is not that effective against monkeypatching at all (we can just manualy disable setInterval and fake Date.now)

What would be a better anti-debugger approach?

do you use hashing for integrity check?

Yes.

footer on js-confuser.com is hidding very buttom of the code

That is intended. After obfuscating the code you are prompted to download it or run it in the browser. The web version is mostly for demoing purposes, ideally you'd want to integrate JS-Confuser in your build tools.

if you select shuffle false on js-confuser.com it will still try to shuffle arrays with length > 2

Great find. The shuffle option was being set as "false" which evaluates as a truthy value. This will get fixed.

@MichaelXF Hi! Thank you for you response!
I will glad to help you make your obfuscator more safe and less patchable
To be honest I can talk for hours about patching / hacking / scripting / protecting js related stuff :P
So, be free to ask anything, I will try to answer 👍
Little response:
_=>_=>_=>...=>_ this is actually a valid program, it is just an arrow function _=>_ that return other arrow function _=>_ and if you will do this long enough the deobfuscator/obfuscator will have stack overflow error.

Sweet. Thank you for your expertise, this will help improve JS-Confuser :)
Feel free to create more issues if you find more unsafe / 'hackable' behaviors. I also have more time to spend so I can maintain JS-Confuser better.

Can you make integrity more secure?

Can you make integrity more secure?

Yes I'm sure theres some improvements for it. Let's push that to a new issue

Ok will do

@MichaelXF can I continue post here my findings / more safe methods / bugs without creating new topic everytime?
Here the "bug" I found:

The Zero width rename type adds unecessary zero with character each time, which cause big file size.

@MichaelXF
Also, I was wrong about "spread operator" in functions like this:
function f(...args) {
   // code
}

It doesn't actually gets handled:

However other stuff does:

@MichaelXF can I continue post here my findings / more safe methods / bugs without creating new topic everytime?

Yes

Good find, this is an easy fix. But realistically just be a normal person and use randomized or mangled variable names 😂

We also can use other reserved words in from of premitives:
true, false, undefined, null, NaN etc.
function anonymous(
) {
const true=10; return true
}

This can be added too

Good find, this is an easy fix.  Personally I tried to auto-deobfuscate some code with it and fail. Because a lot of editors / copy functions doesn't work with zero characters length that good. And if this makes process even a little bit harder - I am gonna use it :P

@MichaelXF
Here interesting JS behaviour that you can use for fancy obfuscation methos:
(+{
    valueOf() {
        // will get triggered
    }
});

("" + {
    toString() {
        // will get triggered
    }
});

this is very interesting looks in debugger:

Here other ways to get global method that I mentioned:
In this case we are using constructor of the generator function

Howerver, even though GeneratorFunction constructor is not global (it doesn't exists on window at all) it still can be redefined before. And not only constructor itself, but Symbol.iterator as well.

@MichaelXF
Btw, here size-effective generator for zero-length variables! I have alse added few keywords.
var keywords = [
  "if",
  "in",
  "for",
  "let",
  "new",
  "try",
  "var",
  "case",
  "else",
  "null",
  "break",
  "catch",
  "class",
  "const",
  "super",
  "throw",
  "while",
  "yield",
  "delete",
  "export",
  "import",
  "public",
  "return",
  "switch",
  "default",
  "finally",
  "private",
  "continue",
  "debugger",
  "function",
  "arguments",
  "protected",
  "instanceof",
  "function",
  "await",
  "async",

  // new key words and other fun stuff :P
  "NaN",
  "undefined",
  "null",
  "true",
  "false",
  "typeof",
  "this",
  "static",
  "void",
  "of",
];

var maxSize = 0;
var currentKeyWordsArray = [];

function shuffle(array) {
  var currentIndex = array.length;
  while (currentIndex != 0) {
    var randomIndex = Math.floor(Math.random() * currentIndex);
    currentIndex--;
    [array[currentIndex], array[randomIndex]] = [
      array[randomIndex],
      array[currentIndex],
    ];
  }
}

function generateArray() {
  var result = keywords
    .map(
      (keyWord) =>
        keyWord + "\u200C".repeat(Math.max(maxSize - keyWord.length, 1))
    )
    .filter((craftedVariableName) => craftedVariableName.length == maxSize)
    .sort(() => Math.random() > 0.5);

  if (!result.length) {
    ++maxSize;
    return generateArray();
  }

  return shuffle(result);
}

function getNextVariable() {
  if (!currentKeyWordsArray.length) {
    ++maxSize;
    currentKeyWordsArray = generateArray();
  }
  return currentKeyWordsArray.pop();
}

@MichaelXF do you have a discord or any other means of information exchange?

@doctor8296 Yes, Send me anything interesting here<EMAIL_ADDRESS>

Here is the first '2.0' rewrite for the frontend: https://new--confuser.netlify.app/
Please feel free to leave your feedbacks

Here is the first '2.0' rewrite for the frontend: https://new--confuser.netlify.app/
Please feel free to leave your feedbacks

It doesn't work good with zero-length chars as previous one.

It doesn't work good with zero-length chars as previous one.

That's somewhat a good thing as it breaks other Monaco based tools

We can use source itself to decrypt strings
function decrypt(str, password) {
    // ...
}

const encryptedString = "ABC...";

decrypt(encryptedString, decrypt.toString());

@MichaelXF, @AEPKILL this is weird, but interesting
paste it in your console at any chromium browser, and try to type anything else there
Object.defineProperty(Promise.prototype, "constructor", {
    get() {
        console.log("%cI AM WATCHING", Math.random())
    }
});


cant get the code to work? works on psp?

hi,
I have found some xbb files in a psp game and i wondered if i can decompress those with this program?
however i can't get the code to do anything / complie... i have never worked with c# so maybe i am doing something wrong.
could you provide a step by step guide to compiling / using these files?
subject546

can you give me a sample file for it?
sometimes is used different structure with using same file extension.

the file i am trying to decrypt is on filedropper http://www.filedropper.com/hondaap1race
there is also a .bin.gz (honda_ap1_race.bin.gz) with a bin in it... but i think that might be the same

is seems used same XBB format (and is openend on my old and bm4 internal archive xbb/pp tool) and is seems have duplicate dummy file on it (since their name same, so is have identical filename checksum).
is containing gim, and gmo file right? is containing 333 file, but stripped to 116 file since have duplicate entries for dummy file (0 byte). Here
ExtractedFile.zip.
my code on this code is only unpacking file from xbb file.

OMG! SO HYPED! that is awesome !
tl;dr at bottom
i just realized though i have not given any proper explanation for extracting this archive.
I am trying to learn about my favorite game "Initial D: Street Stage" because it shares close resemblance to the initial d arcade games. I also would like to learn some more about the way psp games are build.
now on to the results! they seem to be exactly what i am looking for! the game is build from a lot of these .bin files but also .gim and .gmo as the texture and 3d-model formats (they can be viewed with a program called noesis) and the extracted files do indeed resemble the s2000 from the game and its textures.
now there was a reason i send you specifically this car (and sorry i did not disclose this to you) but i found a "in the clear" car in the iso of the game, this car was put in a folder called test and might have been a relic of the development life circle of the game (plz correct me if this makes no sense at all ;p). I was hoping this folder would show a resemblance with the extracted archive since the models in that folder started with 'ap1_'.
AND THEY ARE INDEED FROM THE SAME CAR!!!
these models in the test folder however do seem to be composed from the "parts" in the extracted archive and form more functional models (as if a few models from the archive are put together)
ill add them as a zip here: http://www.filedropper.com/test_24
tl;dr ---
i found this car unpacked inside the iso and the extracted models do resemble the car.
there is however a strange .bin among your extracted files... it does not seem to have a proper header? or am i wrong? (maybe just a side effect of your code or posably the checksum?)
now back to the question, could you give me instructions on how to use you program so i can extract all the other files from this game as a lot of these models are packed inside xbb archives? (or alternatively extract them for me? if so ill provide a link to the iso and ill check witch files are xbb)
and thank you so much! this is already a achievement knowing this PSP game shares a strange archive format with a ds3 game and a different developer (since the formats in PSP development where pretty much unregulated there is a huge difference in file types per game).

please don't upload file on filedropper. i can't download from that filehosting >.>

this better? https://www.mediafire.com/folder/d9tb8in2y9cmf/test


Run tests independently of being loaded into a project

Will presumably involve some kind of surrogate manage.py/settings arrangement to boot Django.

Fixed in main.


Can I do Enableif just like VisibleIf ?

Are you requesting a feature, reporting a bug or ask a question?
What is the current behavior?
What is the expected behavior?
How would you reproduce the current behavior (if this is a bug)?
Provide the test code and the tested page URL (if applicable)
Tested page URL:
Test code
your_code_here

Specify your

browser:
browser version:
surveyjs platform (angular or react or jquery or knockout or vue):
surveyjs version:

@lalitkhanna Somebody has already asked about this functionality. I have to agree it makes sense, if you do not want allowing editing, but do not want to hide a question. It may destroy the layout, for example.
I have added this to our TODO list: "Add question.ifReadOnly/question.ifEnabled property. Similar to ifVisible".
Thank you,
Andrew

Thanks, Andrew, waiting for this feature.

@lalitkhanna question.enableIf property is added.

I just test this in Editor(site) but still I didn't find EnableIf Property? I'm missing anything ?

@lalitkhanna it will come with the next update. We have not released it yet.
Thank you,
Andrew

Thanks @andrewtelnov. Any idea when will have next released ?

@lalitkhanna  We may do it on Friday or early next week. Do you need it urgent?
@tsv2013 @dmitrykurmanov Let's release it after adding the Chinese localization: https://github.com/surveyjs/surveyjs/pull/506/commits
Thank you,
Andrew

I'm OK for Friday.
Thankyou
Lalit

@lalitkhanna We did not release on Friday. We have spent a lot of time by fixing a new bug: https://github.com/surveyjs/surveyjs/issues/511. Our testcafe tests reported an error with a new version of vue.
We will will release on Monday.
Thank you,
Andrew

Thanks. Great Job!!
But just wondering in case user wants to bring some default data from server & he/she don't want to make editable , I guess for this reason we need  to have'Enable' property as well. ?

@lalitkhanna There is already readOnly boolean property of get/set. Actually enabledIf change this property.
There is also isReadOnly property:
return this.readOnly || (this.survey != null && this.survey.isDisplayMode);
Thank you,
Andrew

Gotcha :)
Thanks
Lalit


habridge cannot see my Nest install

HA bridge has been set up and is allowing me to control Servers via WOL calls and also.  Im also able to see my Logitech Harmony Hub and its relevant services/activities/devices.
I am however having issues seeing/gaining access to any Nest devices.  I am using the nest username/password section where the input takes the format of<EMAIL_ADDRESS>and password but when I go to the nest Tab on HAB, the values never and nothing is input
Everything else so far is working well

Will take a look

fantastic...

Testing this and it seems to work properly. I had a bad setup for my credentials, but after that, it is working properly.

@jouster1974 Any update on this?

hi there.  they weren't showing when I logged in last (a day or so ago) and retested my credentials...but logging in now, I can now see my Nest Thermostats (but not Protects)...so this is great.
Now I am wondering if there is any ability to call the hot water heating functions via the bridge (I have both a V2 and a V3)
This is NOT available via Alexa at all yet and to my knowledge has to be done via the app...but that would make my Nest setup complete.  Neither Nest nor Amazon seem to making any attempt to sort this out which is a shame

Protects will not show up in the ha-bridge only Thermostats and the home/away function.


[DOCS] Add PYTHON option to kyuubi.operation.language

Why are the changes needed?

as pyspark is supported in #3780, exposing PYTHON option for kyuubi.operation.language as an experimental feature

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

cc @cfmcgrady @pan3793

Codecov Report

Merging #4256 (d05cedd) into master (f677848) will decrease coverage by 0.10%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #4256      +/-   ##
============================================
- Coverage     53.55%   53.46%   -0.10%
  Complexity       13       13
============================================
  Files           560      560
  Lines         30413    30412       -1
  Branches       4082     4081       -1
============================================
- Hits          16288    16259      -29
- Misses        12620    12647      +27
- Partials       1505     1506       +1

Impacted Files
Coverage Δ

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.44% <100.00%> (-0.07%)
:arrow_down:

...he/kyuubi/engine/spark/shim/CatalogShim_v2_4.scala
64.06% <0.00%> (-7.58%)
:arrow_down:

...he/kyuubi/engine/spark/shim/CatalogShim_v3_0.scala
80.43% <0.00%> (-6.53%)
:arrow_down:

...pache/kyuubi/engine/KyuubiApplicationManager.scala
79.72% <0.00%> (-4.06%)
:arrow_down:

...ain/scala/org/apache/kyuubi/engine/EngineRef.scala
71.42% <0.00%> (-3.18%)
:arrow_down:

...ache/kyuubi/operation/KyuubiOperationManager.scala
80.00% <0.00%> (-2.67%)
:arrow_down:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
78.39% <0.00%> (-2.47%)
:arrow_down:

...rg/apache/kyuubi/ctl/cmd/log/LogBatchCommand.scala
59.09% <0.00%> (-1.52%)
:arrow_down:

.../kyuubi/engine/spark/operation/ExecutePython.scala
81.46% <0.00%> (-0.87%)
:arrow_down:

.../org/apache/kyuubi/session/KyuubiSessionImpl.scala
75.67% <0.00%> (-0.36%)
:arrow_down:

... and 1 more

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

Thanks, merged to master/1.7 .


[ASCII-2613] Remove golang.org/x/text/cases from some builds

What does this PR do?
Remove golang.org/x/text/cases from some builds.
Motivation
The dependencies are not needed just to capitalize the first letter of a string.
I'm hoping this reduces binary size a bit.
EDIT: -0.3MB, not a lot but considering the change is pretty small we might as well merge it.
Describe how you validated your changes

Possible Drawbacks / Trade-offs
Additional Notes

/merge


not rendered correctly; incorrectly escapes when switching

Describe the bug
The Stacks Editor does not properly render  elements and incorrectly escapes them when toggling from Markdown mode to rendered mode.
To Reproduce

Start a new post. Make sure you are in Markdown mode, not rendered/rich edit mode.
Enter the following Markdown: this should be code formatted with some italics inside

Click the toggle to switch to rendered/rich edit mode.
Click the toggle to switch back to Markdown mode.

Expected behavior

After step 3, the rendered post looks like: this should be code formatted with some italics inside
After step 3, the Markdown should be exactly what was entered after step 2

Actual behavior

After step 3, the rendered post has literal  and  shown. None of the sentence has typewriter formatting. The italics are shown correctly:

After step 3, the Markdown has had  changed to `<code>` and similarly for :
`<code>`this should be code formatted with some italics inside`</code>`

Desktop (please complete the following information):

OS: Windows 10
Browser: Firefox 85.0, Edge 88.0.705.56

Additional context
If I submit the answer/edit without previewing, the  elements are rendered correctly.
I first encountered this on a StackOverflow Enterprise installation. I have the same experience on Meta Stack Exchange.

I'd like to point out here that as a side effect of this bug the editor is committing a grave sin: entering WYSIWYG mode in this case is changing the markup arbitrarily, which is not what one expects to see. Changes should only be done around the cursor/selection as a result of explicit user interaction :(
Many editors do this (eBay's editor minifies all HTML), but it is not expected behavior, and I would argue that it's not correct either.

@LoganDark Leaving markdown as is when switching between markdown and rich-text mode is something we've got on our radar but haven't solved yet. I totally agree that the editor should not change your markdown existing markdown syntax.

Did some investigation, reporting here so I remember where to pick up again later:
this should be code formatted with some italics inside parses as [code_inline, text, em_open, text, em_close, code_inline].
`this should be code formatted <i>with some italics inside</i>`

is parsed as a single code_inline with the context set to the entire text (no html parsing).
What we're seeing is that code_inline does not have an _open/_close suffix like other marks, so the content between the bounding tokens is not wrapped in the code mark.
Easiest solution? Parse  as a different token (code_inline_split?) that opens/closes and is ultimately parsed to the same mark as code_inline.


Adding boot delay to alleviate overwritten boot loader configs

Auto-upgrades on ALIX hardware for nanoBSD image results in an overwritten /boot/loader.conf. Upon rebooting, the image will not properly boot until the kernel boot delay is manually done via console and webConfig. Hopefully this will alleviate this issue, so I can upgrade all my pfSense nodes without having to travel to remote locations. Please let me know if this is the improper file to modify, or if this is not a feasible solution<EMAIL_ADDRESS>

It's never been in there, and adding a delay for everyone where most all systems don't need it isn't good. Where you need to make such changes, make them in loader.conf.local which will survive upgrades.

Gotcha, I didn't realize that appending .local to the modified loader.conf
would cause it to still be read.
This is a much easier fix. Thank you, sorry for any inconvenience.
On Jan 5, 2015 10:59 AM, "Chris Buechler"<EMAIL_ADDRESS>wrote:

It's never been in there, and adding a delay for everyone where most all
systems don't need it isn't good. Where you need to make such changes, make
them in loader.conf.local which will survive upgrades.
—
Reply to this email directly or view it on GitHub
https://github.com/pfsense/pfsense/pull/1417#issuecomment-68757155.


Add recipe for running shell commands

It would be awesome to have a recipe for running shell commands via gulp. I'd make a PR for this myself, but I'm actually not sure what the best practice for this is anymore. Is it gulp-exec? Is it Node's child_process.exec or child_process.spawn?
Either way, I'd love to get a recipe for this added.
Thanks!

Forgive my noobness, but .. I'm using the gulp-docco plugin which fails to produce docco's navigation menu.  It's default is to create a menu on each file docco converts into html which navigates between the files given to the docco command.
Here's the github issue:  https://github.com/jsBoot/gulp-docco/issues/2  The author of gulp-docco mentioned this problem:
Right now, the plugin doesn't support it (because it operates on each file individually, not as a whole).
Is there a way to just run the command "docco -o  " in gulp? Doing this on the command line produces the desired nav menus, but using the docco task in my gulp file does not.
I ask here because it seems to match the issue being raised here.

I just added this in the 4.0 branch.


Road to ScottPlot 4.1

Update on November 17, 2020
⚠ I am reducing effort on issues and PRs while I work on this daily.

See changelog.md for a summary of major changes.
See roadmap.md for a big-picture discussion of plans and goals
I merged #605 which accomplishes most of the goals described on this page
The master branch is now ScottPlot 4.1-beta. Old source code has its own 4.0-stable branch.

Plottables to Refactor

[x] Candlestick / OHLC - PlottableOHLC.cs
[x] Annotation - PlottableText.cs
[x] Bar - PlottableBar.cs
[x] ErrorBar - PlottableErrorBars.cs
[x] Function - PlottableFunction.cs
[x] HLine - PlottableAxisLine.cs
[x] HSpan - PlottableAxisSpan.cs
[x] VLine - PlottableAxisLine.cs
[x] VSpan - PlottableAxisSpan.cs
[x] Heatmap - PlottableHeatmap.cs
[x] Image - PlottableImage.cs
[x] Pie - PlottablePie
[x] Polygon - PlottablePolygon.cs
[x] Polygons - PlottablePolygons.cs
[x] Populations - PlottablePopulations.cs
[x] Radar - PlottableRadar.cs
[x] ScaleBar - PlottableScaleBar.cs
[x] Scatter / ScatterHighlight - PlottableScatter.cs PlottableScatterHighlight.cs
[x] Signal / SignalConst / SignalXY (#585)
[x] Text - PlottableText.cs
[x] VectorField - PlottableVectorField.cs

Renderables to Refactor

[x] Axis labels
[x] Axis tick marks
[x] Axis tick labels
[x] Grid lines
[x] Figure and Data background
[x] Error message
[x] Benchmark message

Refactor / Large Features

[x] Delete the Plottable class and replace it with IPlottable
[x] Change plottable namespaces (PlottableScatter becomes Plottable.Scatter)
[x] support multiple X and Y axes

Remaining Tasks

[x] Make GetAxisLimits() return AxisLimits object
[x] Create a control to test a timer-based render method
[x] Create new plottables specifically for growing data (mark public data fields readonly and provide setters to replace data arrays)
[ ] Improve data validation for plottables (create separate pre-render and deep validation methods in an interface)

Extra release of 4.0

[x] Add RenderLock() and RenderUnlock() fields to help with multi-threaded plot manipulation
[ ] Add NuGet message noting transition to 4.1 and to check preleases

Hi @swharden,
I can take Signals after you pave the way on some other Plottables.
The big difficulty in configuring via properties is that you cannot guarantee the valid state when setting related properties. For example, if the user wants to change the size of the xs and ys arrays. He will first change one array, transfer the Plottable to an invalid state, and it is impossible to control in any way what he then changes and ys before calling Render.
This problem can be solved by introducing an additional API for related properties, which allows them to be set only together, and the prohibition to change properties individually. For example SetNewData(newXs, newYs). But this will of course clutter up a lot and complicate everything for the user.
On the other hand, we can implement some sort of promise subsystem. When changing the xs property, the promise to resolve the discrepancy flag is set. If the correct ys array is then given then the promise flag is cleared. If at the time of rendering there are unresolved promises, then inform the user about an invalid state in some way (throw or skip render or ...).
Well, option 3 is the most preferable at the moment, not to consider this problem at this stage.

guarantee the valid state

I am considering making plottables inherit IPlottable and implement void IsValidData(bool deep = false)...

This would force people who make plottables to consider how to best validate them. Work you did in #553 can make this easier using decorators and reflection.

Shallow (non-deep) validation would just check to ensure arrays are not null and have equal lengths. Shallow validation will be run before every render since it is so fast.

Deep validation would do things like check every value of a double is finite and/or ascending. Deep validations would only be requested manually or if diagnostic mode is enabled.

Perhaps another property could control the behavior that happens when validation fails. It would be excellent if the user can control if a failed validation throws an exception, prints to the Debug log, or maybe displays a failure message on the graph itself. It seems like a descriptive failure message would be useful, maybe involving string DataValidationStatus property or something... I'm still thinking about this one!

I implemented most of what was discussed above in the PlottableText object. @StendProg if you take a look I'm interested to learn what you think!
I'm most unsure about how to proceed with validation. I know a lot of work was recently done in this area (#553), but if validation occurs inside plottables and custom, string-based, plot-type-specific error messages are involved, it may be a good idea to avoid the complexity associated with decorators and reflection and implement validation inside a simple method defined by the interface. I'm still thinking about this one...
I'm trying to strangle the Plottable class (an abstract class with all abstract methods) and move its functionality toward IPlottable. Once all plottables implement IPlottable I plan to delete the Plottable class and move all its methods into the new interface. This last step is a breaking change, so I'll save that for 4.0 -> 4.1.
Notable New Code
IPlottable has a new Render method which passes a simple object into the render method (instead of the whole settings module).
https://github.com/swharden/ScottPlot/blob/43264d4ab25a312702b8287ac51b0e15360261ab/src/ScottPlot/plottables/IPlottable.cs#L12-L18
https://github.com/swharden/ScottPlot/blob/43264d4ab25a312702b8287ac51b0e15360261ab/src/ScottPlot/Renderer.cs#L27
https://github.com/swharden/ScottPlot/blob/43264d4ab25a312702b8287ac51b0e15360261ab/src/ScottPlot/Renderer.cs#L36-L45
Validation methods inside plottables are easy to read and have error messages:
https://github.com/swharden/ScottPlot/blob/43264d4ab25a312702b8287ac51b0e15360261ab/src/ScottPlot/plottables/PlottableText.cs#L55-L75
I simplified the constructor. I think my plan is to only accept arrays as constructor arguments, but all value types will be public properties.
https://github.com/swharden/ScottPlot/blob/43264d4ab25a312702b8287ac51b0e15360261ab/src/ScottPlot/Plot/Plot.PlotText.cs#L30-L46

Hi @swharden ,
I checked PlottableText, and realized that we have a misunderstanding.
I mean by properties, directly C # properties, i.e. a couple of get/set methods flavored with syntactic sugar. You are apparently the properties of the Plotable themselves, and you express them as public fields in c # terms.
All my thoughts were based on my delusion, and I saw everything differently. You can validate the data directly in the setter, and forget that your object may be in an invalid state, setters will not allow this to be. For this they are created.
The only problem with this approach is the impossibility of joint validation of separate properties. I described this earlier.
With your current approach, that has a right to exist. Since you do not have any control over the values of the fields, the user can change them at any time, as much as he wants, to any value he wants. You are forced to validate all of these fields before each render, even if none of them actually changed.
Actually, to solve this problem with performance, setters were invented, in fact, they solve much more problems, but I will only say that in this particular case, using an approach with validation is quite acceptable. Using setters will greatly increase  code, albeit in a simpler form.
In the end, it's up to you, I just stated what I think.

This is an example of how I see it.
https://github.com/StendProg/ScottPlot/blob/PlottableTextProperties/src/ScottPlot/plottables/PlottableText.cs
I don't think it is appropriate to check for NAN and Infinity every time in setters, this is the task of the diagnostic mode, or the manual call of IsValidData(). I left them in the setters just for an example, PlottableText require only one check FontSize > 0. In other plotables, more checks will be required.

Hi @StendProg, thank you for your feedback!

realized that we have a misunderstanding

I now see the misunderstanding! Indeed, I frequently used the word property when I should have said field.

Since you do not have any control over the values of the fields, the user can change them at any time, as much as he wants, to any value he wants. You are forced to validate all of these fields before each render, even if none of them actually changed.

You raised some excellent points! Here are my thoughts about what you said:

Plottables may temporarily have a bad state, as long as good state is achieved before rendering. An example is replacing xs and ys of a scatter plot where the new arrays have different lengths than the originals. You must update one before the other, so briefly one array will be a different length than the other. You correctly pointed out this is why it is not possible to perform all validation logic inside properties.

State validation must be performed before each render. This is why I think it is useful to have shallow and deep validation methods. Shallow validation (checking arrays are not null and are the same length) is so fast that this is not a performance problem. Deep validation is slow, so this should be run manually (not before every render).

There is one more option... We could add a bool needsValidation field and any time a setter is called it could be set to true so that validation would occur on the next render. I don't prefer this because it adds "noise" in the code and probably not any meaningful performance improvement.

Actually, to solve this problem with performance, setters were invented, in fact, they solve much more problems, but I will only say that in this particular case, using an approach with validation is quite acceptable.

I agree! Putting validation logic in property setters can achieve a lot (e.g., your code example). However, for this case there are complex validation tasks which require comparing properties to each other, and there are complex differences in shallow vs. deep validation, so I think a validation method (with a deep argument) makes sense for this application. One small advantage of my code example is that the ValidationErrorMessage string will contain multiple validation error messages if multiple errors exist.
I also noticed how you made all public properties capitol in https://github.com/StendProg/ScottPlot/commit/50ddd79fa3b6c91cbbc51a1e8828b60c0d2aa113. I like this, and it is consistent with the C# Capitalization Rules for Identifiers. I will make this change for all public fields and properties in ScottPlot 4.1

Hi @StendProg, I made some large changes which I isolated in #605 (and transitioned version 4.0 -> 4.1). I don't have to merge this, but so far I think it looks good and I am very interested in your thoughts! Many files changed so I summarized the major changes here:
Plottable has been replaced by IPlottable
https://github.com/swharden/ScottPlot/blob/5e7750d8911de43a070694c904c1ff321532b2e7/src/ScottPlot/plottables/IPlottable.cs#L11-L19
Validation inside plottables
I really liked your diagnostic mode data validation ideas! They are now now incorporated in every plottable. I created a static class to hold methods to make it easy for plottables to validate themselves. If a plottable's ErrorMessage method returns a string, it's considered an error. Some plottables have very unique validation rules (e.g., polygons must have at least 3 points).
https://github.com/swharden/ScottPlot/blob/5e7750d8911de43a070694c904c1ff321532b2e7/src/ScottPlot/plottables/PlottablePolygon.cs#L65-L88
Fast validation (like ensuring xs and ys have the same legnth) happen on every render without impairing performance.
I didn't remove property validation code in the signal plottable yet... but I suspect it can be replaced by simple public fields again.
Diagnostic mode
Plot.DiagnosticMode has been replaced by Plot.Validate() with arguments customizing shallow/deep validation and also defining what to do if validation fails (do nothing, show error on the plot, or throw exception)
https://github.com/swharden/ScottPlot/blob/5f6f302794af396ad0c6d202a7a0108c4020c5fb/src/ScottPlot/Plot/Plot.Settings.cs#L18-L24

Hi @swharden, looks great, especially customizable error output.
I left a review, but there is nothing significant. (There are a lot of changes, and I could not go through everything very carefully)

Hi @swharden, looks great, especially customizable error output.
I left a review, but there is nothing significant. (There are a lot of changes, and I could not go through everything very carefully)

This is great to hear! Thanks for your input (and your recent comments in #605). I am reassured that I am on a good path and will continue working in this direction 👍

I've been working on the validation system again and I'm close to a solution that feels good. Scatter plots, for example:

data arrays xs and ys are exposed so users can change values inside the array easily (this is encouraged), but they are now private set so they cannot be replaced by assignment. Users have to call a ReplaceX(), ReplaceY(), or ReplaceXY() to replace these arrays with new ones.

Length and null checking are performed upon replacement (so if it fails, it fails fast)
I know this could be done in a property, but frequently replacing data arrays in existing plottables is usually not recommended and not something I want to encourage. I hope putting this operation behind a function will make users slow to use it.
I will create a ScatterList plot type. I have found that a common task is to add X/Y points over time, and a list is a good way to do this (much better than making new arrays and replacing xs and ys every time a new point is added!)

Plottables have a ValidateData(bool deep) method.

Shallow validation happens before every render to make sure things are not null and have the proper lengths
Deep validation can happen upon request
When validation fails it always throws an InvalidOperationException (no catching or returning strings, no displaying errors on the plot image). I think failing hard and failing fast is a good idea. NaNs in data or mismatched X and Y lengths are big problems, so I think a big error is warranted.

I thought of some ways to do NaN checks without requiring deep validation:

Scatter.GetAxisLimits() uses uses Math.Min() and Math.Max() to find data limits, and those methods return NaN if one of the inputs is NaN. If NaN or Infinity is present anywhere in the original data, it will be in the final limits, an exception is thrown.
AxisAuto() calls every plottable's GetAxisLimits(), and this happens automatically before the first render in 99% of cases, so I think this will let almost everybody know there is a problem very fast without having to enable "diagnostic mode" manually.
Signal plots are a little different. Their min/max search strategies only return NaN if every value is NaN. I check for this at the end of GetAxisLimits() now, and throw if min or max NaN. This only happens if every value in the data is NaN, but it's no extra cost and seems worth doing.
I added a NaN check to Signal plots that occurs on the pixels right before rendering lines. I'll probably do this to scatter plots too. There are not many pixels, so this check is fast. It might not catch a single NaN in a big data array, but if a whole pixel column is NaN it will throw.

There is now a working multi-axis demo in the cookbook 🎉
// generate sample data to plot
Random rand = new Random(0);
int pointCount = 100;
double[] xs = DataGen.Consecutive(pointCount);
double[] rainfall = DataGen.RandomWalk(rand, pointCount, 1, 10); // small values
double[] organisms = DataGen.RandomWalk(rand, pointCount, 1000, 20000); // large values

// create a plot and customize the primary X axis
var plt = new ScottPlot.Plot(600, 400);
plt.XAxis.Configure(label: "Days After Volcano Eruption");

// add a scatter plot and customize the primary Y axis
var scatter1 = plt.PlotScatter(xs, rainfall);
plt.YAxis.Configure(label: "Daily Rainfall (cm)", color: scatter1.color);

// add another scatter plot but give it a custom vertical axis index
var scatter2 = plt.PlotScatter(xs, organisms);
scatter2.VerticalAxisIndex = 3;

// add a new vertical axis using same axis index as the second scatter plot
var secondLeftAxis = plt.AddAxis(Renderable.Edge.Left, axisIndex: 3);
secondLeftAxis.Configure(label: "Number of Organisms", color: scatter2.color);

I want to continue to improve the API by simplifying it. I am not satisfied with how messy the argument list is for Axis.Configure().

Axis.Configure() for options like visibility, layout, label, and color
Axis.ConfigureTicks() for DateTime display, tick density, manual spacing, manual tick labels, multiplier notation, etc.
Axis.ConfigureGrid() for all those grid line options.

Either way, this is a good start!

I'll spend some more time today working on the release notes, documentation, and cookbook, but this is on NuGet now 😎


Add a cache layer to Docker

This PR adds a cache later to Docker using cargo-chef. This change has a noticeable improvement in the turnaround time if someone is using Docker in their development cycle.

Not too familiar with cargo chef. Is it ok to include this in the production image? If not, we can always create a Dockerfile.dev.

@levkk cargo chef is definitely the accepted docker cache layer, but I'm also not sure about its production grade. From their repo:
cargo-chef was initially developed for the deployment chapter of [Zero to Production In Rust](https://zero2prod.com/), a hands-on introduction to backend development using the Rust programming language.

Which might mean initially was not meant to be for production, but it is now.
Anyways, your suggestion makes sense. Thanks.


camera calibration

Then if i want to know the camera calibration like altitude, pose, can i get the camera calibration?

Hey, I am not sure I fully understood your question. However, the aim of this algorithm is to localize the drone is a geo-referenced dataset using one down camera, and not to calibrate the camera. You should calibrate the camera before the drone landing as those params are utilized in the pipeline.


Custom app icon thumbnails are broken

Stationversion 2.1.0
Electron13.6.9
Chrome91.0.4472.164
Node14.16.0
v89.1.269.40-electron.0
Running on MacOS 11.7.7

I just upgraded the system install of Electron to 25.2.0 but Station sticks with the old version that it's packaged with.

Duplicate #125

Resolved itself following an OS update today.