Which compile definitions are recommended for clang?

Which compile definitions are recommended for clang build on Linux?
I already figured out that I need to set on my cmake line:
-DASIO_GRPC_USE_BOOST_CONTAINER=1
But I wonder if there are any others?
I'm using a slightly older version of asio-grpc, it would take me a little effort to update so don't want to have to do that. I'm using commit a17b559b101d10836c0fc226101f857728f3428f. Don't know if this is the reason?
The reason that I ask is that when I use clang 10.0.1 I get a clang crash when trying to build hello-world-server-cpp20:
/gitworkspace/distributions/clang/10.0.1/bin/clang++ -DBOOST_ALL_NO_LIB -DCARES_STATICLIB -I/gitworkspace/rbresali/mdt/mdt_example/asio_grpc_example/native.build/src/generated -isystem /gitworkspace/rbresali/mdt/mdt_stage/native.stage/usr/local/include -stdlib=libc++ -fPIC -g -Wall -Werror -DBOOST_THREAD_VERSION=4 -save-temps=obj -std=gnu++2a -MD -MT src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o -MF src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o.d -o src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o -c /gitworkspace/rbresali/mdt/mdt_example/asio_grpc_example/src/hello-world-server-cpp20.cpp
Stack dump:
0.	Program arguments: /vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10 -cc1 -triple x86_64-unknown-linux-gnu -S -save-temps=obj -disable-free -disable-llvm-verifier -discard-value-names -main-file-name hello-world-server-cpp20.cpp -mrelocation-model pic -pic-level 2 -mthread-model posix -mframe-pointer=all -fmath-errno -fno-rounding-math -masm-verbose -mconstructor-aliases -munwind-tables -target-cpu x86-64 -dwarf-column-info -fno-split-dwarf-inlining -debug-info-kind=limited -dwarf-version=4 -debugger-tuning=gdb -resource-dir /vol/dwdmgit_distributions/clang/10.0.1/lib64/clang/10.0.1 -Wall -Werror -std=gnu++2a -fdebug-compilation-dir /gitworkspace/rbresali-mdt_211028.110446/mdt_example/asio_grpc_example/native.build -ferror-limit 19 -fmessage-length 0 -fgnuc-version=4.2.1 -fobjc-runtime=gcc -fdiagnostics-show-option -faddrsig -o src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.s -x ir src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.bc
1.	Code generation
2.	Running pass 'Function Pass Manager' on module 'src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.bc'.
3.	Running pass 'X86 DAG->DAG Instruction Selection' on function '@"_ZN5boost4asio6detail20co_spawn_entry_pointINS0_15any_io_executorEZ4mainE3$_0NS1_16detached_handlerEEENS0_9awaitableINS1_28awaitable_thread_entry_pointET_EEPNS6_IvS8_EES8_T0_T1_"'
 #0 0x00000000016b6e24 PrintStackTraceSignalHandler(void*) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x16b6e24)
 #1 0x00000000016b4b8e llvm::sys::RunSignalHandlers() (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x16b4b8e)
 #2 0x00000000016b7225 SignalHandler(int) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x16b7225)
 #3 0x00007f5f529b1630 __restore_rt (/lib64/libpthread.so.0+0xf630)
 #4 0x00000000021de359 llvm::DAGTypeLegalizer::getTableId(llvm::SDValue) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x21de359)
 #5 0x00000000021de216 llvm::DAGTypeLegalizer::RemapValue(llvm::SDValue&) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x21de216)
 #6 0x00000000021dd97f llvm::DAGTypeLegalizer::ReplaceValueWith(llvm::SDValue, llvm::SDValue) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x21dd97f)
 #7 0x00000000021e01ac llvm::DAGTypeLegalizer::DisintegrateMERGE_VALUES(llvm::SDNode*, unsigned int) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x21e01ac)
 #8 0x0000000002236e99 llvm::DAGTypeLegalizer::PromoteIntRes_MERGE_VALUES(llvm::SDNode*, unsigned int) (/vol/dwdmgit_distributions/clang/10.0.1/bin/clang-10+0x2236e99)
 #9 0x00007ffe5377a490
clang-10: error: unable to execute command: Segmentation fault (core dumped)
clang-10: error: clang frontend command failed due to signal (use -v to see invocation)
clang version 10.0.1
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /gitworkspace/distributions/clang/10.0.1/bin
clang-10: note: diagnostic msg: PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script.
clang-10: note: diagnostic msg:
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang-10: note: diagnostic msg: /gitworkspace/rbresali/tmp/hello-world-server-cpp20-31228c.cpp
clang-10: note: diagnostic msg: /gitworkspace/rbresali/tmp/hello-world-server-cpp20-31228c.sh
clang-10: note: diagnostic msg:

********************

I am surprised it even attempted to build the C++20 coroutine example without -fcoroutines-ts. You can try adding it to the compile options. On CI I have disabled the C++20 builds for Clang since I could not get them to work correctly either.
Another option is to use Boost.Coroutine, the following code shows how to do that. You will also need to change lines 61-62 in example/CMakeLists.txt
61:    target_link_libraries(asio-grpc-hello-world-server-cpp20 PRIVATE asio-grpc-example-protos Boost::coroutine
62:                                                                     Boost::thread)

#include "protos/helloworld.grpc.pb.h"

#include <agrpc/asioGrpc.hpp>
#include <boost/asio/signal_set.hpp>
#include <boost/asio/spawn.hpp>
#include <grpcpp/server.h>
#include <grpcpp/server_builder.h>

#include <optional>
#include <thread>

int main()
{
    std::optional<std::thread> shutdown_thread;

    grpc::ServerBuilder builder;
    std::unique_ptr<grpc::Server> server;
    helloworld::Greeter::AsyncService service;
    agrpc::GrpcContext grpc_context{builder.AddCompletionQueue()};
    boost::asio::basic_signal_set signals{grpc_context, SIGINT, SIGTERM};
    builder.AddListeningPort("<IP_ADDRESS>:50051", grpc::InsecureServerCredentials());
    builder.RegisterService(&service);
    server = builder.BuildAndStart();

    boost::asio::spawn(grpc_context,
                       [&](const boost::asio::yield_context& yield)
                       {
                           while (true)
                           {
                               grpc::ServerContext server_context;
                               helloworld::HelloRequest request;
                               grpc::ServerAsyncResponseWriter<helloworld::HelloReply> writer{&server_context};
                               bool request_ok = agrpc::request(&helloworld::Greeter::AsyncService::RequestSayHello,
                                                                service, server_context, request, writer, yield);
                               if (!request_ok)
                               {
                                   return;
                               }
                               helloworld::HelloReply response;
                               response.set_message("Hello " + request.name());
                               bool finish_ok = agrpc::finish(writer, response, grpc::Status::OK, yield);
                           }
                       });

    signals.async_wait(
        [&](auto&&, auto&&)
        {
            shutdown_thread.emplace(
                [&]
                {
                    server->Shutdown();
                });
        });

    grpc_context.run();
    shutdown_thread->join();
}

I hope that is helpful and thank you for checking out the library!

Thanks for pointing out that I was missing -fcoroutines-ts, I didn't realize that. But even when I do add -fcoroutines-ts in clang is crashing :( We build our product with both clang and gcc so if clang can't support C++20 coroutines then we have to use boost coroutines even for gcc so that we have the same source code.

FYI: I got the C++20 coroutine example working with latest clang-13.0.0. The build doesn't crash and the examples work!

I am able to compile and run the C++20 version with Clang 13 and -stdlib=libc++ -D_LIBCPP_ENABLE_CXX20_REMOVED_TYPE_TRAITS compile options. I will try that out for CI as well.
Ah nice, I was just about to write the same :)

I'm not using -D_LIBCPP_ENABLE_CXX20_REMOVED_TYPE_TRAITS and it works. But I am using ASIO_GRPC_USE_BOOST_CONTAINER. I also have -stdlib=libc++. I think for clang build that ASIO_GRPC_USE_BOOST_CONTAINER is required, you are using ASIO_GRPC_USE_BOOST_CONTAINER for your working clang 13 build?

Correct, I am using that as well since libc++ does not provide <memory_resource>. For me Boost.Asio tries to use std::result_of which has been removed in C++20, that's why I needed that compile definition.

To handle the boost.asio issue I used -DBOOST_ASIO_HAS_STD_INVOKE_RESULT for my boost build for clang13.
I meant to also use this for my build of the asio-grpc example but looks like I mistakenly left it out.

Actually -DBOOST_ASIO_HAS_STD_INVOKE_RESULT was also in my build of the asio-grpc example.

Clang 10, 11 and 12 are now also building and testing with coroutines on CI: https://github.com/Tradias/asio-grpc/runs/4193734840?check_suite_focus=true
Although I do not understand the warning
clang: warning: argument unused during compilation: '-stdlib=libc++' [-Wunused-command-line-argument]

Sounds like it is cross-compiling. Do you have any idea perhaps?

I don't understand your warning. Today after doing some cleanup I tried again with clang-10.0.1 and C++20 coroutines worked with clang-10.0.1! Don't know why they didn't work before? What is even more surprising is that on my first attempt I forgot the -fcoroutines-ts, but it compiled and ran anyway and worked with C++20 coroutijnes!
Here is my compilation command line with clang-10.0.1 in case it helps:
clang/10.0.1/bin/clang++ -DBOOST_ALL_NO_LIB -DCARES_STATICLIB -Iexample/asio_grpc_example/native.build/src/generated -isystem stage/native.stage/usr/local/include -fcoroutines-ts -stdlib=libc++ -fPIC -g -Wall -Werror -DBOOST_THREAD_VERSION=4 -DAGRPC_BOOST_ASIO -std=gnu++2a -MD -MT src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o -MF src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o.d -o src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o -c example/asio_grpc_example/src/hello-world-server-cpp20.cpp

And here is my link:
10.0.1/bin/clang++ -fcoroutines-ts -stdlib=libc++ -fPIC -g -nostdlib++ src/CMakeFiles/asio-grpc-example-protos-cpp20.dir/generated/protos/helloworld.pb.cc.o src/CMakeFiles/asio-grpc-example-protos-cpp20.dir/generated/protos/helloworld.grpc.pb.cc.o src/CMakeFiles/asio-grpc-example-protos-cpp20.dir/generated/protos/example.pb.cc.o src/CMakeFiles/asio-grpc-example-protos-cpp20.dir/generated/protos/example.grpc.pb.cc.o src/CMakeFiles/asio-grpc-hello-world-server-cpp20.dir/hello-world-server-cpp20.cpp.o -o src/asio-grpc-hello-world-server-cpp20  stage/native.stage/usr/local/lib/libgrpc++.a  stage/native.stage/usr/local/lib/libboost_container.a  stage/native.stage/usr/local/lib/libgrpc++.a  stage/native.stage/usr/local/lib64/libprotobuf.a  -lpthread  stage/native.stage/usr/local/lib/libgrpc.a  /usr/lib64/libz.so -lnsl -ldl  -lrt  -lm  -lpthread  -lrt  /usr/lib64/libssl.so  /usr/lib64/libcrypto.so  -Wl,--push-state,-Bstatic -lc++ -lc++abi -Wl,--pop-state -pthread

I'm using more than your CMakeLists.txt to build these examples. I also did some slight modifications to your CMakeLists.txt to fit in our system.
I removed upper portions of paths to source/object files in the above. We also link with many more of our own libraries that aren't relevant so I left those out.

Excellent, so it works for you just like it does for CI and CI uses Clang 10.0.0 even.
Do you think some of the changes you did to the CMakeLists.txt could be added upstream as well? Can you maybe list some of them? I have already added the -fcoroutines-ts option when compiling the examples with Clang, now on master branch as well.

The main changes I did the CMakeLists.txt hard code some paths and options vs what is in the library. It would not be appropriate to add them to the github as they wouldn't apply. So I think just having the -fcoroutines-ts is all that is needed.


Push notification. Any one able to receive push notification when the app is in the background?

I have configured my app with this module for push notification but when the app is in the "dead" mode no push notification is coming in.
Help or thoughts will be much appreciated.

Push Notification is not covered by this library.
Here is an article (link) I wrote about setting up push notification. Hope it would help.

Thanks but I mean push notifications related to twilio. I have notifications already configured and working but am not receiving them from twilio on background mode.

are you on iOS?

Android

@mattshen After reading your article and one of the link in it I feel I have a better understanding of push notifications. Thanks a lot. I think my issue lies at the pushnotification lib am using ATM. Am using the first one. Will try to switch to the second one that you recommended maybe it will work.
Thanks once again.

Thanks @mattshen for following up.. you're right, we're assuming an existing understand of RN Push Notifications exists outside of this library. Best of luck @Kabangi !


Changing the direction of the way should also change the 'decline' value

If you invert the direction of a way which is tagged with incline=up, iD should automatically change "up" to "down" (and vice-versa) to keep data consistent.

If you invert the direction of a way which is tagged with incline=up, iD should automatically change "up" to "down" (and vice-versa) to keep data consistent.

I just tested and it looks like iD does this.. Can you point to an example way where it's not working?

Apologies! I didn't think iD had this feature so I hadn't even tested it. You're right though, it works perfectly. Thanks!


Sync master with benchmark 2

Improve templates
Style upgrade
Begin JSDOC
Introduce API rate limits
Tighten security
Increase logging
Refactor corpus - store reference summaries
Basic DBpedia query parsing
SemCluster candidate term extraction
Begin testing - necessary to stub CoreNLP server

Pull Request Test Coverage Report for Build 92

187 of 395 (47.34%) changed or added relevant lines in 27 files are covered.
240 unchanged lines in 16 files lost coverage.
Overall coverage decreased (-2.5%) to 32.408%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/utils/stack.ts
6
7
85.71%

src/controllers/summarize.ts
4
5
80.0%

src/controllers/contact.ts
4
7
57.14%

src/services/tfidf.ts
1
6
16.67%

src/utils/functions.ts
4
9
44.44%

src/services/rouge.ts
0
6
0.0%

src/services/contact.ts
3
9
33.33%

src/controllers/corpus.ts
5
12
41.67%

src/controllers/parse.ts
5
13
38.46%

src/services/corenlp.ts
4
14
28.57%

Files with Coverage Reduction
New Missed Lines
%

src/services/rouge.ts
1
0.0%

src/utils/asyncMiddleware.ts
1
50.0%

src/models/Term.ts
4
12.5%

src/controllers/parse.ts
4
39.13%

src/utils/functions.ts
6
24.14%

src/controllers/corpus.ts
6
34.38%

src/controllers/summarize.ts
7
36.0%

src/controllers/contact.ts
7
35.71%

src/services/corpus.ts
8
11.65%

src/services/mail.ts
9
25.0%

Totals

Change from base Build 55:
-2.5%

Covered Lines:
328

Relevant Lines:
979

💛  - Coveralls


Update percolator to version 3.5

Updated percolator to 3.4 and updated test data with planemo.
Also populated the test_data/empty_file*.mzid files for nested_collections.xml tests, as the tests would not run if the uploaded test files were empty.
This addresses https://github.com/galaxyproteomics/tools-galaxyp/issues/461 - we would like to have percolator on Galaxy Australia but version 3.1 is no longer installable with conda.

Percolator 3.5. seems to be available. May you are lucky and bumping the bioconda recipe just works :)

Percolator 3.5. seems to be available. May you are lucky and bumping the bioconda recipe just works :)

There is an open pull request in bioconda-recipes for this:  https://github.com/bioconda/bioconda-recipes/pull/23107.

Let's see if we are lucky :)

Seems that allowing 4 lines difference for the percolator output (allowing for version and filename differences) would fix the remaining problems.

@bernt-matthias I wish this were the case.  For the percolator test that uses all of the option flags, the difference between the expected data and the output is extreme.  I've committed it here but I don't know if this should be merged :/
The unix diff between expected and actual output is 36K lines (for a 22K line file).  I'm not sure if the sorting is important for these output files but even when sorted by psm_id, the diff is about 10K lines.
It looks like all of the options used in the command are still valid in this version of percolator.  Not sure what to make of the output.

Maybe the check for equality is sufficient for one test. The other tests (e.g. the one "that uses all of the option flags") could just check for a specific line (or just a part of it) in the output via an assert_content tag.

@bernt-matthias I don't think the test needs to change.  Since this is the output of percolator v3.5 and it is passing its tests with the updated test-data, it is probably ready.

Thanks @cat-bro!


fix touch config screen

Before this fix, flashing the board with new firmware was causing the xMin, xMax, yMin, and yMax calibration points to be all loaded with 0s during first boot. And because of this, while calculating the touched point, the following map function was returning -1, which is not a valid.
long map(long x, long in_min, long in_max, long out_min, long out_max) {
    const long run = in_max - in_min;
    if(run == 0){
        log_e("map(): Invalid input range, min == max");
        return -1; // AVR returns -1, SAM returns 0
    }
    const long rise = out_max - out_min;
    const long delta = x - in_min;
    return (delta * rise) / run + out_min;
}

The calibation points were loaded with 0s because SPFFIS.open could still return true for nonexistent files, as described in this other github issue. The solution for this problem was calling SPIFFS.exists before proceeding with loading the calibration file.
 if (!SPIFFS.exists(TOUCH_CALIBRATION_SPIFFS_FILE_PATH))
{
    Serial.println("Calibration file not found on SPIFFS!");
    return false;
}

:tada: This PR is included in version 0.13.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix lightbox loading position

Issue
When scrolling through images in the Image Feed, there is a brief jitter as images are loaded.
Cause
The loading spinner is an inline sibling element of the image element.
Solution
Use absolute positioning on the spinner root element, relative to the containing pysssss-lightbox-link element.  Use flex to centre the lightbox contents.

Grid might be (very minimally, but strictly) simpler: https://developer.mozilla.org/en-US/docs/Web/CSS/Layout_cookbook/Center_an_element#css_2
Also, I'd caution against absolute positioning, as a rule.


Opt out of custom respsonse processing

At present, when there are fields that are not used in the standard world locator response, RcppSimdJson is used.
It is much slower than using the Rust based parse_location_json() function. If users do not care about the custom fields, they shouldn't have to use the custom parser.
Additionally, we can create a backup rust-based parser that takes field names and types and parses it dynamically.

A custom parser was written using serde and extendr. This is outdated.


LND PeerSwap fee estimation seems broken with Bitcoin Core v27.0rc1

LND as swap-out receiver apparently seems to think the fee rate is >= 1BTC/kvB and cancels the swap. LND as swap-in receiver seems unable to claim onchain signet coins for the same reason.
Fedora 39 ARM64
LND 0.17.4-beta
PeerSwap @ fb7d5f7e0f6d22b96322292beba32165facdb762
Bitcoin Core v27.0rc1
Go 1.21.8
peerswapd logs:
2024/03/16 23:47:22 [DEBUG] [FSM] event:id: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6, Event_OnSwapOutRequestReceived on
2024/03/16 23:47:22 [INFO] Estimated fee rate is below floor of 275 sat/kw, take floor instead
2024/03/16 23:47:22 [DEBUG] Using a fee rate of 1.10 sat/vb for a total fee of 385
2024/03/16 23:47:26 [DEBUG] [FSM] event:id: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6, Event_ActionSucceeded on State_SwapOutReceiver_CreateSwap
2024/03/16 23:47:26 [INFO] [Swap:a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6] swap-out request received: peer: 036e680823a129ac9a2eeb8c43514a5b6cb09ae28e3e698a0e34aaa8865d6cc344 chanId: 182807x4x0 initiator: 036e680823a129ac9a2eeb8c43514a5b6cb09ae28e3e698a0e34aaa8865d6cc344 amount 200000000
2024/03/16 23:47:26 [DEBUG] [FSM] event:id: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6, Event_ActionSucceeded on State_SwapOutReceiver_SendFeeInvoice
2024/03/16 23:47:26 [DEBUG] [PaymentWatcher] Swap: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6: Add new payment watcher for payreq lntbs3850n1pjlvtuwpp5ds3nsvdakndztm56dlh22km79jxfvej273ag230agr79p7lx4tvqdy5wpjk2unnwashqgrzw33jqen9v5srzwpj8qcrw7p50qczqcfhxyungvnyxcerjet9x43k2dpc8yuxvdes8ycn2vrzxq6kzvehvsmkzcmzxuunzct98ymr2dpcxuerzdee8ycxgdpcvdsnjdrrvsmqcqzzsxqzjcsp5axg9rhmjznmkjqeu3xtr9x8tqsuk96qhscdvjkk7vc4ss40l7fss9qyyssqxagewxhzkyfyj2u48gxvs8qexv6ukyrfrecnsl24rz2wtdnkrgeyznhynaskuknw2azt6wr9cut3ds3wn7j7rs8g2ha6qkskcu6jkasp2pd3fv of type "fee"
2024/03/16 23:47:28 [DEBUG] [PaymentWatcher] Swap: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6: Calling paymentCallback
2024/03/16 23:47:28 [DEBUG] [FSM] event:id: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6, Event_OnFeeInvoicePaid on State_SwapOutReceiver_AwaitFeeInvoicePayment
2024/03/16 23:47:28 [DEBUG] [grpc_conn]: grpc_retry attempt: 0, got err: rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger than or equal to 1BTC/kvB are not accepted
2024/03/16 23:47:28 [INFO] [FSM] Action failure rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger than or equal to 1BTC/kvB are not accepted
2024/03/16 23:47:28 [DEBUG] [FSM] event:id: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6, Event_ActionFailed on State_SwapOutReceiver_BroadcastOpeningTx
2024/03/16 23:47:28 [DEBUG] [FSM] Canceling because of rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger than or equal to 1BTC/kvB are not accepted
2024/03/16 23:47:28 [DEBUG] [FSM] event:id: a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6, Event_ActionSucceeded on State_SendCancel
2024/03/16 23:47:28 [INFO] [Swap:a71942d629ee5ce4898f709150b05a37d7acb791ae965487217990d48ca94cd6] Swap canceled. Reason: rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger than or equal to 1BTC/kvB are not accepted

peerswapd logs with LND as swap-in receiver:
2024/03/17 13:07:38 [INFO] [TxWatcher] Wait for confirmation on swap b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012: Got 3 confirmations call callback
2024/03/17 13:07:38 [DEBUG] [FSM] event:id: b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012, Event_OnTxConfirmed on State_SwapInReceiver_AwaitTxConfirmation
2024/03/17 13:07:45 [DEBUG] [Messenger] From: 036e680823a129ac9a2eeb8c43514a5b6cb09ae28e3e698a0e34aaa8865d6cc344 got same message for swap: b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012
2024/03/17 13:07:48 [DEBUG] PayInvoiceViaChannel: payment still in flight
2024/03/17 13:07:49 [DEBUG] PayInvoiceViaChannel: payment still in flight
2024/03/17 13:07:50 [DEBUG] [FSM] event:id: b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012, Event_ActionSucceeded on State_SwapInReceiver_ValidateTxAndPayClaimInvoice
2024/03/17 13:07:50 [INFO] Estimated fee rate is below floor of 275 sat/kw, take floor instead                                              2024/03/17 13:07:50 [DEBUG] Using a fee rate of 1.10 sat/vb for a total fee of 171
2024/03/17 13:07:50 [DEBUG] [grpc_conn]: grpc_retry attempt: 0, got err: rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger than or equal to 1BTC/kvB are not accepted
2024/03/17 13:07:50 [INFO] Error claiming tx with preimage rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger th
an or equal to 1BTC/kvB are not accepted
2024/03/17 13:07:50 [DEBUG] [FSM] event:id: b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012, Event_OnRetry on State_SwapInReceiver_ClaimSwap
2024/03/17 13:07:50 [INFO] Estimated fee rate is below floor of 275 sat/kw, take floor instead                                              2024/03/17 13:07:50 [DEBUG] Using a fee rate of 1.10 sat/vb for a total fee of 171
2024/03/17 13:07:50 [DEBUG] [grpc_conn]: grpc_retry attempt: 0, got err: rpc error: code = Unknown desc = unmatched backend error: -8: Fee r
ates larger than or equal to 1BTC/kvB are not accepted
2024/03/17 13:07:50 [INFO] Error claiming tx with preimage rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger th
an or equal to 1BTC/kvB are not accepted
2024/03/17 13:07:50 [DEBUG] [FSM] event:id: b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012, Event_OnRetry on State_SwapInR
eceiver_ClaimSwap
2024/03/17 13:07:50 [INFO] Estimated fee rate is below floor of 275 sat/kw, take floor instead
2024/03/17 13:07:50 [DEBUG] Using a fee rate of 1.10 sat/vb for a total fee of 171
2024/03/17 13:07:50 [DEBUG] [grpc_conn]: grpc_retry attempt: 0, got err: rpc error: code = Unknown desc = unmatched backend error: -8: Fee r
ates larger than or equal to 1BTC/kvB are not accepted
2024/03/17 13:07:50 [INFO] Error claiming tx with preimage rpc error: code = Unknown desc = unmatched backend error: -8: Fee rates larger th
an or equal to 1BTC/kvB are not accepted
2024/03/17 13:07:50 [DEBUG] [FSM] event:id: b131d7c5a788822268ad07c5148a13e637282bc788d41b4455e165e09ab32012, Event_OnRetry on State_SwapInR
eceiver_ClaimSwap

Something strange is happening with LND + Core v27. The swap is canceled due to the abnormally high fee rate, but somehow the transaction was broadcasted and ended up being confirmed in a block? Not sure how that happens.
2024-03-19 15:20:31.321 [INF] LNWL: a536eb55ccf685466baf6d2bc9bbc10ec260d69e3d5245133157fa578d2f0745: broadcast failed because of: unmatched
 backend error: -8: Fee rates larger than or equal to 1BTC/kvB are not accepted
2024-03-19 15:20:31.325 [INF] LNWL: Removed invalid transaction: a536eb55ccf685466baf6d2bc9bbc10ec260d69e3d5245133157fa578d2f0745

2024-03-19 15:21:16.909 [INF] LNWL: Marking unconfirmed transaction a536eb55ccf685466baf6d2bc9bbc10ec260d69e3d5245133157fa578d2f0745 mined in block 187469

It may be an existing bug in LND found due to changes in bitcoin core.
I will investigate more and try to confirm.
Possible cause
In lnd, maxfeerate is set to 1e8 / 10(sat/kb) as a parameter when calling SendRawTransaction.
But in bitcoin rpc, BTC/kvB is the expected value, so the units would be wrong.
Reason for error in v27.0 or later
https://github.com/bitcoin/bitcoin/pull/29434 adds a sanity check for maxfeerate in sendrawtransaction and TestMempoolAccept and does not accept values above 1BTC/kvB.
The error message in that case is

Fee rates larger than or equal to 1BTC/kvB are not accepted

It appears so.


get attribute value

How to get the href attribute value of an element or other attribute value through anglesharp xpath？

Hello! Current HtmlDocumentNavigator doesn't support attributes selection.

Thank you for your efforts


Saving final states from estimator to adata

I am following the cellrank advanced tutorial for my own scRNA-seq dataset. I have successfully completed the estimator section, including getting similar and expected figures to the ones in the tutorial. I then call g.set_main_states() which also runs without any visible errors. From this, I am expecting new columns to be added to my adata object corresponding to the final states computed. However, printing out my columns in my adata object via print(adata.var.columns) shows no such columns. In fact, doing a comparison of before and after running the set_main_states shows no change in my adata object.
I attempted to recreate the situation, running essentially the same commands, with the pancreas dataset including in the vignette. Doing so, I see that the adata object in this case does change as expected. Therefore, I expect this is not an issue with the code, but perhaps with either my dataset or something that I'm overlooking. Because there are no explicit error messages, I am unsure how best to troubleshoot this.
My question is, in such a situation, where are some likely places I might have failed, given that I tried my best to follow the vignette verbatim?
Thank you in advance.

Hi @timlai4 ,
set_main_states write to adata.obs, not adata.var. In case they're missing there, something went wrong indeed. You can also bump the verbosity level to hint cr.settings.verbosity = 3 - in most cases, it say where it writes.
Fair warning: the tutorial is using CellRank as it is on the master, not on PyPI or conda. I will be pushing new release in the next 2 days tops and after that, everything will be in order.
Let me know if this helps.

Dear @michalk8 ,
Thank you for your prompt reply. I realized that this is indeed the case, and that actually, I meant to describe a different issue. Namely, after this step in the tutorial, we'd like to compute the lineage drivers, and this is supposed to save to adata.var, which works for the pancreas dataset, but not my own experiment. Can you advise again on how I might troubleshoot the g.compute_lineage_drivers() ?

compute_lineage_drivers has parameter use_raw=True, which when set, accesses adata.raw (if present).
Based on the code you've posted, WARNING: No raw attribute set. Using .X instead, so it should be in adata, and it is, as: to Ngn3 low EP corr, to Alpha corr and to Beta corr (to is the direction and corr stand for correlation, because that's how we've defined the drivers (still WIP).
Nevertheless, I will update the docs to better reflect how are the names stored.

Apologies for the confusion, the above was for the successful run using the pancreas dataset as in the tutorial. For my experiment,
>>> print(adata.var.columns)
Index(['features', 'ambiguous_features', 'spliced_features',
       'unspliced_features', 'gene_count_corr', 'means', 'dispersions',
       'dispersions_norm', 'highly_variable', 'velocity_gamma', 'velocity_r2',
       'velocity_genes'],
      dtype='object')
>>> g.compute_lineage_drivers()
WARNING: No variation found in `15884` genes. Setting correlation for these to `NaN`
>>> print(adata.var.columns)
Index(['features', 'ambiguous_features', 'spliced_features',
       'unspliced_features', 'gene_count_corr', 'means', 'dispersions',
       'dispersions_norm', 'highly_variable', 'velocity_gamma', 'velocity_r2',
       'velocity_genes'],
      dtype='object')

It appears I'm experiencing some issues with missing / zero variation in my genes?

I know why this happens - there's only 1 lineage ('Alpha'), that has prob. 1 for all cells. In the correlation computation, we divide by the standard deviation, which is 0.
The question is, why is it all 1s? If there's only 1 lineage, we compute the stationary distribution, which should just sum to 1 (we normalize it so that max element is 1, because of some scvelo's functionalities), that's all. Currently, I have no idea why this happens, maybe there's some issue with the computation of stationary distribution. Can you please check
`g.eigendecomposition["stationary_dist"]?

First, here's the stationary distribution information you requested.
>>> print(g.eigendecomposition["stationary_dist"])
[0.00048986 0.00052568 0.00161741 ... 0.00047527 0.00040422 0.0002001 ]

Not sure if just five entries is enough to be helpful here, I'll work on finding a way to get it to display more and edit that in later.
As for the issue, are you suggesting the fact there's only 1 lineage (final state in this case) the issue? I double checked with another sample which had two lineages and I'm seeing similar problems there too, where no columns are being added. Interestingly though, the step g.compute_lineage_drivers() does not yield any warnings like the one above. However, in earlier steps in the workflow, I did see the warning:

WARNING: No variation found in 12255 genes. Setting correlation for these to NaN

A quick attempt to also display the stationary distribution information here ran into some problems
    print(g.eigendecomposition["stationary_dist"])
KeyError: 'stationary_dist'

I'll try to figure out what went wrong and edit this in later too.

That's strange. There seeems to be some update to lineage object somewhere along the pipeline. As for you seeing the problem with more than 1 lineage, I will check for robustness of the implementation. Is 12255 genes the total number of genes or just a subset? If you could check out after which operation the Lineage object somehow changes (e.g. in the case of 1 lineage), that would be really helpful.

@timlai4 I've finally pushed a new version, it's on PyPI (it will take a few days since it's on Bioconda. It would be great if you could upgrade CellRank and see if the problem persists (I'm afraid it still might). Please beware, there has been some API change, namely function renaming.

@michalk8 I will try to get the new version on my machine and see what that changes.

Is 12255 genes the total number of genes or just a subset?
Apologies, I'm more comfortable with Seurat than scanpy. To check this, I thought to do

>>> print(adata)
AnnData object with n_obs × n_vars = 7852 × 3000

which seems to suggest I have 7852 genes (or 3000 I always forget). However, inspecting with
>>> print(adata.raw.var)
           _index  to Beta corr  to Alpha corr
0         FAM138A         NaN            NaN
1      AL627309.1   -0.013701       0.013701
2      AL627309.3    0.002729      -0.002729
3      AL627309.2         NaN            NaN
4          OR4F29         NaN            NaN
...           ...         ...            ...
33533      TTTY4B         NaN            NaN
33534       BPY2B         NaN            NaN
33535        DAZ4         NaN            NaN
33536        CDY1         NaN            NaN
33537       TTTY3         NaN            NaN

It seems most, but not all, were set to NaN.

If you could check out after which operation the Lineage object somehow changes
I'm sorry, but could you clarify this? I checked my post to which this was replying, and perhaps there was some confusion there. I was discussing two different samples: one that only had one metastable / final state and the second with two metastable / final states.

I have downloaded the new version. As you mentioned, the previous function calls no longer work. Now, I am running the following:
g.set_final_states_from_metastable_states()
g.compute_absorption_probabilities()
g.compute_lineage_drivers()

and with a print(adata.var.columns) both before and after for comparison. Again, there is no difference: i.e. no additional columns being added for the lineage drivers.

Hi @timlai4 ,
sorry for the late response. In the object, you 7852 cells and 3000 genes, the adata.raw has 33538 genes (i.e. the unfiltered ones). I'd try this first on the not raw data, since raw will most likely containt a lot of 0s.
For only 1 final state, since all cells have absorption probability of 1, I've changed this so we use the stationary distribution when calculating the drivers.
As for 2 or more states, it's the same. I've only changed the default use_raw=True (that's the 30k+ genes) to use_raw=False.
These changes should be on PyPI shortly.
In the case of 2 states, could you please try running this after g.compute_absorption_probabilities() and post here the output?
This is to check whether there's something wrong with the Lineage object or some 0 columns in the expression matrix.
import pandas as pd
from scipy.sparse import issparse

for attr in ("metastable_states_probabilities", "absorption_probabilities"):
    x = getattr(g, attr)
    print(attr)
    print((~np.isclose(x.X.sum(1), 1)).sum(), np.isnan(x.X).sum(0),
          (~np.isfinite(x.X)).sum(0), x.std(0), sep='\n', end='\n\n')

genes = g.adata.var_names
X = g.adata.X
X = pd.DataFrame(X.toarray() if issparse(X) else X, columns=genes)
print(X.columns[X.isna().any(0)],
      X.columns[np.all(np.isclose(X, 0), 0)],
      X.columns[np.isclose(X.std(axis=0), 0)], sep='\n')

Here's for example mine:
metastable_states_probabilities
0
[0 0 0]
[0 0 0]
[[0.20456591 0.23479675 0.29189188]]
 names=[std of Epsilon, std of Alpha, std of Beta]

absorption_probabilities
0
[0 0 0]
[0 0 0]
[[0.15492946 0.2254958  0.27272654]]
 names=[std of Epsilon, std of Alpha, std of Beta]

Index([], dtype='object', name='index')
Index([], dtype='object', name='index')
Index([], dtype='object', name='index')

Here are the outputs.
>>> for attr in ("metastable_states_probabilities", "absorption_probabilities"):
...     x = getattr(g, attr)
...     print(attr)
...     print((~np.isclose(x.X.sum(1), 1)).sum(), np.isnan(x.X).sum(0),
...           (~np.isfinite(x.X)).sum(0), x.std(0), sep='\n', end='\n\n')
...
metastable_states_probabilities
0
[0 0]
[0 0]
[[0.20181639 0.20181639]]
 names=[std of 17, std of 6]

>>> genes = g.adata.var_names
>>> X = g.adata.X
>>> X = pd.DataFrame(X.toarray() if issparse(X) else X, columns=genes)
>>> print(X.columns[X.isna().any(0)],
...       X.columns[np.all(np.isclose(X, 0), 0)],
...       X.columns[np.isclose(X.std(axis=0), 0)], sep='\n')
Index([], dtype='object')
Index([], dtype='object')
Index([], dtype='object')

@michalk8 for handling this very well. Just one note from my side: when we compute lineage drivers, we check how well lineage probabilities correlate with gene expression for all genes. By default, we used to do this in raw data, i.e. in a version of the AnnData object with usually all genes present. In your case @timlai4, it seems that you had ~33k genes in your raw AnnData object. We all know about the large proportion of zero counts in scRNA-seq data. There will be many genes in the raw data with zero expression across all cells. That's why you get the warning message you posted for about 12k genes. There is nothing wrong with that, this is expected: for a gene that's zero expressed in all cells, its correlation will be zero. You may safely ignore these genes (i.e. the ones that get a NaN) correlation and only look at the remaining genes, as these will be the biologically interesting ones. Or, you do it as @michalk8 suggested and set use_raw=False, which I think may even be the default now.

@timlai4 , is this solved for you, or can we help in any other way?

Sorry for the delay! Yes, I believe I am seeing the appropriate columns after computing lineage drivers now.


Advice on debugging stalled builds

After upgrading to Mix 4, I have a project that keeps stalling at 70%. There's no errors, it just sits there with 70% building 782/782 modules 0 active.
Initially I thought the issue was related to this upgrade note:

If your project heavily uses JavaScript dynamic imports, you may need to hold off until the release of webpack 5 early next year. There are known compile issues related to this that we cannot fix until then. Once webpack 5 is out, Mix will be updated shortly after.

But I'm not sure because if I remove any .sass related lines from my webpack.mix.js file then the build completes. Likewise if I remove any .js lines where the file has async imports, but keep the .sass lines. If both .js (with async imports) and .sass are included then the build stalls at 70%. I've tried a bunch of things to debug the issue, but I can't get to the source of the problem.
Is there any command I can run that will output a log or some sort of a trace that will indicate where the build fails?
Here's my webpack.mix.js
const mix = require('laravel-mix');
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;

// Removes console.* messages in production
mix.options({
  processCssUrls: false,
  terser: {
      terserOptions: {
        compress: {
          drop_console: true
        }
      }
    }
});

mix
  .setPublicPath('public')
  .sass('resources/assets/sass/app.scss', 'public/css')
  .js('resources/assets/js/app/app.js', 'public')
  .js('resources/assets/js/authenticator.js', 'public')

// If Unit testing, do not mix the following
if (process.env.NODE_ENV !== 'test') {
  mix
    .sass('resources/assets/sass/splash.scss', 'public/css')
    .sass('resources/assets/sass/browser.scss', 'public/css')

    .copyDirectory('resources/assets/images', 'public/images')
    .copyDirectory('resources/assets/icons', 'public/icons')
    .copyDirectory('resources/assets/browser', 'public/browser')

    .js('resources/assets/js/app/feature-test.js', 'public')
    .extract(['vue', 'vuex', 'vue-router', 'vue-meta', 'vuex-router-sync', 'axios', 'qs', 'laravel-echo', 'node-polyglot', 'masonry-layout']);
}

// Additional webpack configuration
let config = {
  output: {
    publicPath: '/', // Set the publicPath for webpack's code splitting feature
    chunkFilename: 'js/[name].chunk.js' // Specify a naming structure for code split files
  },

  module: {
    rules: [
      {
        test: /\.modernizrrc$/,
        use: ['modernizr-loader', 'json-loader'],
      }
    ]
  },

  resolve: {
    alias: {
      'vue$': 'vue/dist/vue.runtime.js',
      modernizr$: path.resolve(__dirname, '.modernizrrc'),
      '@': path.resolve(__dirname, 'resources/assets/js/app'), // Shortcut to Vue app root path
      '^': path.resolve(__dirname, 'resources/assets/images') // Shortcut to images root path (useful when loading inline SVGs)
    }
  },

  externals: {
    'pusher-js': 'Pusher',
    'moment': 'moment'
  },

  optimization: {
    splitChunks: {
      chunks: 'all',
      minChunks: 2
    }
  },

  plugins: []
}

if (mix.inProduction()) {
  mix.version();

  // Overwrite naming structure for production
  config.output.chunkFilename = 'js/[chunkhash].js'
} else {
  mix.sourceMaps(true, 'source-map');

  // Add webpack bundle analyzer for dev environment
  config.plugins.push(new BundleAnalyzerPlugin({ analyzerMode: 'static', openAnalyzer: false }));
}

mix.webpackConfig(config);

Here's my package.json
{
  "private": true,
  "scripts": {
    "dev": "npm run development",
    "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "watch-poll": "npm run watch -- --watch-poll",
    "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
    "prod": "npm run production",
    "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
    "test-e2e": "testcafe chrome resources/assets/js/app/tests/e2e/**/*.test.js -S -s resources/assets/js/app/tests/e2e/screenshots",
    "test-unit": "cross-env NODE_ENV=test mocha-webpack --webpack-config node_modules/laravel-mix/setup/webpack.config.js --require resources/assets/js/app/tests/unit/config.js resources/assets/js/app/tests/unit/**/*.spec.js"
  },
  "devDependencies": {
    "@babel/plugin-syntax-dynamic-import": "^7.2.0",
    "@vue/test-utils": "^1.0.0-beta.29",
    "cross-env": "^5.2.0",
    "expect": "^24.5.0",
    "jsdom": "^14.0.0",
    "jsdom-global": "^3.0.2",
    "json-loader": "^0.5.7",
    "laravel-mix": "^4.0.0",
    "mocha": "^6.0.2",
    "mocha-webpack": "^1.1.0",
    "modernizr": "^3.0.0",
    "modernizr-loader": "^1.0.0",
    "resolve-url-loader": "3.0.1",
    "sass": "^1.17.3",
    "sass-loader": "7.*",
    "svg-inline-loader": "^0.8.0",
    "testcafe": "^1.1.0",
    "testcafe-vue-selectors": "^3.1.0",
    "vue-template-compiler": "^2.6.9",
    "webpack-bundle-analyzer": "^3.1.0"
  },
  "dependencies": {
    "axios": "^0.18.0",
    "bootstrap-sass": "^3.0.0",
    "fscreen": "^1.0.2",
    "laravel-echo": "^1.5.3",
    "leaflet": "^1.4.0",
    "lodash": "^4.17.11",
    "masonry-layout": "^4.2.2",
    "node-polyglot": "^2.3.0",
    "qs": "^6.6.0",
    "vue": "^2.0.0",
    "vue-meta": "^1.5.8",
    "vue-router": "^3.0.2",
    "vuex": "^3.1.0",
    "vuex-router-sync": "^5.0.0"
  }
}

Laravel Mix Version: 4.0.15
Node Version 11.12.0
NPM Version 6.7.0
OS: Mac OS 10.14.2 (18C54)

@james-brndwgn Any chance you figured out a way to debug? I'm experiencing the same issue.
npx mix --production stalls indefinitely when I try to turn it locally for a specific project. I am able to build without the production flag. I don't think it's an issue with my project or vendor code because if I empty my main JS file it still stalls in CSS.
> npx mix --production

● Mix █████████████████████████ building (10%) 0/3 entries 49/53 dependenci
es 18/39 modules 15 active
<EMAIL_ADDRESS>


Are CaptionML being removed from BC?

Some say we should not use CaptionML for Tenant Extensions as they are planned to be removed in future BC versions.
Is this true, or is it safe to use it as long as the extension is not expected to be put in App Source?
Best regards
Peter
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9bfbb9ca-3b27-7151-5fbc-5986c81f6b23
Version Independent ID: 03fd2eed-c11c-16b4-9588-26feea722301
Content: CaptionML Property - Business Central
Content Source: dev-itpro/developer/properties/devenv-captionml-property.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Hello, thanks for your question. If you are not planning on submitting your app through AppSource, it should be safe to use CaptionML. Thanks.


Update README.md: predictedState

This changes examples which use variable name predictedState to predicted which is the variable name used later in examples.
I discovered this independently, but was also mentioned here: https://github.com/piercus/kalman-filter/issues/47
Side note: are you willing to help me understand where I am going wrong or clear up my lack of understanding with using this library for online sensor fusion?  I'm happy to add an example to docs if I can get this figured out.
Thanks in advance!
Note: I accidentally submitted PR with my work account; apologies if it seems too mysterious.
Here's the public me: https://github.com/crosshj.  I'm happy to re-submit with my public account.

Thanks for your contribution !
Could you give more context about online sensor fusion ?
Can you please open a specific and show a simple example of what you are trying to achieve ?
Thanks

Thanks for your contribution !
Could you give more context about online sensor fusion ?
Can you please open a specific and show a simple example of what you are trying to achieve ?
Thanks

Thanks for the merge and thanks for entertaining the question!  I will work on example and add it to an issue with a more clearly worded question.  See you soon!


do not store default values in sysconfig files

Default values in sysconfig files are a problem in case they ever need to change. Please leave those variables empty and store the default values elsewhere in a read only location (like /usr/etc). That is the only way to know whether a value is the way it is because the admin wants it that way.

An empty variable from a sysconfig file could mean two things:

The customer wants to use the default
The customer wants to remove the default and set it to an empty one

So how should that work?
systemd did the ugly way that you need to specify the variable twice in this case, to delete the default and to set a new default. But this is not working with a shell script and sourcing a sysconfig file.
All you can do is to revamp the sysconfig concept completly: /usr/etc/sysconfig contains the defaults, and /etc/sysconfig contains only the overrides. So fillup wouldn't be needed anymore. But that's a bigger, intrusive change for openSUSE and SLE.

yeah sure, that doesn't work with values that can actually be empy but looks like you mostly have paths and download locations. So they don't seem to make sense when emtpy.

But still empty values in /etc/sysconfig will override the default ones from /usr/etc/sysconfig.
Independent of that, I don't see a variable were we can change the default later without breaking the customer system. So it does not matter at all if we can find out if the admin changes something or not, if he started the container once, every change from our side will break his setup.

We use now default files.


Add support for sRGB capable framebuffers.

Implements #175.

Looks good, except that "RGB" in identifiers should be "Rgb", according to the coding style.

Well... strictly speaking, the whole abbreviation is not RGB but sRGB, so in that sense, the identifiers would have to all be srgb.

If we enforce strict PascalCase identifiers, it would be Srgb.

But in camelCase (which we use), it's srgb? :stuck_out_tongue:

Yes sorry... we're talking about variable, not class names.
I'd say that sRgb should be ok then.

Fixed.

:+1:

How can this best be tested?

Request an sRGB framebuffer and draw some sRGB stuff. You will notice that things are a "bit" different if you just go ahead and request one in the OpenGL example for example. The rendering would naturally have to be adjusted for sRGB if the framebuffer expects it.

Going to ping a few people who showed interest for this feature in the past and who might be willing to test it: @NicolBolas, @retep998, @bananu7, @elliotpotts, @dezzik

Are there no other "formats" we might support in the future? I mean, wouldn't it make sense to use an enum instead of a boolean?

sRGB is the only other colour space that I know of which is in widespread use besides "normal RGB". Also, enabling support for sRGB should really be a flag. The specification kind of makes clear that sRGB support is an additional capability of the framebuffer and therefore doesn't replace or gets replaced by anything else.

Going to ping a few people who showed interest for this feature in the past and who might be willing to test it: @NicolBolas, @retep998, @bananu7, @elliotpotts, @dezzik

Another attempt :)

sRGB is basically the format that everything uses. All images are assumed to be in sRGB (unless specified otherwise). Monitors are calibrated for sRGB. The web dictates sRGB. All this is doing is converting between gamma encoded sRGB and linear RGB so that blending can be performed correctly instead of with a poor approximation. This is thre format to support, therefore in my mind using a boolean is the right thing to do.
This doesn't seem like it handles loading textures as sRGB though. That's an essential counterpart to treating the output framebuffer as sRGB, otherwise when you load in an image and display it to the screen, it'll look wrong.

Added additional support for conversion of texture data from sRGB back to linear so that it can be processed in linear and output back to the framebuffer in sRGB. Also updated the OpenGL example to "demonstrate" its usage (there is no visible difference, as to be expected when not doing e.g. complex lighting).

Can this be merged?

The only "real" way to test this would be to write e.g. an HDR shader that manipulates the linearized sRGB data of some texture. The whole purpose for all of this is because such algorithms would produce wrong results if the data was not linear.

Several tests I can think of:

Take a solid gray texture that is srgb(0.5, 0.5, 0.5) and draw it twice using additive blending. If the result is white you're not using sRGB. If the result is merely a light gray srgb(0.68, 0.68, 0.68) then sRGB is working correctly.
Take a black and white checkerboard pattern (where the checkers are 1 pixel big) and draw it at 50% scale using linear blending and/or mipmapping so it all blurs together. If the resulting gray is srgb(0.5, 0.5, 0.5) you're not using sRGB. If the result is srgb(0.73, 0.73, 0.73) then sRGB is working correctly.

Test with this then:
#include <SFML/Graphics.hpp>
#include <vector>

int main()
{
    // Enable/Disable sRGB here
    bool sRgb = true;

    sf::ContextSettings contextSettings;
    contextSettings.sRgbCapable = sRgb;

    sf::RenderWindow window(sf::VideoMode(800, 600), "sRGB Test", sf::Style::Default, contextSettings);

    sf::Image image;
    image.create(400, 300, sf::Color(127, 127, 127));

    sf::Texture texture1;
    texture1.setSrgb(sRgb);
    texture1.loadFromImage(image);

    sf::Sprite sprite1;
    sprite1.setTexture(texture1);

    std::vector<sf::Color> data(799 * 600, sf::Color::White);
    for(size_t i = 0; i < 799 * 600; i += 2)
        data[i] = sf::Color::Black;

    sf::Texture texture2;
    texture2.setSrgb(sRgb);
    texture2.setSmooth(true);
    texture2.create(799, 600);
    texture2.update(reinterpret_cast<const sf::Uint8*>(&data[0]));

    sf::Sprite sprite2;
    sprite2.setPosition(401, 300);
    sprite2.setTexture(texture2);
    sprite2.setScale(0.5f, 0.5f);

    while(window.isOpen())
    {
        sf::Event event;
        while(window.pollEvent(event))
        {
            if(event.type == sf::Event::Closed)
                return 0;
        }

        window.clear();
        window.draw(sprite1, sf::BlendAdd);
        window.draw(sprite1, sf::BlendAdd);
        window.draw(sprite2);
        window.display();
    }
}

It produces the results you would expect with/without sRGB support.

sRgb = true

sRgb = false

Same here on OS X.

This PR has been added to my merge list, meaning it will be merged soon, unless someone raises any concerns.


C++ Test

Implement very basic C++ tests.

CC @bdice @kingcrimsontianyu

This PR probably needs to update build.sh. Also check the libkvikio-tests conda packaging and install script to make sure we aren't missing anything there.

For now, I think build.sh should build the test by default  (it is very quick to build). It is always possible to use --cmake-args to disable them.
I think libkvikio-tests et al. is correct?

/merge


not more than 18 items possible when graph is created

Describe the bug
I am not able to create more than 18 elements if graph is drawn
Device hardware

MCU: Arduino Due
Display with link: Generic 8bit ILI9486 3.5" resistive
GUIslice config selected: ard-shld-generic1_35_touch

Expected behavior
more items could be created
Additional info
When graph is enabled I can create more than 18 items without any problems but they are not shown on the display
If I disable the graph then they are displayed ???
In this case there are a lot buttons involved to increase/decrease different values.
I guess it´s a buffer problem and I think/hope the Arduino Due should not have a problem with flash size.
My sketch uses 28% of storage space until now.
I would be happy for any help
mcarosh

@mcarosh In your config file set:
  #define DEBUG_ERR               2   // 1,2 to enable, 0 to disable

and uncomment at the bottom of your config file:
  #define DBG_LOG           // Enable debugging log output

Then check your serial output.
Paul--

@mcarosh In your config file set:
  #define DEBUG_ERR               2   // 1,2 to enable, 0 to disable

and uncomment at the bottom of your config file:
  #define DBG_LOG           // Enable debugging log output

Then check your serial output.
Paul--

Hi Paul
As always thanks for your help
I did enable the debug function and there is this one error message:
ERROR: GetElemFromRefD(Line 3314) pElemRef is NULL
I´ve checked all my pointers but couldn´t find any errors?
And what I really do not understand is (Line3314) within the error message because my sketch did not exceed 1200 Lines???
mcarosh

Hi Paul
As always thanks for your help
I did enable the debug function and there is this one error message:
ERROR: GetElemFromRefD(Line 3314) pElemRef is NULL
I´ve checked all my pointers but couldn´t find any errors?
And what I really do not understand is (Line3314) within the error message because my sketch did not exceed 1200 Lines???
mcarosh

@mcarosh 3314 is the line number inside your GUIslice.c file.  Now the current version doesn't make sense so you are running an earlier version of GUIslice so you need to look at your copy of GUIslice.c to determine the routine causing the problem.  Are you sure nothing else is coming up?  I would guess you added a Element by hand and didn't increase the pages memory in your _GSLC.h file, example the:
#define MAX_ELEM_PAGE_MAIN 2 // # Elems total on page
or whatever page you might have added.
Paul--

@mcarosh 3314 is the line number inside your GUIslice.c file.  Now the current version doesn't make sense so you are running an earlier version of GUIslice so you need to look at your copy of GUIslice.c to determine the routine causing the problem.  Are you sure nothing else is coming up?  I would guess you added a Element by hand and didn't increase the pages memory in your _GSLC.h file, example the:
#define MAX_ELEM_PAGE_MAIN 2 // # Elems total on page
or whatever page you might have added.
Paul--

Hi Paul
Really really thank you for your help and I´m so sorry It was absolutely my fault.  Added page manually and during copy and paste I totally forget to change
#define MAX_ELEM_PG4_RAM   MAX_ELEM_PG3 - MAX_ELEM_PG4_PROG
to
#define MAX_ELEM_PG4_RAM   MAX_ELEM_PG4 - MAX_ELEM_PG4_PROG
It was just one number and I ve always did not recognize this error :/ shame on me
and again really sorry for wasting your time although it was your hint which let me again checked my settings
i guess I watched it 100 times and only you made me look more precisely
Now everything is working again
big thanks and sorry for this stupid mistake
mcarosh

Hi Paul
Really really thank you for your help and I´m so sorry It was absolutely my fault.  Added page manually and during copy and paste I totally forget to change
#define MAX_ELEM_PG4_RAM   MAX_ELEM_PG3 - MAX_ELEM_PG4_PROG
to
#define MAX_ELEM_PG4_RAM   MAX_ELEM_PG4 - MAX_ELEM_PG4_PROG
It was just one number and I ve always did not recognize this error :/ shame on me
and again really sorry for wasting your time although it was your hint which let me again checked my settings
i guess I watched it 100 times and only you made me look more precisely
Now everything is working again
big thanks and sorry for this stupid mistake
mcarosh

@mcarosh Np problem.  Happy to help.
By the way you can copy all the elements on a page to another project using the builder.  Simply use the Page layout tab, Rectangle Selection tool, select all elements on the Page, click the Copy icon, open your desired project, create the new page and click the paste icon.
Paul--

@mcarosh Np problem.  Happy to help.
By the way you can copy all the elements on a page to another project using the builder.  Simply use the Page layout tab, Rectangle Selection tool, select all elements on the Page, click the Copy icon, open your desired project, create the new page and click the paste icon.
Paul--

Okay
i will try
Thanks
mcarosh

Okay
i will try
Thanks
mcarosh


Add functionality to save and load data in JSON format

Description
This pull request introduces the capability to save and load data in JSON format within the application. The changes made enable users to store information about games, authors, labels, and genres in JSON files for future retrieval. The functionality has also been extended to include an option to load data from existing JSON files when launching the application.
Changes Made:

Added the ability to save game data to a JSON file.
Implemented the ability to load game data from a JSON file.
Enhanced the management of authors, labels, and genres when saving and loading data.

Status: Approved ✔
Hi @ulises2607   ! Great Job partner! Amazing work! 👋🏽,
There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉

Highlights

No linter errors✔
List of books, games and music album working as they should✔
List of genres, authors and labels working as they should✔
No hash errors!✔


SAK-40489 Alternate UI for samigo timers and related Question Progres…

…s box styling, UVA contrib

Closing to try to make Codacy a little happier :(


Adding commands for unique constraints

I just love expressing the domain data model in JDL. However, whenever there is a change, I find myself manually editing the server code plus regenerating the client and test code with jhipster-uml, because there is manual changes necessary in the domain code like unique constraints, advanced validation constraints etc.
Wouldn't it be nice to have the ability to generate unique constraints by expressing them via JDL? Or am I missing something?
for example:
unique {     <entity>{<column_list>} }
example:
unique {     A{columnA, columnB} }
to define a unique constraint on entity A with columns columnA and columnB.

@deepu105 Is unique available in a released version? I was on holidays and I didn't check my mails at all (and couldn't).
@heppa If it's available, I'll add it.

No we dont support that. Inly required validation for relationship as of
now. Having unique validation is very tricky and troublesome
On 17 May 2016 06:05, "Mathieu ABOU-AICHI"<EMAIL_ADDRESS>wrote:

@deepu105 https://github.com/deepu105 Is unique available in a released
version? I was on holidays and I didn't check my mails at all (and
couldn't).
@heppa https://github.com/heppa If it's available, I'll add it.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/jhipster/jhipster-domain-language/issues/18#issuecomment-219562763

Yeah... Thanks man!
Le 17 mai 2016 03:51:21 GMT+02:00, Deepu K Sasidharan<EMAIL_ADDRESS>a écrit :

No we dont support that. Inly required validation for relationship as
of
now. Having unique validation is very tricky and troublesome
On 17 May 2016 06:05, "Mathieu ABOU-AICHI"<EMAIL_ADDRESS>wrote:

@deepu105 https://github.com/deepu105 Is unique available in a
released
version? I was on holidays and I didn't check my mails at all (and
couldn't).
@heppa https://github.com/heppa If it's available, I'll add it.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub

https://github.com/jhipster/jhipster-domain-language/issues/18#issuecomment-219562763

You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/jhipster/jhipster-domain-language/issues/18#issuecomment-219599004

--
Mathieu ABOU-AICHI

@deepu105 "Having unique validation is very tricky and troublesome" Why do you say that?

To really validate something is unique before saving it you need to compare it against existing items to determine if unique which is costly and tricky operation. If you have a simpler way to do it you are welcome to suggest

Sorry for getting back on this so late, but Robert Mikes' question got me back here - I also don't really understand this, because what I mean is, that I would like to add the "@Column(unique=true)" JPA annotation parameter to tell the DB to add a unique constraint. I don't want anything to be validated.

The @column(unique=true) just changes the JPA/Hibernate schema generation, which JHipster doesn't use, as we relay on Liquibase scripts to create the db.
It is possible to extend the validators, with a generic, unique validator, but this will create an additional sql query every time.

Well, ok, true, didn't think about this, but why not add the uniqueConstraint to the liquibase generation script then? I guess, you agree, that in some cases it is necessary to make sure on DB side, that a unique constraint is a final assurance to not have duplication, but we cannot generate that with JHipster JDL.

Yes, that's what I was thinking, to add a "unique" validation much like "required" which would just add the constraint to the liquibase change log.

@MathieuAA Fine, then let's continue the discussion here.
Agreed, the syntax should be
entity A {
  mySuperImportantField String required unique,
  myOtherImportantField unique
}

but that only works for single-field unique constraints. For multi-field unique constraints, where a value-pair is supposed to be unique, we need the additional syntax. For example in a many-to-many relationship, in the relationship table we need to make sure that the same key-pair is not defined twice.
@deepu105 The unique constraint created by liquibase in the database will validate the values when saving, no need to do an additional select. Unique constraints are very important to ensure that there's no duplication. For example, cannot have two users with the same username.

@taurus227 point taken

If you want to add a simple unique like required then its fine but then it would be nice if someone can PR it to the generator first as we clearly don't have the time at the moment

@deepu105 that's the point =) @taurus227 is working on it.

Maybe PK will also be something useful.


Upgrade to Bootstrap v3.4.1 and include missing map files

So long as everything works right in the monitor, these changes seem fine to me. They are just copied directly, right? No changes?

Yeah I just copied the files over. I copied the fonts as well but nothing changed in them.

Also, please include updates in the LICENSE file for this.

Just the top level ./LICENSE file?

So long as everything works right in the monitor, these changes seem fine to me. They are just copied directly, right? No changes?

Yeah I just copied the files over. I copied the fonts as well but nothing changed in them.

Also, please include updates in the LICENSE file for this.

Just the top level ./LICENSE file?

Yeah, I think so. I grep'd for 'bootstrap', and that's the only reference. I am assuming the mention there is properly incorporated into the jar and distribution tarball and that this is the only thing that needs updating.


How can I protect the swagger endpoints, by making it a child of another existing endpoint?

I have an application, flask, that contains all the api endpoints below /api/. as a before_request on the api blueprint I am making the validation of credentials, tokens, etc. I would like to set swagger to be a child of that /api/, so that whenever a request comes for it the credentials are also checked.
I have been reading the documentation but, in case this is possible, I have not been able to spot it. Can somebody give me a hand on this?

I have seen that the recommended way is to declare a decorator when initializing the app, that will perform the authentication checks.


#37 + #16: Base functionality and styling for Body

Completes issue #16 and #37
Changes in this pull request:

Updated code to include bootstrap 4 and font awesome
Updated styles for body to match designs
Display business types for selected category

I've added the issue # to all the commits and also rebased off develop, because yarn.lock was causing merge conflicts.


Performance regression visibility

Today each CI run prints the time it took each test to run. Technically, this contains the information we need to identify a performance regression, but in practice such a regression is likely to go unnoticed as we don't regularly check the times printed in CI. As part of https://github.com/coiled/coiled-runtime/issues/148, it would be great to have CI automatically fail if there was a significant performance regression detected in our benchmarks.

Folks, writing a comment here as I'm behind on implementing this and I'm going on PTO until Tuesday 02/08.
But at least we made progress on the design of this. After a meeting with James, we agreed that to start we just need something simple and that upon regression (whatever this means) we get an error raised.
Tasks:

[ ] Create a post-processing python script that compares the latest run with some statistics from n-previous runs. If fails, raise an error.
[ ] Add step to GHA to run this before uploading it to the database. (still not clear whether we want to upload or not)
[ ] The failure will trigger the report and open a CI fail.


updating window hash on signout

ticket https://nanopay.atlassian.net/browse/NP-4684

We don't want to hardcode a reference to a nanopay specific menu "sme.accountProfile.signout" into a generic nanos class.
@Nauna Why is signout nanopay or worse, sme specific in the first place? If we could move to nanos then this would be fine.

Another option would be to modify
package: 'net.nanopay.ui',
name: 'Controller',
so that it vetoes memento changes to this value. That would be okay since that is nanopay specific code.

Or just reset the memento before logging out.

Or just reset the memento before logging out.

will do. thanks!

Fixed by:
commit c71c438dc51c2d4a51b4f01322e96e0d0049cc31 (HEAD -> development, origin/development, origin/HEAD)
Author: Kevin Glen Roy Greer<EMAIL_ADDRESS>Date:   Fri Jun 11 13:49:09 2021 -0400
Update AccountProfileView to reset hash on logout.

Was causing loops on logout. Fixes NP-4684


Recreating the SuspenseThrillers page for more user experience !!

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #4529
Description
This PR introduces several enhancements to the Romance Books page to improve the overall user experience and aesthetics.
Improvements Made

Title Bar: Enhanced with a clear title and improved typography.
Icon Integration: Added a unique literature-themed icon for better branding.
Navbar: Redesigned for responsiveness and added hover effects.
Footer: Updated with links, social media icons, and copyright information.
Card Design: Improved layout, high-quality images, and interactive flip effect for book cards.
Responsive Design: Ensured optimal display on various devices using CSS media queries.
Visual Consistency: Established a cohesive color palette and consistent typography.
Accessibility Features: Added descriptive alt text for images and ensured good color contrast.

Type of PR

[ ] Bug fix
[x] Feature enhancement
[x] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
BEFORE:

AFTER:

https://github.com/user-attachments/assets/5023093a-4190-4ffd-a5e1-aaded609b6e7
Checklist:

[x] I have made this change from my own.
[x] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@sailaja-adapa , mam it really took a lot of time to enhance the total page , there were many issues in prev code, please make sure you add level 3 label !!

i am now not able to see ur changes in the genre section except the fantasy page . is it visible to u or its my internet .

@abhi03ruchi , there was a url issue , now i changed the index.html, Now the changes will be visible !

where have u changed in classic literature pr ? its still not visible to me . u had done changes in many pages .
only classic literature and fantasy page is visible .

@abhi03ruchi , I will create a another pr in next 1hr , i will make sure you get all the visible changes !!

please check this pr ==> #4587


argcomplete: add legacy to cmd

Pull Request Test Coverage Report for Build<PHONE_NUMBER>6
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
0

Relevant Lines:
963

💛  - Coveralls


[Pladform] Fix redirection to external player

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Bug fix
[ ] Improvement
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Explanation of your pull request in arbitrary form goes here. Please make sure the description explains the purpose and effect of your pull request and is worded well enough to be understood. Provide as much context and examples as possible.
Fix external player redirect URL extraction. Examples:
http://out.pladform.ru/player?pl=18079&type=html5&videoid=100246529 -> rutube
http://out.pladform.ru/player?pl=18079&type=html5&videoid=100231282 -> rutube

Also add/update tests

Also add/update tests

python -m yt_dlp --verbose "http://out.pladform.ru/player?pl=18079&type=html5&videoid=100231282"

Worked successuly. Log:
Click to expand
[debug] Command-line config: ['--verbose', 'http://out.pladform.ru/player?pl=18079&type=html5&videoid=100231282']
[debug] Encodings: locale cp1251, fs utf-8, out utf-8, err utf-8, pref cp1251
[debug] yt-dlp version 2022.01.21 [f20d607b0] (source)
[debug] Lazy loading extractors is disabled
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Git HEAD: bc25ffc3b
[debug] Python version 3.8.5 (CPython 32bit) - Windows-10-10.0.19041-SP0
[debug] exe versions: ffmpeg 4.2.3
[debug] Optional libraries: Cryptodome, sqlite
[debug] Proxy map: {}
[debug] [Pladform] Extracting URL: http://out.pladform.ru/player?pl=18079&type=html5&videoid=100231282
[Pladform] 100231282: Downloading XML
WARNING: [Pladform] Unable to download XML: HTTP Error 404: Not Found
[Pladform] 100231282: Resolving final URL
[debug] [rutube] Extracting URL: https://rutube.ru/play/embed/6216d548e755edae6e8280667d774791/?event_source=pladform&pladform_player_id=18079&pladform_id=100231282&redirectref=
[rutube] 6216d548e755edae6e8280667d774791: Downloading video JSON
[rutube] 6216d548e755edae6e8280667d774791: Downloading options JSON
[rutube] 6216d548e755edae6e8280667d774791: Downloading f4m manifest
[rutube] 6216d548e755edae6e8280667d774791: Downloading f4m manifest
WARNING: [rutube] Unable to download f4m manifest: HTTP Error 404: Not Found
[rutube] 6216d548e755edae6e8280667d774791: Downloading f4m manifest
WARNING: [rutube] Unable to download f4m manifest: HTTP Error 404: Not Found
[rutube] 6216d548e755edae6e8280667d774791: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 6216d548e755edae6e8280667d774791: Downloading 1 format(s): m3u8-1298
[debug] Invoking downloader on "http://salam-1.rutube.ru/dive/video-1-304.rutube.ru/VPba4DhUOmHezl-3yXZ82g/hls-vod/EUFkkbM5bzDwoLjR2nDK6g/1643689289/124/0x500003970ba02e6c/676cca6081b44a7ea5c725ab9bc611d8.mp4.m3u8?i=576x432_1298"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 46
[download] Destination: Гарик Мартиросян и Гарик Харламов - Кастинг на концерт ко Дню милиции [6216d548e755edae6e8280667d774791].mp4
[download] 100% of 59.40MiB in 00:19
WARNING: Unable to extract metadata: ffprobe not found. Please install or provide the path using --ffmpeg-location
[FixupM3u8] Fixing MPEG-TS in MP4 container of "Гарик Мартиросян и Гарик Харламов - Кастинг на концерт ко Дню милиции [6216d548e755edae6e8280667d774791].mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:Гарик Мартиросян и Гарик Харламов - Кастинг на концерт ко Дню милиции [6216d548e755edae6e8280667d774791].mp4" -map 0 -dn -ignore_unknown -c copy -f mp4 "-bsf:a" aac_adtstoasc -movflags "+faststart" "file:Гарик Мартиросян и Гарик Харламов - Кастинг на концерт ко Дню милиции [6216d548e755edae6e8280667d774791].temp.mp4"

But test:
python test/test_download.py TestDownload.test_Pladform

always failed on non fatal errors:
Click to expand
Traceback (most recent call last):
  File "test/test_download.py", line 170, in test_template
    res_dict = ydl.extract_info(
  File "C:\Dev\Work\udl\yt-dlp-ki\yt_dlp\YoutubeDL.py", line 1365, in extract_info
    return self.__extract_info(url, self.get_info_extractor(ie_key), download, extra_info, process)
  File "C:\Dev\Work\udl\yt-dlp-ki\yt_dlp\YoutubeDL.py", line 1392, in wrapper
    self.report_error(str(e), e.format_traceback())
  File "C:\Dev\Work\udl\yt-dlp-ki\yt_dlp\YoutubeDL.py", line 930, in report_error
    self.trouble(f'{self._format_err("ERROR:", self.Styles.ERROR)} {message}', *args, **kwargs)
  File "C:\Dev\Work\udl\yt-dlp-ki\yt_dlp\YoutubeDL.py", line 871, in trouble
    raise DownloadError(message, exc_info)
yt_dlp.utils.DownloadError: ERROR: [Pladform] 100231282: [Pladform] Unable to download XML: HTTP Error 404: Not Found; please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.; please
report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with
the --verbose flag and include its complete output.

----------------------------------------------------------------------
Ran 1 test in 0.568s

FAILED (errors=1)

Test configuration:
    {
        'url': 'http://out.pladform.ru/player?pl=18079&type=html5&videoid=100231282',
        'info_dict': {
            'id': '6216d548e755edae6e8280667d774791',
            'ext': 'mp4',
        },
    }

Add expected_warnings to the test dict. Examples: https://github.com/yt-dlp/yt-dlp/search?q=expected_warnings&type=code


Remove in ForAll return type issue?

Set(list, Table({ Name: "One", ID: 1}, { Name: "Two", ID: 2}))
Set(list2, Table(First(list)))
ForAll(list2, Remove(list, ThisRecord))
the return value of this expression:

if you get that value and try to iterate the fields on the row like this:

you get an exception:
{"InMemoryRecordValue.TryGetField(Value): Wrong field type. Returned b, expected *[ID:w, Name:s]."}
at Microsoft.PowerFx.Types.RecordValue.d__3.MoveNext()\r\n   at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)\r\n   at (my code)

Other functions are producing a similar error result:
ForAll(t, Coalesce(Blank()))


installation error on Windows

Hello,
I m trying  to "npm i minidump" on my project on Windows 10 and I got the following error :
690 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\xxxx\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "i"<EMAIL_ADDRESS>691 verbose node v10.15.0
692 verbose npm  v6.6.0
693 error path C:\xxx\node_modules\minidump\build\src\processor\minidump_stackwalk
694 error code ENOENT
695 error errno -4058
696 error syscall chmod
697 error enoent ENOENT: no such file or directory, chmod 'C:\xxx\node_modules\minidump\build\src\processor\minidump_stackwalk'
698 error enoent This is related to npm not being able to find a file.

I tested some workaround found on the web but nothing work...
Any idea ?
Thank you

Problem solve with npm install<EMAIL_ADDRESS>


tests integ: Linux Bridge over a bond

Check whether a linux bridge can be successfully
defined over a bond.

Hello contributor, thanks for submitting a PR for this project!
I am the bot who triggers "standard-CI" builds for this project.
As a security measure, I will not run automated tests on PRs that are not from white-listed contributors.
In order to allow automated tests to run, please ask one of the project maintainers to review the code and then do one of the following:

Type ci test please on this PR to trigger automated tests for it.
Type ci add to whitelist on this PR to trigger automated tests for it and also add you to the contributor white-list so that your future PRs will be tested automatically. ( keep in mind this list might be overwritten if the job XML is refreshed, for permanent whitelisting, please follow #3 option )
If you are planning to contribute to more than one project, maybe it's better to ask them to add you to the project organization, so you'll be able to run tests for all the organization's projects.

Coverage remained the same at ?% when pulling 744a9600243fdeea8771d1e8069be1857368e5af on Nandan307:linux_bridge_over_bond into 67966b16c23a6be804e5da1078a3377638d7f63a on nmstate:master.

Such a test already exists test_create_vlan_as_slave_of_linux_bridge.

That is for VLAN while this is for bond99


Licensing Issue

Hi,
Tree-dxf relies on @dxfom/mtext witch is delivered under GPL3 license. According to me, this requires Tree-dxf to be in the same GPL license.

ugh, I think you're right. Either we need to update our license to GPL or pull dxfom/mtext out. Thank you for pointing that out. I missed it


Add access test to test_output.cpp

Adds test for access to binary output file prior to project close.

Codecov Report

Merging #416 into dev will increase coverage by 0.21%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #416      +/-   ##
==========================================
+ Coverage   69.13%   69.35%   +0.21%
==========================================
  Files          22       22
  Lines        9766     9767       +1
==========================================
+ Hits         6752     6774      +22
+ Misses       3014     2993      -21

Impacted Files
Coverage Δ

src/smatrix.c
98.51% <0%> (-0.3%)
:arrow_down:

src/hydcoeffs.c
78.58% <0%> (-0.26%)
:arrow_down:

src/epanet.c
57.68% <0%> (+0.97%)
:arrow_up:

Continue to review full report at Codecov.

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

Adds test for new feature discussed in Issue #407 and merged in PR #408.


Partial text-styling?

Is there any way to do partial text styling?
So for example;
"[I][LOVE][PIXI]" could turn in to "I LOVE PIXI"

We are waiting for someone to port https://github.com/avgjs/pixi-richtext/ to pixi-v5. Its a community problem. Do you want to try? SDF stuff has to be moved to shader meshes.

https://github.com/tleunen/pixi-multistyle-text also exists and is pretty neat

I can try but sadly have no idea how shaders work. Let alone know what SDF is.
I'm planning on doing research on all of it later this month.

I can try but sadly have no idea how shaders work. Let alone know what SDF is.
I'm planning on doing research on all of it later this month.

^^ look up @themoonrat response

Good answer here: https://www.html5gamedevs.com/topic/44521-multi-style-text/?do=findComment&comment=247868

closing as examples for how to do this have been given!


test(ticdc): fix move table integration test

What problem does this PR solve?

Issue Number: ref #5301
What is changed and how it works?
fix move table integration test
Check List
Tests

Unit test

Integration test
Code changes

Has exported function/method change

Has exported variable/fields change

Has interface methods change

Has persistent data change

Side effects

Possible performance regression
Increased code complexity
Breaking backward compatibility

Related changes

Need to cherry-pick to the release branch
Need to update the documentation
Need to update key monitor metrics in both TiCDC document and official document

Release note
`None`.

/run-verify-test

/merge

/run-leak-test


Allow empty content type to pass validation.

Empty content in response definitions is now allowed.
openapi: "3.0.0"
info:
  title: Healthcheck
  version: '0.1.0'
paths:
  /health:
    get:
      responses:
        '200':
          description: pet response
          content: {}

Is, now acceptable.
Fixes #14

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (8e071d3) 100.00% compared to head (de0fbaa) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #15   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           18        18
  Lines         1005      1005
=========================================
  Hits          1005      1005

Flag
Coverage Δ

unittests
100.00% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

responses/validate_body.go
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


cleanup: update all groupids in pom.xml

Description

This is a cleanup done in preparation to the Q2-23 fixit
I am trying to fix all the incorrect GroupId usages in the pom xml to com.example.product.

@Shabirmean Let me know if we should force merge this change

Shabir Mohamed Abdul Samadh Let me know if we should force merge this change

Hmmm wonder why the builds failed. I forgot to check it before re-triggering. Ill have a look and see what are the issues! Let's not merge yet

The test currently failing already have issues open.

Perhaps the failing tests should be in a different PR that is approved as an exception?  And this could go as is.
(ie. this is too big to merge w/ failures, but I'm ok merging a smaller PR where you can say that the failures are being tracked elsewhere)

@lesv none of the changes here are causing the failure. The repo ahs been failing for a few days now given the Bigtable tests. @billyjacobson is working on a fix in this PR: #7875
I am waiting to see if that can be merged first and then we can merge this.

@Shabirmean SGTM.  But if you choose to force merge, or ask me to, it's better to do it in a few steps.

All good PR that can merge normally.
Individual PR(s) that need to be forced.

It makes it a bit easier to figure out what's happened later if someone ever has to figure it out.  It's more about making this easier for a possible future than anything to do with today.

Shabir Mohamed Abdul Samadh SGTM. But if you choose to force merge, or ask me to, it's better to do it in a few steps.

All good PR that can merge normally.
Individual PR(s) that need to be forced.

It makes it a bit easier to figure out what's happened later if someone ever has to figure it out. It's more about making this easier for a possible future than anything to do with today.

Ohh I see what you are suggesting. When you say "failing tests" you were referring moving the changes to the Bigtable pom to a different PR - so this PR passes the tests. I did't get it at first. Sorry. Yeah that makes sense.


test: add AppVersion tests

:tada: This PR is included in version 1.4.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


How can we delete a single message from the topic (we work with SAS token)

Hi,
We are unable to delete a specific message from service bus topic using tool -ServiceBusExplorer-5.0.15
we need help to delete certain message from below topic.

For example what will be the steps to delete 2nd message from above topic.
Please suggest if there is any way for the same.

Have you tried receiving by the message's sequence number?

Hi, when we receive message with 'Receive and Delete' mode, From sequence number option is disable.

It is not possible to remove any message except the first using the tool. It is possible to do that on dead letter queues though.
The reason for this is that the only solution I could come up with for doing this requires that the tool makes a peek lock on every message that is in front of the message you want removed and then abandons those locks. That causes the Delivery count to increase by one on every message that is in front of message that is going to be removed. That in turn may cause the message to be moved to the dead letter queue, which is probably not intended.
Perhaps it would be all right to implement it for normal with a nagging message describing the consequences... However, I currently don't have time to do that so you will have to create the PR for this yourself.


feat(clearRefinements): support multiple indices

Description
This implements multi-index context in ClearRefinements leveraging scopedResults (#3964).
A ClearRefinements widget now clears the refinements coming from its siblings and its children.
Implementation
init hook is now a noop
Since we now rely on the scopedResults given during render, init is a noop:

It considers there are no refinements
refine is a noop at this step
createURL is a noop at this step

This is the reason why some tests have change from hasRefinements: true to hasRefinements: false at init.
Attributes were not deduped
This didn't cause any issues for the usage of the connector but I still dedup them in the new implementation to avoid inconsistent state if we're to build on top on this feature.
In the story, if you select "Samsung", "Apple", and "Cell Phones", the result is:
// Old implementation
['brand', brand', 'categories']  // Length: 3 => hasRefinements === true
// New implementation
['brand', 'categories] // Length: 2 => hasRefinements === true

This is using uniq which is not very costly for the number of attributes that we need to dedup.
Example
search.addWidgets([
  instantsearch.widgets.clearRefinements({
    container,
  }),

  instantsearch.widgets
    .index({
      indexName: 'instant_search_price_asc',
    })
    .addWidgets([
      instantsearch.widgets.refinementList({
        container,
        attribute: 'brand',
      }),
    ]),

  instantsearch.widgets
    .index({
      indexName: 'instant_search_rating_asc',
    })
    .addWidgets([
      instantsearch.widgets.refinementList({
        container,
        attribute: 'categories',
      }),
    ]),
]);

Preview
Waiting for build...

Could you rebase? The history is a bit weird.

I think @Haroenv played around for Netlify to report the deployments. It should be fine now.


[feature-request] Add Webex message threads features

Hello,
This is possible to add a feature for webex receiver to allow to respond into a message thread when alert is resolved ?
Thanks

I'm not an expert of the Webex notifier but I'd expect that Alertmanager would need the id of the initial notification. Right now, notifiers are fire-and-forget and don't store any state.
cc @gotjosh


Assignment to DataFrame[column][row] does not work

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):

Ubuntu 19.10

Modin version (modin.__version__):

0.7.3+15.gc09e61f.dirty

Python version:

Python 3.7.5

Code we can use to reproduce:

import pandas as pd
import modin.pandas as mpd

pdf = pd.DataFrame([[1, 2], [4, 5], [7, 8]],
                   index=[0, 1, 2],
                   columns=['index', 'shield'])
mdf = mpd.DataFrame([[1, 2], [4, 5], [7, 8]],
                    index=[0, 1, 2],
                    columns=['index', 'shield'])

print(pdf['index'][0])
print(mdf['index'][0])

pdf['index'][0] = 1000
mdf['index'][0] = 1000

print(pdf['index'][0])
print(mdf['index'][0])

Describe the problem

When assignment is done to DataFrame[column][row] in Modin it has no effect. I think assignment is done to a copy of DataFrame[column] while the original contents of DataFrame[column] is not changed. It is possible to write assignment like this: col = DataFrame[column]; col[row] = value; DataFrame[column] = col and this works, but plain assignment to DataFrame[column][row] doesn't work as expected.
Source code / logs

@gshimansky This is likely because the __setitem__ in the Series is not propagating back to the _parent field. Series should have a _parent if it came from a DataFrame.

@devin-petersohn I implemented propagation in #1434 in a simple way just assigning self to self._parent[self.name]. I am not sure whether it is a correct what because before this assignment self and self._parent[self.name] are two different Series, they are different objects. Assignment makes _parent to refer to self and discards a copy that was present in parent dataframe.
Is it ok to do this or should be copy contents of self into self._parent[self.name] and keep two Series objects separate?

Yes, this is a complicated behavior for a couple of reasons. In short, we should be overwriting the original Series in the parent DataFrame.
The pandas behavior is to overwrite because we have a "view" instead of a copy, where when we edit the df["column"], it is manipulating the memory of the underlying structure. This is problematic for a number of reasons, but we have a functional underlying structure, so an operation always returns a new Modin query compiler.
If a copy is created, i.e. s = df["column"].copy(), the original will stay around, otherwise it will eventually be garbage collected.

Ok thanks. Then my change in #1434 is correct.


⚠ Processors has degraded performance

In a0fe86f, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 129 ms

Resolved: Processors performance has improved in 41b139b.


Show object name at top when drawing

BEGINRELEASENOTES

As requested by @kjvbrt here, now objects will draw their name at the top.
This will allow users to not get lost when exploring views with multiple datatypes. This way, they can know which object is which datatype according to this new title + color.

ENDRELEASENOTES

Nice :)
Is this showing the name of the collection or the collection type?
Can the name be a little more separated from the rest of the content. I mean vertical space between the name and the first line.

Otherwise LGTM.


update calculate_fid to support coco

we can scale the generation script arbitrarily to a few minutes for generation
the actual fid calculation library runs in around 17 minutes on 30k images. Probably not worth diving to deep on it to see if we can get it faster

Cool ,looking good, merging now!


Feature/0345 gcc6 warns

Submisison Checklist

[x] Run unit tests: ./runTests.py test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary:
Update code to remove warnings from gcc6 .
Intended Effect:
See summary.  There's a bit of a hack in stan/math/prim/scal/err/domain_error.hpp to remove the warnings.
How to Verify:
Run unit tests and grep for warnings
Side Effects:
No.
Documentation:
No.
Reviewer Suggestions:
Anyone.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
Columbia University
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

@syclik  Any idea if this is just a travis issue?  I can't figure out where the Travis job failed.  It has a build|passing chiclet at top (what does that mean?)  Then the one thing failing on build 1002 is something with this message:
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.

Is there a way to just kickoff the Travis job again?  I can't imagine this is a problem where the build really does staill for 10 minutes.

Yes, that's a Travis failure. It happens pretty frequently now.
Yes, you can restart that particular failed test if you're logged in.

On Aug 17, 2016, at 8:20 AM, Bob Carpenter<EMAIL_ADDRESS>wrote:
@syclik Any idea if this is just a travis issue? I can't figure out where the Travis job failed. It has a build|passing chiclet at top (what does that mean?) Then the one thing failing on build 1002 is something with this message:
No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
Is there a way to just kickoff the Travis job again? I can't imagine this is a problem where the build really does staill for 10 minutes.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks! Looks good.


[5.0] Use the slice method

The collection already has a slice method, so let's use that in forPage.

@GrahamCampbell what's up with scrutinizer?

Not sure, it's broken on lots of projects for pull requests atm. I assume the Scrutinizer team have just messed up somewhere?


Add workflows logs --latest command

Adds a --latest flag to workflows logs command that prints operation logs from the most recent workflow; an alternative to passing in a specific --workflow_id=[workflow-id]
Connects to #675

+1. My recent comment is but mere suggestion.


Some message cell backgrounds don't match system theme in MIDI Monitor when using dark mode on Big Sur

In Big Sur, when using dark mode, the messages list looks like this:

Some cells have backgrounds that don't match the system theme.

Thanks for noticing that.  Somehow it was never a problem before Big Sur.
Fix will be in the next release (fixed in commit 4c9e0e29).


retrievers: Similarity score threshold

Description: support MultiVectorRetriever similarity_score_threshold search type.
Issue: #23387

Will update related async fn tomorrow

Will update related async fn tomorrow

async done

@ccurme Please help merge, thanks.


fix(accessibility): Enable tabbing on sort header of table chart

SUMMARY

Add tabIndex attribute to 'th' tag in TableChart.tsx
Add keyboard event handler to trigger column sorting when 'Action' key is pressed on sort header

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

BEFORE:

AFTER:

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up

@yousoph I'll wait for you to 👍 on the UI changes before merging.