feat!: switch back to protons

Motivation
Switch from protobufjs to protons
Description
While decode flow is comparable or a little bit faster, encode flow is ~1.5x slower
  protobuf
    ✔ decode Attestation message using protobufjs                          3318731 ops/s    301.3200 ns/op       396763 runs    120 s
    ✔ encode Attestation message using protobufjs                          2515603 ops/s    397.5190 ns/op       300351 runs    120 s

  protobuf
    ✔ decode Attestation message using protons-runtime 5.1.0               3996387 ops/s    250.2260 ns/op        -     478012 runs    120 s
    ✔ encode Attestation message using protons-runtime 5.1.0               1667211 ops/s    599.8040 ns/op        -     199077 runs    120 s

cc @wemeetagain
Closes #453
Closes #318
TODOs
Test with lodestar to see how it effect the performance

Codecov Report
Attention: 117 lines in your changes are missing coverage. Please review.

Files
Coverage Δ

src/message-cache.ts
78.06% <100.00%> (ø)

src/types.ts
94.57% <100.00%> (ø)

src/utils/buildRawMessage.ts
92.21% <100.00%> (ø)

src/utils/create-gossip-rpc.ts
100.00% <100.00%> (ø)

test/decodeRpc.spec.ts
100.00% <100.00%> (ø)

test/message-cache.spec.ts
100.00% <100.00%> (ø)

test/utils/index.ts
100.00% <100.00%> (ø)

test/utils/msgId.ts
85.00% <100.00%> (ø)

src/message/decodeRpc.ts
94.64% <95.38%> (+1.93%)
:arrow_up:

src/metrics.ts
16.43% <6.66%> (ø)

... and 2 more

:loudspeaker: Thoughts on this report? Let us know!.

this branch
    ✔ decode Attestation message 300 bytes                                 3965437 ops/s    252.1790 ns/op        -     236769 runs   60.1 s
    ✔ encode Attestation message 300 bytes                                 1710750 ops/s    584.5390 ns/op        -     101726 runs   60.0 s
    ✔ decode SignedBeaconBlock message 70000 bytes                         4061491 ops/s    246.2150 ns/op        -     242494 runs   60.1 s
    ✔ encode SignedBeaconBlock message 70000 bytes                        87208.34 ops/s    11.46679 us/op        -       5187 runs   60.0 s
    ✔ decode SignedBeaconBlock message 140000 bytes                        4217559 ops/s    237.1040 ns/op        -     251807 runs   60.1 s
    ✔ encode SignedBeaconBlock message 140000 bytes                       64996.40 ops/s    15.38547 us/op        -       3869 runs   60.1 s
    ✔ decode SignedBeaconBlock message 210000 bytes                        4347410 ops/s    230.0220 ns/op        -     259492 runs   60.1 s
    ✔ encode SignedBeaconBlock message 210000 bytes                       52970.20 ops/s    18.87854 us/op        -       3155 runs   60.1 s
    ✔ decode SignedBeaconBlock message 280000 bytes                        4504423 ops/s    222.0040 ns/op        -     268977 runs   60.0 s
    ✔ encode SignedBeaconBlock message 280000 bytes                       43202.80 ops/s    23.14665 us/op        -       2572 runs   60.1 s

on master
  ✔ decode Attestation message 300 bytes                                 3412981 ops/s    292.9990 ns/op        -     203542 runs   60.0 s
    ✔ encode Attestation message 300 bytes                                 2277552 ops/s    439.0680 ns/op        -     135393 runs   60.0 s
    ✔ decode SignedBeaconBlock message 70000 bytes                         3336959 ops/s    299.6740 ns/op        -     198990 runs   60.0 s
    ✔ encode SignedBeaconBlock message 70000 bytes                        231922.1 ops/s    4.311793 us/op        -      13791 runs   60.0 s
    ✔ decode SignedBeaconBlock message 140000 bytes                        3267536 ops/s    306.0410 ns/op        -     194835 runs   60.0 s
    ✔ encode SignedBeaconBlock message 140000 bytes                       81215.86 ops/s    12.31287 us/op        -       4830 runs   60.0 s
    ✔ decode SignedBeaconBlock message 210000 bytes                        3535280 ops/s    282.8630 ns/op        -     210959 runs   60.1 s
    ✔ encode SignedBeaconBlock message 210000 bytes                       61267.33 ops/s    16.32191 us/op        -       3650 runs   60.1 s
    ✔ decode SignedBeaconBlock message 280000 bytes                        3575566 ops/s    279.6760 ns/op        -     213582 runs   60.1 s
    ✔ encode SignedBeaconBlock message 280000 bytes                       50704.93 ops/s    19.72195 us/op        -       3019 runs   60.1 s

with latest benchmark (with different lengths of messages)

decode does not depend on message length, this branch is consistently 20%-25% better than master
encode: this branch is 13% - 33% slower than master, the bigger the message, the smaller the difference

@tuyennhv what's the status of this PR?  Could it be moved forward?

sorry @achingbrain for the delay, I just rebased against master, testing it with lodestar now cc @wemeetagain

somehow rss in this branch is consistently higher than with gossipsub v11.1.0 when I test on different nodes

#
this branch
v11.1.0

holesky 1k
12.5GB
9GB

mainnet
9.5GB
7GB

holesky 64
15GB
10GB

That's interesting, protons is synchronous and stateless so any memory it uses would be garbage collectable immediately.
That said, it's going to have a different memory usage pattern to protobuf.js so it could in turn affect how other components use memory.
Do you have a view on what is taking up the extra space?

That's interesting, protons is synchronous and stateless so any memory it uses would be garbage collectable immediately.

@achingbrain  how is it different from protobuf.js? I thought protobuf.js is synchronous and stateless too

That said, it's going to have a different memory usage pattern to protobuf.js so it could in turn affect how other components use memory.
Do you have a view on what is taking up the extra space?

I think it's worth to compare https://github.com/protobufjs/protobuf.js/blob/master/src/reader.js and https://github.com/ipfs/protons/blob/main/packages/protons-runtime/src/utils/reader.ts . From a quick look it shares a lot of similarities

how is it different from protobuf.js

It isn't, the reader/writer parts of protons are from protobuf.js, ported to ESM.

From a quick look it shares a lot of similarities

Yeah, it's basically the same code which is why it's surprising the RSS usage is higher.
For the same workload the memory behaviour should be comparable.  I don't have a view on the testing you've been doing with Lodestar so I can only assume the workload is different.
Would it be possible for you to record the inputs and outputs of the protobuf.js usage in the app, (e.g. write the buffers being decoded/objects being encoded out to a file), then we could replay them without the rest of lodestar present and observe the memory usage?

just found out I compared orange to apple, I used service deployment to test this branch and compared it to docker deployment instances, and the service deployments always have higher RSS somehow. So we don't need to worry about RSS, I'll need 1-2 more days to make sure number of mesh peers are the same @achingbrain

mesh peers are similar to v11.x.x in lodestar, ready for review

I've tested this branch for ~18h: mesh peers are good (since ~6h30)

external memory is unstable, not sure if it's an issue, just something to notice for later reference


Fixes #282

This change is

Reviewed 2 of 3 files at r1, 2 of 2 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Hidden and expandable sidebar

On mobile devices (screen size "sm"), hide the sidebar but make it expandable using Vue/Tailwind (and ideally no other frameworks/plugins).
Some boilerplate code is already written on Profile.vue.

@kongriley We need to get the sidebar to stay expanded after clicking a link. There's a boolean in the vuex state called sidebarExpanded that keeps track of whether or not the sidebar is expanded across pages.


No Documentation of JSDoc found

I do not see any links to the jsdoc documentation in the source file as stated in the README. Does anyone know where it is?

Do not see any jsdoc folder for documentation :(


do we have ssl/tls support for aedes ?

Is ssl/tls supported, and how to configure. Thanks !

Yes, tls is supported.
var options = {
    key: fs.readFileSync('YOUR_TLS_KEY_FILE.pem'),
    cert: fs.readFileSync('YOUR_TLS_CERT_FILE.pem'),
}

var server = require('tls').createServer(options, aedes.handle)

server.listen(8883, function () {
    console.log('server started and listening on port 8883')
})

Thanks @rahulbhanushali!


Build fails on ubuntu 22.04

ubuntu 22.04
opencv--4.7.0
rustc 1.71.0-nightly (2f6bc5d25 2023-05-09)
build command：cargo build --release --target x86_64-unknown-linux-musl
Here's a snippet from compile output:
error: failed to run custom build command for opencv v0.81.2
Caused by:
process didn't exit successfully: /rust/zhipin/target/release/build/opencv-80b3be9f94eab67d/build-script-build (exit status: 101)
--- stdout
=== Running: CARGO_TARGET_DIR="/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo" "build" "--release" "--package" "opencv-binding-generator" "--bin" "binding-generator"
....
....
....
=== Running: "/rust/zhipin/targethread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.
2/build/generator.rs:101:50
t/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src_cpp" "/rust/zhipin/target/x86_6
4-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "text" ""
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "stitching" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "video" ""
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "superres" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "videoio" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "tracking" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "videostab" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "xfeatures2d" ""
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "ximgproc" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src
_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "wechat_qrcode" ""
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "xobjdetect" ""
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50
thread 'main' panicked at 'Generator thread panicked: Any { .. }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:112:28
thread '' panicked at 'Can't run bindings generator: Os { code: 2, kind: NotFound, message: "No such file or directory" }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:101:50

There no /rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/release/binding-generator
but is /rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/x86_64-unknown-linux-musl/release/binding-generatorbinding-generator

Can you please try setting HOST_TRIPPLE=x86_64-unknown-linux-musl environment variable for the build? It should work this around.

with setting HOST_TRIPLE=x86_64-unknown-linux-musl
Here's a snippet from compile output:
=== Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/x86_64-unknown-linux-musl/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "ximgproc" ""   thread 'main' panicked at 'Cannot initialize clang: "thelibclangshared library at /usr/lib/x86_64-linux-gnu/libclang-14.so.14.0.0 could not be opened: Dynamic loading not supported"', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-binding-generator-0.62.0/src/bin/binding-generator.rs:91:30   note: run withRUST_BACKTRACE=1environment variable to display a backtrace   thread '<unnamed>' panicked at 'Failed to run the bindings generator', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:103:21   === Running: "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out/x86_64-unknown-linux-musl/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/src_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2b1e3bbfa7d66a15/out" "xobjdetect" ""   thread 'main' panicked at 'Cannot initialize clang: "thelibclangshared library at /usr/lib/x86_64-linux-gnu/libclang-14.so.14.0.0 could not be opened: Dynamic loading not supported"', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-binding-generator-0.62.0/src/bin/binding-generator.rs:91:30   note: run withRUST_BACKTRACE=1environment variable to display a backtrace   thread '<unnamed>' panicked at 'Failed to run the bindings generator', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:103:21   thread 'main' panicked at 'Generator thread panicked: Any { .. }', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-0.81.2/build/generator.rs:112:28   thread 'main' panicked at 'Cannot initialize clang: "thelibclangshared library at /usr/lib/x86_64-linux-gnu/libclang-14.so.14.0.0 could not be opened: Dynamic loading not supported"', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-binding-generator-0.62.0/src/bin/binding-generator.rs:91:30   note: run withRUST_BACKTRACE=1environment variable to display a backtrace   thread 'main' panicked at 'Cannot initialize clang: "thelibclang shared library at /usr/lib/x86_64-linux-gnu/libclang-14.so.14.0.0 could not be opened: Dynamic loading not supported"', /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/opencv-binding-generator-0.62.0/src/bin/binding-generator.rs:91:30

Can you please try switching from release to the rel branch from that repo and try again to see if the issue is fixed?

Can you please try switching from the crates.io release to the rel branch from this repo and try again to see if the issue is fixed?

with opencv = { git = "https://github.com/twistedfall/opencv-rust", branch = "rel"  } in Cargo.toml，i got
error: failed to run custom build command for opencv v0.81.2 (https://github.com/twistedfall/opencv-rust?branch=rel#3794b81a)
Caused by:
process didn't exit successfully: /root/.cargo/target/release/build/opencv-ded601220d2d2ba3/build-script-build (signal: 11, SIGSEGV: invalid memory reference)
--- stdout
=== Running: CARGO_TARGET_DIR="/root/.cargo/target/x86_64-unknown-linux-musl/release/build/opencv-b8a9e5ff2cd654a3/out" "/root/.rustup/toolchains/nightly-x86_64-unknown-linux-musl/bin/cargo" "build" "--release" "--package" "opencv-bindi
ng-generator" "--bin" "binding-generator" "--target" "x86_64-unknown-linux-musl"
cargo:rustc-cfg=ocvrs_opencv_branch_4
cargo:rerun-if-env-changed=OPENCV_PACKAGE_NAME
cargo:rerun-if-env-changed=OPENCV_PKGCONFIG_NAME
cargo:rerun-if-env-changed=OPENCV_CMAKE_NAME
cargo:rerun-if-env-changed=OPENCV_CMAKE_BIN
cargo:rerun-if-env-changed=OPENCV_VCPKG_NAME
cargo:rerun-if-env-changed=OPENCV_LINK_LIBS
cargo:rerun-if-env-changed=OPENCV_LINK_PATHS
cargo:rerun-if-env-changed=OPENCV_INCLUDE_PATHS
cargo:rerun-if-env-changed=OPENCV_DISABLE_PROBES
cargo:rerun-if-env-changed=CMAKE_PREFIX_PATH
cargo:rerun-if-env-changed=OpenCV_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=VCPKG_ROOT
cargo:rerun-if-env-changed=VCPKGRS_DYNAMIC
cargo:rerun-if-env-changed=OCVRS_DOCS_GENERATE_DIR
cargo:rerun-if-env-changed=DOCS_RS
cargo:rerun-if-env-changed=HOST_TRIPLE
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/sfm.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/bioinspired.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/alphamat.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/photo.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/manual-dnn.cpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/ccalib.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/hdf.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/core.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/dnn.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/videoio.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/xfeatures2d.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/face.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/gapi.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/aruco.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/manual-features2d.cpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/ocvrs_common.hpp
cargo:rerun-if-changed=/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/3794b81/src_cpp/manual-core.cpp
cargo:rerun-if-changed=Cargo.toml
[108/984]
--- stderr
=== Available jobs from the environment created jobserver is: 0 or there is an error reading that value
=== Creating a new job server with num_jobs: 4
=== Crate version: Some("0.81.2")
=== Environment configuration:
===   OPENCV_PACKAGE_NAME = None
===   OPENCV_PKGCONFIG_NAME = None
===   OPENCV_CMAKE_NAME = None
===   OPENCV_CMAKE_BIN = None
===   OPENCV_VCPKG_NAME = None
===   OPENCV_LINK_LIBS = Some("opencv_highgui,opencv_objdetect,opencv_dnn,opencv_videostab,opencv_calib3d,opencv_features2d,opencv_stitching,opencv_flann,opencv_videoio,opencv_rgbd,opencv_aruco,opencv_video,opencv_ml,opencv_imgcodecs,op
encv_imgproc,opencv_core,ittnotify,tbb,liblibwebp,liblibtiff,liblibjpeg-turbo,liblibpng,liblibopenjp2,ippiw,ippicv,liblibprotobuf,quirc,zlib")
===   OPENCV_LINK_PATHS = Some("/opt/opencv/lib,/opt/opencv/lib/opencv4/3rdparty,/usr/lib/x86_64-linux-gnu,/usr/lib/x86_64-linux-musl,/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1")
===   OPENCV_INCLUDE_PATHS = Some("/opt/opencv/include/opencv4")
===   OPENCV_DISABLE_PROBES = None
===   CMAKE_PREFIX_PATH = None
===   OpenCV_DIR = None
===   PKG_CONFIG_PATH = None
===   VCPKG_ROOT = None
===   VCPKGRS_DYNAMIC = None
===   OCVRS_DOCS_GENERATE_DIR = None
===   DOCS_RS = None
===   HOST_TRIPLE = Some("x86_64-unknown-linux-musl")
===   PATH = Some("/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
=== Enabled features:
===   ALPHAMAT
===   ARUCO
===   ARUCO_DETECTOR
===   BARCODE
===   BGSEGM
===   BIOINSPIRED
===   CALIB3D
===   CCALIB
===   CUDAARITHM
===   CUDABGSEGM
===   CUDACODEC
===   CUDAFEATURES2D
===   CUDAFILTERS
===   CUDAIMGPROC
===   CUDAOBJDETECT
===   CUDAOPTFLOW
===   CUDASTEREO
===   CUDAWARPING
===   CVV
===   DEFAULT
===   DNN
===   DNN_SUPERRES
===   DPM
===   FACE
===   FEATURES2D
===   FLANN
===   FREETYPE
===   FUZZY
===   GAPI
===   HDF
===   HFS
===   HIGHGUI
===   IMGCODECS
===   IMGPROC
===   IMG_HASH
===   INTENSITY_TRANSFORM
===   LINE_DESCRIPTOR
===   MCC
===   ML
===   OBJDETECT
===   OPTFLOW
===   OVIS
===   PHASE_UNWRAPPING
===   PHOTO
===   PLOT
===   QUALITY
===   RAPID
===   RGBD
===   SALIENCY
===   SFM
===   SHAPE
===   STEREO
===   STITCHING
===   STRUCTURED_LIGHT
===   SUPERRES
===   SURFACE_MATCHING
===   TEXT
===   TRACKING
===   VIDEO
===   VIDEOIO
===   VIDEOSTAB
===   VIZ
===   WECHAT_QRCODE
===   XFEATURES2D
===   XIMGPROC
===   XOBJDETECT
===   XPHOTO
=== Detected probe priority based on environment vars: pkg_config: false, cmake: false, vcpkg: false
=== Probing the OpenCV library in the following order: environment, pkg_config, cmake, vcpkg_cmake, vcpkg
=== Configuring OpenCV library from the environment:
===   include_paths: /opt/opencv/include/opencv4
===   link_paths: /opt/opencv/lib,/opt/opencv/lib/opencv4/3rdparty,/usr/lib/x86_64-linux-gnu,/usr/lib/x86_64-linux-musl,/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1
===   link_libs: opencv_highgui,opencv_objdetect,opencv_dnn,opencv_videostab,opencv_calib3d,opencv_features2d,opencv_stitching,opencv_flann,opencv_videoio,opencv_rgbd,opencv_aruco,opencv_video,opencv_ml,opencv_imgcodecs,opencv_imgproc,o
pencv_core,ittnotify,tbb,liblibwebp,liblibtiff,liblibjpeg-turbo,liblibpng,liblibopenjp2,ippiw,ippicv,liblibprotobuf,quirc,zlib
=== Successfully probed using: environment
=== OpenCV library configuration: Library {
include_paths: [
"/opt/opencv/include/opencv4",
],
version: Version {
major: 4,
minor: 7,
patch: 0,
},
cargo_metadata: [
"cargo:rustc-link-search=/opt/opencv/lib",
"cargo:rustc-link-search=/opt/opencv/lib/opencv4/3rdparty",
"cargo:rustc-link-search=/usr/lib/x86_64-linux-gnu",
"cargo:rustc-link-search=/usr/lib/x86_64-linux-musl",
"cargo:rustc-link-search=/usr/lib/gcc/x86_64-alpine-linux-musl/12.2.1",
"cargo:rustc-link-lib=opencv_highgui",
"cargo:rustc-link-lib=opencv_objdetect",
"cargo:rustc-link-lib=opencv_dnn",
"cargo:rustc-link-lib=opencv_videostab",
"cargo:rustc-link-lib=opencv_calib3d",
"cargo:rustc-link-lib=opencv_features2d",
"cargo:rustc-link-lib=opencv_stitching",
"cargo:rustc-link-lib=opencv_flann",
"cargo:rustc-link-lib=opencv_videoio",
"cargo:rustc-link-lib=opencv_rgbd",
"cargo:rustc-link-lib=opencv_aruco",
"cargo:rustc-link-lib=opencv_video",
"cargo:rustc-link-lib=opencv_ml",
"cargo:rustc-link-lib=opencv_imgcodecs",
"cargo:rustc-link-lib=opencv_imgproc",
"cargo:rustc-link-lib=opencv_core",
"cargo:rustc-link-lib=ittnotify",
"cargo:rustc-link-lib=tbb",
"cargo:rustc-link-lib=libwebp",
"cargo:rustc-link-lib=libtiff",
"cargo:rustc-link-lib=libjpeg-turbo",
"cargo:rustc-link-lib=libpng",
"cargo:rustc-link-lib=libopenjp2",
"cargo:rustc-link-lib=ippiw",
"cargo:rustc-link-lib=ippicv",
"cargo:rustc-link-lib=libprotobuf",
"cargo:rustc-link-lib=quirc",
"cargo:rustc-link-lib=zlib",
],
}
=== Detected OpenCV module header dir at: /opt/opencv/include/opencv4/opencv2
=== Found OpenCV version: 4.7.0 in headers located at: /opt/opencv/include/opencv4
=== Generating code in: /root/.cargo/target/x86_64-unknown-linux-musl/release/build/opencv-b8a9e5ff2cd654a3/out
=== Placing generated bindings into: /root/.cargo/target/x86_64-unknown-linux-musl/release/build/opencv-b8a9e5ff2cd654a3/out/opencv
=== Using OpenCV headers from: /opt/opencv/include/opencv4
warning: build failed, waiting for other jobs to finish...

output.log
when i try  which in output.log，
"/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2948594a53449f00/out/x86_64-unknown-linux-musl/release/binding-generator" "/opt/opencv/include/opencv4" "/root/.cargo/git/checkouts/opencv-rust-274576ea50cb05ec/4dec6d9/src_cpp" "/rust/zhipin/target/x86_64-unknown-linux-musl/release/build/opencv-2948594a53449f00/out" "xobjdetect" ""
i got
Segmentation fault

I see, can you please try building with HOST_TRIPLE=x86_64-unknown-linux-gnu instead of "x86_64-unknown-linux-musl"?

build with HOST_TRIPLE=x86_64-unknown-linux-gnu cargo build --release --target x86_64-unknown-linux-gnu -vv
output.log

Please leave the --target as you need it, you had initially "x86_64-unknown-linux-musl", only the HOST_TRIPLE should be set to "x86_64-unknown-linux-gnu"

output.log

The last error line is error occurred: Failed to find tool. Is musl-g++ installed?, is your system configured correctly to build binaries linked with musl?

Sorry，I can't reproduce on ubuntu(this is my docker container and it has been destroyed)
Now try in Alpine3.17(docker)
install package
apk add --no-cache tzdata cmake make gcc g++ linux-headers clang-static curl llvm15-dev  git ncurses-static  curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --default-toolchain nightly --profile minimal --target x86_64-unknown-linux-musl -y
build opencv:
build_opencv.txt
code:
use opencv::core; use opencv::highgui; use opencv::imgcodecs; use opencv::imgproc; use opencv::prelude::*; fn main() { }
command:
HOST_TRIPLE=x86_64-unknown-linux-musl cargo build --release --target x86_64-unknown-linux-musl -vv > stdout.log 2>stderr.log
when in my project Cargo.toml
opencv = { git = "https://github.com/twistedfall/opencv-rust", version = "0.81.3"  }
compile log:
stderr.log
stdout.log
after that :
git clone https://github.com/twistedfall/opencv-rust/
add static like this:
clang = { version = "2", features = ["clang_6_0", "static"] }
change my project Cargo.toml :
opencv = { path = "../opencv-rust" }
compile log:
stderr.log
stdout.log
and a file in opencv-rust with name core.64006 :
core.64006.log

I had the same problem (build fails on ubuntu 22.04).
I Installed libstdc++-12-dev with sudo apt and it was solved.

I had the same problem (build fails on ubuntu 22.04).
I Installed libstdc++-12-dev with sudo apt and it was solved.

You're the best

@twistedfall @AlonSpinner @sanchexas
Would you mind sharing some advice / some of your code?
I can't for the life of me build with RUSTFLAGS="-C target-feature=+crt-static" or --target=x86_64-unknown-linux-musl.
FROM ubuntu:22.04 AS backend

ARG OPENCV_VERSION=4.8.0

RUN set -xeu && \
	DEBIAN_FRONTEND=noninteractive apt-get update && \
	DEBIAN_FRONTEND=noninteractive apt-get install -y curl clang libclang-dev cmake

RUN set -xeu && \
    mkdir -p /root/dist && \
    curl -sSfL "https://github.com/opencv/opencv/archive/refs/tags/${OPENCV_VERSION}.tar.gz" | tar xz -C /root/dist

# Most minimal build possible, can't find way to stop zlib from being built though. Tried ENABLE_PIC=OFF and =ON but no luck.

I can't for the life of me build with RUSTFLAGS="-C target-feature=+crt-static" or --target=x86_64-unknown-linux-musl.
FROM ubuntu:22.04 AS backend

ARG OPENCV_VERSION=4.8.0

RUN set -xeu && \
	DEBIAN_FRONTEND=noninteractive apt-get update && \
	DEBIAN_FRONTEND=noninteractive apt-get install -y curl clang libclang-dev cmake

RUN set -xeu && \
    mkdir -p /root/dist && \
    curl -sSfL "https://github.com/opencv/opencv/archive/refs/tags/${OPENCV_VERSION}.tar.gz" | tar xz -C /root/dist

# Most minimal build possible, can't find way to stop zlib from being built though. Tried ENABLE_PIC=OFF and =ON but no luck.


Double quotes in a TAP query are not escaped

When I do a TAP query that uses double quotes (for column or table names), the response is invalid:
>>> import pyvo
>>> s = pyvo.dal.TAPService('https://www.plate-archive.org/tap')
>>> s.run_sync('''SELECT TOP 5 "plate_id" from applause_dr3.process;''')
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pyvo/dal/query.py", line 248, in execute_votable
    return votableparse(self.execute_stream().read)
  File "/usr/lib/python3/dist-packages/astropy/io/votable/table.py", line 137, in parse
    config=config, pos=(1, 1)).parse(iterator, config)
  File "/usr/lib/python3/dist-packages/astropy/io/votable/tree.py", line 3390, in parse
    iterator, tag, data, config, pos)
  File "/usr/lib/python3/dist-packages/astropy/io/votable/tree.py", line 3319, in _add_resource
    resource.parse(self, iterator, config)
  File "/usr/lib/python3/dist-packages/astropy/io/votable/tree.py", line 3138, in parse
    for start, tag, data, pos in iterator:
ValueError: 8:48: not well-formed (invalid token)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/pyvo/dal/tap.py", line 194, in run_sync
    **keywords).execute()
  File "/usr/lib/python3/dist-packages/pyvo/dal/tap.py", line 810, in execute
    return TAPResults(self.execute_votable(), url=self.queryurl)
  File "/usr/lib/python3/dist-packages/pyvo/dal/query.py", line 251, in execute_votable
    raise DALFormatError(e, self.queryurl)
pyvo.dal.exceptions.DALFormatError: ValueError: 8:48: not well-formed (invalid token)

The reason seems to be that in the resulting VOTable, the query string is not escaped:
<INFO name="QUERY" value="SELECT "plate_id" from applause_dr3."process" limit 5" />

Fixed in f27a1404008b7df69994684ccbe9af08b9a17e8d.


New name to something acceptable.

At first I tried to do this project alone.
In order to make this project open source,
I thought I had to change the project's repository name to something acceptable to everyone.
If you have a name you would like to recommend, please write below this issue.

How about 'twitter-memo'?
It not only show explicitly what we do but also nobody used this name.

It ends on June 19th.

Changed name of project.

Changed name of project.


Precompiled CSS file should be run through Autoprefixer

(so that projects not compiling the Less themselves will have better browser support)

Another issue: Do we remove any prefixes we already have in the code base?

Are there projects using the precompiled CSS and not importing the Less files directly?

Another issue: Do we remove any prefixes we already have in the code base?

I vote yes.

Are there projects using the precompiled CSS and not importing the Less files directly?

We offer a precompiled CSS option on our website, so we should make sure that has the same support as the Less files.

My question was more how do we enforce the prefixing on the less files? We could include a note in the usage doc, but once the less files leave this project, it's up to the subsequent project to ensure everything is properly prefixed.

Question on this: What is the use case for projects to import the less file instead of importing the precompiled CSS?

Every project that uses the variables and mixins imports the Less files. It's really the precompiled CSS files that are an outlier.

Ah, right, thanks @jimmynotjim

✋


Allow custom certificates to be used for routes

Due to the handling of 3rd party cookies in browsers, there is a requirement to allow custom domains to be configured on the Kong Gateway, as opposed to now where they have to use one of the wildcard-based certificates.
To accomplish this, we need:

a way for an API Provider to register a SSL/TLS certificate

API Providers are able to register SSL/TLS certificates already for the purposes of performing mTLS between Kong and the Upstream service.  See: https://developer.gov.bc.ca/docs/default/component/aps-infra-platform-docs/how-to/upstream-services/#upstream-services-with-mtls
confirm we can provide SNIs here

to enhance the gateway API to collect the certificate details from the Kong Admin API and including them in the request that goes to the kube API

need to avoid host transformation for custom domains (https://github.com/bcgov/gwa-api/blob/dev/microservices/gatewayApi/v2/routes/gateway.py#L472)

if is_host_custom_domain():
    new_hosts.append(host)

need an attribute at the route level for certificates, key value pair where the key is the host and the value is the cert (all the cert data from admin API)
add cert info to the route_payload, send all the certs for the namespace (or just [])

update the kube API to use the new information about custom certificates and apply the Route with the appropriate SSL/TLS details
update scheduler API to gather information from the Kong Admin API and send it to the kube API for provisioning.

as part of each namespace sync, get all certs for that namespace
if the route ends in not api/data/app, match the SNIs from the certs
if there isn't a match then throw an exception

Validation
register the *.api.gov.bc.ca cert for webapps.gov.bc.ca, curl with --resolve to Silver
A/C:

API providers can create routes to custom domains

API providers can register a cert for custom domain and have that cert applied to routes created with that custom domain
process is entirely self-serve / no action from APS is required for Gateways on Silver cluster

@SateeshFW test tag
[~71202062f08ee047a8430c985584d505dc0600] test tagging Saadan


Case-insensitive command

Current implemenation of Command is case-sensitive. E.g. if I register a command help, I should send exact command help, but not Help or HELP. It's unusual.
So, why don't make it case-insensitive by adding modifier i inside getCommand method?
This
$find = '/^'.preg_quote($commandName).'/';
Change to this
$find = '/^'.preg_quote($commandName).'/i';

I don't think it's unusual but maybe we can make it optional.
Inside the configure() method for a given command, we can set this option.
By default, it's still case-sensitive.
    protected function configure() {
        $this->setName('help');
        $this->setCaseInsensitive(true); // Now it works with help, Help and HELP
    }

What do you think ?

Well, why not? This solution would work fine.


cfe: Slow constant evaluation for dart2js?

Most of dart2js's 'Front end' task is spent in constant evaluation, in Constant _evaluateSubexpression(Expression node)
This accounts for 3-4% of total dart2js compile time.
Since half of the time is attributed to the re-throw, I suspect that using exceptions for control flow might be a contributing factor. It might still be the best approach.

I noticed is that the nodeCache is large - 1.6M entries in the program I was looking at. Nearly half the nodes passed to _evaluateSubexpression are ConstantExpression nodes. It should be possible to avoid entering most of these in the nodeCache - either the constant is directly available, or in some infrequent cases it is unevaluated, and the unevaluated expression can be used for the cache key. Another 10% are null and bool literals which could be handled trivially without caching.

@jensjoha Can we close this now?

We certainly don't do rethrow anymore.
Maybe @rakudrama could do new measurements for the use case before closing?


feat: allow changing where the scripts folder gets generated

Signed-off-by: Harikrishnan Balagopal<EMAIL_ADDRESS>

Continuation of https://github.com/konveyor/move2kube/pull/880


fix: broken link to metrics

Related to https://github.com/explodinggradients/ragas/issues/293

@shahules786 FYI

Thanks and welcome to contributors :) @younes-io


Inconsistencies in vaccination data

Regarding the vaccination data:
https://github.com/govex/COVID-19/blob/master/data_tables/vaccine_data/raw_data/vaccine_data_us_state_timeline.csv
Is there any reason why some dates are skipped and why data is sometimes left blank to (I assume) indicate the previous value should be used instead of empty?
Would it be possible to fill out the data more explicitly?
Thank you

Hi @Sylvain-Royer, missing dates happened at the time when States were reporting with press releases. No State with dashboard should have dates missing since the dashboard went public.
On the other hand, values are empty when the State does not report the value. If there used to a value, and in recent dates is left blank, is because the State stopped reporting that metric. Otherwise, when there is no update but the value still appears on the dashboard, we fill the row with the previous values.

Hi @Sylvain-Royer, missing dates happened at the time when States were reporting with press releases. No State with dashboard should have dates missing since the dashboard went public.
On the other hand, values are empty when the State does not report the value. If there used to a value, and in recent dates is left blank, is because the State stopped reporting that metric. Otherwise, when there is no update but the value still appears on the dashboard, we fill the row with the previous values.

I'd just like to add that there are also inconsistencies with respect to updating all of the rows. In the same raw data file mentioned above, this is easy to see if you look at the doses_administered columns in comparison to the people total column. Here is a screenshot (notice the bottom right portion):

Another example of this is the data for California, for which there is no people total data at all.

I'd just like to add that there are also inconsistencies with respect to updating all of the rows. In the same raw data file mentioned above, this is easy to see if you look at the doses_administered columns in comparison to the people total column. Here is a screenshot (notice the bottom right portion):

Another example of this is the data for California, for which there is no people total data at all.


docs: Add missing backtick to k3s-arg example command

What

Add closing backtick to example command for k3s-arg flag
Why

This makes the documentation consistent
Implications
No changes to existing behavior

Thank you!


tweaked parentage for GO_0043796 per ticket 23068

Checked manually: https://github.com/geneontology/go-ontology/runs/5664921684?check_suite_focus=true

Ok, I see it finally merged; thanks.
I wonder what happened.
H
From: Jim Balhoff @.>
Reply-To: geneontology/go-ontology @.>
Date: Wednesday, March 23, 2022 at 2:30 PM
To: geneontology/go-ontology @.>
Cc: me @.>, Author @.***>
Subject: [EXTERNAL]Re: [geneontology/go-ontology] tweaked parentage for GO_0043796 per ticket 23068 (PR #23069)
Merged #23069https://github.com/geneontology/go-ontology/pull/23069 into master.
—
Reply to this email directly, view it on GitHubhttps://github.com/geneontology/go-ontology/pull/23069#event-6293933594, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACPU3EE2KMR7R6EGEUDY5ATVBNPNHANCNFSM5ROM56IQ.
You are receiving this because you authored the thread.Message ID: @.***>
The information in this email, including attachments, may be confidential and is intended solely for the addressee(s). If you believe you received this email by mistake, please notify the sender by return email as soon as possible.

Maybe it was because I forgot to fill in the ticket title better?
From: Jim Balhoff @.>
Reply-To: geneontology/go-ontology @.>
Date: Wednesday, March 23, 2022 at 2:30 PM
To: geneontology/go-ontology @.>
Cc: me @.>, Author @.***>
Subject: [EXTERNAL]Re: [geneontology/go-ontology] tweaked parentage for GO_0043796 per ticket 23068 (PR #23069)
Merged #23069https://github.com/geneontology/go-ontology/pull/23069 into master.
—
Reply to this email directly, view it on GitHubhttps://github.com/geneontology/go-ontology/pull/23069#event-6293933594, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACPU3EE2KMR7R6EGEUDY5ATVBNPNHANCNFSM5ROM56IQ.
You are receiving this because you authored the thread.Message ID: @.***>
The information in this email, including attachments, may be confidential and is intended solely for the addressee(s). If you believe you received this email by mistake, please notify the sender by return email as soon as possible.


Can't populate Resource metrics via Prometheus Adapter

Trying to get rid of metrics server to serve both custom and resource metrics by Prometheus Adapter only.
I am using a Prometheus Adapter config map with ResourceRules from this example and registered a new APIService for metrics.k8s.io endpoint. Once I try to test it via kubectl top pods -n monitoring I receive Metrics not available for pod error message and  unable to fetch CPU metrics for pod error in Adapter logs:
I0207 15:59:53.986909       1 api.go:74] GET http://prometheus-service.monitoring.svc.cluster.local:9090/api/v1/query?query=sum%28container_memory_working_set_bytes%7Bnamespace%3D%22monitoring%22%2Cpod_name%3D~%22prometheus-adapter-6f7d7c45f4-t9j2f%7Cprometheus-operator-6979cdfc46-xsqdb%7Cprometheus-prometheus-0%22%7D%29+by+%28pod_name%2Ccontainer_name%29&time=1612713593.985 200 OK
I0207 15:59:53.986974       1 api.go:93] Response Body: {"status":"success","data":{"resultType":"vector","result":[]}}
I0207 15:59:53.987915       1 api.go:74] GET http://prometheus-service.monitoring.svc.cluster.local:9090/api/v1/query?query=sum%28rate%28container_cpu_usage_seconds_total%7Bnamespace%3D%22monitoring%22%2Cpod_name%3D~%22prometheus-adapter-6f7d7c45f4-t9j2f%7Cprometheus-operator-6979cdfc46-xsqdb%7Cprometheus-prometheus-0%22%7D%5B1m%5D%29%29+by+%28pod_name%2Ccontainer_name%29&time=1612713593.985 200 OK
I0207 15:59:53.988023       1 api.go:93] Response Body: {"status":"success","data":{"resultType":"vector","result":[]}}
E0207 15:59:53.988074       1 provider.go:187] unable to fetch CPU metrics for pod monitoring/prometheus-adapter-6f7d7c45f4-t9j2f, skipping
E0207 15:59:53.988083       1 provider.go:187] unable to fetch CPU metrics for pod monitoring/prometheus-operator-6979cdfc46-xsqdb, skipping
E0207 15:59:53.988090       1 provider.go:187] unable to fetch CPU metrics for pod monitoring/prometheus-prometheus-0, skipping

kubectl get --raw "/apis/metrics.k8s.io/v1beta1/pods" provides an empty API list:
{
  "kind": "PodMetricsList",
  "apiVersion": "metrics.k8s.io/v1beta1",
  "metadata": {},
  "items": []
}

At the same time custom metrics are populated as expected. Prometheus Adapter v0.8.3.

Could you perhaps check if the container_cpu_usage_seconds_total and container_memory_working_set_bytes metrics are reported for these containers in your Prometheus instance? If not, that would mean that your Prometheus instance doesn't scrape the metrics coming from kubelet.

Oh, yes, you are right - I have fixed my ServiceMonitor and the issue is gone.
But now I have another problem: data returned by kubelet is not consistent and sometimes resource metrics from various pods are not fetched:
I0208 17:15:13.968182       1 api.go:74] GET http://prometheus-service.monitoring.svc.cluster.local:9090/api/v1/query?query=sum%28rate%28container_cpu_usage_seconds_total%7Bnamespace%3D%22test-namespace%22%2Cpod%3D~%22load-generator%7Cphp-apache-79544c9bd9-4d5rw%7Cphp-apache-79544c9bd9-685bm%7Cphp-apache-79544c9bd9-76mbt%7Cphp-apache-79544c9bd9-7p554%7Cphp-apache-79544c9bd9-bq96l%7Cphp-apache-79544c9bd9-cnmht%7Cphp-apache-79544c9bd9-dfhrp%7Cphp-apache-79544c9bd9-jlb8q%7Cphp-apache-79544c9bd9-lq8tm%7Cphp-apache-79544c9bd9-qspb%22%7D%5B1m%5D%29%29+by+%28pod%2Ccontainer_name%29&time=1612804513.965 200 OK
...
E0208 17:15:13.969030       1 provider.go:187] unable to fetch CPU metrics for pod test-namespace/php-apache-79544c9bd9-76mbt, skipping
E0208 17:15:13.969040       1 provider.go:187] unable to fetch CPU metrics for pod test-namespace/php-apache-79544c9bd9-7p554, skipping
E0208 17:15:13.969050       1 provider.go:187] unable to fetch CPU metrics for pod test-namespace/php-apache-79544c9bd9-cnmht, skipping

On the next request the list of failed pods could be different. Or all of them could be successful.

It might be because in the example the pod_name label is matched to the pod resource. However, since Kurbernetes 1.16 the pod_name label was renamed to pod: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.16.md#removed-metrics
Hence if you are using a newer version of Kubernetes, you should update the example and change to pod here: https://github.com/kubernetes-sigs/prometheus-adapter/blob/master/deploy/manifests/custom-metrics-config-map.yaml#L95-L96. Same apply to the other rules.
On a side note, since you are using prometheus-operator, you could be interrested in kube-prometheus where there are more up to date example on how to configure prometheus-adapter: https://github.com/prometheus-operator/kube-prometheus/blob/master/manifests/prometheus-adapter-configMap.yaml
That being, if you are interested in contributing to prometheus-adapter, you're very welcome to do so and update the examples so that other users don't encounter the same hardships :slightly_smiling_face:.

@dgrisonnet got it! Thank you for your help :).


Simplify Options and Attributes creation and usage

This is not a new thing, but is something I think we haven't given much thought. And while going through the docs I see the docs are convoluted because of how the code works. It's basically "You can use X,Y,Z in this ways...but it's all for the same.".
Asciidoctor.convert accepts Options, OptionsBuilder and Map<String,Object>. Same applies for convertDirectory, convertFile and convertFiles. This creates a lot of methods for the same and is not a bad thing on its own.
What I think requires re-working is that those method's usage is not obvious to new users, specially when using IDE autompletion. Furthermore, Options has a public normal constructor, but OptionsBuilder has a static initializer plus the get and asMap methods that return Options and Map.
Also, we have load and loadFile which only accept Map<String,Object>·
To make things easier and more Java-ish wtyt if we...

Make Ascidoctor methods only accept 1 type. I am thinking of Options for the sake of abstraction.
Make Options package protected to be used only internally by the builder.
Add public static builder method to Options. This will return an instance of OptionsBuillder.
I am not sure if we should have a method that accepts map, one for free string-value for sure, accepting a map seems something out of convinience more than good design.
Rename get in OptionsBuilder to build following common Java conventions.
Make Options.map method package protected so it can only be used internally.
Overall remove use of maps from public components.

This should be marked for a 3.0 release since it may break integrations.
PS: same applies for Attributes, AttributesBuilder...

Totally agree!

Given the scope, maybe we should mark this as branking change and 3.x.x release.

Yes, this is definitely a breaking change.
But we can already do a few things right now to guide users to the new route and make them aware that things might change in the future:

Deprecate the constructors of Options and Attributes.
Add methods OptionsBuilder.build() and AttributesBuilder.build()
Add methods OptionsBuilder.builder() and AttributesBuilder.builder().
Deprecate static methods OptionsBuilder.options() and AttributesBuilder.attributes().
Deprecate methods OptionsBuilder/AttributesBuilder.asMap() & .get().

Wdyt?

Add methods OptionsBuilder.builder() and AttributesBuilder.builder().

For that what I had in mind is make *Builder constructors package protected. They were private, so this does not break compatibility.
Also added

Deprecate OptionsBuilder attributes(Map<String, Object> attributes) and OptionsBuilder attributes(AttributesBuilder attributes) . So only OptionsBuilder attributes(Attributes attributes) remains.


Upgrade jackson-databind to <IP_ADDRESS>

Patched version for CVE-2019-12814

Exploiting the Jackson RCE: CVE-2017-7525


Add support for "main" branch instead of "master"

Many repositories move from master to main.
So hardcoding master as default branch isn't really future proof.
Taken over from #13

When no branch is specified for zgen load the repository should be cloned without a branch.
Then ideally on zgen update I check for those repositories if the default branch has changed and would start using the new branch. (After cloning you can ask a git remote for its head branch)

Following the remotes head is doable. But following a remotes head for a shallow clone is a different thing.
You have to fetch the branch first. Since you don't know the name of the branch all branches would have to be fetched.
Another option is to use git remote show origin and hope that the format is consistent between versions of git. Also this could result in ambiguous results.
Need to test a bit more.
Fallback could be to delete the folder an clone again when detecting a change of head.

Maybe do shallow clones with no branch specified unless the user configures a specific branch? That should get the default branch without having to do any parsing.
Once you have cloned you can find it with git remote show origin | awk '/HEAD branch/ {print $3}'

I got something working with git remote set-head.
Currently testing it and I'll push it soon 👍

Neat, looking forward to it.


CPUID.CPU-Z version 2.05

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

The sha256 in the manifest is incorrect. Now we can no longer install CPU-Z due to hash mismatch.


Fix wrong error log in operator

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

In response to a cherrypick label: new pull request created: #25019


OperationGroupId in production

I changed the CreateMachine API to mirror Send.  Runtime.CreateMachine can now take an optional OperationGroupId parameter.
The OperationGroupId are also propagated by the production runtime.
Added unit tests.

This test should not have been there -- by design the production runtime doesn't check if the MachineId is the same as the currently executing machine.


Removal of "tags as metadata" breaks filtering service lookup by dynamic tag value

In this commit the "tags as metadata" ability was removed.
This was used in 2 areas (that I know of):

During service registration
During service lookup

This is a breaking change for us due to #2.
Our services are not registered via Spring Cloud Consul Discovery but we do use it to lookup services in consul (#2 above). We have 1000s of service instances that do not use metadata and instead use a tag to identify the "name" of the service instance. We find all service instances and then we spin through and filter those w/ the desired tag value (in the consul metadata map). This quit working as the metadata map is now empty.
Here are some options that come to mind:

Update all of our services to properly use metadata when they are registered

This is a non-starter and out of our control based on our deployment/infra landscape.

Set the spring.cloud.consul.discovery.default-query-tag: myServiceTag

This works for a static tag value, but we use it to lookup a service dynamically. If we could pass the query tag in here, that would work - with the one caveat that it would be specific to the consul impl and not in the DiscoveryClient contract (which is ok for our case).

Re-instate the ability to use "tags as metadata" for use case #2

Re-instate the "tags as metadata" feature but default it to "off"

I am willing to submit a merge request for whatever option the team lands on.

@spencergibb can you take a scan of this ticket? This will be a blocker for us to upgrade to 2020.0.0.

Indeed, 2020.0 was a chance for us to make breaking changes. Tags as metadata was a hack/workaround.

We find all service instances and then we spin through and filter those w/ the desired tag value

Since that is your current mode of operations, I've created a ConsulServiceInstance class that you may cast to that contains a getTags() method and a getHealthService() if there is any other data anyone might need that isn't in the interface.

Thanks @spencergibb - this will work. I do also like having the ability to get at the backing health service if any other "need" arises later.
However, is there any reason we would not want to support multiple default query tags? If we were able to set multiple query tags it would avoid having to pull back 1000 services and spin through them. Instead, it would pull back the small subset that matched the query tags.
I am guessing one reason would be that there are already enough moving parts w/ 2020.0 that anything extra can wait. If thats the case then I could always submit a merge request later once the dust settles w/ the suggested improvement.
Again, thank you for getting this commit in. It is much appreciated.

Yes, I'll look at your pr soon. I'm not opposed to multiple default query tags


docker cp causes mount attempt that corrupts data

If you mount a volume using this plugin and then try to use docker cp on a file within the container -- even if not from within the mounted volume, you get a message such as:
Error response from daemon: error while mounting volume '/mnt/temp-testing': VolumeDriver.Mount: mount failed, arguments: ["nsenter" "--mount=/rootfs/proc/1/ns/mnt" "--" "mount" "-t" "ext4" "-o" "discard,defaults" "/dev/disk/by-id/google-docker-volume-temp-testing" "/mnt/temp-testing"]
output: mount: /dev/sdb is already mounted or /mnt/temp-testing busy
       /dev/sdb is already mounted on /mnt/temp-testing

Once running docker cp on the container, you'll find the volume has been detached from the GCP instance but the container thinks the volume is still mounted. The forced removal has caused data loss and db corruption in my case.

Note it appears other volume plugins have had similar issues: https://github.com/NetApp/netappdvp/issues/93

Related thread on Moby: https://github.com/moby/moby/issues/34665

For folks that see this and need a fix while waiting for the pull request to be reviewed -- I've pushed a docker image to untoldone/gce-docker


Add missing ":"

I skimmed through this code 2/3 times, but didn't notice until now that one colon is missing.

Thanks


arrangement6: enable arrangement 6

Add arrangement 6 to osbs-client. Make all test cases pass for it and add some
test cases to test_arrangements.
Depends on https://github.com/projectatomic/atomic-reactor/pull/952
Signed-off-by: Mark Langsdorf<EMAIL_ADDRESS>

added the following text to the release notes:
Default arrangement version is 6.
API changes

get_build_request takes an optional arrangement_version argument, and returns a BuildRequestV2 object if arrangement_version is greater than or equal to 6.
BuildRequestV2 objects ignore most arguments passed in via set_params, as those arguments are retrieved from the REACTOR_CONFIG config map at runtime. the remaining arguments are stored in the USER_PARAMS field of the the build_json['spec']['strategy']['custom_strategy']['env']
new API call render_plugins_configuration takes the json from USER_PARAMS and returns the json of the atomic-reactor plugins configuration, much like BuildRequest.render() did in previous arrangements

Build JSON changes

['spec']['strategy']['custom_strategy']['env']['USER_PARAMS'] field added
['spec']['strategy']['custom_strategy']['env']['ATOMIC_REACTOR_PLUGINS'] field removed. atomic-reactor generates the plugin configuration from the USER_PARAMS and REACTOR_CONFIG config map at run time.
most plugin arguments are retrieved at runtime from the REACTOR_CONFIG config map at run time.


Build problems on Stampede2's KNL

short version of the error:
https://gist.github.com/zbyerly/5c1b52cdc4df07cb577727b0eb450088
long version:
https://gist.github.com/zbyerly/ce88c96e873440d70435c6a931a9176e

I guess you're building from https://github.com/stellar-group/libgeodecomp, right? I've just done a manual push from https://github.com/gentryx/libgeodecomp to the Ste||ar Group repo, this didn't happen automatically as the builds aren't green ATM (CUDA support broken in HPX, possibly other bugs in LGD).

Also, please keep the bug reports coming if you discover more issues with AVX512. I wonder how this typo got pushed in the first place as we should be testing this code path.

I am building from 14af9ad3d394416bf1e66ba2199b9998f47a09ed on https://github.com/gentryx/libgeodecomp and having the exact same problem.  I just rebuilt it to make sure.

Confirmed. Apparently I was too stupid to merge the bundled version of LibFlatArray correctly, sorry about that. Could you retry with ba45a35aa1efd409063055b54a253f5a65944985 ? (should be in both repos)


Add WebInspect Proxy Endpoints

Import rootcert, start, save, stop, and delete proxy to record workflow webmacro from the /webinspect/proxy endpoint.

WebBreaker Webinspect Proxy Features to implement
webbreaker webinspect proxy --start --port=9090 --proxy_name=<scan_name>

Download the CA
Start proxy include port and IP for output

Start WebInspect
curl -d "instanceId=123abc&address=<IP_ADDRESS>&port=8123" https://tettswie004p.hq.target.com:8083/webinspect/proxy

instanceID = The "instanceId will not be configurable or offered as an option.  Implementation will be the instanceID default as the "webbreaker webinspect scan --scan_name=

WebInspectConfig.parse_webinspect_options:128
scan_name assignment of either a Jenkins env variable of ${BUILD_TAG} or "webinspect-<5 alpha-numeric>"
** port = Port address option "webbreaker webinspect proxy --port" but the default is a random port assignment from the Webinspect server.
** address = Configurable and assigned from the config.ini
** config.ini = add port and protocol variable assignment to the [webinspect_endpoints] block as illustrated below
[webinspect_endpoints]
protocol = https
port01 = 8083
server01 = webinspect-server-1.example.com
e01 = %(protocol)s://%(server01)s:%(port)s|%(large)s
webbreaker webinspect proxy --stop

** Shutdown and stop proxy
curl -X DELETE https://tettswie004p.hq.target.com:8083/webinspect/proxy/{instanceId}

Save webmacro encapsulated in a xml setting file.
curl -o ./myworkflow.xml https://tettswie004p.hq.target.com:8083/webinspect/proxy/{instanceId}.xml

Example workflow of new default settings o new commands w/output

'''
webbreaker webinspect proxy -start
"proxy started on <IP_ADDRESS> on port 1212
webbreaker webinspect proxy -stop
"proxy stopped on <IP_ADDRESS> on port 1212 and saved locally as webinspect-124ij.xml"
'''


tag message prompt when pulling

Users get prompted for a tag message when pulling. The likely culprit is this change: https://github.com/andsens/homeshick/pull/219/files#diff-e8b00e2a7b69de8008a16e90ba6b4fcfa1991b20682eb96e2121373f6e8a31fbR22
We just need to make sure the tag call is interactive.
@yut23

That command should create a lightweight tag (as opposed to an annotated tag), which shouldn't ask for a message. Can you try with export GIT_TRACE=1 GIT_TRACE_REFS=1 beforehand, to see exactly what git is trying to do?

@thetrompf can you reproduce and check?

There we go, ran into it myself now

Oh!

combined with:

in the git config will cause git to require a message.

Fixed in ea9511acfcb3df887da5f64ed8e03e787ae21879

Oh boy. Yeah if people accidentally push that tag because of an incomplete pull there's quite a bit of trouble ahead. This method has to be rethought. Ideally we should just memo the current HEAD sha before pulling and somehow look it up later, this way we don't mess with the repo at all.

I've got a different approach here that I wrote before I switched to using tags: https://github.com/andsens/homeshick/compare/master...yut23:homeshick:fix-pull-symlinking-old
Before pulling each castle, it stores the current HEAD sha and only adds each castle to the list to symlink if the HEAD changed afterward. That way we can just do git diff @{1} HEAD to get the new files.
In retrospect, it's a lot cleaner than tags after all the error handling was added.

FYI. This is on master now.


Unit tests for Microsoft.AspNet.Localization

@DamianEdwards can you have a look to this PR?

/cc @kirthik

:watch:

@kirthik the PR has been updated

@kirthik can you please review the updated PR

Looks good. There is one assert which you missed but I can add it. I will merge it soon.

Which one @kirthik?

https://github.com/aspnet/Localization/pull/64#discussion_r39222645

It's there https://github.com/aspnet/Localization/pull/64/files#diff-6c110cb50e86daa8d422a7fce4aec3c4R43 @kirthik

oh great. Sorry I missed it. :shipit:  I will merge it soon.

Thanks @kirthik

merged efcbb2a664edc45c3d70d2bdcc5d535e8d551718


add antipopads-re

Add Antipopads:reborn aka antipopads-re repo.
https://github.com/AdroitAdorKhan/antipopads-re
Reference https://github.com/StevenBlack/hosts/issues/283#issuecomment-1095066066

Thank you Tomasz @FadeMind but I've decided to decline.
See the discussion in #283.
In short: this would make the list 24% larger, make it minimally more effective, while causing problems with less capable implementations, like Windows OS for example.
Closing.


Tab panel on the wrong side

Hi! Everything seems to work great, expect that sidebery is displayed on the right side of the window. How do I change it to the left without breaking anything? ;)

Press Alt > (menu bar will shown,) click View > Sidebar > pick other sidebars (Bookmarks, History, or Synced Tabs)
Click the sidebar header arrow > Click "Move Sidebar to Left Side"
Click the sidebar header arrow > Click Sidebery (or press F1)

What is meant in point 2. sidebar header arrow. I can't seem to understand which sidebar header arrow is being referred to.

This one! The sidebar header title  and arrow are clickable and you can choose which panel to show or which side do you want sidebar on.

Though with the latest version of my theme, I showed the sidebar header by default (it wasn't happened before), and you can just click on it:

Thank you so much! Love the theme, great work!


Support build.dart running when non-source files change

Like an HTML file – opt in?

Yes. opt in.

@ferhatb How would you want to model this?
If we track changes to any file, the generator gets slow.
We could have an option for each generator: SourceFile, SourceLibrary, SameDirectory, SameDirectoryAndChildren, WholeProject
What do you think?

Option for generator sounds good, i've not seen a case yet where they live
in separate dirs.
On Mon, Feb 16, 2015 at 10:42 AM, Kevin Moore<EMAIL_ADDRESS>wrote:

@ferhatb https://github.com/ferhatb How would you want to model this?
If we track changes to any file, the generator gets slow.
We could have an option for each generator: SourceFile, SourceLibrary,
SameDirectory, SameDirectoryAndChildren, WholeProject
What do you think?
—
Reply to this email directly or view it on GitHub
https://github.com/kevmoo/source_gen.dart/issues/21#issuecomment-74554138
.

Tiptoeing into this work at branch https://github.com/kevmoo/source_gen.dart/tree/non_source_files_i21

@ferhatb Look at JsonLiteralGenerator for an example. This is published as 0.2.4. Let me know if you have questions.


Add Dockerfile

I wrote one already, it works for me, maybe it will help others 😙
FROM python:3.8-alpine

WORKDIR /uploads
VOLUME /uploads

RUN apk add gcc musl-dev libffi-dev openssl-dev

RUN pip install updog

EXPOSE 9090

CMD ["updog"]

I think it should be better if instead of pip installing it installed the requirements.txt, but I wrote it this way and it works 😅

Addressed here:
https://github.com/felmoltor/updog3


Command line export with Linux headless always re-imports PNG resources

Godot version:
3.1

OS/device including version:
linux_headless

Issue description:

When run with --export the headless version will re-import all resources, causing the export to take 20x longer than before.
~/bin/Godot_v3.1-stable_linux_headless.64 --export Linux/X11 Kinematic\ Character\ 3D.x86_64
ERROR: instance: Class 'EditorSettings' can only be instantiated by editor.
   At: core/class_db.cpp:518.
ERROR: poll: /home/jpate/.config/godot/editor_settings-3.tres:3 - Parse Error: Can't create sub resource of type: EditorSettings
   At: scene/resources/resource_format_text.cpp:561.
ERROR: load: Condition ' err != OK ' is true. returned: RES()
   At: core/io/resource_loader.cpp:208.
ERROR: _load: Failed loading resource: /home/jpate/.config/godot/editor_settings-3.tres
   At: core/io/resource_loader.cpp:285.
WARNING: create: Could not open config file.

   At: ./core/self_list.h:111.
ERROR: cleanup: There are still MemoryPool allocs in use at exit!
   At: core/pool_vector.cpp:70.

Steps to reproduce:
Download attached modified version of kinematic_character demo
extract
cd kinematic_character_export/kinematic_character
path/to/Godot_v3.1-stable_linux_headless.64 --export Linux/X11 Kinematic\ Character\ 3D.x86_64

Minimal reproduction project:
kinematic_character_export.zip

looks like it's getting tripped up here
Can we warn on invalid import settings? It doesn't seem to reimport them when i use the non-headless version.
		//reimport settings are not valid, reimport
		return true;
	}```

When you say "than before", are you comparing to Godot 3.0?

Yes, with 3.0 I could use --export with the headless build and export each platform and it did not re-import every resource.
With 3.1 it fails to accept the resource file as up to date and re-imports every resource. (Because VSG::storage->has_os_feature() always returns false on the headless build.

Facing the same as @jamie-pate  for "Linux/X11" as well. Using headless Godot Godot_v3.1.1-stable_linux_headless.64
Command
./Godot_v3.1.1-stable_linux_headless.64 --export "Linux/X11" builds/
Output
ERROR: instance: Class 'EditorSettings' can only be instantiated by editor.
   At: core/class_db.cpp:523.
ERROR: poll: /home/mithul/.config/godot/editor_settings-3.tres:3 - Parse Error: Can't create sub resource of type: EditorSettings
   At: scene/resources/resource_format_text.cpp:561.
ERROR: load: Condition ' err != OK ' is true. returned: RES()
   At: core/io/resource_loader.cpp:208.
ERROR: _load: Failed loading resource: /home/mithul/.config/godot/editor_settings-3.tres
   At: core/io/resource_loader.cpp:285.
WARNING: create: Could not open config file.
   At: editor/editor_settings.cpp:871.
ERROR: copy: Failed to open
   At: core/os/dir_access.cpp:300.
ERROR: _fs_changed: Project export failed with error code 12.
   At: editor/editor_node.cpp:495.
ERROR: ~List: Condition ' _first != __null ' is true.
   At: ./core/self_list.h:111.
ERROR: cleanup: There are still MemoryPool allocs in use at exit!
   At: core/pool_vector.cpp:70.

Using regular Linux build fails with
> ./godot --export "blah" `readlink -f builds/`
ERROR: initialize: X11 Display is not available
   At: platform/x11/os_x11.cpp:126.

The non-headless server also fails with
ERROR: _load: Method/Function Failed, returning: RES()
   At: core/io/resource_loader.cpp:285.
ERROR: start: Condition ' !scene ' is true. returned: false
   At: main/main.cpp:1739.
WARNING: cleanup: ObjectDB Instances still exist!
   At: core/object.cpp:2095.
ERROR: clear: Resources Still in use at Exit!
   At: core/resource.cpp:425.
ERROR: cleanup: Condition ' allocs_used > 0 ' is true.
   At: core/pool_vector.cpp:70.

I was able to get rid of the re-importing issue by being inside the project folder and specifying the 'project.godot' file.
godot project.godot -v -q --export "Linux/X11" ~/project/build/linux/$EXPORT_NAME.x86_64

There is still the
ERROR: ~List: Condition ' _first != __null ' is true.
   At: ./core/self_list.h:111.
ERROR: cleanup: There are still MemoryPool allocs in use at exit!
   At: core/pool_vector.cpp:70.

but that is a different issue all together.

Godot_v3.2-stable_linux_headless.64 project.godot --export Linux/X11 '../export/tmp/$EXPORTNAME-linux' does not solve the problem for me.

-q got rid of the re-import

It probably just silenced the re-import as it's the quiet mode ;)

Well it also silenced the exported files.

Hm ;)
$ godot-git --help | egrep "\-\-(quit|quiet)"
  --quiet                          Quiet mode, silences stdout messages. Errors are still displayed.
  -q, --quit                       Quit after the first iteration.

@akien-mga Seems like I was wrong then. It's kind of unexpected, -q should probably have been a shorthand for --quiet as it's a more common operation.

Can we recreate this on the latest stable?

Can we recreate this on the latest stable?

@fire  I'll try again in the weekend with the most recent 3.2 release
It was happening to me on CI for version 3.2.2 (or 3.2.3) last spring.

@fire  I'll try again in the weekend with the most recent 3.2 release
It was happening to me on CI for version 3.2.2 (or 3.2.3) last spring.

Is this maybe fixed in 4.0?

https://github.com/godotengine/godot/issues/69511 maybe it's worse in godot 4? :D
Still an issue on 3.5.2-rc1 with --export-pack
$ ./test.sh
Godot Engine v3.5.2.rc1.official.f5f0543ae - https://godotengine.org

reimport: begin: (Re)Importing Assets steps: 1
	reimport: step 0: icon-texture.png

repro-headless-png-always-reimports.zip


Feat: Added download report feature in comments, reactions and favorite in admin panel successfully issue 558

Pull Request Resolves [ #558 ]
Title:  Added download report feature in comments, reactions and favorite in admin panel successfully.
Description

In backend, I created 3 controllers and 3 routes which uses the Pdfkit to convert the prisma database data to pdf format.
In admin, I am getting the api created above and downloading the pdf via admin.
The design is responsive.

Related Issues
Fixes #558
Changes Made
New feature:  Added download report feature in comments, reactions and favorite in admin panel.
Screenshots

I certify that I have carried out the relevant code of conduct and provided the requisite screenshot for validation by submitting this pull request.
Thank You for this contribution.

@VaibhavArora314 Done 👍

Resolve conflicts

@VaibhavArora314 Done 👍


[otp_ctrl/lc_ctrl] Further updates to enable the secure manufacturing flow

This addresses https://github.com/lowRISC/opentitan/issues/7725.
In particular:

This adds a new partition called VENDOR_TEST to OTP that is 256bit in size and that behaves like the other unbuffered SW config partitions - however it is meant to be used by the vendor to implement OTP smoke tests. That means that the closed source wrapper is allowed to access that partition (hence the offset and size parameters that are passed into the prim_otp wrapper).

The LC CSRs are slightly rearranged as follows: the existing vendor test control register is expanded to 32bit, and a 32bit vendor status register is added. Both registers are connected to the prim_otp wrapper, and they are gated with life cycle such that they cannot be used in production states. Since the external clock enable switch is an open-source visible feature, it is moved out of that vendor test control reg into its own transition control register.

Some of these commits will be squashed after review.
@cfrantz the corresponding OTP and LC DIFs needed some alignment - can you let me know whether this looks good (or loop in another SW reviewer)?
@cindychip PTAL at the DV environments. All OTP/LC tests pass, except for the following:
otp_ctrl_test_access, otp_ctrl_stress_all, otp_ctrl_stress_all_with_rand_reset.

One more note:
While this implements the requests in #7725, I meant to look at ECC handling to see whether there is an easy way to disable the interpretation of ECC errors for entire partitions to make this more explicit for VENDOR_TEST (i.e., document this behavior in the open-source side). We could technically add a partition attribute that defines whether ECC errors should be interpreted and lead to a fatal partition alert / error or not. @tjaychen WDYT?

Thanks Michael, the test_access failure is expected. And the other two tests are failed probably due to the test_access.
Thanks for fixing the DV side.


Multiple Language: Editor field of other language doesn't show container body to input data

Hi owen2345, I suddenly cannot input data to all of the editors field of KH Language.
Would you mind tell me how can I solve it?

Hi @SopharyMSH
could you please debug the error? to see the error line and the url of the js file with the error.
The editor is stopped because there is an error in plugin.js

Hi @owen2345
Would you mind guide me how can I debug that error?

@SopharyMSH
could you please send me the url or the content of plugin.js?


Heater LED no Working as expected

Hi,
In one of the latest updates, I noticed that the LED control on the HomeKit is not working 100%
When it at 0% it turn on the screen a full brightness and at 1% turns off.
I can’t set the slider in any other position. It automatically goes to 1% when try something highest

Smartmi heater

Hi, you need to provide me with the specific heater model so I can have a look.

Hi
Smartmi Smart Convector Heater 1S

Thanks, will check it out!

Should be fixed in version 1.1.0.
The full value range will not be used, since there are 3 possible values the ranges are: 0-33, 34-66 and 67-100. The slider will automatically adjust to the nearest value.
Please note that the device has some strange way to set the values :
0 - full brightness
1 - middle
2 - off
not sure why they decided to do it that way, but this unfortunately will reverse the slider, meaning:
0% -full brightness
100%(67%) - off


DBF tests fail on Py3.3 because enum doesn't exist

Strange this isn't failing on Travis...

How to reproduce then?

It appears there is a newer and more modern Python dbf library: dbfread. I'm going to take it for a spin. The current one has always been a bit of a problem child.

Confirmed: dbfread is a better library https://github.com/onyxfish/agate-dbf

Superseded by #523.


Opening non-existent DB results in stack trace

If I try to read a non-existent repo DB I get a sqlite3.OperationalError: no such table: System rather than a sensible error message. We should at least test for existence of the file and throw a good exception here.

Fixed in #1148


Server currently unavailable

It has been a few days since I am using the upload.py script, and I have the same issue every time I try to run it on a different device than my laptop. For instant I always get this error when I try running it on my raspberry pi:
[-] An error occured while reaching https://www.tiktok.com/api/v1/web/project/post/?aid=1988
r = <Response [200]>
r.content = b'{"status_code":4,"status_msg":"Server is currently unavailable. Please try again later.","log_pb":{"impr_id":"20230419125536859ED03C61F227194B99"}}

Everything works fine for uploading on my side? Have you tried switching to another connection / IP, or another video to upload?

It has been a few days since I am using the upload.py script, and I have the same issue every time I try to run it on a different device than my laptop. For instant I always get this error when I try running it on my raspberry pi:
[-] An error occured while reaching https://www.tiktok.com/api/v1/web/project/post/?aid=1988
r = <Response [200]>
r.content = b'{"status_code":4,"status_msg":"Server is currently unavailable. Please try again later.","log_pb":{"impr_id":"20230419125536859ED03C61F227194B99"}}

mabe you can login in on your laptop, then try use this script again

I also get something similar like this: ============开始上传视频===========
/home/skrowzzz/.local/lib/python3.10/site-packages/urllib3/connectionpool.py:1045: InsecureRequestWarning: Unverified HTTPS request is being made to host 'tos-gcpgb.tiktokcdn.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/1.26.x/advanced-usage.html#ssl-warnings
warnings.warn(
============视频上传成功===========
[-] An error occured while reaching https://www.tiktok.com/api/v1/web/project/post/?aid=1988
r = <Response [403]>
r.content = b'\nAccess Denied\n\nAccess Denied\n \nYou don't have permission to access "/api/v1/web/project/post/?aid=1988" on this server.\nReference #18.9d551060.1682390527.51431852\n\n\n'
============发布失败===========
[-] An error occured while reaching https://www.tiktok.com/api/v1/web/project/post/?aid=1988
r = <Response [403]>
r.content = b'\nAccess Denied\n\nAccess Denied\n \nYou don't have permission to access "/api/v1/web/project/post/?aid=1988" on this server.\nReference #18.9d551060.1682390527.51431852\n\n\n'

Try to replace the domain www with us

Try to replace the domain www with us

than this error: {"status_code":8,"status_msg":"Login expired","log_pb":{"impr_id":"20230429084743ED83464FC75B83DE1B22"}}

@ViktorKravtsov Try changing your sessionid

Does not help. When I try to post to www. getting error:
{"status_code":4,"status_msg":"Server is currently unavailable. Please try again later.","log_pb":{"impr_id":"202304290911064EAEE51B813AE29B1309"}}
When to us.tiktok.com (and change header Host), returns the same error

it seem like being limit by tiktook

you gotta change the cookies when you switch computer, I had the same error and that what the fix was.


Modify compliance API to access purge note

Add purge note to compliance API
Drop unused columns in compliance table
Rewrite compliance JDBC with JPA
Add cache for frontend dataset id to urn lookup function

Coverage increased (+4.3%) to 23.818% when pulling e5fe141d18011d64685065447d7f5b242c669b68 on alyiwang:compliance into 6a559ca316c3f3fd3369f805d03decbd618c072a on linkedin:master.

Coverage increased (+4.3%) to 23.797% when pulling e701d93213622975d8fc818f7c2f6fec6641f37a on alyiwang:compliance into 6a559ca316c3f3fd3369f805d03decbd618c072a on linkedin:master.

Coverage increased (+4.3%) to 23.797% when pulling e701d93213622975d8fc818f7c2f6fec6641f37a on alyiwang:compliance into 6a559ca316c3f3fd3369f805d03decbd618c072a on linkedin:master.


Opening new buffers from qf/loclist results in a small window showing the buffer, not closing the startify window

Steps to reproduce:

open vim
run e.g. :make

Expected behaviour:

startify buffer is replaced with new buffer on first error

Actual behaviour:

new buffer is opened in new tiny window

Example:

Reproducable with a clean vimrc.

This happens because software is terrible. ;] Buffers can have different types and Startify should certainly be no file buffer.. unfortunately that's what most often is assumed.
Should be "fixed" as of https://github.com/mhinz/vim-startify/commit/977ee633e5d8b6ea05d2c88ec06f6b7e8d67fcfb.
Thanks for mentioning it!

Yup, works perfectly - thanks


iOS: Uploading photo without downscaling

Give the user the possibility to "turn off" the automatic downscaling of pictures bigger than 1600x1200, i.e. to upload to original big file.

UX may be this: "After successful resized upload, add button [Send original 6000x2000 picture (4MB)]"

Implemented as a user setting, in release 1.1.0


Add Lineage metrics to KafkaIO

This PR depends on #32090
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

R: @rohitsinha54 @ahmedabu98

R: @tvalentyn would you mind taking a review? Thanks!


Allow compact ref specification

Currently even very simple references are pretty long form, often taking up more than half of the actual object's definition.
An "inline" reference, similar to how id references are done, would be helpful.
A proposed solution to convert this old format:
// (normal data here)
"!refs":
  file_extension:
    target_class: FileExtension
    criteria:
      name: ".abc"

to something like:
// (normal data here)
file_extension: "!FileExtension?name=.abc#<field>"

Where the #<field> is an optional slug.
This may have some trouble with numeric types though? Might have to do field introspection to determine if a string needs to be converted to int / float / datetime / ...

Fully implemented and tested in 62ce893 .  Documentation is still pending, see #3
Inline reference
// General structure, field is an optional specification.
<property>: "!<class>?<field>=<value>[:<field>]"

So for example:
FileExtension: {
    "name": ".abc"
}
"File": {
    file_extension: "!FileExtension?name=.abc"
}

ID reference
Allows attaching a name to a defined entity, useful to ensure you don't "collide" with other persisted data.
FileExtension: {
    "!id": "my_extension",
    "name": ".abc"
}
"File": {
    file_extension: "#my_extension"
}


Add alarm summary graph component

Add graph component and corresponding test page

I'll change it to 12.
As with the speedometer demo page, the border is not part of the component, but was added in order to clearly identify the size of the component. I would expect that the page that includes this and any other components would set the appropriate margin/padding to avoid them abutting to close to their edges. This border box is very useful to have in the demo page, and was useful in diagnosing size and layout issues during development. Do you have any suggestions for how I can keep this feature in the demo page without being confusing?


Explicit sliceSize comparison to 0; is NaN for an unbounded slice.

I made a guess as to where this test should go, I'm not confident I got it right.
Without this change, I'm seeing an exception on a (re)generator-fed Seq if I skip(1), as it does not create the parent iterator.

Thank you for investigating this and for this solution! I had to make some changes, but the approach is the same and the test is very close to the one you wrote.


Autofocus URL input

this automatically focuses the URL input field, allowing for faster link pasting.

Absolutely! I don't know why I haven't thought of this before, maybe because I use it via Refined GitHub


[Feature-2127][sql-schema] Fix the mysql version limited error (#2127)

What is the purpose of the pull request
Fix the mysql version and datetime sql syntax limited error for 5.5x - 5.64.
Brief change log

Remove the CURRENT_TIMESTAMP in sql file.
Change the sql datetime(0) syntax to common syntax datetime, because mysql5.5x does not support the datetime(0) syntax, and datetime syntax is be in common use in mysql5.x and mysql8.x.
There is no need to set datetime in java code, because the default time was set up before.

Verify this pull request
This pull request is code cleanup without any test coverage.

@yangyichao-mango same issue https://github.com/apache/incubator-dolphinscheduler/pull/2914,https://github.com/apache/incubator-dolphinscheduler/pull/2911
I will close other issues

@yangyichao-mango same issue https://github.com/apache/incubator-dolphinscheduler/pull/2914
I will close it. which one should be closed? https://github.com/apache/incubator-dolphinscheduler/pull/2911 ,https://github.com/apache/incubator-dolphinscheduler/pull/2915

Those PR is not for the same version， because this issue involves three released versions, so I fix for three versions and commit three PRs.


Add opencv photo build

Can you please add OpenCV's "photo" contrib module to the build?
I need it for a new feature on obs-bgremoval 🙏

i see 4.8.0-2  can you make an official release so I can use it i the origin repo? @umireon 🙏


Add pagination to Get-SlackUser

Fixes: RamblingCookieMonster/PSSlack#117

Without pagination the get-slackuser command is useless. This needs to be approved.


tf-idf implementation

This is regarding the implementation of tf-idf issue (#164 )
@mattetti We can discuss the same in this issue.

@ksaur Apologies for the delay.
Will resolve this by the end of the week.

Hi @ksaur, I have an implementation of tf-idf ready, could you kindly guide me onto where to add the code?

Hi @Hemantr05 !  You can just submit it as a pull request using the standard github way, see here if you need a link to instructions!  Let me know if you have questions. Thanks!

Thank you @ksaur


colors module import issue

I tried running the setup function and received an import error. Apparently I can't seem to find the colors package.
Traceback (most recent call last):
File "setup_check.py", line 8, in <module>
from colors import red, green, yellow
ImportError: cannot import name 'red' from 'colors'
I've tried tracking it down and installing with pip to no avail. I'm new to python and this is one of my first projects in it so I apologize if this is a silly error.

Yea, this module seems to cause issues for some people. It's in the Pipfile, but it seems to not install properly for some. The module is ansicolors.
I recommend using the dev branch. I've removed the ansicolors module from that entirely to avoid the issue and make things simpler.

Hey thanks for the quick response, that appears to have fixed it. I'm having a couple other issues I'm now having.
When I run the setup_check.py I get the following:
?[31m[!] Provide your keys.config for review?[0m
?[31mL.. Usage: setup_check.py auth/keys.config?[0m
I think its looking for the config file somewhere else or its expecting it to be named something else. Any possible solutions? Again, I definitely appreciate the support.

You need to provide the path to your keys.config file o the command line, like so:
setup_check.py auth/keys.config

Awesome, that did it! Thanks!


Feature: Bigger chunk size

First of all its a greate plugin but I got the following question. Is their a possibility to increase the chunk size?
I got a Zip of around 500MB and need to unzip and save every file to the file system. This process takes quite some time with the blob_writer. Is there a way to increase the speed?

The chunk size only affects fallback mode. You can either write the file to disk and unzip it with a native plugin, or unzip the file in JavaScript and write each file to disk. I suspect the first option will be faster, but probably not by much.
Are you sure you are not inadvertently running in fallback mode?


Can we use howdy to LOCK a screen rather than unlock it?

Follow me here.  I'm happy using passwords.  And I want to increase security.  When I log in, I'd like howdy to take note of what I look like that day.  And keep the camera on while I'm using the computer.  watch me continuously.  if I leave the frame at all, run a command.  if I'm gone for more than x seconds, run another command.  I'll use those commands to start a screen locker.
When I come back I will  unlock via password.  But this keeps me secure, even if I forget to lock my screen.
I might set the first command to play a small beep and run xtrlock.  if I return to camera view before x seconds has elapsed, then kill xtrlock or cause it to unlock.  but after x seconds, the normal screensaver starts, and howdy can exit.
When the screensaver unlocks, howdy starts up again and the cycle repeats.

It doesn't work like that, Howdy can only be used for locking.


Stutter and flicker because of no threshhold option?

I love your plugin, but I have one problem I really want to get solved. I have a large splash image on top of my onepager and under that, I have another  with some logos. The navigation is on top of the splash but when I scroll down (or autoscroll through the menu) to get to the logos, the scroll accidentally scrolls down to the breakpoint in which sticky is triggering. So it jumps from ordinary nav to sticky nav automatically (like a loop).
So my question is: are there any form for threshold or "wait" option available? I have read the docs and clearly it's not. But are there any workaround, please?
Cheers.

I solved this with setting the element default to position absolute

I had a similar problem to you with stuttering and jumping in a loop, because the script was rewriting the inline fixed position styles during scroll. I have a negative top property set on my sticky. Your referenced issue contains the fix.
Here are the forked files by tomlagier which don't look to be merged into garand's master yet.

https://github.com/garand/sticky/pull/101/commits/ab51084960c1f4514aa6d8af9a79a50b2c0690f9
https://github.com/tomlagier/sticky/blob/ab51084960c1f4514aa6d8af9a79a50b2c0690f9/jquery.sticky.js

@tinyearth Thanks for your help and tip :) Will check it out now.


Support Protocol Profile Behavior

this solves the problem for importing a request (GET, HEAD) with parameters (docs).

Thanks for this @oooiik 👍


SafeBrowsing RedisAdapter fixes

Coverage decreased (-0.8%) to 83.677% when pulling afa1e91751e42a5967a6641d344c1e9e7406cafe on spytz:SafeBrowsing_redis_fix into a065d6992feb29c71786fbe63626ca3846f6012d on nixsolutions:master.


Offer an envelope generator audio unit with multiple sustain points

I was looking into AKAmplitudeEnvelopeAudioUnit.h and thinking about something that I'd like to achieve, which is an envelope generator with multi-point sustain. Using the existing ADSR model, delay duration would determine the duration to the S level as it does already. Additional sustain points could be specified in an array, e.g.
// pseudocode only, this needs to be an object
typedef sustainPoint {
float duration; // duration to arrive at this sustain level
float level;
}
@property (nonatomic) NSArray *additionalSustainPoints;
I'm just beginning with AudioKit so if there is another way which amplitude could be modulated with an envelope more complex with ADSR, I haven't discovered it yet. Thanks for reading!

This seems kind of complex and specific for inclusion in the toolkit itself, but you should be able to implement something like this within AudioKit in a few different ways. You should probably also join the AudioKit Google group where we can discuss this further.