Update third_party/protobuf to v3.11.2

Python Bazel Build
https://source.cloud.google.com/results/invocations/da1975c4-f708-49f1-b090-5e86b8c4ccfd/log
DEBUG: /root/.cache/bazel/_bazel_root/d2dc70c3d9da3fab488ba0dcbbd35051/external/bazel_toolchains/rules/rbe_repo/checked_in.bzl:226:13: rbe_msan not using checked in configs; Bazel version 1.0.0 was picked/selected with '["9.0.0", "10.0.0"]' compatible configs but none match the 'env = {"ABI_LIBC_VERSION": "glibc_2.19", "ABI_VERSION": "clang", "BAZEL_COMPILER": "clang", "BAZEL_HOST_SYSTEM": "i686-unknown-linux-gnu", "BAZEL_TARGET_CPU": "k8", "BAZEL_TARGET_LIBC": "glibc_2.19", "BAZEL_TARGET_SYSTEM": "x86_64-unknown-linux-gnu", "CC": "clang", "CC_TOOLCHAIN_NAME": "linux_gnu_x86", "BAZEL_LINKOPTS": "-lc++:-lc++abi:-lm"}', 'config_repos = None',and/or 'create_cc_configs = True' passed as attrs
Analyzing: 214 targets (36 packages loaded, 0 targets configured)
INFO: Call stack for the definition of repository 'go_sdk' which is a _go_download_sdk (rule definition at /root/.cache/bazel/_bazel_root/d2dc70c3d9da3fab488ba0dcbbd35051/external/io_bazel_rules_go/go/private/sdk.bzl:53:20):
 - /root/.cache/bazel/_bazel_root/d2dc70c3d9da3fab488ba0dcbbd35051/external/io_bazel_rules_go/go/private/sdk.bzl:65:5
 - /root/.cache/bazel/_bazel_root/d2dc70c3d9da3fab488ba0dcbbd35051/external/io_bazel_rules_go/go/toolchain/toolchains.bzl:379:13
 - /var/local/git/grpc/bazel/grpc_extra_deps.bzl:36:5
 - /var/local/git/grpc/WORKSPACE:11:1
ERROR: /root/.cache/bazel/_bazel_root/d2dc70c3d9da3fab488ba0dcbbd35051/external/com_google_protobuf/BUILD:874:1: no such package '@six//': The repository '@six' could not be resolved and referenced by '@com_google_protobuf//:protobuf_python'
ERROR: Analysis of target '//src/python/grpcio_reflection/grpc_reflection/v1alpha:reflection_py_pb2' failed; build aborted: no such package '@six//': The repository '@six' could not be resolved

A bunch of Macos bazel tests terminating with an odd, likely protobuf related error:
https://source.cloud.google.com/results/invocations/9a21fcab-5195-4f6d-88e4-1780fe99d5a0/targets
[libprotobuf ERROR external/com_google_protobuf/src/google/protobuf/descriptor_database.cc:120] File already exists in database: google/protobuf/any.proto
[libprotobuf FATAL external/com_google_protobuf/src/google/protobuf/descriptor.cc:1356] CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):
libc++abi.dylib: terminating with uncaught exception of type google::protobuf::FatalException: CHECK failed: GeneratedDatabase()->Add(encoded_file_descriptor, size):

ASAN problems:
https://source.cloud.google.com/results/invocations/cfad3c7d-e44b-4853-974a-3b2e8cbb649a/targets
+ export GRPC_POLL_STRATEGY=epoll1
+ shift
+ test/core/channel/channelz_test
=================================================================
==18==ERROR: AddressSanitizer: odr-violation (0x7f3ef8ff53a0):
  [1] size=32 'google::protobuf::_DoubleValue_default_instance_' bazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_imports/wrappers_proto/google/protobuf/wrappers.pb.cc:21:3
  [2] size=32 'google::protobuf::_DoubleValue_default_instance_' external/com_google_protobuf/src/google/protobuf/wrappers.pb.cc:21:3
These globals were registered at these points:
  [1]:
    #0 0x45f0dd in __asan_register_globals /tmp/clang-build/src/compiler-rt/lib/asan/asan_globals.cpp:362:3
    #1 0x7f3ef8fdb0db in asan.module_ctor<EMAIL_ADDRESS>
  [2]:
    #0 0x45f0dd in __asan_register_globals /tmp/clang-build/src/compiler-rt/lib/asan/asan_globals.cpp:362:3
    #1 0x7f3ef8dff48b in asan.module_ctor<EMAIL_ADDRESS>
==18==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
SUMMARY: AddressSanitizer: odr-violation: global 'google::protobuf::_DoubleValue_default_instance_' at bazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_imports/wrappers_proto/google/protobuf/wrappers.pb.cc:21:3

@rafi-kamal  looks like there's several problems upgrading gRPC to protobuf 3.11.2 - can you look at them and help us resolve?

ASAN problems:
https://source.cloud.google.com/results/invocations/cfad3c7d-e44b-4853-974a-3b2e8cbb649a/targets
+ export GRPC_POLL_STRATEGY=epoll1
+ shift
+ test/core/channel/channelz_test
=================================================================
==18==ERROR: AddressSanitizer: odr-violation (0x7f3ef8ff53a0):
  [1] size=32 'google::protobuf::_DoubleValue_default_instance_' bazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_imports/wrappers_proto/google/protobuf/wrappers.pb.cc:21:3
  [2] size=32 'google::protobuf::_DoubleValue_default_instance_' external/com_google_protobuf/src/google/protobuf/wrappers.pb.cc:21:3
These globals were registered at these points:
  [1]:
    #0 0x45f0dd in __asan_register_globals /tmp/clang-build/src/compiler-rt/lib/asan/asan_globals.cpp:362:3
    #1 0x7f3ef8fdb0db in asan.module_ctor<EMAIL_ADDRESS>
  [2]:
    #0 0x45f0dd in __asan_register_globals /tmp/clang-build/src/compiler-rt/lib/asan/asan_globals.cpp:362:3
    #1 0x7f3ef8dff48b in asan.module_ctor<EMAIL_ADDRESS>
==18==HINT: if you don't care about these errors you may set ASAN_OPTIONS=detect_odr_violation=0
SUMMARY: AddressSanitizer: odr-violation: global 'google::protobuf::_DoubleValue_default_instance_' at bazel-out/k8-fastbuild/bin/external/com_google_protobuf/_virtual_imports/wrappers_proto/google/protobuf/wrappers.pb.cc:21:3

Oh, looks like this is due to https://github.com/grpc/grpc/pull/20224#issuecomment-537732931
@rafi-kamal  what is the next step here to fix?

The failure in the Python build is addressed by https://github.com/grpc/grpc/pull/20783. We were hesitant to pull it in because it constitutes a breaking change, but I think at this point, we'd better.

There are two potential solutions mentioned in https://github.com/grpc/grpc/pull/20224#issuecomment-537732931, but I'm not familiar enough with Protobuf or gRPC C++ to determine which one is better or what exactly the next steps would be in either of these two solutions. @veblush would be able to help here?
I'm happy to help if any changes are needed from the Protobuf side,

ObjC regression
https://source.cloud.google.com/results/invocations/b889017f-279c-43ff-9d12-317f0ec660fe/targets/github%2Fgrpc%2Frun_tests%2Fobjc_macos_opt_native%2Fios-cpp-test-cronet/tests
/Volumes/BuildData/tmpfs/src/github/grpc/workspace_objc_macos_opt_native/test/cpp/ios/Pods/Headers/Private/RemoteTestCpp/src/proto/grpc/testing/echo_messages.pb.h:576:111: error: only virtual member functions can be marked 'final'
Tue Jan  7 01:55:51 PST 2020 -       ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
Tue Jan  7 01:55:51 PST 2020 -                                                                                ^~~~~
Tue Jan  7 01:55:51 PST 2020 - /Volumes/BuildData/tmpfs/src/github/grpc/workspace_objc_macos_opt_native/test/cpp/ios/Pods/Headers/Private/RemoteTestCpp/src/proto/grpc/testing/echo_messages.pb.h:548:42: error: no member named 'GenericSwap' in namespace 'google::protobuf::internal'
Tue Jan  7 01:55:51 PST 2020 -       ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
Tue Jan  7 01:55:51 PST 2020 -       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
Tue Jan  7 01:55:51 PST 2020 - /Volumes/BuildData/tmpfs/src/github/grpc/workspace_objc_macos_opt_native/test/cpp/ios/Pods/Headers/Private/RemoteTestCpp/src/proto/grpc/testing/echo_messages.pb.h:978:101: error: only virtual member functions can be marked 'final'
Tue Jan  7 01:55:51 PST 2020 -   const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
Tue Jan  7 01:55:51 PST 2020 -                                                                                ^~~~~
Tue Jan  7 01:55:51 PST 2020 - fatal error: too many errors emitted, stopping now [-ferror-limit=]
Tue Jan  7 01:55:51 PST 2020 -

I see Protobuf-C++ 3.8.0 got installed.

The file is here. I'm not sure why it is maintained in gRPC repo though (since I remember discussion with teboring on integrating its release in Protobuf's release process).

The file is here. I'm not sure why it is maintained in gRPC repo though (since I remember discussion with teboring on integrating its release in Protobuf's release process).

This is the history of that file:
https://github.com/grpc/grpc/commits/master/src/cpp/Protobuf-C%2B%2B.podspec
(and it also looks that is only affects ios-cpp-test-cronet tests as other objC test are passing?)

If Protobuf has a copy of this file it's probably right to get rid of our copy. Let me check why our copy exist first.

The protobuf version of the podspec doesn't work. Previous internal discussion: https://groups.google.com/a/google.com/g/protobuf-team/c/7kqwEta6q_A/m/8doAs-OlCwAJ

@gnossen, looks like well_known_protos conflict problem described here https://github.com/grpc/grpc/pull/21590#issuecomment-571240528 is related to a PR that you reviewed in the past
https://github.com/grpc/grpc/pull/18955/files. Can you please take a look and suggest a fix?

If Protobuf has a copy of this file it's probably right to get rid of our copy. Let me check why our copy exist first.

Thanks! Btw, Protobuf-C++.podspec being in our repo under src/cpp (why there?) makes no sense to me at all. We should get rid of it.

@muxi https://github.com/grpc/grpc/blob/b07d7f14857d09f05b58ccd0e5f15a6992618f3a/test/cpp/ios/Podfile#L15

@rafi-kamal - Sorry I did not notice that thread in Sep. Those two files are exactly the same. It's probably an error that happens during Cocoapods lint but not with gRPC test. I'm taking a look.

@muxi  @rafi-kamal  for now I'll try to go with updating our local copy of Protobuf-C++.podspec (https://github.com/grpc/grpc/pull/21590/commits/406cb5d5ca4dd65ccdb8d7027f5761116c687819) to see if that helps fix the failing test

@rafi-kamal - I found the reason for the error. Short version: pushing the podspec with additional flags --use-libraries --allow-warnings should make the linter pass.
Protobuf C++ code are using the include style #include <google/protobuf/...>. The style is not compatible with Apple's Frameworks include style, so the podspec cannot be used as frameworks and thus cannot be lint that way either. --use-libraries lints the library as static library.

for now I'll try to go with updating our local copy of Protobuf-C++.podspec (406cb5d) to see if that helps fix the failing test

Thanks Jan. I think it'll work.

@rafi-kamal - I found the reason for the error. Short version: pushing the podspec with additional flags --use-libraries --allow-warnings should make the linter pass.

Thanks! Let me know if you want me to push it to pod.

Protobuf C++ code are using the include style #include <google/protobuf/...>. The style is not compatible with Apple's Frameworks include style, so the podspec cannot be used as frameworks and thus cannot be lint that way either. --use-libraries lints the library as static library.

Let me know if you want me to push it to pod.

Yes that's okay to push. Whether and which version to push follows Protobuf's release schedule.

@jtattermusch I managed to track down the root cause of the duplicate symbol issue. It turns out to be a bug in Bazel itself. See the issue on the protobuf repo and on the bazel repo. @Yannic has a pending PR that fixes this. I built the PR and verified that it solves our duplicate symbol issue.
So our options are:

Wait for https://github.com/bazelbuild/bazel/pull/10493 to be merged and make it into a release. Then, upgrade our bazel version.
Convince the protobuf team to revert https://github.com/protocolbuffers/protobuf/commit/7b28278c7d4f4175e70aef2f89d304696eb85ae3 and https://github.com/protocolbuffers/protobuf/commit/7b28278c7d4f4175e70aef2f89d304696eb85ae3 as suggested in https://github.com/protocolbuffers/protobuf/issues/7046
Temporarily disable ODR violation detection with ASAN_OPTIONS=detect_odr_violation=0. (not a fan of this option)

@jtattermusch I managed to track down the root cause of the duplicate symbol issue. It turns out to be a bug in Bazel itself. Lyft has been having a fair bit of trouble with it. See the issue on the protobuf repo and on the bazel repo. @Yannic has a pending PR that fixes this. I built the PR and verified that it solves our duplicate symbol issue.
So our options are:

Wait for bazelbuild/bazel#10493 to be merged and make it into a release. Then, upgrade our bazel version.
Convince the protobuf team to revert protocolbuffers/protobuf@7b28278 and protocolbuffers/protobuf@7b28278 as suggested in protocolbuffers/protobuf#7046. I've verified that this change also solves the problem. Alternatively, we could just patch their repo when we pull it in, but this could be seen as somewhat antagonistic.
Temporarily disable ODR violation detection with ASAN_OPTIONS=detect_odr_violation=0. (not a fan of this option)

@rafi-kamal  I believe protobuf should revert the commits mentioned above. It seems to have caused a fair bit of trouble in several projects (grpc, envoy, ..) and it doesn't make sense for every protobuf user to fix it on their own. Also, waiting for bazel to get patched and until everyone upgrades to the patched version of bazel is just not realistic.
https://github.com/protocolbuffers/protobuf/issues/7046
Can we revert the two commits and release 3.11.3?

@jtattermusch I don't fully understand the implication of reverting those two commits. https://github.com/protocolbuffers/protobuf/commit/7b28278c7d4f4175e70aef2f89d304696eb85ae3 says  "Legacy support for using .proto files will be removed in a future version of Bazel", I'm wondering if this is something we need to worry about in the future if we revert the commit.
Can you please send a PR reverting the commits along with the justification?

@rafi-kamal Yes, we will have to worry about this again in the future. Bazel is changing the way protos are dealt with. Unfortunately, the support for the new method is broken in Bazel itself (see https://github.com/bazelbuild/bazel/issues/10484). Once Bazel fixes things on their end, the protobuf repo will want to unrevert the two commits Jan and I have pointed out. However, without reverting, Protobuf's support for Bazel is fundamentally broken. A test should be added to the protobuf repo along with the revert that pulls in both a protocol buffer and libprotobuf.so.
For reference, here is the build graph for one of our protos before these two commits and here is the build graph after. The fundamental difference is that the older version depended on a set of well-known protos generated via a copy operation, while the new version depends on them directly.
I can put together a reversion PR if you agree that this is the proper path to take.

You don't need to revert https://github.com/protocolbuffers/protobuf/commit/a03d332aca5d33c5d4b2cd25037c9e37d57eff02, it's a noop for Bazel >= 1.0 (https://github.com/bazelbuild/bazel/issues/9215), and required many ugly workarounds in earlier versions. The WKPs have been previously copied to remove the src/ prefix, but that manual step is no longer needed with strip_import_prefix = "src".
The issue your seeing here is caused by Bazel internally distinguishing between the "original" sources (which are the files in the workspace referenced in proto_library [1]) and the direct/transitive proto-sources that are used, e.g. by cc_proto_library, to generate C++ code [2]. For backward compatibility with blacklisted = ["a.proto", "b.proto"], the blacklist uses the original sources [3], which breaks when the blacklisted proto_library sets import_prefix, strip_import_prefix, or references generated files.
[1] https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/rules/proto/ProtoInfo.java;l=115?q=ProtoInfo
[2] https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/skylarkbuildapi/ProtoInfoApi.java;l=59?q=ProtoInfo
[3] https://source.bazel.build/bazel/+/master:src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java;l=279

@Yannic Then what do you suggest we do?

Submitted https://github.com/protocolbuffers/protobuf/pull/7065 as a (somewhat) forward-compatible change that fixes the duplicate-symbol issue without a fix in Bazel.

@rafi-kamal   can we get https://github.com/protocolbuffers/protobuf/pull/7065 merged and backported into v3.11.x branch? That should unlock this PR.

Created https://github.com/protocolbuffers/protobuf/pull/7069 to backport the PR to 3.11.x, will merge it once the tests pass.
Do you need it to be released?

Created protocolbuffers/protobuf#7069 to backport the PR to 3.11.x, will merge it once the tests pass.
Do you need it to be released?

I applied the backported patch in https://github.com/grpc/grpc/pull/21590/commits/8d916aba11e9ccc8e9b81ca1cf591f1c6b5ab624, but unfortunately it does not seem to be helping - which is odd because @gnossen  has confirmed that the revert was helping and this backport was supposed to have a similar effect.
@Yannic  any ideas why https://github.com/protocolbuffers/protobuf/pull/7065 is not helping?
Test are still reporting the same problem:
https://source.cloud.google.com/results/invocations/407c3834-1517-412e-a1a0-2f4fe2a64010/targets/%2F%2Ftest%2Fcore%2Fchannel:channel_trace_test@poller%3Depoll1/log

(Sorry, I added a not that shouldn't be there :/ https://github.com/protocolbuffers/protobuf/blob/master/BUILD#L992).
I tried to fix it and add a test here: https://github.com/Yannic/protobuf/tree/patch-1, but all that test does is showing weird differences between running them locally vs. running them as external workspace.
$ bazel test @com_google_protobuf//:cc_proto_blacklist_test //:cc_proto_blacklist_test
INFO: Invocation ID: 99c81582-931b-4b25-a4da-ea523e235133
DEBUG: /private/var/tmp/_bazel_yannic/fff811adc2189b8ffeb88f8dd10a8167/external/bazel_skylib/lib/unittest.bzl:336:5: In test _cc_proto_blacklist_test_impl from //:cc_proto_blacklist_test.bzl: Expected "0", but got "48"
INFO: Analyzed 2 targets (0 packages loaded, 0 targets configured).
INFO: Found 2 test targets...
FAIL: //:cc_proto_blacklist_test (see /private/var/tmp/_bazel_yannic/fff811adc2189b8ffeb88f8dd10a8167/execroot/com_google_protobuf/bazel-out/darwin-fastbuild/testlogs/cc_proto_blacklist_test/test.log)
INFO: Elapsed time: 0.573s, Critical Path: 0.25s
INFO: 2 processes: 2 darwin-sandbox.
INFO: Build completed, 1 test FAILED, 2 total actions
@com_google_protobuf//:cc_proto_blacklist_test                           PASSED in 0.1s
//:cc_proto_blacklist_test                                               FAILED in 0.1s
  /private/var/tmp/_bazel_yannic/fff811adc2189b8ffeb88f8dd10a8167/execroot/com_google_protobuf/bazel-out/darwin-fastbuild/testlogs/cc_proto_blacklist_test/test.log

Executed 1 out of 2 tests: 1 test passes and 1 fails locally.
INFO: Build completed, 1 test FAILED, 2 total actions

Then, I reverted my change from yesterday, which resulted in both tests failing (as expected). After that, I tried to revert https://github.com/protocolbuffers/protobuf/commit/a03d332aca5d33c5d4b2cd25037c9e37d57eff02 and https://github.com/protocolbuffers/protobuf/commit/7b28278c7d4f4175e70aef2f89d304696eb85ae3 (as suggested in https://github.com/protocolbuffers/protobuf/issues/7046), but that also only works for one of the tests.
I have no idea what's causing this :(.

@rafi-kamal  it seems that we are stuck upgrading to protobuf 3.11.2 and we don't have a resolution (besides reverting protocolbuffers/protobuf@7b28278 and protocolbuffers/protobuf@7b28278).
At the same time:

we haven't updated third_party/protobuf since 3.8 release so finally getting the upgrade done seems very important (we have some features and issues depending on that)
gRPC release branch is scheduled to be cut very very soon, so it would be highly desirable to solve the problem before we cut the release branch.

In another words, it's highly to solve this problem and to solve it ASAP. Would reverting the commits that caused the problem be feasible (it's the only solution I know of).
@Yannic @gnossen  WDYT?

Would you mind testing grpc against https://github.com/protocolbuffers/protobuf/pull/7096? If that doesn't work, reverting indeed sounds like the only remaining option until a compatible Bazel version is released (hopefully Bazel 2.2).


Zip file as an attachment is required.

In create new ticket, please add zip as attachment other than plain text (.txt), a document (.pdf, .docx, or .odt), or screenshot (.png or .jpg) .

Please feel free to submit a pull request if you have the skills to do the necessary code enhancements and add a unit test.

To support this you can set VALID_EXTENSIONS to the list of extensions you want to support.
By default it is:
['.txt', '.asc', '.htm', '.html', '.pdf', '.doc', '.docx', '.odt', '.jpg', '.png', '.eml']

Add this to your project settings.py file:
VALID_EXTENSIONS=['.txt', '.asc', '.htm', '.html', '.pdf', '.doc', '.docx', '.odt', '.jpg', '.png', '.eml','.zip']


Phase 2 Roadmap

Phase 2 Roadmap
Note: This only documents important features/changes that we aim to deliver in the next phase, and it will be refreshed and updated as we move on.
APIs, Data Ingestion and Exports

[x] Integrate Arrow. Replace our CSV Reader with Arrow reading. Use the arrow reader to support copying from Parquet, Arrow, and CSV files.
[ ] Add Restful API.
[x] Add API extension to convert to a graph format that we can feed to javascript graph viz.
[ ] Add API Extension to PytorchG and DGL
[ ] Add data export support, e.g., from Cypher CSV Export COPY tbl TO 'output.csv' (HEADER, DELIMITER ',');

Storage and Transactions

[x] Compete full transaction support and Data Manipulation Clauses:

[x] REMOVE, DELETE, of edges and nodes with edges
[x] SET of edge properties

[ ] Checkpointing Optimizations (https://github.com/graphflowdb/graphflowdb/issues/771)
[x] Get rid of ad-hoc/unstructured properties for now.
[ ] Optimizations on lists data structure (https://github.com/graphflowdb/graphflowdb/issues/730).
[ ] Add system versioning information (including storage versioning and compatibility check).
[ ] Improved single buffer pool.

Front-end and Query Processor

[x] Support UTF-8.
[ ] Full implementation of worst-case optimal joins.
[x] Full implementation of ASP joins.
[ ] String and Overflow File Enhancements: https://github.com/graphflowdb/graphflowdb/issues/980
[ ] Optimization on Hash Join, e.g., Parallel Finalization of Hash Table
[ ] Degree(a) function to compute node degrees (https://github.com/graphflowdb/graphflowdb/issues/554)
[x] Unlabeled Node and Rel Queries (QP)
[ ] Undirected Edges (Storage, QP)
[ ] Shortest Paths (Frontend, QP)
[x] Regular Expressions in string predicates (Frontend, QP)
[ ] Using paths/types in predicates (Frontend, QP)
[x] CASE ELSE END

Refactoring

[ ] Get rid of flat/unflat distinction.
[ ] Un-template disk array, and move storage structures to use disk array.
[x] De-couple planner and optimizer.

Usability

[ ] Optional logging.

Other

[x] ALTER TABLE
[ ] UDF Support
[ ] PROFILE fix

Hi @raulcf , thanks for your interest!
Currently, we are working on the integration with Pandas, through which Kuzu can be used with networkX, but we haven't prioritized the direct integration with networkX yet. We'd like to hear more use cases or feedback on integrating with networkX first before we start working on it, can you share some of your ideas, e.g., what to expect for the integration, if possible?

For the arrow integration, any thoughts towards using the C data interface to allow for reading from generic arrow streams and and tables, beyond just using their readers?  This would allow richer direct zero-copy integrations (if that works at all in your architecture) with various libraries, similar to DuckDB, and would allow custom integrations.

Hi @eclshunter , thanks for the suggestion. Yes, integrating arrow C data interface is a good idea, and it definitely works with our architecture. Currently, we are using arrow's C data interface for exporting query result to arrow table. And we intend to use arrow table format (through C data interface) for importing from various Python libraries. Hopefully, data import will be our focus in the next two or three months :)

Hi @eclshunter , thanks for the suggestion. Yes, integrating arrow C data interface is a good idea, and it definitely works with our architecture. Currently, we are using arrow's C data interface for exporting query result to arrow table. And we intend to use arrow table format (through C data interface) for importing from various Python libraries. Hopefully, data import will be our focus in the next two or three months :)

Love it, great to hear.  That sounds like it'll hit my use cases.  Thanks!

What's Kuzu's attitude towards Windows support? Is it something that might be considered for the future?

Hi @mediumrarez , the Windows support is not prioritized yet, but the answer is yes, windows support is in our future roadmap.

I think this is something someone outside of the core Kuzu team can take on. Several people wants this. We attempted this once but there was a problem we couldn't fix (@mewim tried this I think), and someone who knows how to do this could help. @mewim maybe you can summarize what the problem was and someone who knows can either take it on or point to the solution.

Hi @eclshunter , thanks for the suggestion. Yes, integrating arrow C data interface is a good idea, and it definitely works with our architecture. Currently, we are using arrow's C data interface for exporting query result to arrow table. And we intend to use arrow table format (through C data interface) for importing from various Python libraries. Hopefully, data import will be our focus in the next two or three months :)

@ray6080 is reading from arrow is somewhere around? Just found the project and looking into possibility to test it out with zero-copy arrow ingestion.

hi @nixent . thanks for your interest. we're working on reading from arrow right now. still need to wait a bit on this. 😄

@ray6080 I can help with testing when it will be available

@nixent Not sure if you're already on there, but you can hear more about these (or ask such questions) via our Discord. We'll make it a point to engage with the community for the arrow table reader as this is an important feature. See you there!

I'm closing this because we have long passed Phase 2.


OdRecord.SetValueByName setting value in other tables

When an object that has two OD tables attached to it, and ODRecord.SetValueByName is used to set a field value, field values seems to be changed also in the other table.
Screenshot:

Zip of DWG and DYN:
ODTest.zip

Fixed it, thanks

Thank you for your amazing work, that was a very speedy close.


Release blocking: disable Javadoc execution on modules that fail Javadoc build

This is needed in preparation for the 0.1.0-incubating release. Contents:

Fixing comment style, which breaks the release process.
Explicitly disable Javadoc invocation, which has compile errors. This should be fixed separately.

R: @dhalperi
CC: @jbonofre, @mxm

LGTM. Once tests pass I can merge, but feel free to self-merge I don't beat you to it.

LGTM even if I'm not sure it's enough for the maven-release-plugin execution (gonna try).

@jbonofre, after this PR, I got a full and successful execution of the mvn release:prepare yesterday.


Add concurency setting to CI workflow

This change will prompt the CI workflow to cancel a currently running job for a PR, if a new push is sent to that PR while the job is till running. This should prevent duplicate jobs running for the same PR simultaneously.
Signed-off-by: Gabriel Adrian Samfira<EMAIL_ADDRESS>

Backporting to ensure that PRs against older branches run don't run with an old workflow setup


[Readme.md] Provide a list of features as pdfkit does

Thanks for making jsPDF available! I'm a Meteor.js developer going over the Meteor wrappers for PDF authoring libraries, and the top two seem to be jsPDF and PDFkit.
How does jsPDF compare with @devongovett's pdfkit?
The README is rather scarce on overall details, compared to pdfkit's README. A list of features would be great.

Close, the resolution being..?

Hi @dandv
by reading it again, you actually want to propose that we generate a list of features like pdfkit provides it?

Yes, that would be great! It would help devs choose the right library for their needs.

Well hopefully this issue is not again 3 years inactive ;).

I personally like the context2d, allowing to print a page as a PDF with html2canvas.
Unless I am wrong, I do not think pdfkit  has it.

Actually this will be a dead issue. I dont think, that we will ever put the effort to write a feature-list. Keeping track of my commits in a Draft is already too much burocratic work.

Hey @dandv
are you willing to write the feature list.

@arasabbasi: four years later? Nope :)

You have spoken ;)


chore: update gpt-4o models' prices

OpenAI prices have changed referring to this link. Those changes are applied in this PR. (disclaimer: OpenAI also has added cached tokens, seems a good idea to also support those tokens in computing costs)

@spikelu2016 Hey Spike, could you please review this PR? I'm having trouble computing costs for 4o model.


[release-1.1] Enables using scripts to modify VMI definition

What this PR does / why we need it:
Backports #10479 and #10599 to 1.1
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] Design: A design document was considered and is present (link) or not required
[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Testing: New code requires new unit tests. New features and bug fixes require at least on e2e test
[ ] Documentation: A user-guide update was considered and is present (link) or not required. You want a user-guide update if it's a user facing feature / API change.
[ ] Community: Announcement to kubevirt-dev was considered

Release note:

Enables using scripts to modify VMI definition

I backported the two PRs mentioned in description using git cherry-pick <commit-sha> -m 1, and then squashed them into one. I don't know if there's a specific process being followed to backport on the KubeVirt repo. Please correct me if I'm wrong.
@victortoso @xpivarc

Thinking out loud - is a feature backport (like this PR) OK to do? I'm guessing it's not. More so since 1.1.0-rc is also out. So when could this be available to the users? 1.2?

Thinking out loud - is a feature backport (like this PR) OK to do?

Sorry, I'm not sure.
/cc @acardace @fabiand

Sorry, I'm not sure.

Just to clarify. This PR, at this moment, is backporting only https://github.com/kubevirt/kubevirt/pull/10599 which is but a simple fix.
You wish to bring https://github.com/kubevirt/kubevirt/pull/10479 to v1.1 and the question is this can be marked as exception to the feature-freeze
The main logic is 96402deeb2c6797c5edede203174f19e365680a8 which indeed is not part of v1.1.0-rc.0

This PR, at this moment, is backporting only #10599 which is but a simple fix.

Nope, it's backporting both the PRs. I squashed them into one commit.

the question is this can be marked as exception to the feature-freeze

Yeah, I guess so. I realized it after opening the PR that 1.1.0-rc has already been cut. :)

@dharmit I share @victortoso's concern about backporting this. Do we have any urgency?

@dharmit I share @victortoso's concern about backporting this. Do we have any urgency?

Nope, it's not urgent. Just to clarify, I opened this PR because I didn't:

know that backporting a feature is not a thing.
notice that 1.1 rc was cut.

/close

Nope, it's backporting both the PRs. I squashed them into one commit.

Ah, my bad. In the future I'd suggestion to simply git cherry-pick -x as that has a reference to original commit too.

Probably we should also document how to do cherry picks. I don't recall we have it somewhere, maybe @aburdenthehand do you know?

@alicefr It's sort of mentioned in kubevirt/docs/release-procedure.md but only specifically relating to the release.
Maybe something to add to our developer contributor guide?


Decorating class methods defined within a module

Given the following base code:
module Hammer
  def self.cant_touch_this!
    "what's the time? hammer #{Time.now}".
  end
end

and my decorator:
decorate Hammer do
  class_methods do
    def cant_touch_this!
      "what's the time? hammer time"
    end
  end
end

I get an error indicating that the Hammer module cannot be decorated, but the reasoning behind preventing me from doing this seems like it doesn't apply to my use case. Class methods should always be safe to decorate, and the error is only applicable when you try to define instance methods as a part of your decorator.

Technically you're right. The difficulty I see is in allowing this while still enforcing/warning the developer that if they try to add instance methods you're gonna have a bad time. It also creates an awkward documentation situation where we have to communicate that while you can't decorate modules in the full way that you can with classes, there is this one capability.
I think a step back to ask the deeper question of "are there ways we could allow full module decoration" would lead down a better path. Something like decorate_module or whatever that we could use a totally different style of implementation to achieve the goals.

I like decorate_module since it could be documented with specific caveats on it's use.
One thing that should  be considered is detecting when a decorated module is mixed into a class and displaying a warning to the developer that the behavior may not work as expected. I might go so far as to make that cause the application to abort on start.


Remove author tags in engine (asset-entity)

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyPRs/327/
Hooray Jenkins reported success with all tests good!


Add PartialReducer protocol

This is to allow breaking down complex App State structs into smaller components easier to handle by multiple reducers.

Current coverage is 94.73%

Merging #40 into master will decrease coverage by -5.27% as of 3550f5e

@@            master     #40   diff @@
======================================
  Files            6       6
  Stmts           90      95     +5
  Branches         0       0
  Methods          0
======================================
  Hit             90      90
  Partial          0       0
- Missed           0       5     +5

Review entire Coverage Diff as of 3550f5e

Powered by Codecov. Updated on successful CI builds.

Hi @mosamer, thanks a lot for your contribution!
I understand the idea behind your implementation, but Swift Flow actually already allows you to break down the app state nicely into different slices that are handled by different reducers.
You can see an example of it here: https://github.com/Swift-Flow/GitHubBrowserExample/blob/master/SwiftFlowGitHubBrowser/AppReducer.swift
I like this pattern a lot, since it works with the existing, simple code base.
I believe this should solve the problem you are trying to tackle, without the need for additional code! I'll leave this open for discussion.
Thanks again :+1:

Partial reducer functionality is also well handled by reducer composing and AnyReducer type erasing.
Any reducer can call other reducers with fragments of the state to reduce actions to making reducers easy to test in isolation. Fictional example to illustrate reducer composability structure:
func appReducer(state: State, action: Action) -> State {
    return State(
        auth: authReducer(state.auth),
        records: recordsReducer(state.records))
}

It seem like we are in agreement that this change is not necessary. I'll close the PR. Happy to reopen if discussion is required :smiley:


Fix date stuff

The date stuff doesn't seem to be working right...

Reopening just to remind myself to actually test this..

Yup, that worked.
Thank you, @TomRichter!


[Bug]: Language is not changing for all the components

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
changes should be made in locals/languages json files
Expected behavior
it looks good
Add ScreenShots

On which device are you experiencing this bug?
Android, iPhone, Chrome, Windows
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

/assign

the components that were added later do not have corresponding translations. do you have any permanent solution for this? like some language convertor which works like google translate.

I will look into it,if there are any alternatives..assign me

As of now there are no alternative for this..everybody is using i18 Library only
If there is any other alternative just update me..

As of now there are no alternative for this..everybody is using i18 Library only If there is any other alternative just update me..

For now, you can add translations for all the components missing it.


Merge different chroms stats into one graph

Hi,
How do we merge stats from all chromosomes into a single plot?
Best regards
Zhigui

This is possible from coverage histogram data, i.e,  the output of panacus hist ..., but requires you to manually merge the chromosome data together. This is simple, because they're just tables, and here is one way to do that with python/pandas:
import pandas as pd

FILES=['/your/list/of/chromosomes/chr1.hist.txt', '/your/list/of/chromosomes/chr2.hist.txt', ]
df = None

for f in FILES:
    _df = pd.read_csv(f, sep='\t', header=[1], index_col=[0])
    if df is None:
        df = _df
    else:
        df += _df

with open('/your/output/file.hist.txt') as out:
    df.reset_index().to_csv(out, sep='\t', index=False)

Then pass the output file  to panacus, i.e., panacus growth /your/output/file.hist.txt and you're good to go.

After panacus hist and panacus growth, the final visualization will show #nodes instead of bps. I use -c bp for hist

Right, this is a known bug that I need to fix at some point. For the record, it’s just the label that is wrong (good that put this in the ticket here)On 8. Aug 2023, at 22:03, Zhigui Bao @.***> wrote:
After panacus hist and panacus growth, the final visualization will show #nodes instead of bps. I use -c bp for hist
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>


Change color of character, hostname and username

I think these color codes should be in sync with https://github.com/dracula/fish/blob/master/conf.d/dracula.fish#L31-L35 in case someone uses Fish and Starship.

Let’s do it, it should be consistent with other Dracula themes.


remove deprecated skip_get_ec2_platforms config

Description
Since skip_get_ec2_platforms provider config is removed in

https://github.com/hashicorp/terraform-provider-aws/pull/31155
https://github.com/pulumi/pulumi-aws/pull/2296

Hi @Quartzes-Dev. Thanks for opening a PR. I'm sorry it took so long to get to it. The change looks good.


Toolbar icon issue99 (incomplete implementation)

Hello! I hardcoded customisation of the toolbar icon, and when I saw this issue opened and decided to implemented it properly, I couldn't get it working. Anyway, I wanted to send the code over for the shake of learning and contributing – I  might be close to the answer 🙆.
In one hand, this code generates from the gulpfile the files with the wanted emoji for the toolbar and updates the icon on build, while on the other hand, an existing emoji can be chosen and it is stored on the popup.js. I could not find a way to export this value and/or to force the rebuild from the popup.js with this value (I'm not even sure if it'd be possible...).
Thanks for the repository and looking forward your answer!!

Hey, sorry for the delayed response. As you might have guessed, the main problem is that we're not shipping icon files for all existing emoji (for most we're not even shipping individual images and just one big sprite).
If you have generated the icon files (like you've done for smiley) you can use browserAction.setIcon to set the correct icon.
I wouldn't really be on board with shipping icon files for all available emoji, but I'd happily take a PR that bundles a certain number of them (maybe 5 or 10) that the user can choose from...
The general direction of your code looks good, otherwise!
Thanks for your help! Please let me know if you have any other questions.


bump version to 0.13.0

Coverage remained the same at 86.815% when pulling 3e24f90ee06565ec85093a5af2e7b5dc0d63f3e3 on bump into 715c64615f3174a0edf188924a76e65ac2621f89 on main.

shouldn't be needed anymore because of dynamic-versioning


Support block highlighting

Description
On Mac you can hold Option and click and drag over a block of text to highlight in a rectangle area. You can get a sample of how this should work if you look at the TextEdit.app on OS X. Hold option, click and drag over multiline text. It would be nice if Atom did the same.
Steps to Reproduce

Open text file with multiline text.
Hold Option and click and drag over text.

Expected behavior:
The highlighted text should be a rectangle from where you started to where you ended the drag.
Actual behavior:
The highligted text includes the rest of the lines between where you started and where you ended the drag.
Versions
Atom 1.7.2 on OS X 10.11.4

This is a duplicate of #11031 - feel free to subscribe there for updates.


[DOC] All PVCs have a pod requesting 1 cpu core

Provide a link to that doc page:
What is the defect and your suggestions on improvement:
How to turn off this behavior? If I create many PVCs, the pods' resources cost a lot.

Hi @ggaaooppeenngg ,
If the mount pod's resources limit is not explicitly specified in PV, the mount pod will inherit CSI resource. If you donot want to set resource request of mount pod, you can remove resources of CSI daemonset and restart pod. We will update the documentation. thx.

I tested the -by-process flag. It mounts PVC without the mount pods. Is this flag maintained?

by-process is used in no-kube cluster. It creates juicefs client by process in csi node and mountpoint will be broken when csi restarted or upgraded. by-process is not recommended in kube cluster.

node:
    resources:
      limits:
        cpu: 2000m
        memory: 5Gi
      requests:
        cpu: ""
        memory: ""
  controller:
    resources:
      limits:
        cpu: 1000m
        memory: 1Gi
      requests:
        cpu: 100m
        memory: 512Mi
  storageClasses:
  - backend:
    enabled: true
    name: juicefs-sc
    reclaimPolicy: Retain
    mountPod:
      # mount pod resource requests & limits
      resources:
        limits:
          cpu: 5000m
          memory: 5Gi
        requests:
          cpu: ""
          memory: ""

I tried this config, but an empty string is not allowed. How to explicitly clean the resource request?

node:
    resources:
      limits:
        cpu: 2000m
        memory: 5Gi
  controller:
    resources:
      limits:
        cpu: 1000m
        memory: 1Gi
      requests:
        cpu: 100m
        memory: 512Mi
  storageClasses:
  - backend:
    enabled: true
    name: juicefs-sc
    reclaimPolicy: Retain
    mountPod:
      # mount pod resource requests & limits
      resources:
        limits:
          cpu: 5000m
          memory: 5Gi

Suggest not to set limit too. Kubernetes will set request same as limit when limit is specified but request not.
Refer to: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#requests-and-limits


Phase 1: Context Product Scrub

💡 Description
Initial scrub on context products in preparation for editorial working group
⚔ Parent Epic / Related Tickets

[x] initial scrub of context products needed for web modernization demo
https://github.com/NASA-PDS/EdWG/issues/30
[x] identify gaps in context product metadata that we need for support investigation landing pages
https://github.com/NASA-PDS/EdWG/issues/7
https://github.com/NASA-PDS/EdWG/issues/5
https://github.com/NASA-PDS/EdWG/issues/4
https://github.com/NASA-PDS/EdWG/issues/8
https://github.com/NASA-PDS/EdWG/issues/9

📆 07 /2024 status: In work, on schedule.

📆 08/2024: In work. On schedule

Phase 1 complete


Support torch 1.10.1

What does this PR do?
Adds support for torch 1.10.1 in our CI.
Fixes failing builds
Does your PR introduce any breaking changes? If yes, please list them.
None
Before submitting

[n/a] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[n/a] Did you make sure to update the documentation with your changes? (if necessary)
[n/a] Did you write any new necessary tests? (not for typos and docs)
[n/a] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[n/a] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

cc @tchaton @carmocca @akihironitta @borda

The failing docker image builds are unrelated and caused by a broken apex master: https://github.com/NVIDIA/apex/issues/1252


Rename schema options from v1, v2, to option1, option2 etc

Exactly as per title. Going to work on this on a branch that I'll try creating with the following command:
gh issue develop

Implemented in December 2022: https://github.com/cli/cli/issues/5469

It worked! So cool.


Create a City UI scene

Create a single reusable and scriptable Godot scene to display a more faithful city UI: the shaded, color-coded box containing the size, name, growth time, production project and time, capital icon, and barracks/harbor/airport icons (some discussion may be needed about how to generalize those), with a container for the city graphic and overlay animation. The scene should have functions to update/set each of these elements either programmatically or via editor controls.
This may obviate #171

Thought about this a bit tonight when making it so not all cities display as capitals.  The thing that's tough to wrap my mind around is how a Godot Scene of a city and our LooseLayer concept are supposed to intertwine.
Currently, the map is run via MapView.cs, with a LooseLayer for each layer, one of which is CityLayer.cs.
MapView handles all the logic around drawing things in the right place, panning the map, etc.
Looking at C7Game.tscn, all the nodes within that scene are anchored and margined in various ways to that scene.  Which works fine for UI interactions, but doesn't extend nicely to cities on a pannable map as far as I can tell.
Actually, looking more into the code, it looks like a Scene _is a _ Node2D, as Game.cs (the C# class that goes along with C7Game.tscn) is a Node2D.  LooseLayer is also a Node2D.  So by that logic, LooseLayer _is a _ Scene.  It's just a scene that we extend in various ways.
That means that technically, CityLayer is a Node2D, and thus CityLayer is a UI scene.  It just renders all the cities rather than one.
Thus with a progammer's lens, what this amounts to is making a Node2D that encapsulates all the per-city graphics.  We don't need a .tscn and its anchors/offsets of components, because it's only going to be used within the LooseLayer concept.
Let me know if that makes sense.  It didn't when I started writing it but I think it does now.

See the commits on the branch mentioned above; I have started down this route but am running into some issues with drawing strings.  Going to revisit it later with a fresh mindset unless someone else wants to pick it up first.  That may be a good idea as I know WildWeazel has more game engine experience than I do.

I have figured out some things and I think this is now working relatively well.  It isn't entirely "modernized" as WildWeazel describes, but it is functional, and I've started to be able to make optimizations that the old way of doing things didn't allow, namely only re-drawing the label background if the data has changed.
The label itself could probably also be broken out as a scene; much of the logic in the new scene (and the old code) concerns how to draw the label, so that would also be beneficial.


Introduce a recurrent task util

Add a util to schedule and control recurrent tasks, like polling an actions (e.g. MesosStateActions .fetchState or fetchVersion). The util will execute the scheduled task in the given interval, but will "pause" the execution of all tasks if the application tab/window is inactive.
This util will enable us to unify the various implementations of polling mechanisms, it also provides the foundations to precisely poll service specific endpoints (e.g. service detail configurations).

Reviewer: @daiyiwhale

Nice idea!

was this util written in order to replace the startPolling in all of the stores?

just wondering, is this performance-friendly? every ~17ms we're iterating through the tasks and checking if it is time to do the action again.

Nice implementation!
➕ for @kennyt's concerns- I'd have thought a 500ms period was enough. Am I missing something? Will this be used for animation as well as polling?

@philipnrmn & @kennyt – yeah I agree we could probably throttle the check within requestAnimationFrame.

I was just going to suggest a much longer period in a setInterval.

@philipnrmn but then you'd lose the advantage of suspending the polling operations on window blur.

we do currently have someone in order to suspend polling on window blur. it stops polling if you're gone for more than 60 seconds

dcos-ui has been merged. Please re-open this PR against master.


Add "Docs - Missing input and output images for Doxygen (#331)" to 6.1.0 docs

Fixes broken links / images (#331) in 6.1.0 docs.

added missing outputs for image augmentations

modified the description with correct output names

added gif for voxel input and outputs

modified the output images for water, resize_crop_mirror and resize_mirror_normalize

@peterjunpark is this PR ready to be merged?


The file operation program is not updating

def update_server_config(file_path, key, value):
# Read the existing content of the server configuration file
with open(file_path, 'r') as file:
lines = file.readlines()
# Update the configuration value for the specified key
with open(file_path, 'w') as file:
    for line in lines:
        # Check if the line starts with the specified key
        if key in line:
            # Update the line with the new value
            file.write(key + "=" + value + "\n")
            print("File update successfully")
        else:
            # Keep the existing line as it is
            file.write(line)
            print("No change done")

Path to the server configuration file
server_config_file = 'server.conf'
Key and new value for updating the server configuration
key_to_update = 'PORT'
new_value = '9000'  # New maximum connections allowed
Update the server configuration file
update_server_config(server_config_file, key_to_update, new_value)
This program is running but it is not updating to new value.

Did you try to debug if the file is read ? try to use some print statements.


Update REST API documentation (assignee_id, owner_id,  etc.)

My actions before raising this issue

[x ] Read/searched the docs
[x ] Searched past issues

POST request to the /tasks REST API to create a new task, a new task is not created and the server responds that the username for the assignee and owner already exists, which is to be expected because you cannot assign a task to a non-existent user.
Expected Behaviour

A task should be created, owned by the provided owner and assigned to the provided assignee.
Current Behaviour

Server responds:
{"owner":{"username":["A user with that username already exists."]},"assignee":{"username":["A user with that username already exists."]}}

Possible Solution

Steps to Reproduce (for bugs)

Create a user (or two). Make the following request:
curl -X POST "https://<domain>/api/v1/tasks" -H "accept: application/json" -H "Content-Type: application/json" -H "Authorization: Token <auth-token>" -d "{ \"name\": \"API Task\", \"owner\": { \"username\": \"<existing user>\"}, \"assignee\": { \"username\": \"<existing user>\"}, \"labels\": [ { \"name\": \"box\" } ]}"

Context

I am building a service that automates the creation of new tasks when a user finishes their existing task.
 No
Operating System and version (e.g. Linux, Windows, MacOS): Linux
Code example or link to GitHub repo or gist to reproduce problem:
Other diagnostic information / logs:
Logs from `cvat` container

docker logs cvat:
2021-01-18 18:20:56,356 DEBG 'runserver' stderr output:
[Mon Jan 18 18:20:56.355854 2021] [wsgi:error] [pid 154:tid<PHONE_NUMBER>74848] [remote <IP_ADDRESS>:56084] [2021-01-18 18:20:56,355] WARNING django.request: Bad Request: /api/v1/tasks
[Mon Jan 18 18:20:56.356096 2021] [wsgi:error] [pid 154:tid<PHONE_NUMBER>74848] [remote <IP_ADDRESS>:56084] WARNING:django.request:Bad Request: /api/v1/tasks

Next steps
You may join our Gitter channel for community support.

Hi @jordancharest
owner, assignee and other user related fields aren't expected to be in server request anymore (they can only come from server response). Instead use owner_id, assignee_id, etc. Let me know if it helps.

Hi @jordancharest
owner, assignee and other user related fields aren't expected to be in server request anymore (they can only come from server response). Instead use owner_id, assignee_id, etc. Let me know if it helps.

Yes, you are right, thank you. Maybe the documentation is out of date or I am reading it wrong? These are the parameters I see. I am new to using REST APIs so I could definitely be reading it wrong.

Yes, you are right, thank you. Maybe the documentation is out of date or I am reading it wrong? These are the parameters I see. I am new to using REST APIs so I could definitely be reading it wrong.

@jordancharest
You are right, CVAT lacks of documentation for this case.

@jordancharest
You are right, CVAT lacks of documentation for this case.

It will be reimplemented. We are going to work on the REST API documentation in the nearest future.  I will close the issue.


Use for Yolo

Thank you very much for your work, I want to add the ARC module to yolo's backbone, how should I do it, can someone help me

I just wanted to add somewhere, not replace the whole backbone

just replace the conv2d layers with ARC layer

只需将 conv2d 层替换为 ARC 层即可

Thank you for your reply, but I couldn't find the source code for the ARC layer, can you help me, thank you very much

in this file #https://github.com/LeapLabTHU/ARC/blob/4825acd8d5777d668ea4fb3b4d24aa53399d79ff/mmdet/models/backbones/modules/adaptive_rotated_conv.py#L127
@liu15509348793

in this file #https://github.com/LeapLabTHU/ARC/blob/4825acd8d5777d668ea4fb3b4d24aa53399d79ff/mmdet/models/backbones/modules/adaptive_rotated_conv.py#L127 @liu15509348793

Okay, thank you so much, I'm going to give it a try

in this file #https://github.com/LeapLabTHU/ARC/blob/4825acd8d5777d668ea4fb3b4d24aa53399d79ff/mmdet/models/backbones/modules/adaptive_rotated_conv.py#L127 @liu15509348793

Is ARC only applicable to 33 convolution? If it is a 11 convolution, how should I modify the code?


Add a way to selectively disable backends

I use vignette for a tool that works with photos. It features an overview window that uses vignette to display the thumbnails of the images. If I clear the cache to force recreation of the thumbnails, I get the following error messages for each image when I open the overview window:
Syntax Warning: May not be a PDF file (continuing anyway)
Syntax Error: Couldn't find trailer dictionary
Syntax Error: Couldn't find trailer dictionary
Syntax Error: Couldn't read xref table
Error opening PDF file.

It's certainly not surprising that the PDF backend fails on a JPG file. The creation of the thumbnails succeeds nevertheless. But the error messages are still annoying. So I disable the backends that are not useful for my application with:
for backcls in (vignette.OooCliBackend,
                vignette.PopplerCliBackend,
                vignette.FFMpegCliBackend):
    for i in reversed(range(len(vignette.THUMBNAILER_BACKENDS))):
        if isinstance(vignette.THUMBNAILER_BACKENDS[i], backcls):
            del vignette.THUMBNAILER_BACKENDS[i]

This also speeds up creating the thumbnails by a factor of more then two.
While this works, fiddling that deep in the guts of a third party library is certainly not good practice. So I'd like to get a better solution to select the backends that should be tried.

Indeed, backends are all tried without distinction until one accepts the input.
ThumbnailBackends could have a is_supported method to check if the thumbnailing operation is likely to succeed. This method could use libmagic if it's installed to determine if the file format is supported, and fallback on checking file extension else (I don't like that too much but I can't come up with a better idea).
is_supported would be called internally by vignette, so an app using vignette doesn't have to be modified.
The drawback is that if libmagic isn't installed, an image file without an extension will not be thumbnailed.
(Now that I check, it seems there's a mess of multiple libmagic backends, but that's another question)
What do you think?

Without using libmagic yet but only plain old mimetypes module, here's some working code: https://github.com/hydrargyrum/vignette/commits/mime-accept (mime-accept branch)

Verifying if the type of the file in question is suitable for a particular backend before starting it, is certainly useful on its own. So I welcome your idea.
But it is not the same what I was suggesting in this issue: for general purpose applications such as a file manager, it certainly makes sense trying to cover as much file types as possible. But for specialized applications such as mine that will ever only deal with one single type of files, such as images in my case, it makes sense to disable all backends not dealing with images from the beginning. So what I was requesting is a mechanism that would allow the calling application to tell vignette to only use backends dealing with a particular set of file types.
The requirements for such a mechanism would be:

the calling application should not need to know what backends are present in vignette,
the mechanism should be based on file types, mimetypes is certainly a good approach to classify these types.

A sketch of such a mechanism could be:

Define constants FTYPE_IMG, FTYPE_PDF, … for all file types that are supported by any backend. These constants must be hashable, but are otherwise opaque.
Each backend has the set of supported file type constants defined as a class attribute.
A global module variable contains the list of currently active backends.  It defaults to all (available) backends. (A list rather then a set because we want a predictable order of application.)
A function select_backends(ftypes) may be called by the application. It takes a set of file type constants as argument and sets the global list of active backends to the backends whose set of supported file types has a non-empty intersection with the file types given as argument.
When creating a thumbnail, try only the backends in the list of active backends.

Ok I see.
The constants should be type categories (e.g. image, video, document, archive, etc.) rather than individual types like pdf? If a specific new file type is implemented, it'll fall in a category and apps using this category won't have to be updated to declare the new file type.

@RKrahl I've just merged 2 big changes, the one you asked for: being able to select specific file types, and another for not starting every plugin for every file but only the most appropriate (by using MIME).
Feel free to give feedback

Many thanks!  I tried it and it works fine for me.


[BUG] The volume unit on the vm details page is incorrect

Describe the bug

size 100M volume,  when added to a VM, it is shown as<PHONE_NUMBER>00m

To Reproduce
Steps to reproduce the behavior:

Create a volume of size 0.1Gi in the volume page
Create a vm and add the previously created volume
Go to the vm details page, click on the volume tab, and check the size display

Expected behavior

The units displayed in the volume should be the same as when it was created
Support bundle

Environment:

Harvester ISO version:
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630):

Additional context
Add any other context about the problem here.

Tested in master-655c251a-head. Verified as fixed.
Test Steps

Create new .1G volume
Create new VM
Create with raw-image template
Add opensuse base image
Add .1G Volume
Verify size in VM details on volume tab


Fix GenericDataChunkIterator for large arrays (affects .wav conversion)

This is a better alternative to https://github.com/catalystneuro/neuroconv/pull/636 as it fixes a more fundamental issue.
The previous version of GenericDataChunkIterator raises an exception in the case where

The array has only one dimension and
The array is large enough to not satisfy the early termination condition

This issue was not being picked up by the tests because the simulated .wav files are not nearly large enough to get passed the early termination condition.
The problematic line was
smallest_chunk_axis, second_smallest_chunk_axis, *_ = np.argsort(self.chunk_shape)

because in the case of a 1D array, there is no second smallest chunk axis. So with this PR, this case is handled separately.
In terms of verifying that this works properly, I temporarily removed the early termination condition and the tests passed (the sample .wav files are single channel). I'm not sure how to put in a proper test though because I don't think we want >1GB test files, and it wouldn't be easy to lower the buffer_gb threshold just for the test.

Made an adjustment. I realized you don't want to take the square root (forming a square) when there is only one axis.

Good catch

I'm not sure how to put in a proper test though because I don't think we want >1GB test files, and it wouldn't be easy to lower the buffer_gb threshold just for the test.

It would be fine to either extend the number of frames in https://github.com/catalystneuro/neuroconv/blob/01d23add0b59b664f88b972411898f42d03f9db5/tests/test_behavior/test_audio_interface.py#L45 to exceed 1 GB (in all honesty not much of a slowdown and they get cleaned up anyway)
But yes the better solution would be to reduce the buffer_gb via iterator_options to a value below the that size to cause multiple buffer conditions to trigger - could you add that to line https://github.com/catalystneuro/neuroconv/blob/01d23add0b59b664f88b972411898f42d03f9db5/tests/test_behavior/test_audio_interface.py#L202?

@CodyCBakerPhD I did what you suggested with that test line. It was a delicate balance for choosing buffer_gb high enough to avoid an error about buffer_gb must be greater than chunk size, and also low enough compared with the num. frames in the test (which I had to increase). I verified that in this test, it does cover past the early termination line.
Also I had to cast some np.floor(...) to int because I was getting a complaint somewhere mysterious within hdmf about np.int64 (or was it np.float64, I can't remember).

Also I had to cast some np.floor(...) to int because I was getting a complaint somewhere mysterious within hdmf about np.int64 (or was it np.float64, I can't remember).

Oh, thank you for reminding me - if you're willing to make another set of adjustments, could you also swap all np.prod and np.floor-like operations to math.prod and math.floor? There's a critical overflow error that can rear its head otherwise, and I've been meaning to do it to this file
It should also fix that HDMF behavior you observe otherwise (I know int also has the same effect, but that's considered implicit knowledge of the cast, and zen of Python says to prefer explicit things, so math.floor is the recommendation)

I did as you requested with np.floor/np.prod, and I adjusted in other files as well (wasn't sure if that's what you were intending) so I made a note in the changelog, and you should take a look at it.

I did as you requested with np.floor/np.prod, and I adjusted in other files as well (wasn't sure if that's what you were intending) so I made a note in the changelog, and you should take a look at it.

Beautiful, thanks a bunch!
Honestly, it's not a bad idea to just use it as the go-to. The other places would have required some crazy size inputs to experience the overflow, but they still technically could have succumbed to it

@magland Also, pro-tip when accepting several commented suggestions; the 'add to batch' command lets you commit all the suggestions together in one push (nice for avoiding multiple dispatches of the CI, which is technically wasted computation - not that we get billed for it thankfully)


task done: flutter easy

I have done the task and here is the screen shot of completed task

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


public datasets link

closes #275 and add public links

ok 3.7 is failing due to segmentation fault (only on linux, not macos). I'll merge anyway and check the problem in diff branch if persist


Bug: -prefix switches to absolute paths instead of relative

Expected Behavior
When using -prefix, paths continue to be relative, if they were passed in as relative.
Actual Behavior
Paths get changed to absolute, and weird munging happens (middle of the path gets removed/nullified)
Repro
go-bindata  -o ./examples/basic/lib/bindata.go ./examples/basic/docs/docopt.txt

I see in bindata.go
var _bintree = &bintree{nil, map[string]*bintree{
	"examples": {nil, map[string]*bintree{
		"basic": {nil, map[string]*bintree{
			"docs": {nil, map[string]*bintree{
				"docopt.txt": {examplesBasicDocsDocoptTxt, map[string]*bintree{}},
			}},
		}},
	}},
}}

but when I pass in --prefix like:
go-bindata --prefix examples/basic  -o ./examples/basic/lib/bindata.go ./examples/basic/docs/docopt.txt

I get:
var _bintree = &bintree{nil, map[string]*bintree{
	"Users": {nil, map[string]*bintree{
		"wes": {nil, map[string]*bintree{
			"projects": {nil, map[string]*bintree{
				"ronn2docopt": {nil, map[string]*bintree{
					"": {nil, map[string]*bintree{
						"docs": {nil, map[string]*bintree{
							"docopt.txt": {usersWesProjectsRonn2docoptDocsDocoptTxt, map[string]*bintree{}},
						}},
					}},
				}},
			}},
		}},
	}},
}}

I think this is a bug. If the prefix never contained an absolute path before trying to strip it out, why would it start using an absolute path.
Workaround
-prefix "$(pwd)/examples/basic"

@ghostsquad
Thank you for the report. Since the original code was not written by me, I am in the middle of figuring it out how the internal process of mapping of input to output work in go-bindata. There will be major refactoring later but It's take time (free time on weekend only).
In the meantime, you can use the workaround or use regular expression as noted in readme [1].
[1] https://github.com/shuLhan/go-bindata#path-prefix-stripping

I think this is a bug. If the prefix never contained an absolute path before trying to strip it out, why would it start using an absolute path.

After some reading, testing and debugging; I think I know the reason why input path must be converted to absolute path: to handle recursive symlink of a sub directory to parent directory. I know it this is rare case on must user, but it is possible and must be handled by program.
The test case was in here [1]. To test whether relative path will work or not, try removing the if condition on this line [2], and you will get an error (infinite recursion) on function findFiles.
Assume that input directory was,
./D1
  + D2 -> symlink to D1
  + F1

To traverse the input directory D1, the program need to keep log of visited path. Let say that ./D1 was already visited, then we continue to D2. Since D2 is symlink to D1, when we read the real path we will get ../D1. Now, do we have ../D1 in log of visited path? The answer is no, and the program will keep finding files recursively.
I hope that explain why I tag this as invalid.
[1] https://github.com/shuLhan/go-bindata/blob/73d211dfcb215f1fcd5694b48f1f03564ae09359/convert_test.go#L68
[2] https://github.com/shuLhan/go-bindata/blob/73d211dfcb215f1fcd5694b48f1f03564ae09359/convert.go#L73

This makes sense, but it completely breaks the usability. Absolute paths
never make sense when accessing assets. So, although technically this might
mean somewhere in the logic, absolute paths need to be used, in the end,
should maintain the same relative path interface/expectations.
On Sun, Nov 19, 2017 at 11:05 AM Shulhan<EMAIL_ADDRESS>wrote:

I think this is a bug. If the prefix never contained an absolute path
before trying to strip it out, why would it start using an absolute path.
After some reading, testing and debugging; I think I know the reason why
input path must be converted to absolute path: to handle recursive symlink
of a sub directory to parent directory. I know it this is rare case on must
user, but it is possible and must be handled by program.
The test case was in here [1]. To test whether relative path will work or
not, try removing the if condition on this line [2], and you will get an
error (infinite recursion) on function findFiles.
Assume that input directory was,
./D1

D2 -> symlink to D1
F1

To traverse the input directory D1, the program need to keep log of
visited path. Let say that ./D1 was already visited, then we continue to
D2. Since D2 is symlink to D1, when we read the real path we will get
../D1. Now, do we have ../D1 in log of visited path? The answer is no,
and the program will keep finding files recursively.
I hope that explain why I tag this as invalid.
[1]
https://github.com/shuLhan/go-bindata/blob/73d211dfcb215f1fcd5694b48f1f03564ae09359/convert_test.go#L68
[2]
https://github.com/shuLhan/go-bindata/blob/73d211dfcb215f1fcd5694b48f1f03564ae09359/convert.go#L73
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/shuLhan/go-bindata/issues/22#issuecomment-345541100,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA3JQKJrP9RoQQf6GXBayM6UD2kE2M-aks5s4Hv_gaJpZM4QchQs
.

I've actually abandoned this project for https://github.com/shurcooL/vfsgen. It provides additional flexibility that I found I needed (mostly around creating virtual files).

Fixes by d6d5ca8.


Failed to handle ChannelSettleConfirm message: Invalid parameters were provided: Invalid per update secret in channel confirm

Happened on 2.1.1
[DEBUG] TIME: 2024-04-08T11:52:51.075966Z r: Updating prices prices: {BtcUsd: Price { bid: Some(72311.58), ask: Some(72386.68) }}
[INFO] TIME: 2024-04-08T11:52:57.452728Z r: Processing message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156,kind: ChannelSettleOffer
[DEBUG] TIME: 2024-04-08T11:52:57.453175Z r: Received channel message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156
[INFO] TIME: 2024-04-08T11:52:57.479129Z r: Automatically accepting settle offer channel_id: cd7a07d1b4c42735530e1ccd5a44cc99d6a6b8c48c5f4018a68051e523f9c86d
[INFO] TIME: 2024-04-08T11:52:57.479722Z r: Accepting DLC channel collaborative settlement channel_id: cd7a07d1b4c42735530e1ccd5a44cc99d6a6b8c48c5f4018a68051e523f9c86d
[DEBUG] TIME: 2024-04-08T11:52:57.484034Z r: dlc_manager::chain_monitor: Watching transaction 215a57968b758ec2626531cc130b8d93557801b38777e72b763c2b8a72a516af: ChannelInfo { channel_id: [205, 122, 7, 209, 180, 196, 39, 53, 83, 14, 28, 205, 90, 68, 204, 153, 214, 166, 184, 196, 140, 95, 64, 24, 166, 128, 81, 229, 35, 249, 200, 109], tx_type: SettleTx2 { is_offer: false } }
[DEBUG] TIME: 2024-04-08T11:52:57.540766Z r: Successfully deleted backup of dlc/02/a5a709b6d1fa1f81d14c99f0dcc71d9989b2850c26d8f63a0f050c34a597615b
[DEBUG] TIME: 2024-04-08T11:52:57.591432Z r: Successfully deleted backup of dlc/02/a5a709b6d1fa1f81d14c99f0dcc71d9989b2850c26d8f63a0f050c34a597615b
[DEBUG] TIME: 2024-04-08T11:52:57.660621Z r: Response status code 200 OK
[DEBUG] TIME: 2024-04-08T11:52:57.661182Z r: Successfully uploaded backup of dlc/02/cd7a07d1b4c42735530e1ccd5a44cc99d6a6b8c48c5f4018a68051e523f9c86d.
[DEBUG] TIME: 2024-04-08T11:52:57.707731Z r: Response status code 200 OK
[DEBUG] TIME: 2024-04-08T11:52:57.708150Z r: Successfully uploaded backup of dlc/02/cd7a07d1b4c42735530e1ccd5a44cc99d6a6b8c48c5f4018a68051e523f9c86d.
[INFO] TIME: 2024-04-08T11:52:57.898427Z r: Processing message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156,kind: ChannelSettleConfirm
[DEBUG] TIME: 2024-04-08T11:52:57.899079Z r: Received channel message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156
[ERROR] TIME: 2024-04-08T11:52:57.909276Z r: Failed to process incoming DLC message: Failed to handle ChannelSettleConfirm message from 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156: Invalid parameters were provided: Invalid per update secret in channel confirm from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156,kind: ChannelSettleConfirm

what is weird is that the app thinks that after the upgrade the RenewRevoke message hasn't been processed yet.
2.0.7
[DEBUG] TIME: 2024-03-31T21:39:20.668984Z r: lightning::ln::channelmanager: Generating channel_reestablish events for 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156
[INFO] TIME: 2024-03-31T21:39:20.669183Z r: Peer connected! inbound: false,their_node_id: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156
[INFO] TIME: 2024-03-31T21:39:20.902120Z r: Processing message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156,kind: ChannelRenewRevoke
[DEBUG] TIME: 2024-03-31T21:39:20.902986Z r: Received channel message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156
[DEBUG] TIME: 2024-03-31T21:39:20.904555Z r: Received message that has already been processed, skipping. kind: ChannelRenewRevoke,node_id: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156

2.1.1
[INFO] TIME: 2024-04-08T10:58:38.203818Z r: Processing message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156,kind: ChannelRenewRevoke
[DEBUG] TIME: 2024-04-08T10:58:38.205330Z r: Received channel message from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156
[ERROR] TIME: 2024-04-08T10:58:38.224514Z r: Failed to process incoming DLC message: Failed to handle ChannelRenewRevoke message from 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156: Invalid state: Expected state RenewFinalized got Established { signed_contract_id: [50, 36, 152, 23, 158, 69, 27, 194, 26, 59, 201, 163, 78, 147, 39, 195, 124, 169, 152, 156, 185, 186, 232, 62, 6, 220, 178, 122, 164, 147, 153, 56], counter_buffer_adaptor_signature: EcdsaAdaptorSignature(03e00da5f9b6d3fe36c87150babf7487ed1ca700fc13584430ed5de4e91649c08503a85968daa719f235512d4fd4f06893923f4972ac2814f2551cf85541cdd970b52b0dd5adbb6a46bd54e131ded5b7f530d390b3c9c5e7f0596c11503d9cb5375b3b8d9c429c9edd89888016d6aa2e83275a5e44d2df7ae4c87e63186c3d7d2b155be49ab42007732c7aca86d8d817676092f7997f5aca505ff63818a3181be0ca), own_buffer_adaptor_signature: EcdsaAdaptorSignature(03036953dfb684adb619f4c6b9c843b663f283b33cf612461c2337edb9935dbe1f033623aa1085517c69ad60828a4dca277ba38602979afb4f194d3ba8974692ee0b85bb770d6e51f5f066f92549679f4befaea89fba5d22188512fca4cc948130314d4c27b5e7b312907199a3ce1fc1cf9b9944691ee10aa3009bff8d83926cd430a19bae0037bde883b920cf3d94bfe71a8fd3f51d95bd16d2cd592e21f940feeb), buffer_transaction: Transaction { version: 2, lock_time: PackedLockTime(0), input: [TxIn { previous_output: OutPoint { txid: 68dd0e67653e38b48242853d8683d1005f143dc8aa87b622a9855dd1866ea936, vout: 0 }, script_sig: Script(), sequence: Sequence(4294967295), witness: Witness { content: [], witness_elements: 0, last: 0, second_to_last: 0 } }], output: [TxOut { value: 630652, script_pubkey: Script(OP_0 OP_PUSHBYTES_32 660dcf426a1418f941d166d6536cc39ee1e36c58ccfcab36a3a5bafefa7f3ef1) }] }, is_offer: true, total_collateral: 628020 } from: 022ae8dbec1caa4dac93f07f2ebf5ad7a5dd08d375b79f11095e81b065c2155156,kind: ChannelRenewRevoke

It looks like the app logs is missing messages from
 93eeec0ce03dc83bf1c64eeb4fd1662aec2cca3b4174c6e25270f1eb44da4144 | f       | 03e43c35d7fa813e4c4a4aa9a37fa6e602a80c88211ca146211acc13d1afe7d694 | RenewConfirm  | 2024-04-06 00:59:23.62379+00
 bbd4542224f7db0542346dfaedd0bc821912f168fc48ae6cc5f1bdb09e8c5918 | t       | 03e43c35d7fa813e4c4a4aa9a37fa6e602a80c88211ca146211acc13d1afe7d694 | RenewAccept   | 2024-04-06 00:59:23.075059+00
 5556ce5628fca33a5a13f6e1adb3d86a7af1c435381de6d28bad1e3b10cd8446 | f       | 03e43c35d7fa813e4c4a4aa9a37fa6e602a80c88211ca146211acc13d1afe7d694 | RenewOffer    | 2024-04-06 00:59:18.445991+00

I presume we are trying to settle a position with the app on a state before it was rolled over, while the coordinator has it already rolled over.
The user might have restored the phone from a backup. Waiting for users response.

User used two different devices with the same node, which led to issues during the last weeks rollover.


Add package mtd-utils

Prepare for the upcoming secure boot.
Signed-off-by: Su Baocheng<EMAIL_ADDRESS>

What's this for? No reasoning is given.

What's this for? No reasoning is given.

Revised to:
Prepare for the upcoming secure boot.
The otp-related commands need be programmed into mtd partitions under
linux to provision customer keys, hence need this mtd-utils tools to
integrate these mtd tools into the example image so that user can use it
directly without install it manually.

What more than cat data > /dev/mtdX do you need?

SPI Flash need be erased before writing, not sure of cat would do that erasing work...

Sure, look at iot2050-firmware-update on how we do that so far.

there is a
    @staticmethod
    def flash_erase(dev, start, nbytes):
        """This function erases flash sectors
        @dev: flash device file descriptor
        @start: start address
        @nbytes: number of bytes to erase
        """
        MEMERASE = 0x40084d02

        ioctl_data = struct.pack('II', start, nbytes)

        try:
            fcntl.ioctl(dev, MEMERASE, ioctl_data)
        except IOError:
            print("ioctl failed")
            sys.exit(1)

before writing.

Exactly. What we are missing here now is what you plan to do with mtd-utils and why you don't write another python script instead.

Why not using exsiting tools instead of writing new scripts? That sounds reinvent the wheel to me.

That's fine if the steps you have to do, the logic required here is much simpler than what we had to do in iot2050-firmware-update. I have no idea yet how it will look like, though, that's why I'm challenging you.

That's fine if the steps you have to do, the logic required here is much simpler than what we had to do in iot2050-firmware-update. I have no idea yet how it will look like, though, that's why I'm challenging you.

Oh, if you are asking that then it's a very simple logic:
flash_erase /dev/mtd5 0 1
nandwrite /dev/mtd5  otp_data.bin

does everything.

If it stays at this level, it's ok. But this is how firmware-update started back then as well.
In any case, please submit this along with the actual tools/scripts. Then we have the full picture of the workflow, documentation - and required dependencies.

...and actually that package will obsolete this patch because it will state its dependency on mtd-utils. So: NACK.

...and actually that package will obsolete this patch because it will state its dependency on mtd-utils.

Why the FWU package will state its dependency on mtd-utils?

Not the iot2050-firmware-update package. I mean the package that will allow the user to generate those OTP programming commands, sign them, and finally program them onto mtd5.

Not the iot2050-firmware-update package. I mean the package that will allow the user to generate those OTP programming commands, sign them, and finally program them onto mtd5.

Ah, finally I get your meaning, yep, you are right, after all this is an example image, especially the secure boot functionality.
I will submit the whole tools together with its dependencies in to a single PR later so that user can cherry picking the commits within that PR.


Fix incorrectly set Content-Length

AWS expects Content-Length to be blank for DELETE methods, but not for anything else. See: https://github.com/inreachventures/aws-signing-request-interceptor/commit/32f858ae1e2af10c80552364af453de39d03d71e

Thanks!


Move deploy, ssh, logtail, etc to their own command

instead of being subcommands on deploy
also unified existence checks for all these commands that require something to actually already be deployed to run
@matl33t @rfroetscher

this probably counts as breaking backward compatability

yeah i think so; we could bump to 2.0.
if we were going to do that we might also want to address the fact that rake db:migrate is the default predeploy command; i could do that on this branch maybe.

there's also some stuff in the readme about being for mostly ruby and about not setting up infrastructure etc

if @matl33t also thinks we should bump to 2.0 for this i'll try to tackle at least the default ruby command and the readme adjusting.

on further reflection, i think if we make this change we should separate DeployConfig from CommandConfig.  i'm going to close this for now.


test do not merge

Sorry for the noise. I'm curious about how you do code coverage for browser extensions.
Feel free to close this.

Hey! Here are some docs: https://docs.codecov.io/docs/browser-extension
Checkout this example page when you have the extension installed.
Thank you!


triqng/triq doesn't seem to exist anymore/has moved

Hi there!
Thanks for providing a numbers and statistics library!
tobi@speedy:~/github/Numerix(master)$ mix deps.get
* Updating triq (https://github.com/triqng/triq.git)
fatal: could not read Username for 'https://github.com': No such device or address
** (Mix) Command "git --git-dir=.git fetch --force --quiet --progress" failed

One of the test dependencies. mix deps.get --only dev helps as a workaround`

Hi @PragTob, thanks for highlighting the issue. I've been thinking of migrating the tests to either quixir or StreamData, so this is a great excuse to hasten it!

Should be fixed in https://github.com/safwank/Numerix/commit/b67a5d7cd6a5a7c76da951e85c25db3d86243787.


The Tao of Programming translation added

What does this PR do?
Add resource
For resources
Description
The Tao of Programming is a book written in 1987 by Geoffrey James.
Translated to Persian by Aidin Gharibnavaz.
Why is this valuable (or not)?
How do we know it's really free?
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[ ] Read our contributing guidelines.
[ ] Search for duplicates.
[ ] Include author(s) and platform where appropriate.
[ ] Put lists in alphabetical order, correct spacing.
[ ] Add needed indications (PDF, access notes, under construction).
[ ] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

Missing PDF indication

please merge this request

Thanks, and welcome to free-programming-books!


add vpn check

https://iphub.info/?ip=<IP_ADDRESS>

already implemented in https://git.minetest.io/minetest-stuffs/minetest-mod-governing#api its powered by VPNapi.io IP VPN & Proxy Detection API and will be featured next weekend with specific command


Mission takeoff yaw fix

Fixes yaw on takeoff over home location
Includes #3717
Increases stack for mc pos and fw pos controllers
Test flown

Ok, will merge once the build passes.

Done, on master, awesome! Thanks!


When will it be possible to use ROCm on MAC?

When will it be possible to use ROCm on MAC?
Or is there already such a solution?

Hi @duwangthefirst
We do support ROCm for MAC at present.
We will update/pass the information, once we have plans to support in future.
Thank you.

please 🙏


Reactive Client - Key does not expire

Why does expire method not work for reactive client?
    RedissonReactiveClient rclient = ....;
    RBucketReactive<String> bucket = rclient.getBucket("demo");
    bucket.set("hello world").subscribe();
    bucket.expire(5, TimeUnit.SECONDS).subscribe();
    rclient.shutdown();

I can still see the keys and values after 10 seconds. Looks like the client should not be shutdown to expire the keys? Can we not set the expire key as part of the expire method invocation itself?

you need to make a request on subscribe.


scale up badger levels

Resolves rc-9 inverted index badger scaling issues.

Close in favour of main repo branch


Switch partial templates to anonymous Twig components

This PR proposed to switch to the HTML syntax for components. It also introduce a new PostComponent component

Thanks for this proposal. Before continuing working on this PR, let's ask JS/UX experts like @weaverryan, @kbond and @stof  about this.
My non-expert opinion is divided. I think it's very obvious that making a UX component for search is correct ... but making an "empty" UX component just to display the post contents looks a bit "unnatural" for a Symfony app. It could confuse users about what's the traditional/common way of working in Symfony apps to display entity contents.
Let's wait for more opinions. Thanks!

FYI, once https://github.com/symfony/ux/pull/802 is available, the empty component class will no longer be required.

@javiereguiluz, @kbond  I've updated my PR to convert all partial templates into anonymous Twig components!


Cimpl6 import

Model changes needed to support CIMPL6.  The two most significant changes to the model are:

Replaced code, Coding, and CodeableConcept with new concept primitive
Removed RefValue in favor of using a field's "entry-ness" to determine if it should be a reference

All unit tests should pass.  For information on running w/ CIMPL6 source see:
https://github.com/standardhealth/shr-cli/pull/207

Approved BUT DO NOT MERGE until we are ready to merge everything.  (I will merge when ready).

Given that this has 218 commits, with a bunch of merge commits, I'm going to squash-and-merge in order to keep some sanity in the commit history.


Can not create a wallet

Problem
It shows Error: The account wouldn't have enough balance to cover storage, required to have<PHONE_NUMBER>836184553165 yoctoNEAR more even tho I am trying to use one-time passcode for verification
Expected Behavior
Should just let me register
Steps to reproduce

Reserve Account ID
Choose secure passphrase
Enter answer to the passphrase question
Verify with email (it fails here)

We are happy to help with this issue, please open a ticket at https://nearhelp.zendesk.com/hc/en-us/requests/new

looks like the issue is already fixed!


PT latest rev Still Does Not Honot MouseWheel!

Microsoft PowerToys version
0.62.1
Running as admin

[X] Yes

Area(s) with issue?
General, Always on Top, Awake, ColorPicker, Developer file preview, FancyZones, FancyZones Editor, Image Resizer, Keyboard Manager, MD Preview, Mouse Utilities, PDF Preview, PDF Thumbnail, G-code Preview, G-code Thumbnail, PowerRename, PowerToys Run, Quick Accent, Screen ruler, Shortcut Guide, STL Thumbnail, SVG Preview, SVG Thumbnail, Settings, TextExtractor, Video Conference Mute, System tray interaction
Steps to reproduce
open pt and it spreads across four monitors, 1920, 3840, 2160, 1920
FHD Landscape next to 4K Landscape next to 4K Portrait next to FHD Landscape, WHY?
Click on frame with content taller than it no MouseWheel.
Open pt no MouseWheel with focus already on it fro frame with content taller than it.
✔ Expected Behavior
Open pt
frames with content taller than it honor MouseWheel when it already has focus OR honor it when it is given focus.
this I never enable "Hover over whatever slides it" never works Windows=wide.
❌ Actual Behavior
nada
Other Software
itself

"open pt" we are a suite of applications.  I need a bit more info as i'm not sure what is being opened /needinfo


type 'Null' is not a subtype of type 'String' in type cast

type 'Null' is not a subtype of type 'String' in type cast
Error in reactive_awesome_select
ReactiveSmartSelectSingle

Make the type String?

@qq2276031 any feedback?

Closing due to the missing response
Feel free to reopen

same problem


Add functions

Just add a simple (defn f [args] (body)) construct in the lib/constructs folder. See lib/constructs/if.py for an example

True functions require more complicated entities, like a stack.