C++编译出错demo/CMakeFiles/model_infer.dir/

描述问题
ubuntu 18.04
(base) root@test:/work/paddlex2/app1# ./scripts/build.sh
-- The CXX compiler identification is GNU 5.5.0
-- The C compiler identification is GNU 5.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found OpenCV: /work/paddlex2/app1/deps/opencv3.4.6gcc4.8ffmpeg (found version "3.4.6")
-----DEPS = opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;-ldl -lrt -lgomp -lz -lm -lpthread;/work/paddlex2/app1/paddle_inference/paddle/lib/libpaddle_inference.so;glog;gflags;protobuf;xxhash;cryptopp;yaml-cpp;/work/paddlex2/app1/paddle_inference/third_party/install/openblas/lib/libopenblas.a;/usr/local/cuda/lib64/libcudart.so;/usr/local/cuda-10.1/lib64//libcudnn.so
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
OPENSSL_DIR

-- Build files have been written to: /work/paddlex2/app1/build
[  6%] Creating directories for 'ext-yaml-cpp'
[ 12%] Performing download step (download, verify and extract) for 'ext-yaml-cpp'
-- ext-yaml-cpp download command succeeded.  See also /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-stamp/ext-yaml-cpp-download-.log
[ 18%] No update step for 'ext-yaml-cpp'
[ 25%] No patch step for 'ext-yaml-cpp'
[ 31%] Performing configure step for 'ext-yaml-cpp'
-- The C compiler identification is GNU 5.5.0
-- The CXX compiler identification is GNU 5.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test FLAG_WEXTRA
-- Performing Test FLAG_WEXTRA - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-build
[ 37%] Performing build step for 'ext-yaml-cpp'
-- ext-yaml-cpp build command succeeded.  See also /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-stamp/ext-yaml-cpp-build-.log
[ 43%] No install step for 'ext-yaml-cpp'
[ 50%] Completed 'ext-yaml-cpp'
[ 50%] Built target ext-yaml-cpp
make[2]: *** No rule to make target '../paddle_inference/third_party/install/openblas/lib/libopenblas.a', needed by 'demo/model_infer'.  Stop.
make[2]: *** Waiting for unfinished jobs....
[ 56%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o
[ 62%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o
[ 87%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o
[ 87%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o
[ 87%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o
[ 87%] Building CXX object demo/CMakeFiles/model_infer.dir/model_infer.cpp.o
[ 93%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:117: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:103: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.d: No such file or directory
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.d: No such file or directory
compilation terminated.
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:145: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:159: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:89: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir/model_infer.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:75: recipe for target 'demo/CMakeFiles/model_infer.dir/model_infer.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir/model_infer.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:131: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o] Error 1
CMakeFiles/Makefile2:125: recipe for target 'demo/CMakeFiles/model_infer.dir/all' failed
make[1]: *** [demo/CMakeFiles/model_infer.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
复现

c++部署方式

您是否按照文档教程已经正常运行我们提供的[demo]

直接使用demo编译出错

环境
ubuntu 18.04，paddle2.1,paddlex2.0.0
CUDA10.1 cuDNN7.6.5

当WITH_MKL=ON，出现如下错误
-- Build files have been written to: /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-build
[ 20%] Performing build step for 'ext-yaml-cpp'
-- ext-yaml-cpp build command succeeded.  See also /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-stamp/ext-yaml-cpp-build-*.log
[ 24%] No install step for 'ext-yaml-cpp'
[ 27%] Completed 'ext-yaml-cpp'
[ 27%] Built target ext-yaml-cpp
[ 34%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.o
[ 34%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir/model_infer.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:159: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:187: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:117: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:89: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:131: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:145: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:271: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:257: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:215: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir/model_infer.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.d: No such file or directory
demo/CMakeFiles/model_infer.dir/build.make:75: recipe for target 'demo/CMakeFiles/model_infer.dir/model_infer.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir/model_infer.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.d: No such file or directory
demo/CMakeFiles/model_infer.dir/build.make:201: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.o' failed
compilation terminated.
compilation terminated.
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:173: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:285: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.o' failed
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.d: No such file or directory
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.o] Error 1
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:243: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:103: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:229: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.o] Error 1
CMakeFiles/Makefile2:125: recipe for target 'demo/CMakeFiles/model_infer.dir/all' failed
make[1]: *** [demo/CMakeFiles/model_infer.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

你的yaml-cpp依赖包没有下载安装成功，看看是否自动下载。如果没有联网，可以尝试手动下载。 具体请看文档中第四步的 “编译环境无法联网导致编译失败” 描述： https://github.com/PaddlePaddle/PaddleX/blob/release/2.0.0/deploy/cpp/docs/compile/paddle/linux.md

无PaddleX/deploy/cpp/cmake/yaml.cmake文件，但有yaml-cpp.cmake，拷贝一份为yaml.cmake内容如下：
还是出错
include(ExternalProject)
ExternalProject_Add(
ext-yaml-cpp
#URL https://bj.bcebos.com/paddlex/deploy/deps/yaml-cpp.zip
URL /work/paddlex2/app1/deps/yaml-cpp.zip
URL_MD5 9542d6de397d1fbd649ed468cb5850e6
CMAKE_ARGS
-DYAML_CPP_BUILD_TESTS=OFF
-DYAML_CPP_BUILD_TOOLS=OFF
-DYAML_CPP_INSTALL=OFF
-DYAML_CPP_BUILD_CONTRIB=OFF
-DMSVC_SHARED_RT=OFF
-DBUILD_SHARED_LIBS=${YAML_BUILD_SHARED_LIBS}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${CMAKE_BINARY_DIR}/ext/yaml-cpp/lib
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=${CMAKE_BINARY_DIR}/ext/yaml-cpp/lib
PREFIX "${CMAKE_BINARY_DIR}/ext/yaml-cpp"
# Disable install step
INSTALL_COMMAND ""
LOG_DOWNLOAD ON
LOG_BUILD 1
)

yaml.cmake 更改还出错信息
(base) root@test:/work/paddlex2/app1# ./scripts/build.sh
-- The CXX compiler identification is GNU 5.5.0
-- The C compiler identification is GNU 5.5.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found OpenCV: /work/paddlex2/app1/deps/opencv3.4.6gcc4.8ffmpeg (found version "3.4.6")
-----DEPS = opencv_calib3d;opencv_core;opencv_dnn;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;-ldl -lrt -lgomp -lz -lm -lpthread;/work/paddlex2/app1/paddle_inference/paddle/lib/libpaddle_inference.a;glog;gflags;protobuf;xxhash;cryptopp;yaml-cpp;/work/paddlex2/app1/paddle_inference/third_party/install/mklml/lib/libmklml_intel.so;/work/paddlex2/app1/paddle_inference/third_party/install/mklml/lib/libiomp5.so;/work/paddlex2/app1/paddle_inference/third_party/install/mkldnn/lib/libmkldnn.so.0;/usr/local/cuda/lib64/libcudart.so;/usr/local/cuda-10.1/lib64//libcudnn.so
-- Configuring done
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
OPENSSL_DIR

-- Build files have been written to: /work/paddlex2/app1/build
[  3%] Creating directories for 'ext-yaml-cpp'
[  6%] Performing download step (verify and extract) for 'ext-yaml-cpp'
-- ext-yaml-cpp download command succeeded.  See also /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-stamp/ext-yaml-cpp-download-.log
[ 10%] No update step for 'ext-yaml-cpp'
[ 13%] No patch step for 'ext-yaml-cpp'
[ 17%] Performing configure step for 'ext-yaml-cpp'
-- The C compiler identification is GNU 5.5.0
-- The CXX compiler identification is GNU 5.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test FLAG_WEXTRA
-- Performing Test FLAG_WEXTRA - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-build
[ 20%] Performing build step for 'ext-yaml-cpp'
-- ext-yaml-cpp build command succeeded.  See also /work/paddlex2/app1/build/ext/yaml-cpp/src/ext-yaml-cpp-stamp/ext-yaml-cpp-build-.log
[ 24%] No install step for 'ext-yaml-cpp'
[ 27%] Completed 'ext-yaml-cpp'
[ 27%] Built target ext-yaml-cpp
[ 31%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir/model_infer.cpp.o
[ 82%] Building CXX object demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:89: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/base_preprocess.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:201: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_postprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:117: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/paddle_deploy.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:215: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_preprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:173: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/engine/src/ppinference_engine.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:159: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/visualize.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir/model_infer.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:75: recipe for target 'demo/CMakeFiles/model_infer.dir/model_infer.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir/model_infer.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.d: No such file or directory
compilation terminated.
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:145: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/utils/src/bbox_utils.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:229: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_model.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:257: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_preprocess.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:285: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_postprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:187: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppdet/src/det_model.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:271: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppclas/src/clas_model.cpp.o] Error 1
demo/CMakeFiles/model_infer.dir/build.make:243: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/ppseg/src/seg_postprocess.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:131: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/transforms.cpp.o] Error 1
cc1plus: fatal error: CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.d: No such file or directory
compilation terminated.
demo/CMakeFiles/model_infer.dir/build.make:103: recipe for target 'demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o' failed
make[2]: *** [demo/CMakeFiles/model_infer.dir//model_deploy/common/src/model_factory.cpp.o] Error 1
CMakeFiles/Makefile2:125: recipe for target 'demo/CMakeFiles/model_infer.dir/all' failed
make[1]: *** [demo/CMakeFiles/model_infer.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2


Add viewing logs to UserInfoPopup

Should be fine to review

Some of these issues may also be present in code written by myself, however I still want them to be addressed in PR's.

Use the NetworkRequest class instead of QNetworkRequest. (rest of the code uses it for performance reasons)
Don't capture variables with = in the lambda, capture them explicitly instead to make it clear what is used. (make it clear what is captured)
Don't stack multiple http requests in lambdas, create functions accordingly. (spaghetti)
Use auto (when possible and reasonable). (reduces noise level of the code)
Don't to use message boxes when showing errors, maybe use a label to show the error instead. (annoying UX)
Instead of showing the results in a MessageBox show them in a ChannelView.

Create a Channel
Parse the irc with Communi::IrcMessage (.text in the cbenni.com api)
Use TwitchMessageBuilder with the IrcMessage to get a Message
Add the messages to the Channel
Create a Split and set the Channel to the newly created Channel with the log messages.

You may need to create the MessageBox in the gui thread using util::sendToThread when you switch to NetworkRequest.
If this is too much for you we can accept the PR after fixing the first 4 issues.

It's insanely huge and bad discoloration.

Here's what the one from master build looks like.

In this case, it's cut off text.

Tested this for a bit. Everything looks fine to me functionality wise. Not sure if it's a limitation of cbenni but some channels aren't loading badges correctly in the logs.


Quota/limits don't appear to be enforced

Describe the bug
Quotas not honored, at least in Test Mode on Stripe.
To Reproduce
Steps to reproduce the behavior:

Select either plan.
Generate up to the Quota
Attempt to generate more copy beyond the quota

Observed behavior
I can continue generating copy indefinitely and some times when I navigate to billing then back to generate it resets the quota to 0 until I preform a refresh.
Expected behavior
Some kind of message or paywall preventing the user from continuing to generate marketing copy. Also, seeing overages in the billing section of the site.
Desktop (please complete the following information):

OS: Mac OSX 13.5
Browser Chrome
Version 118.0.5993.88

Additional context
I haven't modified anything yet, just deployed through Vercel, to this domain: https://numbluck.vercel.app/

Also, switched Stripe off of test mode and even when it's live, it doesn't prevent overages

Ah, I actually see the charges occurring on an invoice in Stripe, didn't realized they're not processed until the next billing cycle. Cheers for the template!


Add initial code, a test, and community health files

This PR adds initial code, a test, and community health files. I tried to keep the code as true to the original as I could while balancing linting rules I've added as part of this project. Please provide special attention to testing, where I feel we need verification that the output looks as expected with the data.
Other notable changes:

Added GitHub Actions automated testing through pre-commit and pytest
Added PR and issue templates
Suggested the use of private security notices for code of conduct violations (where normally we'd need an email address or similar here for discrete communication).
The license was updated from CC-1.0 to BSD-3-Clause to acknowledge Creative Commons guidance on CC license use for software.

Thanks @jenna-tomkinson for the review, merging this in!


[FSDE-20356] Prevent Data Table row sorting in SS mode

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-389/1/. :x:

The CI pipeline has run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-389/2/. :white_check_mark:

You can check this PRs instance in https://af1fcb270a23b440fce933a1385a0d55d5a4b572-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-389-ux-chi.kubeodc-test.corp.intranet/ (internal)


JFXScrollPane does not allow centering of nodes (specifically JFXMasonry)

The masonry is not centered and cannot be centered, I applied
			StackPane.setAlignment(masonry, Pos.TOP_CENTER);
and
			scrollpane.setAlignment(Pos.CENTER);
with no luck

Hi @Demoniaque . I'm not sure that it's an issue with the JFXMasonryPane.
Without more information, i guess that the extra space on the right is generated by the masonry component. Placed in a StackPane, the component will grow to take all the available place. For each row, there is not enough space to add a new reddit block on the left, so the block is added to a new line. The masonry pane is probably centered but due to this extra space, childs are not centered on the scene.
You can easily check that by adding custom background color to see which component is not centered.
masonry.setStyle("-fx-background-color: red);

stackpane.setStyle("-fx-background-color: blue);

You can try to define a pref and/or max size for your MasonryPane. You can also use a GridPane if you just need a static grid layout with fixed row and column size.

@DropSnorz You are correct, the masonry is trailing space and wrapping to a new row, but that's not the issue. The as the window resizes, the panes should all shift to the center with it. If there is no space for a node on either left and right, then wrap the line.

As far as is know, there is not such feature for the masonry pane. The masonry pane will compute absolute childs coordinates, but childs positions will never be shifted to center the whole group of node if there is extra available space. I think you have to implement this behaviour.

I don't have the most extensive knowledge of the system, but wrapping the panes in a borderPane and setting them in the center should do it... The borderpane should automatically adjust for the resizing.

does this feature already exist? Was solved?


Issue 19 fix cert permissions

This is to resolve https://github.com/Netflix/bless/issues/19 for @Nr18 on https://github.com/Netflix/bless/issues/18 .

Thanks!


Bring TimerTrack::UpdatePrimitives back to speed again.

The recent fix for the iteration over timers introduced up to 30%
overhead. The time was spent in passing the large number of
arguments.
This change wraps the constant arguments into a struct and then
simply pass this as reference to the Draw function.
Test: Load a capture with timers and introspect.

Can you add some timing data and what benchmarks you did? (Size of capture at least.)

LGTM! Please add some data on benchmarking.

Sure, I loaded Anton's "long" capture (go/orbit-long-capture), kept it on the default zoom level.
UpdatePrimitive calls on the current main version were around 1.8ms and with this version around 1.4ms.
I will rearrange the struct, but as it will be created only once per call to UpdatePrimitives and passed as ref. only to the Draw method, I don't expect any performance differnce.


shorter domains?

the whole point of me (and most os us) getting free subdomains is to have short urls to type
so maybe try something like *.is-js.dev or *.built-an.app and people might be intrested

I've been thinking about this for a while. I think we may use the is-a-backend.dev and is-a-frontend.dev until they expire then get some new ones like the ones you recommended.

so when will it expire?

You can check the domain expiry dates on https://whois.com

You can check the domain expiry dates on https://whois.com

you might also wanna do *.is-an.ai

.ai domains are $100+ AUD, which is quite expensive so probably not.


License problems

Hi
Not available LICENSE file in source directory structure
Please. Added license and copyright notice.
the fedora pakaging guideline is very strictly precise about this problem
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Text
The following source files are without license headers:
./netty-reactive-streams/src/main/java/com/typesafe/netty/CancelledSubscriber.java
./netty-reactive-streams/src/main/java/com/typesafe/netty/HandlerPublisher.java
./netty-reactive-streams/src/main/java/com/typesafe/netty/HandlerSubscriber.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/BatchedProducer.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/ChannelPublisherTest.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/ClosedLoopChannel.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/HandlerPublisherVerificationTest.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/HandlerSubscriberBlackboxVerificationTest.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/HandlerSubscriberWhiteboxVerificationTest.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/ProbeHandler.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/ScheduledBatchedProducer.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/probe/Probe.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/probe/SubscriberProbe.java
./netty-reactive-streams/src/test/java/com/typesafe/netty/probe/PublisherProbe.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DefaultStreamedHttpRequest.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DefaultStreamedHttpResponse.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DefaultWebSocketHttpResponse.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DelegateHttpMessage.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DelegateHttpRequest.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DelegateHttpResponse.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DelegateStreamedHttpRequest.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/DelegateStreamedHttpResponse.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/EmptyHttpRequest.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/EmptyHttpResponse.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/HttpStreamsClientHandler.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/HttpStreamsHandler.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/HttpStreamsServerHandler.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/StreamedHttpMessage.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/StreamedHttpRequest.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/StreamedHttpResponse.java
./netty-reactive-streams-http/src/main/java/com/typesafe/netty/http/WebSocketHttpResponse.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/AkkaStreamsUtil.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/DelegateProcessor.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/FullStackHttpIdentityProcessorVerificationTest.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/HttpHelper.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/HttpStreamsTest.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/ProcessorHttpClient.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/ProcessorHttpServer.java
./netty-reactive-streams-http/src/test/java/com/typesafe/netty/http/WebSocketsTest.java
Please, confirm the licensing of code and/or content/s, and add license headers
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines?rd=Packaging/LicensingGuidelines#License_Clarification
Thanks in advance
Regards

Hi
thanks! and about license headers?
While a LICENSE is the minimal legal requirement, the best case scenario is that each code file will include some sort of clear license attribution statement. As you can appreciate, code is often reused and copied into other projects. By including a license statement in the header of each source code file, it minimizes the risk of accidental license incompatibilities or copyright infringement. This can be as simple as:
# Copyright (c) 2015 Typesafe
# License:  Apache License, version 2.0

or better
/*
 * Copyright (c) 2015 Typesafe
 *
 * Typesafe licenses this file to you under the Apache License, version 2.0
 * (the "License"); you may not use this file except in compliance with the
 * License.  You may obtain a copy of the License at:
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
 * License for the specific language governing permissions and limitations
 * under the License.
 *
 */


Changed busy wait to wfe

Didn't know why read_blocking slept the processor but write_blocking just looped, changed it to where both sleep the processor. Tested on my hardware and everything seems to function normally.

There have been questions regarding this code when it was introduced, https://github.com/rp-rs/rp-hal/pull/204/files/e9694bbb91c66e67df7150fa900a82d9fad928ff#r756965837
It seems like the current solution was chosen because the C API works the same way. Which might or might not be a good reason.
@jonathanpallant, do you remember more details?

If the reading core uses the non-blocking read, sev does no harm, so I guess it would make sense to keep the sev in the write but add a wfe in the blocking read.
Using wfe and sev for the other direction as done here seems like a great improvement.

I may have found one issue: write_blocking is used when launching core1, and in that case the other side of the FIFO is controlled by the bootrom, not by our own code. And the bootrom only issues sev after writing, not after reading / draining the FIFO.
From a quick look I'd say that it should still work. While the bootrom doesn't explicitly sev after draining the FIFO, as far as I can tell it always does a write after draining the fifo, and then a sev will be issued, which should unblock the other core even if that one was actually waiting in its own write loop.
But analyzing this multi-core interaction between rust and assembly code is tricky. I might be completely wrong, or I might miss some race condition which could lead to occasional deadlocks.
So, while I agree that the wfe looks like an improvement in general, I'm not confident enough that it's really safe for the specific case of communicating with the bootrom. And the fact that the C SDK doesn't use wfe at that point makes me even more cautions.

Is it possible you can link to the source code in the RP2040 rom? Perhaps ask a contributor why there's a distinction?

As I understand it, this is not set up as a high-performance interface, so you should prioritise reliability over performance. If you need to move a lot of data from one core to the other, put it in RAM and send a pointer or some kind of message over the FIFO.
Given that, I would err on the side of caution and just do what the C SDK does rather than trying anything fancy.

Is it possible you can link to the source code in the RP2040 rom? Perhaps ask a contributor why there's a distinction?

Sure: https://github.com/raspberrypi/pico-bootrom/blob/ef22cd8ede5bc007f81d7f2416b48db90f313434/bootrom/bootrom_rt0.S#LL329C4-L329C4
And the C SDK code doing the FIFO write is here: https://github.com/raspberrypi/pico-sdk/blob/f396d05f8252d4670d4ea05c8b7ac938ef0cd381/src/rp2_common/pico_multicore/multicore.c#L18

As I understand it, this is not set up as a high-performance interface, so you should prioritise reliability over performance.

It's not a performance question. If anything, replacing the nop by a wfe will be slightly slower. It would improve power efficiency. However, I'd argue that a fifo write blocking for more than a few cycles shouldn't ever happen. That's completely different from the fifo read: If the second core is not in use, it'll spend all of the time waiting for a command sent through the fifo, so there the wfe is essential.

It's not a performance question. If anything, replacing the nop by a wfe will be slightly slower. It would improve power efficiency. However, I'd argue that a fifo write blocking for more than a few cycles shouldn't ever happen. That's completely different from the fifo read: If the second core is not in use, it'll spend all of the time waiting for a command sent through the fifo, so there the wfe is essential.

I'm more concerned about the edge case where one core calls a writing block while the other one is panicked, which is the primary reason I made this change. I went ahead and asked the initial committer of the C code as to why, I'm curious myself and if there is a good reason why we need to busywait we should probably know about it.

I went ahead and asked the initial committer of the C code as to why, I'm curious myself and if there is a good reason why we need to busywait we should probably know about it.

:+1:
If we can't add the wfe, the busy loop should have a comment explaining the reason.

@Gip-Gip Did you get any reply from the initial committer of the C code?

Unfortunately not, the dev only has a twitter linked and that twitter is mildly inactive lol

Why would you ask on twitter though? The natural place to ask questions about code on GitHub is through issues. I certainly don't want people DM'ing me for stuff like this.

I'm not the most professionally minded person was just the first thing that came to mind lol, my bad. I can open up a discussion issue or something along those lines too. I don't mind people reaching out to me tbh but I guess that might be a me thing.


Saving user profile - frontend

Saving User preferences - save user choice if they want to get notifications of accidents or not, based on their severity level.
We need to create a form that the user will fill in order to save the preferences.
We also need to decide where to put the registration for preferences button
UX task.
Depends on #518

Waiting for #518


Pin transitive doc dependencies

Builds on #1057
Completes: Fix #1054

There are other approaches to this:

pipenv
just running pip freeze and checking in the result.
... or just don't worry about the transitive dependencies: it is fairly low risk.

It's also not essential that pip-tools itself be part of the requirements. We could just assume the user has it installed already.

On the backburner: See if #1057 is merged, and then figure out what's wrong here.

Close in favor of #1117.


Replace ObjectManagers with World

ObjectManager Share many of the same functionality. having 1 class handle it instead of 2 will simplify the code

what each party does currently:
GameObjectExtension

gets NetworkIdentity on a gameobject

SOM

collection of Spawned objects
collection of dirty objects
Spawn/Destroy Events
Spawn/Destroy/unspawn
gets NetworkIdentity from id
controls next Id given to spawned Identities
spawn all scene objects
Set Client Ready
Set all clients unready
handles ready message from client
sends spawn message to client
handles serverrpc from client
adds character to player
removes character from player
show object for player
hides object for player
listens for scene changes and sets client not ready and spawns object

COM

collection of Spawned objects
Spawn/Destroy Events
Spawn/Destroy message handlers
gets NetworkIdentity from id
inspector list of prefabs
register prefabs
register custom spawn handler
destroy all client objects (clean up?)
applies spawnMessage
finds and instantiate objects
hides/shows objects
handles ClientRpc
handles ServerRpc Reply

NetworkServer
todo
NetworkClient
todo


Different resource types in response

We have a specific endpoint that would return two different resources types that could be or not related to each other. Is it ok to return two different types in the response?
{
  data: [
    {
      type: 'type-1',
      ...
    },
    {
      type: 'type-3',
      ...
    },
  ]
}

Yes, absolutely.


"What's the difference of ont-ligation, ont-rapid, ont-1dsq"

Hi, I have doubts about some options under the -x parameter.
What is the difference between "ont-ligation", "ont-rapid", "ont-1dsq" options for ONT sequencing and which option should I choose for Nanopore PromethION Ultra-long sequencing?
Thank you!

I have been using "ont-ligation" to process PromethION data, though i may be wrong. I would also like clarification on this.
As an aside, what is the optimal -x setting for Iso-Seq data?
Many thanks, love the software

Sorry for my late reply! This reply would be a way too late, but let me answer anyway.
@YilinZhang449

What is the difference between "ont-ligation", "ont-rapid", "ont-1dsq"

Technically, they're actually quite similar to each other: the difference is adapter sequence(s) among 3 kits. If you're not very keen for adapter, any of them should work.
Having said, for Q20+ kits, I haven't tested yet, but pb-hifi option might work better because of expected error rate (i.e. <10% error v.s. <1% error).
@mrmrwinter

As an aside, what is the optimal -x setting for Iso-Seq data?

From my testing, -x pb-sequel would work. Iso-seq data can have up to 10% error rate (Q10 by default), and -x pb-hifi setting would miss some as this was tuned for 1% or less error rate.
I hope this helps.
Yoshinori


Multi Schema support

I'm using hair-trigger with a multi-tenant application that uses Postgres schemas to separate each tenant's information. Doing schema_load on a newly created tenant errors out, because on the schema.rb the CREATE FUNCTION script has the public schema hardcoded, ex:
  # no candidate create_trigger statement could be found, creating an adapter-specific one
  execute(<<-TRIGGERSQL)
CREATE OR REPLACE FUNCTION public.tsv_body_trigger()
 RETURNS trigger
 LANGUAGE plpgsql
AS $function$
BEGIN
    NEW.tsv_body := to_tsvector('pg_catalog.spanish', coalesce(NEW.content,''));
    RETURN NULL;
END;
$function$
  TRIGGERSQL

This causes that the SQL that creates the trigger errors out because the function is not defined in the schema:
  # no candidate create_trigger statement could be found, creating an adapter-specific one
  execute("CREATE TRIGGER tsv_body_trigger AFTER INSERT OR UPDATE ON \"pg_search_documents\" FOR EACH ROW EXECUTE PROCEDURE tsv_body_trigger()")

Also, I'm diving into the code to see if I can pinpoint the problem, but  when trying to run the tests for the gem, I get these errors: error creating database: createdb: could not connect to database template1: FATAL:  role "hairtrigger" does not exist.
I'd recommend adding a contributing part to the readme, to avoid these types of issues.

Ooof, sorry for the radio silence :( ... I'm not using hairtrigger in any of my projects anymore, so I don't spend a whole lot of time on it these days. That said, I'd be open to reviewing a PR to address this 👍
I'll see about tweaking either documenting the spec db setup, or tweaking how it works so it just authenticates as USER (probably ok for most setups).

Hi,
We are trying to set up multiple databases with our Rails 6 application. Due to this gem we are facing an issue.
When we are running rails db:migrate
it is overwriting the primary schema.rb file with secondary schema file.


Helm Chart for camel-k 1.9.2 is invalid

I'm going to release 0.10.3 to fix the problem

Fixed on 1.9.x and main. The 1.9.2 camel-k mapped to 0.10.3 helm chart.


Proposal: policy based webhook configurations

This PR proposes the strategy to configure webhooks based on policy settings.
Related requests:
https://github.com/kyverno/kyverno/issues/9111
https://github.com/kyverno/kyverno/issues/8063

Is this ready for final review? If not, consider placing in draft mode.

Is this ready for final review? If not, consider placing in draft mode.

Yes, added to the matintainers meeting.

@realshuting - have we decided on the approach for handling admission requests for per-policy webhooks vs the current approach of finding all matching policies and rules for an admission request?

Can we merge this since the change was merged to 1.12?


Use custom name prefix for nested routes

1. Why is this change necessary?
It is possible to define a custom name prefix for administration routes using the module's routePrefixName property, but nested routes still use the default auto-generated value.
2. What does this change do, exactly?
Make the naming of nested routes consistent with their respective top-level routes.
3. Describe each step to reproduce the issue or behaviour.
Shopware.Module.register('foo', {

    // ...

    routePrefixName: 'bar',

    routes: {
        parent: {
            // ...

            children: {
                child: {
                    // ...
                },
            },
        },
    },
};

Without this change the parent route's name will be bar.parent while its child will have the name foo.parent.child.
4. Please link to the relevant issues (if any).
5. Checklist

[ ] I have written tests and verified that they fail without my change
[ ] I have squashed any insignificant commits
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-7453
Please use this issue to track the state of your pull request.

Hello @313  ,
we're screening for stale/old pull requests.
Sorry that we took so long to respond.
Could you rebase your branch onto master, because this change might be breaking.
We'll reevaluate this PR soon.
Best regards, Patrick

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.7 out of 21 committers have signed the CLA.:white_check_mark: susannemoog:white_check_mark: jkrzefski:white_check_mark: runelaenen:white_check_mark: shyim:white_check_mark: MDSLKTR:white_check_mark: troxxs:white_check_mark: 313:x: mitelg:x: ssltg:x: pweyck:x: OliverSkroblin:x: tobiasberge:x: leichteckig:x: raknison:x: Lennart Tinkloh:x: PaddyS:x: elkmod:x: philipgatzka:x: keulinho:x: sydinh:x: taltholtmannLennart Tinkloh seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Is there any news regarding this pull request...?

hey @313, @aragon999 there was some discussion regarding this PR and a solution should be released with the next major version.

Hey @313 your PR has been merged! Thx for your contribution : )


Limit length of names/identifiers

Some backend tools limit the lengths of identifiers, module names, etc. to implementation-specific values as small as 1024 chars.  If we eventually add features to Chisel to name modules better (e.g., by placing argument values to parameterized modules in the concretized module name), then Firrtl's Verilog output will eventually run afoul of these limits.
I don't think this needs to be a new command-line argument; the Verilog emitter could unconditionally truncate names to something much more conservative, like 200 chars.

I think 200 characters is pretty reasonable. Do you think there should be an error if a name that is marked dontTouch gets truncated? Or perhaps some future annotation "force name" is what people should use for enforcing names in the Verilog if they want to rely on it?

Just reiterating Andrew's statement, this is an issue of aligning with the Verilog spec. Verilog 2005 (we emit Verilog 2001, but I couldn't find a copy of that spec) has a minimum limit of 1024:

Implementations may set a limit on the maximum length of identifiers, but the limit shall be at least
1024 characters.

However, tools may have other limits, so configurable is likely best.


Run tests against supported jRuby versions

This is related to #4686. We aren't running tests against all supported jRuby versions. It would be really nice if we could specify jruby-9.0 and jruby-9.1 to test against the latest versions. I know that we have had issues with the Travis aliases in the past. It seems like we should always run against jruby-head even if it is an allowed failure.
https://docs.travis-ci.com/user/languages/ruby/
http://rubies.travis-ci.org/

The build error of JRuby <IP_ADDRESS> in this PR is probably resolved in #4708.
However, there are matrices that can not be tested until the end.
https://travis-ci.org/bbatsov/rubocop/jobs/272483545#L692
It seems that Travis CI terminated due to a timeout of 50 minutes.
https://docs.travis-ci.com/user/customizing-the-build#Build-Timeouts
Below we can see that the build of JRuby <IP_ADDRESS> is slow.
https://travis-ci.org/bbatsov/rubocop/builds/272483540
This problem seems to need to be considered separately from the build error.

The build error of JRuby <IP_ADDRESS> in this PR is probably resolved in #4708.

Yes, swapping each_with_index for each fixed the problem.

It would be really nice if we could specify jruby-9.0 and jruby-9.1 to test against the latest versions. I know that we have had issues with the Travis aliases in the past. It seems like we should always run against jruby-head even if it is an allowed failure.

My main concern is that the test suit is already pretty slow and adding more builds to the matrix doesn't really help. Why would someone stick with 9.0 instead of upgrading to 9.1? For Rbx and JRuby we've traditionally use on CI just their latest stable version.

Why would someone stick with 9.0 instead of upgrading to 9.1

I am not familiar with jRuby's release schedule or their support of major and minor versions. I assumed a jump from 9.0 to 9.1 was similar to minor version updates in Ruby. I am fine removing tests for 9.0.
Unfortunately, the jRuby test failures are coming from 9.1 and not 9.0.

Travis run failure for jRuby <IP_ADDRESS>

Error: Your application used more memory than the safety cap of 500M.
Specify -J-Xmx####M to increase it (#### = cap size in MB).
Specify -w for full java.lang.OutOfMemoryError: Java heap space stack trace

I wasn't expecting the error to be running out of memory. I am not sure what baseline memory usage for RuboCop in jRuby is, but 500M seems incredibly high.

Just ran the jRuby tests locally to compare memory usage. I wound up with 2 Java processes when running bundle exec spec. One process was 750M. The other was 300M.

I am having a bit of trouble getting spec/rubocop/cop/style/string_literals_spec.rb:155 autocorrects words with non-ascii chars to work with RUBYOPT="-E ASCII". The test is a little weird because were are processing unicode characters with ASCII. jRuby complains about incompatible character encoding, and I'm not really sure how to handle this. It is related to #3017, #3189, and #3311.

@rrosenblum Having a look at this right now.

@rrosenblum This should get tests passing
index ff7a9eda..80e3892b 100644
--- a/lib/rubocop/cop/util.rb
+++ b/lib/rubocop/cop/util.rb
@@ -295,8 +295,7 @@ module RuboCop
       end

       def compatible_external_encoding_for?(src)
-        src = src.dup if RUBY_VERSION < '2.3'
-        src.force_encoding(Encoding.default_external).valid_encoding?
+        src.dup.force_encoding(Encoding.default_external).valid_encoding?
       end

       def to_supported_styles(enforced_style)

To optimize memory usage, you could instead add another check for jruby, to avoid dupping the string when not necessary.

To clarify my previous comment, this is the simplest patch to get this passing
diff --git a/lib/rubocop/cop/util.rb b/lib/rubocop/cop/util.rb
index ff7a9eda..88d5d85b 100644
--- a/lib/rubocop/cop/util.rb
+++ b/lib/rubocop/cop/util.rb
@@ -295,7 +295,7 @@ module RuboCop
       end

       def compatible_external_encoding_for?(src)
-        src = src.dup if RUBY_VERSION < '2.3'
+        src = src.dup if RUBY_VERSION < '2.3' || RUBY_ENGINE == 'jruby'
         src.force_encoding(Encoding.default_external).valid_encoding?
       end

Thanks for the help @deivid-rodriguez. The tests passed locally. Hopefully the Travis build will be successful this time.

:tada:

You're welcome! :smiley:


save() method with laravel5 new filesystem methodology

I used the intervention package before for storing my images in to the local server.
Now I want to use the new laravel 5 filesystem methodology,
so I need to use their method:
 $filesystem->put($fileName, $contents);

but what is the contents of the generated intervention image?
I create the intervention image like this:
 $image->save($fileName);

but when I do that, it suppose to create the file by itself on the specific path the filename holds,
and I dont want to store it with intervention, I only want to generate the image and store it with filesystem.
So bottom line,
is there a way to get the contents of the generated image?

Found it after 2 min :/
it is simply
 $contents = $image->encode();

thanks!


[Text Decorator] Un-decorate text

Extension – Text Decorator
Author: @koinzhang
Describe the feature and the current behaviour/state.
An option to un-decorate text, so it becomes regular text again!
Who will benefit from this feature?
People using assistive technology.

Hi @roelvangils. I'm sorry that because the npm library I use does not have this function, this requirement cannot be implemented temporarily

Hi@roelvangils
Recently I will update the Text Decorator extension to add the Undecorate command to it. And there are a few other improvements to make extensions more user-friendly.


Focus variant track settings

Description
This PR connects the focus track settings panel both to redux and to IndexedDB.

If you toggle track settings, close the settings panel, and open it again, you should see the toggles turned correctly on or off
If you refresh the browser window, the settings should be preserved and applied to the focus variant track when it loads.

Related JIRA Issue(s)
https://www.ebi.ac.uk/panda/jira/browse/ENSWBSITES-1876
Deployment URL(s)
http://focus-variant-track-settings.review.ensembl.org/genome-browser/grch38?focus=variant:rs779377781

Track name toggle should turn on/off track names for all tracks. But when you do it via non focus track settings it doesn't turn on track name for focus.
https://user-images.githubusercontent.com/6347854/222422273-498a8c6c-7c96-47bc-ad3e-d5d95bf34709.mov

I also got an error below, but couldn't replicate due to the BE api failure.

Track name toggle should turn on/off track names for all tracks. But when you do it via non focus track settings it doesn't turn on track name for focus.

We discussed this. I mentioned this at an earlier scrum; but forgot to write this down explicitly in the description of the PR. Older tracks are storing the name flag in the field called showTrackName. For the variant track, I decided to call all flags same way Dan calls the switches in the genome browser; which means, it got called name. In a later PR, we ought to refactor track settings code to make it more generic. In this PR, I am leaving the track name toggle unconnected with the names of all other tracks.

I also got an error below, but couldn't replicate due to the BE api failure.

I can't replicate this either.

Jotting down the bugs found
On beta:

Go to a wrong location and click on Continue takes you to interstitial page. It should also have cleared this location entry from storage/redux, but it doesn't. Now go to Human and do a soft refresh and now back to Wheat, it will take you back to the above previous wrong location

Open browser console, go to human example gene in GB and now go to another species (in GB) that doesn't have variation data, you will see client requesting for variation tracks. Again bug on the client side.

On this review branch:

Variation only work for Human. Others fail due to some data bug - needs investigation.


test: test initramfs

Hi! Thanks for the PR. Can you squash the two commits together please ?

I've taken the liberty of making a small change: renaming blobSum of the LayerMetadata struct to blob_sum. This allows removing the #[allow(non_snake_case)], by replacing it by #[serde(rename_all = "camelCase")] in image.rs.
Other than that, PR LGTM.


Write HTTP Library Specification

Purpose

$Title with new service type changes to be kept in the spec repo
The WIP doc

Fixed via https://github.com/ballerina-platform/module-ballerina-http/pull/799


Added number-to-string.go

Why:
Closes #585
What's being changed:
Added go version of the number to string program
Check off the following:

[x] I have reviewed my changes in staging (look for "Automatically generated comment" and click Modified to view your latest changes).
[x] For content changes, I have completed the self-review checklist.

Thanks for contributing 👍🏻
This PR will be reviewed and merged shortly 🚀


Blank Screen on Open

After updating to the latest version of Terminus, there is no data or info being shown. I'm just being presented an empty, gray terminal screen. (On Mac OS X)

me too. v1.0.123 (1.0.123) on macOS Big Sur 11.1

me too. v1.0.123 (1.0.123) macOS 10.15.7

It happened to me, too. I have had 3 tabs open. When I opened the fourth one (local terminal), I had the gray screen. Restarting the program does not bring any improvement.
Here is an excerpt from the system log:
The first line is at the "Force Quit Application".
Dec 31 10:34:32 TARDIS com.apple.xpc.launchd[1] (application.org.terminus.13197076.13197082[1140]): Service exited due to SIGTERM | sent by loginwindow[141] Dec 31 10:34:36 TARDIS com.apple.xpc.launchd[1]: Coalition Cache Hit: app<application.org.terminus.13197076.13197082(502)> [957] Dec 31 10:34:37 TARDIS Terminus Helper (GPU)[1156]: getattrlist failed for /System/Library/Extensions/AppleIntelHD5000GraphicsGLDriver.bundle/Contents/MacOS/AppleIntelHD5000GraphicsGLDriver: #2: No such file or directory Dec 31 10:34:37 TARDIS Terminus Helper (GPU)[1156]: getattrlist failed for /System/Library/Extensions/GeForceGLDriver.bundle/Contents/MacOS/GeForceGLDriver: #2: No such file or directory Dec 31 10:34:37 TARDIS Terminus Helper (GPU)[1156]: getattrlist failed for /System/Library/Frameworks/OpenGL.framework/Resources//GLRendererFloat.bundle/GLRendererFloat: #2: No such file or directory Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: DEPRECATED USE in libdispatch client: Changing the target of a source after it has been activated; set a breakpoint on _dispatch_bug_deprecated to debug Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: DEPRECATED USE in libdispatch client: Changing target queue hierarchy after xpc connection was activated; set a breakpoint on _dispatch_bug_deprecated to debug Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: getattrlist failed for /Library/GPUBundles/AppleIntelHD5000GraphicsVADriver.bundle/Contents/MacOS/AppleIntelHD5000GraphicsVADriver: #2: No such file or directory Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: getattrlist failed for /Library/GPUBundles/GeForceVADriver.bundle/Contents/MacOS/GeForceVADriver: #2: No such file or directory Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: getattrlist failed for /Library/GPUBundles/AppleIntelHSWVA.bundle/Contents/MacOS/AppleIntelHSWVA: #2: No such file or directory Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: DEPRECATED USE in libdispatch client: Changing the target of a source after it has been activated; set a breakpoint on _dispatch_bug_deprecated to debug Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: DEPRECATED USE in libdispatch client: Changing target queue hierarchy after xpc connection was activated; set a breakpoint on _dispatch_bug_deprecated to debug Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: DEPRECATED USE in libdispatch client: Changing the target of a source after it has been activated; set a breakpoint on _dispatch_bug_deprecated to debug Dec 31 10:34:37 TARDIS VTDecoderXPCService[1158]: DEPRECATED USE in libdispatch client: Changing target queue hierarchy after xpc connection was activated; set a breakpoint on _dispatch_bug_deprecated to debug

Same here. On 10.15.7. Catalina. Blank screen when starting. Tried to install previous version. Did not help, same thing.
Deleting /Users/$Username/Library/Application Support/terminus helps but it will remove all your settings as well, putting back config file will bring you back to normal startup, but once you open a tab it is back to the blank screen. This needs an update!

+1 noticed this immediately after updating to latest on Mac OS Big Sur. I thought it was an issue with the update process (something got corrupted maybe) but I deleted the app and reinstalled from GitHub releases. Did not help at all.
If there is any more information I can provide, I am happy to help! Thanks to all the devs working hard on this <3

+1 same here on 10.5.7.

+1 same here on 10.5.7.

Duplicate of #3261

Duplicate of #3261


Make Extension Catalog Image Build compatible with Mac

Summary
Fixes https://github.com/rancher/dashboard/issues/12121

Occurred changes and/or fixed issues

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

Checklist

[ ] The PR is linked to an issue and the linked issue has a Milestone, or no issue is needed
[ ] The PR has a Milestone
[ ] The PR template has been filled out
[ ] The PR has been self reviewed
[ ] The PR has a reviewer assigned
[ ] The PR has automated tests or clear instructions for manual tests and the linked issue has appropriate QA labels, or tests are not needed
[ ] The PR has reviewed with UX and tested in light and dark mode, or there are no UX changes

/backport v2.9.3

/backport v2.8.9


Bad SpaceView heuristics

structure_from_motion/colmap has a heuristic issue.
Resetting fixes it, but then closing and reopening the .rrd again brings us back to the bad state again:

The resetting -> closing and reopening might be a separate issue:

https://github.com/rerun-io/rerun/issues/5131

@emilk please check if this is fixed by

#5164

we haven't seen this during testing of the final 0.13 version anymore


If node.getBoundingClientRect is undefined return empty object

If node.getBoundingClientRect is undefined return empty object. IE bug fix.

Can you elaborate on the circumstances under which this is a bug in IE? CanIUse says that getBoundingClientRect() exists as far back as IE6.


Feature: Connection status notifications and notifications drop handling

This is a follow up on #142 without any change on the reconnection behaviour.
Check channel state before sending notifications and distibute connection state changes. The notification Receiver is wrapped into a struct that contains a oneshot Receiver that allows the client to check whether the notification struct is dropped or not. Upon disconnections the corresponding Error is sent.

lets think about merging ConnectError and NetworkError. I think that makes live easier for users and obsoletes ConnectError::NetworkError(_) which I needed to have a distinct type for Notification::Disconnected(_).

The test story is here is bad - I just added a very very basic one.
Any thoughts about kind of integration tests with a "real" broker? Especially for testing the connection state changes this is definitely more convenient than mocked unit tests...

One more note: I didn't increment the version which is kinda needed because of the API change. This can be done when eventually this branch is merged.

@flxo Thanks for working on that. We've just run into that issue and here is already a solution :-)

@tekjar Could we please merge this one and bump the crate version? This feature is quite important for our case.

Sorry for the delay on this. I'll try to close this today

Left some small nits. So AFAIU you are using oneshot channel along with crossbeam channel for synchronization. Give we anyway lose the convenience of crossbeam select with the wrapper, why not just use futures channel

Coming to your questions

lets think about merging ConnectError and NetworkError

We'll do this in the next PR

Any thoughts about kind of integration tests with a "real" broker? Especially for testing the connection state changes this is definitely more convenient than mocked unit tests

Integration tests with a real broker would be good but I thought we should also simulate bad networks, disconnections and half open connections to continuously test out corner cases. But we can start with any available broker and later work on rumqttd to develop such broker

I didn't increment the version which is kinda needed because of the API change. This can be done when eventually this branch is merged

I'll increment when I merge this to master :)

Left some small nits. So AFAIU you are using oneshot channel along with crossbeam channel for synchronization. Give we anyway lose the convenience of crossbeam select with the wrapper, why not just use futures channel?

I don't see any drawback for using the futures channel since I'm in most of my project anyway in "future" context. You can still use the crossbeam select stuff with the impl Deref for Notifications that gives access to the crossbeam part. We can also consider to make this pub.

Cool. Let's merge this after those small changes. I can make those changes myself after merging if you are busy

Might i inquire for any news on this, after skimming through this PR, this seems like it would give users such as me ( with devices on bad networks a chance to react on network changes )

@TotalKrill Couldn't spend any time on this crate now. Will most probably resume the work in June

@TotalKrill As you might have noticed there are a couple of open points that are not super easy to solve or decide. I'm using this branch in an experimental project and it works so far in that specific scenario.
Comments are welcome!

@flxo alright, I might have to take a look into that. A semi-related question though, how are topic subscriptions being handled during disconnect/connect?
Right now I have noticed that long running connections are not receiving subscription notifications after a while. I am suspecting this is due to a disconnect/reconnect. My preferred behavior would be to resubscribe to topics as well on reconnects.

As far as I know resubscriptions upon a reconnect is a open topic. See #85. Probably for now you have to do that on your own.

the clean_session(false) seems to solve it as long as the broker doesnt die

@TotalKrill
As @flxo mentioned, I'll need some consensus on automatic resubscription. This particular pull request isn't related to this issue. Can you subscribe to issue #85 so that you don't miss any progress on this?

 The problem is that the eventloop handles publish requests, and that if we are handling other events during this time, the publish might stall since the other events from the broker might ( such as recieved mqtt messages ) might be in the way., as well as that client generated pings and events can get lost. And all these problems are due to the fact that the client is overloaded?
Could we not return errors when trying to publish to an overloaded eventloop, or send an error notification in the case when a ping failed to send due to overloading the eventloop. Or is this impossible due to problem with blocking the eventloop?

Any updates on this subject? I am having troubles when needing to resubscribe when broker crashes.

@marcotuna I've implemented reconnection events in the master branch. But I'll have to add automatic resubscription to eventloop (of course based on user configuration).
You can use reconnection events to resubscribe manually but the subscription will only happen after the publishes in the queue are transmitted by the eventloop

@flxo Reconnection notifications and notification drop handling are part of master now. Please feel free to comment on the issue if you don't feel the current behavior solves your usecase

@marcotuna  Can you please head issue  #85. I'll expose resubscription option today


W16 YC Application

Work in progress

This PR adds our application to Y Combinator's W16 batch.

The application says you're not tax-exempt yet, but is that still true?

Ah, good catch @ad510. While we haven't obtained our 501(c)(3) tax-exempt status, we've partnered with another organization to use their 501(c)(3) status (this is called fiscal sponsorship and very common in the nonprofit world).

Rebased and squashed it, time to merge!


Drop rdfextras as a dependency

rdfextras is depricated, see: https://github.com/RDFLib/rdfextras/blob/master/README.md

ok, I'll take care of this.

Ok, dropped!


I have a problem, I need help

在测试环境，项目部署时报错
Error create bean with name entityManager ... Conflicting persistence unit definitions for name 'alpha-server'

清理一下数据库看看？

Please provide more information like the stack trace for us to look into.


latest-stable does not apply filters

asdf latest kubectl should display the latest of the given version. For example:
$ asdf latest terraform 0.14
0.14.11

Currently:
$ asdf latest kubectl 1.21
1.23.4

should be:
$ asdf latest kubectl 1.21
1.21.10

This was introduced in https://github.com/asdf-community/asdf-kubectl/pull/26

@sosheskaz - should be fixed by https://github.com/asdf-community/asdf-kubectl/pull/29


help: every line has a space before the content

software I'm using:
#zsh 5.2 (x86_64-apple-darwin16.0)
problem:
when copy out content from vim, every line has a space in the copied-text.
see picture:

the cursor's position is 1,1 , but there is a space left
and I choose some text to copy , it's clear to see every line has a leading space which is not in content.
please tell me why this space exist and how to remove it ?
thanks :)

I would advice to copy stuff from Vim using a Vim selection.
Check out https://stackoverflow.com/questions/3961859/how-to-copy-to-clipboard-in-vim


FireFox missing images fix - text-align-center removed

Status: Ready for Review
Reviewers: @tedtate @donnielrt @fractaltheory
Changes
So this issue happens because of m-center {text-align: center;}. If I remove this class from m-scooch nothing happens. I don't know why it was originally used so I decided do not touch it and removed just the property that affects images performance. But if you think it's ok to remove this class we can do it.
GH Tickets:

https://github.com/mobify/scooch/issues/30

Todos:

[ ] Engineer +1
[ ] Designer +1

Feedback:
How to Test

@noahadams I see it was your styles. Is m-center required class?

Can't you remove the m-center class from your HTML instead of removing the CSS in the plugin?
BTW build/scooch.min.js should be changing if src/scooch.js didn't change.

@ericmuyser it's not a project fix, but scooch fix in FireFox browser regarding the issue #30.
And I was also surprised why js file was changed if I never opened it.

Removing m-center is not a good solution as it does have an affect on appearance.

We need to look into why text-align: center is causing a breakage on firefox.

I agree with Ted. A slightly better solution would be to reset the text-align with an FF only selector.

After investigating this issue, I've developed an alternate fix: https://github.com/mobify/scooch/pull/33

Hey, we’re looking to prune older abandoned PRs. If this PR is still relevant and you would like to see it merged in, please reopen the PR and we’ll add it to our backlog! Thanks!


Units in BioCRNpyler

This PR adds units compatibility for BioCRNpyler (addressing #130 ). Summary of how it works:

units.py has a list of functions that create unit definitions (as required by SBML). These functions are factored in a way that new functions can be easily added with no changes required at any other place in the code base.
So, to add new units, the user simply adds their units to their parameter file in a new column, adds a function corresponding to that unit id string in units.py (this is a simple 3 line function that can be created by copying one of the existing function for units).
Parameter class has a new attribute "unit" that goes with every Parameter object (we can discuss what's the best way to do this). This is the part which is incomplete and I need some help so that we can get this done quickly.
The tsv file Perfect Parameter File has a new column "units", we will use this to test the functionality to make sure units are correctly read and written to SBML.

So, the current to-do is a minor one: successfully read the Perfect Parameter file with units so that all parameters that have been read have a param.unit attribute.
(tests pending - will add later once overall functionality is finalized).

something is not square in test_sbml.py @ayush9pandey

something is not square in test_sbml.py @ayush9pandey

Yeah that's the part that's the "to-do" => the unit attribute in parameter.py needs to be written correctly and I created this PR to ask William's help on it first. Probably best for you to review once this PR is out of the draft.

Marking the PR ready for review. The functionality is there now as described earlier and it is working (Thanks @WilliamIX).
I will add tests now, and resolve any review you guys have.

Can you merge Comparments then rebase this PR to dev+Compartments so I can see the code changes independently of Compartments in order to do a review? Thanks!

Can you merge Comparments then rebase this PR to dev+Compartments so I can see the code changes independently of Compartments in order to do a review? Thanks!

Done.
Sorry for being slow on this. Should be good for review now. I am adding tests to get the coverage up.

Tests have been added. Please let me know if there are any suggestions.

I have made the requested changes. Please review and let me know if there are any more comments.

All tests are passing now with positive diff coverage. Hopefully this gets merged before the new year 🤞

All tests are passing now with positive diff coverage. Hopefully this gets merged before the new year 🤞

Your wish has been granted :D You could've wished for an island in the Bahamas or PhD instead.


InvenioRDM migration from v11 to v12 fails when registering parent DOIs

Package version (if known): 10.8.6
Describe the bug
I got the following exception when running https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py:
Updating record : tcz41-yp821
> Error KeyError('doi')
  File "/usr/local/lib/python3.9/site-packages/invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py", line 128, in update_record
    update_parent(record)
  File "/usr/local/lib/python3.9/site-packages/invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py", line 104, in update_parent
    current_rdm_records.records_service.pids.register_or_update(
  File "/usr/local/lib/python3.9/site-packages/invenio_records_resources/services/uow.py", line 376, in inner
    res = f(self, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/invenio_rdm_records/services/pids/service.py", line 218, in register_or_update
    pid_manager.register(pid_record, scheme, url=url)
  File "/usr/local/lib/python3.9/site-packages/invenio_rdm_records/services/pids/manager.py", line 237, in register
    provider.register(pid, record=record, url=url)
  File "/usr/local/lib/python3.9/site-packages/invenio_rdm_records/services/pids/providers/datacite.py", line 173, in register
    doc = self.serializer.dump_obj(record)
  File "/usr/local/lib/python3.9/site-packages/flask_resources/serializers/base.py", line 66, in dump_obj
    return self.object_schema.dump(obj)
  File "/usr/local/lib/python3.9/site-packages/marshmallow/schema.py", line 553, in dump
    result = self._serialize(processed_obj, many=many)
  File "/usr/local/lib/python3.9/site-packages/marshmallow/schema.py", line 521, in _serialize
    value = field_obj.serialize(attr_name, obj, accessor=self.get_attribute)
  File "/usr/local/lib/python3.9/site-packages/marshmallow/fields.py", line 341, in serialize
    return self._serialize(value, attr, obj, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/marshmallow/fields.py", line 1985, in _serialize
    return self._serialize_method(obj)
  File "/usr/local/lib/python3.9/site-packages/invenio_rdm_records/resources/serializers/datacite/schema.py", line 421, in get_related_identifiers
    version_doi = version["pids"]["doi"]

This happened because a child record didn't have a DOI. Could that line be version["pids"].get("doi")?
Steps to Reproduce

Setup an instance of Invenio RDM v11
Create and publish a record without a DOI
Create a new version with a DOI
Attempt to migrate to v12
See error

Expected behavior
The migration should succeed since DOIs can be optional

I think the underlying issue here is that at time of calling register_or_update (https://github.com/inveniosoftware/invenio-app-rdm/blob/master/invenio_app_rdm/upgrade_scripts/migrate_11_0_to_12_0.py#L104) the records with "pids": {"doi": ...} have not been indexed yet (migrate script only commits them to DB not document engine). The manual call to update the records in the document engine (pipenv run invenio rdm rebuild-all-indices) is only called after the script has been run.  But https://github.com/inveniosoftware/invenio-rdm-records/blob/master/invenio_rdm_records/resources/serializers/datacite/schema.py#L415 relies on that indexing to have occurred already to get the versions that are serialized as related identifiers to Datacite.
The migrate script should be split in 2 and interleaved with an enjoinment to the reader to run pipenv run invenio rdm rebuild-all-indices before running the 2nd script that would run the register_or_update code. @danielbreves can use that approach right away too.

@fenekku I don't think that's the issue. The child records should already have DOIs before the migration script runs. The migration script is only adding the parent DOI, not the child DOI.

Hmm :thinking: ... Here is the situation, I had a similar issue with the migration script and minting the parent and splitting the script in 2 passes is what solved it for me, because I think that despite the "child" records already having "pids: {"doi": ...}, they are not indexed in the new index at this point. They were only in the old one and the new one was consulted (because v12 is running)...
Nevertheless, it may not be quite what the original problem was. @danielbreves How did you create a record with a DOI and a record without a DOI in the same instance? Did you change the datacite settings @tmorrell mentioned above (in-between or otherwise)? Understanding that would help us identify the underlying issue.

@tmorrell @fenekku thanks for the fast reply! Our InvenioRDM instance started with DATACITE_ENABLED = False and had some records created without DOIs, then we enabled DATACITE and created new versions of records with DOIs.

It sounds like you have records that don't have DOIs but you have DATACITE enabled. Do you really want parent DOIs minted for these records? That seems like a unusual choice.

We would like parent DOIs minted, since all future records should have DOIs.

As a side note, I had to add the line below to the migration script to make it print out the stacktrace, since KeyError('doi') wasn't very helpful.
import traceback

traceback_str = ''.join(traceback.format_tb(e.__traceback__))
secho(traceback_str, fg="red")

Our InvenioRDM instance started with DATACITE_ENABLED = False and had some records created without DOIs, then we enabled DATACITE and created new versions of records with DOIs.

Ah got it. Then yes, I think it'd be reasonable if you could make a PR with that change from ["doi"] to .get("doi") with a comment explaining how DOI minting may have been enabled after the fact. That way, when no "doi", this will skip serializing that entry which is fine.
Thanks!


Custom Transformer v2 - Resolvers in TransformerContext are empty/undefined

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
curl
If applicable, what version of Node.js are you using?
v17.0.1
Amplify CLI Version
7.6.4
What operating system are you using?
Mac
Amplify Categories
api
Amplify Commands
Not applicable
Describe the bug
With Custom Transformes v1 I implemented a custom directive @tenant, which I am trying to rebuild with Transformer v2.
When trying to use the ctx.resolvers.getResolver(typeName, fieldName), the result is undefined.
When trying to grab all resolvers with ctx.resolvers.collectResolvers(), I receive an empty object {}.
Here is my minmum code for reproduction:
import {
  InvalidDirectiveError,
  TransformerPluginBase,
} from '@aws-amplify/graphql-transformer-core';
import {
  TransformerContextProvider,
  TransformerSchemaVisitStepContextProvider,
} from '@aws-amplify/graphql-transformer-interfaces';
import { DirectiveNode, ObjectTypeDefinitionNode } from 'graphql';

const directiveName = 'tenant';
const directiveDefinition = `
  directive @${directiveName} on OBJECT
`;

export class TenantTransformer extends TransformerPluginBase {
  private typesWithModelDirective: Set<string> = new Set();

  constructor() {
    super('tenant-transformer', directiveDefinition);
  }

  object = (
    definition: ObjectTypeDefinitionNode,
    directive: DirectiveNode,
    ctx: TransformerSchemaVisitStepContextProvider,
  ): void => {
    const typeName = definition.name.value;
    this.typesWithModelDirective.add(typeName);
  };

  generateResolvers = (ctx: TransformerContextProvider): void => {
    const resolvers = ctx.resolvers.collectResolvers();
    const keys = Object.keys(resolvers);

    if (keys.length === 0) {
      throw new InvalidDirectiveError('I cannot find any resolvers at all :-(');
    }
  };
}

This is my API schema:
type Todo @model @tenant @auth(rules: [{ allow: private }]) {
  id: ID!
  name: String!
  description: String
}

Expected behavior
I expect the context to provide the resolvers available from @modeland @auth, with the possibility to add custom snippets with resolver.addToSlot() - wich I can't, because resolver is undefined:
Reproduction steps

Init amplify
Create GraphQL API with Basic Cognito Auth and the Demo "Todo" GraphQL Schema
Create a Custom Transformer (code above), configure transform.conf.json, add @tenant directive to GraphQL Schema
Run amplify push

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

PS: I was also waiting for #9180 to get fixed with #9252 done by @cjihrig - Maybe the topics are related? in #9180 custom transformers were not considered at all - now they are considered, but they are not populated with any resolvers...

@mrsimply I can reproduce your error message, but I believe it's because you are calling Object.keys() on the Map object that is returned by ctx.resolvers.collectResolvers(). The Map does contain resolvers though.

@mrsimply I can reproduce your error message, but I believe it's because you are calling Object.keys() on the Map object that is returned by ctx.resolvers.collectResolvers(). The Map does contain resolvers though.

Thx for checking, the Keys was just to demonstrate the object is empty. At least in my case it is empty!
My resolvers just return {}
I have no clue why. Any ideas?

Can you try resolvers.keys() instead of Object.keys(resolvers). resolvers is a Map, not a plain JavaScript object.

resolvers is a Map, not a plain JavaScript object.

@cjihrig true 🤦♂ Thanks for pointing this out 😅 I still can't finish my transformer as the contents of resolver.addToSlot(slotName, requestMappingTemplate) won't show up in the TransformerResolver, but that is another story... Thanks again!

@cjihrig I'm still struggling, as the Transformer v2 is very sparsely documented - As you seem to have a stake in the amplify-cli package, would you mind taking a look into #9362 as well? Thank you very much in advance 🥺


Always on Top doesn't have an icon on TaskManager

Microsoft PowerToys version
0.53
Running as admin

[ ] Yes

Area(s) with issue?
AlwaysOnTop
Steps to reproduce
With Always on Top enabled, check the "PowerToys.AlwaysOnTop.exe" icon on Task Manager.
✔ Expected Behavior
It should have an icon.
❌ Actual Behavior
It has no icon.
Other Software
No response

Hello, I am new to open source and would like to help. Could I be assigned this issue?

@wtbrins Sure you can! Let us know if you need anything from us.
cc: @crutkas

Is this still actively being worked on? If not I would love to give it a shot!

im still working on this just have not made a ton of progress because of school

@timstoldt @wtbrins how's progress going? :)

suggestion here for AOT is to just use the existing PowerToys icon

Can I take this issue as there is no response from @wtbrins and @timstoldt?

Yup

Can this be assigned to me as there is no response from the assignee?

@Hussain123 run with it

@crutkas, Taking this issue up.

Not able to test my fix, any leads? @crutkas

I need more information on what you tried.  I'd suggest building the entire solution and setting runner as the start up project.  Debug from there.

The .ico file is missing for AlwaysOnTop.

Tried adding .ico file to the .vcxproj. The icon is now being displayed on the output application directory but still doesn't show up in the TaskManger. Any help?

Possible to get a link to your fork?

https://github.com/shaswat94/PowerToys/tree/shaswat_15280 - Link to my branch with updated code.

Possible to get a link to your fork?
https://github.com/shaswat94/PowerToys/tree/shaswat_15280 - Link to my branch with updated code.

Did you happen to push your code to your branch?  There is no diff

Did you happen to push your code to your branch? There is no diff

Apologies for the confusion. Please refer to: https://github.com/shaswat94/PowerToys/tree/main_shaswat_always_on_top_22687
for changes

@ckirby19
Feel free to open a PR. Your contribution is welcome. Thank you for your work on this.

Added a PR for this now

Hi, this has been worked on for the 0.78 development cycle. 😄
Please update PowerToys to the latest: https://github.com/microsoft/PowerToys/releases


bug: running app without database requires custom health endpoint

The db_session dependency key is meant to be configurable (APISettings.DB_SESSION_DEPENDENCY_KEY), but the health check names it as db_session in its signature.
We shouldn't be relying on dependency injection for this.
We should look for the session factory, wherever starlite puts it if the plugin is configured, and if it is there, use that to get a session for the check. If it isn't there, skip the check.
This will allow setting do_sqlalchemy_plugin to False when in an environment without a database.

I think i need the ability to write to app state via the plugin to do this properly.. e.g., seed app state with check_db=False.

I use a custom healthcheck that does not require the db_session dependency:
from dataclasses import asdict, dataclass
from typing import TYPE_CHECKING

from sqlalchemy import text
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from starlite import Controller, HTTPException, get
from starlite_saqlalchemy import settings

if TYPE_CHECKING:
    from starlite import Router

@dataclass
class Ok:
    status: str = "ok"

@dataclass
class Ko:
    error: str
    status: str = "ko"

class HealthRouter(Controller):
    path: str = "/health"

    def __init__(self, owner: Router) -> None:
        super().__init__(owner)
        self.engine = create_async_engine(settings.db.URL, logging_name="health")
        self.Session = sessionmaker(
            bind=self.engine, class_=AsyncSession, expire_on_commit=False
        )

    @get("/live")
    async def live(self) -> Ok:
        return Ok()

    @get("/ready")
    async def ready(self) -> Ok:
        # Test database connection
        session = self.Session()
        try:
            await session.execute(text("SELECT * FROM information_schema.tables"))
        except Exception as error:
            raise HTTPException(503, asdict(Ko(error=str(error)))) from error
        await session.close()
        return Ok()

The other cool thing about instantiating a dedicated engine is that we can use a different logging_name from the main one so it's easier to exclude/distinguish those queries in logging.

Yes, good suggestion!
Do you use both /health/live and /health/ready for a database-backed application? Or do you use one or the other depending on the application?

I use them to provide liveness/readiness probes in a k8s cluster.
Since liveness only indicates wether the container is running or not, I don't necessarily need the app to be connected to the db at this stage. Readiness tells the cluster that the app is ready to serve requests, which needs db access.
I mostly work on database-backed apis, but I suppose that in other cases my liveness check would be a readiness one.


Remove ffe-expandable-react

ffe-expandable-react has a deprecation notice on top of its README.md. There is no version of this component published within the sb1 scope yet and it is save to remove from here from github.

I'll get right on it!