Connectors fails to authenticate to operate: Target host not specified

Describe the bug
In #928 ,  I described an issue where I could not use the docker compose deployment method on the latest 8.4 release of connectors.  This issue is quite similar, but with a different stacktrace.
I think the patch @jonathanlukas supplied in
https://github.com/camunda-community-hub/spring-zeebe/issues/928#issuecomment-2327969905
was helpful at getting around the first stacktrace, but this I feel is different.
Things that I've tried with no luck:

Setting CAMUNDA_OPERATE_CSRFPREVENTIONENABLED=false and CAMUNDA_TASKLIST_CSRFPREVENTIONENABLED=false environment variables in operate and tasklist respectively
Setting operate to be 8.4.11 along with connectors 8.4.10
Building a set of jar files of spring-zeebe with the patch @jonathanlukas suggested,  and building a connectors jar using that built dependency of spring-zeebe,   along with building  connectors docker image and using that with the docker compose file.

However, the error remains: Caused by: org.apache.hc.core5.http.ProtocolException: Target host is not specified
I suspect that it's not even trying to send an http request, because when I view the connectors pod in wireshark, I see no http requests.

To Reproduce

Expected behavior

Log/Stacktrace

Full Stacktrace

2024-09-05T02:08:41.397Z ERROR 1 --- [   scheduling-1] i.c.common.auth.SimpleAuthentication     : Authenticating for OPERATE failed due to org.apache.hc.client5.http.ClientProtocolException: Target host is not specified
2024-09-05T02:08:41.397Z ERROR 1 --- [   scheduling-1] i.c.c.r.i.i.ProcessDefinitionImporter    : Failed to import process definitions

java.lang.RuntimeException: Unable to authenticate
	at io.camunda.common.auth.SimpleAuthentication.retrieveToken(SimpleAuthentication.java:54)
	at io.camunda.common.auth.SimpleAuthentication.getTokenHeader(SimpleAuthentication.java:84)
	at io.camunda.common.http.DefaultHttpClient.retrieveToken(DefaultHttpClient.java:207)
	at io.camunda.common.http.DefaultHttpClient.post(DefaultHttpClient.java:148)
	at io.camunda.operate.CamundaOperateClient.searchProcessDefinitionResults(CamundaOperateClient.java:46)
	at io.camunda.connector.runtime.inbound.importer.ProcessDefinitionSearch.query(ProcessDefinitionSearch.java:72)
	at io.camunda.connector.runtime.inbound.importer.ProcessDefinitionImporter.scheduleImport(ProcessDefinitionImporter.java:55)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124)
	at io.micrometer.observation.Observation.observe(Observation.java:499)
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124)
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.runAndReset(Unknown Source)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.apache.hc.client5.http.ClientProtocolException: Target host is not specified
	at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:173)
	at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:245)
	at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:188)
	at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:162)
	at io.camunda.common.auth.SimpleAuthentication.retrieveToken(SimpleAuthentication.java:39)
	... 19 common frames omitted
Caused by: org.apache.hc.core5.http.ProtocolException: Target host is not specified
	at org.apache.hc.client5.http.impl.routing.DefaultRoutePlanner.determineRoute(DefaultRoutePlanner.java:66)
	at org.apache.hc.client5.http.impl.classic.InternalHttpClient.determineRoute(InternalHttpClient.java:120)
	at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:158)
	... 23 common frames omitted

Environment:

OS:
Deployment:
Spring-Zeebe Version:
SpringBoot Version:
Configuration:

I think I may have figured it out.  it appears #662 changed the configuration properties, and adding these env vars helped:
+      - CAMUNDA_CLIENT_MODE=simple
+      - CAMUNDA_CLIENT_AUTH_USERNAME=demo
+      - CAMUNDA_CLIENT_AUTH_PASSWORD=demo
+      - CAMUNDA_CLIENT_OPERATE_BASE_URL=http://operate:8080
+      - CAMUNDA_CLIENT_TASKLIST_BASE_URL=http://tasklist:8080

I'll try to get back to this topic tomorrow. I want to leave the tickets open for now until I get this patched up downstream (compose and maybe helm).

With the changes from #662 there is only 1 property to add:
+ CAMUNDA_OPERATE_CLIENT_BASEURL=http://operate:8080

@jonathanlukas that parameter has been around since 2022. After #662 ,  that parameter no longer works in 8.4.9 of connectors in docker-compose-core.yaml :
https://github.com/camunda-community-hub/spring-zeebe/blob/ef375370c2c326055b2e0d1078dd015ca8efe90b/spring-boot-starter-camunda/src/main/java/io/camunda/zeebe/spring/client/properties/OperateClientConfigurationProperties.java#L87-L92
The new parameter is CAMUNDA_CLIENT_OPERATE_BASE_URL. Was mentioning CAMUNDA_OPERATE_CLIENT_BASEURL a mistake? or is that parameter expected to work, but doesn't (indicating a code-bug).

I got it working locally :)
Reason: CAMUNDA_OPERATE_CLIENT_BASEURL refers to:
https://github.com/camunda-community-hub/spring-zeebe/blob/ef375370c2c326055b2e0d1078dd015ca8efe90b/spring-boot-starter-camunda/src/main/java/io/camunda/zeebe/spring/client/properties/OperateClientConfigurationProperties.java#L34
which is then taken as base url when configuring the authentication:
https://github.com/camunda-community-hub/spring-zeebe/blob/ef375370c2c326055b2e0d1078dd015ca8efe90b/spring-boot-starter-camunda/src/main/java/io/camunda/zeebe/spring/client/configuration/CommonClientConfiguration.java#L79

When you say that you got it working locally,  this kinda just sounds like you weren't able to reproduce my bug. Did you make a code change to make it work? or are you claiming that it always worked despite my bug report?

Using the latest 8.4 connectors-bundle works when adding this one env property :) no bug, just a messy config

Ok,  but adding that env property CAMUNDA_OPERATE_CLIENT_BASEURL does not work for me when I deploy from the docker-compose-core.yaml file on newer versions of connectors (8.4.9+).
Was your test setup an intellij / java-only install method ?

After discussing on  a  call with @jonathanlukas , we learned that I was improperly testing by not having both
CAMUNDA_OPERATE_CLIENT_BASEURL

and
CAMUNDA_OPERATE_CLIENT_URL

set at the same time. (in addition to the CSRF variable).  So we have 2 configuration syntax's , the old way (using CAMUNDA_OPERATE_CLIENT_BASEURL) and the new way using CAMUNDA_CLIENT_OPERATE_BASE_URL . and so far we think the best thing to do with affected areas of  compose / helm is to get things working using the old method, since we expect 8.6 will change other aspects of how components connect to eachother.
However, at this point, the only affected environment appears to be connectors 8.9 through connectors 8.11 with docker-compose on stable/8.4.   newer compose files don't have this issue for some unknown reason. If we find other environments that are broken for this reason, we can come back  to this issue and re-assess whether we should migrate to the new configuration syntax or if an additional code-change should be added.


release the rust-sdk to crates.io

Once this PR lands the following crates will be published to crates.io:

move-core-types
diem-crypto-derive
diem-crypto
diem-types
diem-transaction-builder
diem-json-rpc-types
diem-client
diem-sdk

All of these crates will initially be versioned by 0.0.X where each subsequent release will bump X. This is due to the fact that while we intend to have the core functionality be compatible with any current running networks (e.g. testnet) we aren't prepared to commit to a more stable API exposed from these crates. As such each release will be a breaking change semver release until we're able to better clean up and stabilize the APIs exported from these packages.

This PR may have modified JSON-RPC server code.
Breaking changes policy:

Chaning JSON-RPC method signatures or removing/modifying fields
in the response in /V1 will not be accepted.
Adding fields is ok.
Adding a new JSON-RPC method is ok.

Please ensure you have also done the following to update the docs:

Update json-rpc/API-CHANGELOG.md.
Add/update type/method documentation under json-rpc/docs.

LEC dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LSR dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

release binaries dependency change summary:
target packages:
  A diem-transaction-builder 0.0.1 (workspace, path 'client/transaction-builder')
    * features: default
  M diem-client 0.0.1 (workspace, path 'sdk/client')
    * version DOWNGRADED from 0.1.0
    * added features: ipnet
    * removed features: proxy
    * (unchanged features: blocking, ureq)
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-json-rpc-types 0.0.1 (workspace, path 'json-rpc/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  R transaction-builder-generated 0.1.0 (workspace, path 'client/transaction-builder')
    * (old features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LSR dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LEC dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

release binaries dependency change summary:
target packages:
  A diem-transaction-builder 0.0.1 (workspace, path 'client/transaction-builder')
    * features: default
  M diem-client 0.0.1 (workspace, path 'sdk/client')
    * version DOWNGRADED from 0.1.0
    * added features: ipnet
    * removed features: proxy
    * (unchanged features: blocking, ureq)
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-json-rpc-types 0.0.1 (workspace, path 'json-rpc/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  R transaction-builder-generated 0.1.0 (workspace, path 'client/transaction-builder')
    * (old features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LSR dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LEC dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

release binaries dependency change summary:
target packages:
  A diem-transaction-builder 0.0.1 (workspace, path 'client/transaction-builder')
    * features: default
  M diem-client 0.0.1 (workspace, path 'sdk/client')
    * version DOWNGRADED from 0.1.0
    * added features: ipnet
    * removed features: proxy
    * (unchanged features: blocking, ureq)
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-json-rpc-types 0.0.1 (workspace, path 'json-rpc/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  R transaction-builder-generated 0.1.0 (workspace, path 'client/transaction-builder')
    * (old features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LSR dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LEC dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

release binaries dependency change summary:
target packages:
  A diem-transaction-builder 0.0.1 (workspace, path 'client/transaction-builder')
    * features: default
  M diem-client 0.0.1 (workspace, path 'sdk/client')
    * version DOWNGRADED from 0.1.0
    * added features: ipnet
    * removed features: proxy
    * (unchanged features: blocking, ureq)
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-json-rpc-types 0.0.1 (workspace, path 'json-rpc/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  R transaction-builder-generated 0.1.0 (workspace, path 'client/transaction-builder')
    * (old features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

I get that you need to move workspace-hack to dev-deps in order to have crates.io ignore it, but won't this mean it won't be
as effective? It will no longer normalize 3p dep feature edges on normal dependencies right?
Is there some other way we plan to mitigate this?

Yes that's true that it won't be as effective if you're not running test builds, but given that its a currently small subset of crates I figured it would be an acceptable loss. Really the solution would be to no include workspace-hack in any tomls and instead have x implicitly add it during builds.

/land

LSR dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

LEC dependency change summary:
target packages:
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])

release binaries dependency change summary:
target packages:
  A diem-transaction-builder 0.0.1 (workspace, path 'client/transaction-builder')
    * features: default
  M diem-client 0.0.1 (workspace, path 'sdk/client')
    * version DOWNGRADED from 0.1.0
    * added features: ipnet
    * removed features: proxy
    * (unchanged features: blocking, ureq)
  M diem-crypto 0.0.1 (workspace, path 'crypto/crypto')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default, fiat)
  M diem-json-rpc-types 0.0.1 (workspace, path 'json-rpc/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])
  M diem-types 0.0.1 (workspace, path 'types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  M move-core-types 0.0.1 (workspace, path 'language/move-core/types')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: default)
  R transaction-builder-generated 0.1.0 (workspace, path 'client/transaction-builder')
    * (old features: default)

host packages:
  M diem-crypto-derive 0.0.1 (workspace, path 'crypto/crypto-derive')
    * version DOWNGRADED from 0.1.0
    * (unchanged features: [none])


some problems about t-sne

Hello, I have read your article and thank you for sharing such an excellent method. Regarding the output results of using t-sne visualization in the article, I have reproduced it, but the effect is quite different from that in the article. I am not sure if there is a problem with the parameter settings or other aspects. If it is convenient, I would like to refer to your code implementation on the t-sne part. Your positive reply will be highly appreciated. Email<EMAIL_ADDRESS>

sorry for my late reply!
The code for t-sne have been sent to your email.

Thank you very much!

@yaoing Would you please send me the code for TSNE? I am facing the same problem.
My email<EMAIL_ADDRESS>

Thanks for you interest! It's my experimental code, it may look chaotic.
------------------ 原始邮件 ------------------
发件人:                                                                                "yaoing/DAN"                                                                                @.>;
发送时间: 2022年2月26日(星期六) 下午3:12
@.>;
<EMAIL_ADDRESS>主题: Re: [yaoing/DAN] some problems about t-sne (Issue #4)
@yaoing Would you please send me the code for TSNE? I am facing the same problem.
My email: @.***
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned.Message ID: @.***>

Would you please send me the code for TSNE? I am facing the same problem.


Added Hover on About Cards

Description
Added Card Style.
Related Issues

Closes #1130

Type of PR

[x] Feature

Screenshots / videos (if applicable)

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

@varshith257 Please check it and merge !
Thank You !


Analyzing Performance Differences: Cardano-DB-Sync 13.0.5 vs. <IP_ADDRESS> - What's Causing the 10-Minute Delay?

**Versions**
The `db-sync` version (eg `cardano-db-sync --version`): <IP_ADDRESS>
PostgreSQL version: 11.18-alpine
Additional context
I have this query in sql
SELECT    "txOut"."value" ,    "maTxOut"."quantity" FROM  "block" "blocks"    INNER JOIN "tx" "tx" ON "tx"."block_id" = "blocks"."id"    INNER JOIN "tx_out" "txOut" ON "txOut"."tx_id" = "tx"."id"    INNER JOIN "ma_tx_out" "maTxOut" ON "maTxOut"."tx_out_id" = "txOut"."id"    LEFT JOIN "tx_metadata" "txMetadata" ON "txMetadata"."tx_id" = "tx"."id"  WHERE   "maTxOut"."ident" = 8043843    AND tx.script_size = '8842'    AND "txOut"."stake_address_id" IS NOT NULL    AND "txOut"."value" > 10000000    AND "txOut"."address_has_script" = TRUE    ORDER BY    "blocks"."time" DESC  LIMIT    1
Problem Report
With cardano-db-sync 13.0.5 it took 600ms, to get the result which should be none( empty fields), but with the version <IP_ADDRESS>  it takes over 10 minutes, what  changes are causing this issue
The analyze screenshot is done with version 13.0.5, with version <IP_ADDRESS> it will time out in PSequel

I haven't been through all the details, but it's usually missing indexes. We have a policy to keep only necessary indexes and users can add their own.

Yes that was the issue


fp16 inference with onnxruntime backend

Hi,
I tried to run the bert example shown in readme for fp16 inference by changing https://github.com/huggingface/optimum-benchmark/blob/main/src/backend/onnxruntime.py#L78 to fp16: True, but the resulting throughput I got is similar to the false case. Is it expected or I should set fp16 somewhere else?
Here is the command I ran:
python3 main.py --config-name bert backend=onnxruntime device=cuda
Thanks.

There are multiple fp16 features, one of them is fp16 weights which is accessible during the torch->onnx through backend.torch_dtype.
The other one is onnxruntime's fp16 optimization which will downcast some ops (also referred to as mixed precision) https://onnxruntime.ai/docs/performance/model-optimizations/float16.html#mixed-precision
depending on the setting/model size/weights datatype you might or might not notice throughput improvements.
for example for small models, or if you're comparing to a model that's fully exported in float16.

Thanks @IlyasMoutawwakil for the quick reply! Does the second way match the change I did in the description? For these two methods, are they  both effective on both onnxruntime and pytorch backend, or backend.torch_dtype for pytorch and the fp16 setting for onnxruntime?
I am curious about the results shown on the leaderboard https://huggingface.co/spaces/optimum/llm-perf-leaderboard. For example for distilgpt2, how did we get the fp16 result for pytorch and onnxruntime? Did they use the torch_dtype setting or fp16 setting in ORT optimization? It is very appreciated if you could share the commands to reproduce these results. Thanks.

Yes the second method corresponds to the change you made.
For pytorch you can use backend.torch_dtype=float16 to downcast weights and/or backend.amp_autocast=true to downcast some ops (mixed precision).
Equivalently, for onnxruntime it's also backend.torch_dtype=float16 (used during export) and/or backend.optimization_config.fp16=true.
For the llm-perf I'm using config templates like this one for oonnxruntime with float16 weights:
defaults:
  - backend: onnxruntime # default backend
  - benchmark: inference # default benchmark
  - experiment # inheriting from experiment config
  - _self_ # for hydra 1.1 compatibility
  - override hydra/job_logging: colorlog # colorful logging
  - override hydra/hydra_logging: colorlog # colorful logging

hydra:
  run:
    dir: llm-experiments/{experiment_name}
  job:
    chdir: true

experiment_name: {experiment_name}

model: {model}
cache_kwargs:
  revision: {revision}
  use_auth_token: true
  trust_remote_code: true

device: cuda

backend:
  no_weights: true
  use_merged: true
  delete_cache: true
  torch_dtype: float16

benchmark:
  memory: true

  input_shapes:
    batch_size: 1
    sequence_length: 1

  new_tokens: 1000

The use of full float16 "downcasting" instead of mixed precision is justified by the fact that most of these models/LLMs are either pretrained in float16 or bfloat16 (which are generally computationally equivalent). Probably not the case for distilgpt2 but for the big ones it's the case.


doc: add load balancing usage

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #2069, Fix #3743

/retest


Update 2028-01-03-sidechains.md

Changes "Ones" to "Once" in "Ones the mainchain".

Report from Zamiwes#5800 on Discord: https://discordapp.com/channels/334085157441110017/363889552768892939/733465193128001577

Closing this one. Manon has a PR for the same.


feat(dialects): add helm dialect

A cleaner version of https://github.com/ngalaiko/tree-sitter-go-template/pull/15
There are no changes to the grammar.js beside the introduction of the make_grammar function.

Nice work! I had to make some weird lua code for my nvim conf to work but this should save some time.

This looks promising! thank you! how can I integrate this with my Neovim setup? does that change the installation instructions at all?


Enhancements: Application Volume Parameters

Can the application volume parameters (or something equivalent) be extended to support the following:

Ability to name the volume that is created for the container.
Ability to specify attachment of a specific volume (i.e. don't assume a new volume needs to be created every time the app is deployed).

You can do this with flocker docker plugin today.
docker volume create --name=yourvolumename -d flocker
docker run -v yourvolumename:/path/in/container ...

The original enhancement was not specific enough (my bad). The request is directed to the Flocker yml file attributes available for defining the containerized application. How would one do this via the Flocker deployment application yml file? Maybe those attributes are just missing from the Flocker documentation or I missed them, here https://docs.clusterhq.com/en/1.6.1/control/cli/application-config.html

thanks I have re-opened this one.

@garthmbooth as a note, using flocker-deploy will be going away, please user our integrations with docker cli and this way you can use docker compose directly with all attributes.


Unable to use Microsoft.Azure.Mobile.Server.Swagger with custom authentication

Hi! I've installed Swagger according to this wiki page https://github.com/Azure/azure-mobile-apps-net-server/wiki/Adding-Swagger-Metadata-and-Help-UI-to-a-Mobile-App, but the problem is that I'm using custom authentication in my app, so I need to provide a header "x-zumo-auth" with a value of API key. Is it possible to make Swagger send this header with a key I provide somewhere in UI?

You'll need to do some customization but yeah that should be possible. Just so I'm clear -- you don't want the login behavior that currently logs you in via Facebook/Microsoft/etc, and instead you'd like to enter a string somewhere that gets put into x-zumo-auth? And that API key is a static string that doesn't require any logging in?

No, it's not static, I've made my custom implementation of login using Microsoft.Azure.Mobile.Server.Login, this article http://www.newventuresoftware.com/blog/custom-authentication-with-azure-mobile-apps and this part of App Service documentation https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-backend-how-to-use-server-sdk/#how-to-work-with-authentication
String is not static and user acquires it via API. There is custom Auth API controller, client POSTs login data to it and API generates JwtSecurityToken

Could anybody provide definition of LoginResult and LoginResultUser class. I cannot figure out how them should look like. I've tried many times and always I get NullReference Exception after call LoginAsync of MobileAzureClient.

The LoginResult and LoginResultUser are documented in my book - http://aka.ms/zumobook - direct link: https://github.com/adrianhall/develop-mobile-apps-with-csharp-and-azure/blob/master/Chapter2/Backend/Models/LoginResult.cs


Bug: Use Checkstyle file error

Describe the bug
I'm using the checkstyle configuration in the project to import Google's optional error incorrect import order,
Sample

I'm using the checkstyle configuration in the project to import Google's optional error incorrect import order,
I'm using the checkstyle configuration in the project to import Google's optional error incorrect import order, import com.google.common.base.Optional;
 import com.netflix.loadbalancer.ILoadBalancer;

result
<error line="24" column="1" severity="error" message="非法导入： com.google.common.base.Optional 。" source="com.puppycrawl.tools.checkstyle.checks.imports.IllegalImportCheck"/>
</file>

I don't understand why this is a bug. This is for internal spring cloud projects

I don't understand why this is a bug. This is for internal spring cloud projects

I don't understand. What do you mean?

I don't understand why this is a bug. This is for internal spring cloud projects

What I mean is that I used the checkstyle configuration in the project in the spring cloud alibaba project. When I imported Google's optional api, he reported such an error? Spring cloud alibaba is not considered a spring cloud project?

spring-cloud-build is for projects under the spring-cloud GitHub org and not for general use. We specifically don't allow some Google projects and won't be changing it. I'd recommend using a custom patent pom since spring cloud Alibaba is not part of the spring cloud release train

spring-cloud-build is for projects under the spring-cloud GitHub org and not for general use. We specifically don't allow some Google projects and won't be changing it. I'd recommend using a custom parent pom since spring cloud Alibaba is not part of the spring cloud release train

okay, got it.


docs: Minor corrections for documentation

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Fixes minor mistakes in the documentation.

What is the current behavior? (You can also link to an open issue here)
N/A

What is the new behavior (if this is a feature change)?
N/A

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
N/A

Other information:

Thanks again, @alexfreska ^_^

:tada: This PR is included in version 4.7.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Error: Sorry, I can't start the sniffer, it says 'undefined'

I just npm install -g htracr it and started with htracr 8080 then opened http://localhost:8080 in Chrome and clicked on Start

Same problem here. Ubuntu 12.04 LTS, venet0

Also tried on Ubuntu 14.04, this time "start" is broken, also upload got redirected to a blank page,
shell shows
Processing upload file: /tmp/upload_6b431bab0d6a629acdbd3db3fcf60e94
Upload processing error: TypeError: undefined is not a function

Do we have any solution to this? I also get the same error in Mac

Same problem here. Did you solve the problem? @est @nobso

Oh, I solve the problem! @est @nobso
I traced the code of htracr, find that there are some problems of pcap,
the package.json of htracr wrote "pcap": ">=0.2.8", when we run npm install，it will download<EMAIL_ADDRESS>whick changed the output format packet.payload.payload not packet.link.ip
then i modify the package.json "pcap": "1.2.0", it works.
by the way i downgrade the version of node to v0.10.28 and the npm to 1.4.9 to install the node-pcap, (^ - ^)

pcap seems to be a bit of a mess right now :-/ -- am waiting for it to settle down.


Is this a typo in normalization.py?

line14~line17:
 target_img = cv2.imread('./data/target/train/train_label/00001.png')[:,:,0]
 target_img_rgb = cv2.imread('./data/target/train/train_img/00001.png')
 source_img = cv2.imread('./data/target/train/train_label/00001.png')[:,:,0]
 source_img_rgb = cv2.imread('./data/target/train/train_img/00001.png')

I think source images and target images are not supposed to be the same.
Am I right?

I was wondering the same... @iluvrachel did the normalization step work? I still didn't proceed to "step 5" because I wonder I will train on un-normalized labels :(

I was wondering the same... @iluvrachel did the normalization step work? I still didn't proceed to "step 5" because I wonder I will train on un-normalized labels :(

I encountered the same question and stopped for weeks. Have you figured it out and can you share your ideas about that? Thank you!


Custom settings are not saved due to newly introduced settings validation

Description
Custom settings fields (options) created using the auth0_settings_fields filter created as described in the documentation are not saved in the database upon saving changes in the Auth0 Settings.
I've tracked down the issue to the new validation done to settings where non-default option keys are unset.
// Remove unknown keys.
$option_keys = $this->a0_options->get_defaults( true );
foreach ( $input as $key => $val ) {
    if ( ! in_array( $key, $option_keys ) ) {
        unset( $input[ $key ] );
    }
}

There's currently no filter for the validation done here so the only way around this at the moment is to disable this validation.
Reproduction
Create a custom settings via the auth0_settings_fields filter as described here.
Go the Auth0 Settings in WP admin, input something in the custom field and Save Changes. Notice changes to the custom settings are not saved, instead the field is empty. Verify this by checking the value on the option wp_auth0_settings in the database.
To fix, comment out lines 99 to 104 in lib/admin/WP_Auth0_Admin.php.
Update setting again in WP admin and verify the custom setting is saved.
Environment

v 4.0.0-beta

@nturbanov - Apologies for the trouble and I appreciate the detailed report here. We'll look into a fix right away.


Improvement for readme and possible back-end error

Hello.
I cloned it and executed npm install, bower install and then gulp build.
The app is accessible at http://localhost:5000 but only the front-end appears to be working. When I try to register a new CRM user I get stucked at http://localhost:5000/create the "Sign Up" button does nothing.
I would like to suggest you to describe better this part of readme:
Configure your domain in host file and point to <IP_ADDRESS>:80
Update domain name, database prefix in config.json

(If I skip this, should the system work in the same way?)
Finally:
How can I make direct calls to REST api (for test purpose)?
Thanks.

I second OP's post. What exactly are the necessary changes for the hosts file (I'm assuming you mean /etc/hosts) and config.json w.r. to the domain name, database prefix?


[FEATURE] v2 volume supports volume backup/restore

Is your feature request related to a problem? Please describe (👍 if you like this request)
SPDK volumes support volume incremental/delta backup, and full/incremental (DR) restore.
Sub-tasks

[x] LEP

https://github.com/longhorn/longhorn/pull/6480

[x] SPDK bdev_lvol_get_fragmap JSON-SPDK method

https://github.com/longhorn/spdk/pull/17

[x] SPDK lvol get and set xattr operations and snapshot lvol creation timestamp

https://github.com/longhorn/longhorn/issues/6604

[x] Move common functions for backup to backupstore lib

https://github.com/longhorn/longhorn/issues/6514

[x] Abstract the disk/lvol file operations in backupstore

https://github.com/longhorn/longhorn/issues/6576

[x] Backup implementation
[x] Restore implementation

[x] Full restore
[ ] Incremental restore (not in the scope of the ticket)

[x] UI improvement

https://github.com/longhorn/longhorn/issues/6597

Describe the solution you'd like
A clear and concise description of what you want to happen
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Verified passed on master-head (longhorn-manager 970ba44) following the test plan.

@yangchiu Have we tested the below scenarios:
Backup:

Interrupting the v2 backup by deleting the replica responsible for backup when backup is in progress.
Taking two v2 volumes's backups together.
Triggering two v2 backups from two snapshots of same volume together.
v2 Backup creation and backup deletion at same time.
V2 Backup on S3 and NFS backupstore.
Corrupting the backups on backupstore and verifying the state in Longhorn.
Taking Backup after a failed backup creation.
Some similar edge cases as above.

Restore:

Restoring v1 volume backup crated in 1.5.x to v2 volume.
Interrupt v2 restore by crashing the IM or rebooting the attached node.
Restoring of v2 volume and deleting the same backup at same time.
Consequently restoring after the step3.
Restoring backup on another cluster.
Randomly delete some blocks on backup in backupstore and try to restore the corrupted backup and restoring of subsequent backup.

Backup:
1. Interrupting the v2 backup by deleting the replica responsible for backup when backup is in progress.

https://github.com/longhorn/longhorn/issues/7573 https://github.com/longhorn/longhorn/issues/7574 https://github.com/longhorn/longhorn/issues/7575

2. Taking two v2 volumes's backups together.

Pass

3. Triggering two v2 backups from two snapshots of same volume together.

Pass

4. v2 Backup creation and backup deletion at same time.

Pass

5. V2 Backup on S3 and NFS backupstore.

Pass

6. Corrupting the backups on backupstore and verifying the state in Longhorn.

https://github.com/longhorn/longhorn/issues/7583

7. Taking Backup after a failed backup creation.

Pass

8. Some similar edge cases as above.

Restore:
1. Restoring v1 volume backup crated in 1.5.x to v2 volume.

Pass

2. Interrupt v2 restore by crashing the IM or rebooting the attached node.

https://github.com/longhorn/longhorn/issues/7579 https://github.com/longhorn/longhorn/issues/7581

3. Restoring of v2 volume and deleting the same backup at same time.
4. Consequently restoring after the step3.

https://github.com/longhorn/longhorn/issues/7584

5. Restoring backup on another cluster.

Pass

6. Randomly delete some blocks on backup in backupstore and try to restore the corrupted backup and restoring of subsequent backup.

https://github.com/longhorn/longhorn/issues/7583

@yangchiu For the above tests, if not covered in automation yet, create a ticket for that.

Related issues tracked by https://github.com/longhorn/longhorn/issues/6138#issuecomment-1882182519. Close this for now.


Webpack not generating 0.chunk.js for lazy loaded module

Please provide us with the following information:

OS?
Windows 10
Versions.
angular-cli: 1.0.0-beta.18
node: 4.6.0
os: win32 x64
webpack 2.1.0-beta.25 (found in build results)
Repro steps.

Create a new app following install directions on angular-cli site page.
Used ng g module <module.name> to generate 3 modules.
Used a combination of John Papa's pluralsight and angular.io tutorials to configure routing with one route setup to lazy load.
At design time ng build & ng serve show no errors.
At runtime the error listed below is shown in the console when trying to navigate to the lazy loaded route.

At build time, I notice that there is no 0.chunk.js file created.  In reading through other issues (#2112) that mention this problem, a solution is often given that says the module must be referenced somewhere else in the application.  I have gone through every module and component in the app and can find nothing that is attempting to import my admin.module, which I believe is supported by the error messages below.
The log given by the failure (from Chrome Developer Tools, Console window)
error_handler.js:47
EXCEPTION: Uncaught (in promise): Error: Cannot find module 'app/admin/admin.routing.module'.
Error: Cannot find module 'app/admin/admin.routing.module'.
at webpackEmptyContext (http://localhost:4200/main.bundle.js:44890:8)
at SystemJsNgModuleLoader.loadAndCompile (http://localhost:4200/main.bundle.js:52734:40)
at SystemJsNgModuleLoader.load (http://localhost:4200/main.bundle.js:52727:60)
at RouterConfigLoader.loadModuleFactory (http://localhost:4200/main.bundle.js:17422:128)
at RouterConfigLoader.load (http://localhost:4200/main.bundle.js:17414:81)
at MergeMapSubscriber.project (http://localhost:4200/main.bundle.js:55360:111)
at MergeMapSubscriber._tryNext (http://localhost:4200/main.bundle.js:12064:27)
at MergeMapSubscriber._next (http://localhost:4200/main.bundle.js:12054:18)
at MergeMapSubscriber.Subscriber.next (http://localhost:4200/main.bundle.js:394:18)
at ScalarObservable._subscribe (http://localhost:4200/main.bundle.js:26846:24)
error_handler.js:53
Error: Uncaught (in promise): Error: Cannot find module 'app/admin/admin.routing.module'.
Error: Cannot find module 'app/admin/admin.routing.module'.
at webpackEmptyContext (src async:2)
at SystemJsNgModuleLoader.loadAndCompile (system_js_ng_module_factory_loader.js:45)
at SystemJsNgModuleLoader.load (system_js_ng_module_factory_loader.js:38)
at RouterConfigLoader.loadModuleFactory (router_config_loader.js:40)
at RouterConfigLoader.load (router_config_loader.js:32)
at MergeMapSubscriber.project (apply_redirects.js:215)
at MergeMapSubscriber._tryNext (mergeMap.js:110)
at MergeMapSubscriber._next (mergeMap.js:100)
at MergeMapSubscriber.Subscriber.next (Subscriber.js:89)
at ScalarObservable._subscribe (ScalarObservable.js:49)
at resolvePromise (zone.js:468)
at zone.js:445
at ZoneDelegate.invoke (zone.js:232)
at Object.onInvoke (ng_zone_impl.js:43)
at ZoneDelegate.invoke (zone.js:231)
at Zone.run (zone.js:114)
at zone.js:502
at ZoneDelegate.invokeTask (zone.js:265)
at Object.onInvokeTask (ng_zone_impl.js:34)
at ZoneDelegate.invokeTask (zone.js:264)
zone.js:388
Unhandled Promise rejection: Cannot find module 'app/admin/admin.routing.module'. ; Zone: angular ; Task: Promise.then ; Value: Error: Cannot find module 'app/admin/admin.routing.module'.(…) Error: Cannot find module 'app/admin/admin.routing.module'.
at webpackEmptyContext (http://localhost:4200/main.bundle.js:44890:8)
at SystemJsNgModuleLoader.loadAndCompile (http://localhost:4200/main.bundle.js:52734:40)
at SystemJsNgModuleLoader.load (http://localhost:4200/main.bundle.js:52727:60)
at RouterConfigLoader.loadModuleFactory (http://localhost:4200/main.bundle.js:17422:128)
at RouterConfigLoader.load (http://localhost:4200/main.bundle.js:17414:81)
at MergeMapSubscriber.project (http://localhost:4200/main.bundle.js:55360:111)
at MergeMapSubscriber._tryNext (http://localhost:4200/main.bundle.js:12064:27)
at MergeMapSubscriber._next (http://localhost:4200/main.bundle.js:12054:18)
at MergeMapSubscriber.Subscriber.next (http://localhost:4200/main.bundle.js:394:18)
at ScalarObservable._subscribe (http://localhost:4200/main.bundle.js:26846:24)
zone.js:390
Error: Uncaught (in promise): Error: Cannot find module 'app/admin/admin.routing.module'.(…)consoleError @ zone.js:390_loop_1 @ zone.js:417drainMicroTaskQueue @ zone.js:421ZoneTask.invoke @ zone.js:339
Mention any other details that might be useful.
I have tried all the advice from Issue #2112, but wasn't successful.  I zipped and attached my project (minus the node_modules, of course).  Any guidance you can provide would be appreciated, thanks!
NotLazyLoading.zip

So i made a few edits to the files, in your app-routing.module.ts you specified "AdminRoutingModule" and were linking to the admin-routing.module file instead of AdminModule and admin.module, this appears to have made it work for me, but note that you have to restart your ng serve process because it won't pickup the module until after you restart ng serve.
Also i noticed you marked this as angular-cli beta 18, but the package.json's devDependencies says beta 17, not that it should have impacted much, but just worth noting.
Also you should be able to safely upgrade all your angular 2.0.0 references in the package.json to angular 2.1.1 (latest release) but it shouldn't impact any of the lazy loading to my knoweldge.

That was it!  After staring at the files for so long I was missing the forest for the trees...  Really appreciate your help!

Great investigation work @Destreyf!


Not able to require the styles?

Getting a Uncaught Error: Cannot find module './styles/docco' for
import SyntaxHighlighter from 'react-syntax-highlighter';
const Component = () => {
  const codeString = '(num) => num + 1';
  return <SyntaxHighlighter language='javascript' stylesheet='docco'>{codeString}</SyntaxHighlighter>;
}

Hey @hemanth , what are you currently using to bundle your code? Currently this module requires webpack because of the use of dynamic require statements , but i'm exploring ways to get away from that.

@conorhastings Just noticed, I am using browserify.


fix: get wrong url when loadUrl startsWith file

 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.jinfangcheng seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Allow for isolates to share memory of immutable objects

As far as I understand from the docs, a SendPort will copy the data being transmitted to the ReceivePort, while Isolate.exit() won't copy the data, just pass the object reference to the original Isolate, if both are on the same Isolate Group.
I believe there might be a chance to improve the performance further. If we annotate a class with @immutable, in theory that object could be shared with multiple threads, so we could send it to another Isolate without copying it.
I imagine there might be other complications behind the scenes, but I wanted to suggest if there's a way for us to improve the performance for Isolates.
I thinking about a use case for my trading app, where I need a separate Isolate to receive low latency, real time stock data, parse it into immutable objects, and send them to the main Isolate.

Please refer to https://github.com/dart-lang/language/issues/125 for a discussion on this feature.

Thanks @a-siva, I will close this one then.


add rel="dns-prefetch" to google tag manager

Hi, is there a way to add dns-prefetch to GTM ? I want to increase web speed
example:
link rel="dns-prefetch" href="https://www.googletagmanager.com/"
link href="https://www.googletagmanager.com/gtag/js?id=myappid" rel="preload" as="script"

+1 Any update on this?

Not the same, but related....I would like to use this module with Partytown and need to figure out how to set the script type to text/partytown so that all GTM scripts run in web worker. Thanks!

Not the same, but related....I would like to use this module with Partytown and need to figure out how to set the script type to text/partytown so that all GTM scripts run in web worker. Thanks!

Similar problem. I tried to manually insert the script into the project using partytown, but it simply does not appear in the container, although it is present in the code itself.
Are there any solutions for launching gtm through a webworker? Since this greatly affects speedpage performance, it is impossible to optimize the site.


Remove free / reduced lunch (income status) from all views except school

This PR implements #1099.
Removed column from:
Homeroom view
Section View
Removed demographic attribute from:
Student Profile
Student Report (pdf)

Checked in IE11, looking good! ✅


mitmweb opens chrome even if other web browser is set as default

Problem Description
mitmproxy (mitmweb), by default, opens chromium on my system.
I don't want to open chrome or chromium, I use a different browser, which I also set as the default for my system (so e.g. xdg-open correctly resolves it).
If I'm reading correctly, the browser addon doesn't even check for any other browser than Chrome or chromium, and just fails if it cannot find them: https://github.com/mitmproxy/mitmproxy/blob/af3dfac85541ce06c0e3302a4ba495fe3c77b18a/mitmproxy/addons/browser.py
I don't really see a reason for this behavior, the mitmweb UI works just fine in, for instance, Firefox, and other Blink-based browsers (such as Brave or Opera) would not be found either using this method.
I would suggest using the webbrowser module (present in the Python standard library), which not only does the right thing if chromium is present but a different browser is set as default, it also simplifies the whole script and removes the need to update it, in case the install path for Chrome/ium were to change in the future.
Steps to reproduce the behavior:

Run mitmweb
Chromium opens

System Information
Mitmproxy: 6.0.2
Python:    3.9.1
OpenSSL:   OpenSSL 1.1.1i  8 Dec 2020
Platform:  Linux-5.10.5-arch1-1-x86_64-with-glibc2.32

The code you are looking at is only used if you manually run the browser.start command. It must be Chrome/Chromium there as we instruct it with specific command line flags.
You are probably talking about the browser automatically opened on startup? That is handled mitmproxy.tools.web.webaddons: https://github.com/mitmproxy/mitmproxy/blob/af3dfac85541ce06c0e3302a4ba495fe3c77b18a/mitmproxy/tools/web/webaddons.py#L35-L61.
IIRC we don't have xdg-open in the list there because that used to open lynx on older Ubuntu servers? I'm not exactly sure. Given that it's not documented, I'd be happy to merge a PR that just adds it. There is a residual risk that someone will come and complain and we have to undo it, but I'm willing to try that out. :)

The code you are looking at is only used if you manually run the browser.start command. It must be Chrome/Chromium there as we instruct it with specific command line flags.
You are probably talking about the browser automatically opened on startup? That is handled mitmproxy.tools.web.webaddons: https://github.com/mitmproxy/mitmproxy/blob/af3dfac85541ce06c0e3302a4ba495fe3c77b18a/mitmproxy/tools/web/webaddons.py#L35-L61.
IIRC we don't have xdg-open in the list there because that used to open lynx on older Ubuntu servers? I'm not exactly sure. Given that it's not documented, I'd be happy to merge a PR that just adds it. There is a residual risk that someone will come and complain and we have to undo it, but I'm willing to try that out. :)


Waveform is not drawn in annotations when pixelRatio set to default on retina display

I am running into issues in your annotations example and setting pixelRatio: 2. The waveform is not drawn at all, only inside the minimap. When I set pixelRatio back to 1 it works fine. Is there any workaround for retina displays?

Here is the line of code I modified in examples/annotation/app.js:
    wavesurfer.init({
        container: '#waveform',
        height: 100,
        pixelRatio: 2,  // instead of `1` as set in the example
        ...
    });

The waveform on that page is very big, so it gets over size restrictions in Canvas. I have one idea though, stay tuned for a patch.

Great, thanks for giving it some thought, I am curious about your approach? I will definitely watch out for some updates.
Interestingly the MiniMap shows the waveform. The average duration of most of the media files I am going to be dealing with could be more than 20 mins in length (more like 60 mins), would that be a problem?
Are there any other measures you can think of that I can take to prevent over size restricting on canvas? For example, reducing the waveform pre-calculated sampling rate? Currently, I am using 30 samples per second, shall I try to use less? Would reducing audio quality change anything?

@katspaugh Let me know if I can help in any way or if there are any quick wins? Currently, any audio >20 minutes is not displayed correctly. That's a blocker in the app I am working on right now. I understand, that the workaround is setting the pixelRatio to 1, which, I estimate, would work for audio up to 40 mins.

The trick I had in mind didn't work. A proper solution will be tracked here: #512. See also #458.

Sorry to hear that it didn't work. Thanks for the pointers. Multiple consecutive canvases with chunked audio? You can probably go ahead and close this issue.


Clean up 'GetTypeInfo()' calls in engine folder

PR Summary
Clean up 'GetTypeInfo()' calls from files in engine folder
GetTypeInfo() were added when porting PowerShell to early version of .NET Core (prior .NET Core 1.0).
Most properties and methods in System.Type were missing at that time. Now the call is not needed anymore and should be removed.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[x] Change is not breaking
[x] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[x] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[ ] Issue filed - Issue link:

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[x] Add [feature] if the change is significant or affects feature tests

AppVeyor daily build failed for the past a few days. The [feature] CI build fails with the same test failures. PS team will have someone investigate the failures.
TEST FAILURES
Description: Configuration name should be in the transcript header
Name:        JEA session Transcript script test.Configuration name should be in the transcript header
message:
Cannot bind argument to parameter 'Path' because it is null.
stack-trace:
at <ScriptBlock>, C:\projects\powershell\test\powershell\engine\Remoting\RemoteSession.Basic.Tests.ps1: line 45
45:             $header = Get-Content $headerFile | Out-String
Description: Error occurred in Describe block
Name:        Implicit remoting on restricted ISS.Error occurred in Describe block
message:
Expected a value, but got $null or empty.
stack-trace:
At C:\projects\powershell\src\powershell-win-core\bin\Release\netcoreapp2.0\win7-x64\publish\Modules\Pester\4.3.1\Functions\Assertions\Should.ps1:206 char:9
+         throw ( New-ShouldErrorRecord -Message $testResult.FailureMes ...
Description: Verifies that Import-PSSession works on a restricted session
Name:        Import-PSSession on Restricted Session.Verifies that Import-PSSession works on a restricted session
message:
Cannot validate argument on parameter 'Session'. The argument is null. Provide a valid value for the argument, and then try running the command again.
stack-trace:
at <ScriptBlock>, C:\projects\powershell\test\powershell\Modules\Microsoft.PowerShell.Utility\Implicit.Remoting.Tests.ps1: line 2088
2088:                 $module = Import-PSSession -Session $session -AllowClobber -ErrorVariable $errorVariable -CommandName Get-Help


min/max values for colortemp of groups produce unnecceary warnings

What happend?
I notice this type of warnings in the log:
zigbee2mqtt.0 | 2024-09-28 17:51:53.687 | warn | State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
Happens because of min / max values for groups created in zigbee2mqtt
{
  "type": "state",
  "common": {
    "id": "colortemp",
    "name": "Color temperature",
    "role": "level.color.temperature",
    "write": true,
    "read": true,
    "type": "number",
    "min": 2000,
    "max": 6667,
    "def": 6667,
    "unit": "K"
  },
  "native": {},
  "from": "system.adapter.zigbee2mqtt.0",
  "user": "system.user.admin",
  "ts":<PHONE_NUMBER>682,
  "_id": "zigbee2mqtt.0.group_555.colortemp",
  "acl": {
    "object": 1636,
    "state": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator"
  }
}

The device I added to this group has a min value of 1808 (553 mired). Every time I push the scene button on my remote, I see this warning in the log.
What did you expect to happen?
no warnings
How to reproduce it (minimal and precise)
Create a group in zigbee2mqtt and add a device that supports values less than 2000 for color temp, e.g. mueller_licht devices. Set color temp to warmest value.
Adapter version
2.13.6
Adapter Config Log
2024-09-28 17:44:27.493 - info: zigbee2mqtt.0 (451) ================================= Adapter Config =================================
2024-09-28 17:44:27.493 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Frontend Scheme: http
2024-09-28 17:44:27.494 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Frontend Server: pi-home
2024-09-28 17:44:27.494 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Frontend Port: 8090
2024-09-28 17:44:27.494 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Connection Type: ws
2024-09-28 17:44:27.494 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Websocket Scheme: ws
2024-09-28 17:44:27.494 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Websocket Server: zigbee2mqtt
2024-09-28 17:44:27.495 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Websocket Port: 8080
2024-09-28 17:44:27.495 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Websocket Auth-Token: unused
2024-09-28 17:44:27.495 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Websocket Dummy MQTT-Server: activated
2024-09-28 17:44:27.495 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Dummy MQTT IP-Bind: <IP_ADDRESS>
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Dummy MQTT Port: 1885
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Debug Log: deactivated
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Proxy Zigbee2MQTT Logs to ioBroker Logs: activated
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use Kelvin: yes
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use ColorTemperature ColorSync: yes
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use BrightnessMove OnOff: no
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use BrightnessStep OnOff: no
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use Event In Desc: yes
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use Device Icons: no
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use Simple Hold/Release State: yes
2024-09-28 17:44:27.496 - info: zigbee2mqtt.0 (451) || Use Simple Move/Stop State: no
2024-09-28 17:44:27.497 - info: zigbee2mqtt.0 (451) || Use Simple Press/Release State: no
2024-09-28 17:44:27.497 - info: zigbee2mqtt.0 (451) || Use Automatic Coordinator Check: no
2024-09-28 17:44:27.497 - info: zigbee2mqtt.0 (451) || Coordinator Check Loglevel: info
2024-09-28 17:44:27.497 - info: zigbee2mqtt.0 (451) || Coordinator Check Cron : 0 3 * * *
2024-09-28 17:44:27.497 - info: zigbee2mqtt.0 (451) ==================================================================================
2024-09-28 17:44:27.554 - info: zigbee2mqtt.0 (451) Statring DummyMQTT-Server on IP <IP_ADDRESS> and Port 1885
2024-09-28 17:44:29.071 - info: zigbee2mqtt.0 (451) Connect to Zigbee2MQTT over websocket connection.
2024-09-28 17:44:29.081 - info: zigbee2mqtt.0 (451) ============================ Zigbee2MQTT Information =============================
2024-09-28 17:44:29.081 - info: zigbee2mqtt.0 (451) || Zigbee2MQTT Version: 1.40.1
2024-09-28 17:44:29.081 - info: zigbee2mqtt.0 (451) || Coordinator type: zStack3x0 Version: 20240710 Serial: /dev/ttyUSB0
2024-09-28 17:44:29.081 - info: zigbee2mqtt.0 (451) || Network panid 10189 channel: 25 ext_pan_id: 0xfffd9298defe6092
2024-09-28 17:44:29.081 - info: zigbee2mqtt.0 (451) ==================================================================================
Log
--
2024-09-28 17:47:11.266 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
2024-09-28 17:47:55.527 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
2024-09-28 17:48:08.699 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
2024-09-28 17:49:24.119 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
2024-09-28 17:49:38.133 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
2024-09-28 17:50:24.255 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"
2024-09-28 17:51:53.687 - warn: zigbee2mqtt.0 (451) State value to set for "zigbee2mqtt.0.group_9.colortemp" has value "1818" less than min "2000"

can you show me the settings from zigbee2mqtt for this device
like

The settings of the device have no impact on the group. All of my groups show a min color temp of 2000, regadless whether there are device added or not.

Can you check whether the checkbox is true

The issue is not related to mueller_licht. All of my groups have a minimum of 2000 (colortemp), regardless wheather there are devices added to this groups or not.
I think the questions is what method does set the minimum to 2000 and why.

This is an empty group I created on zigbee2mqtt:

btw, there are a lot of devices defined in https://github.com/Koenkk/zigbee-herdsman-converters, which have a colortemp range > 500

Thanks! This fixed the issue.


Documentation trying to pull 7.0.2 hasura / graphql that are not there

Summary
grapqhl hasura has no 7.0.2 tag currently:https://hub.docker.com/r/inputoutput/cardano-graphql-hasura/tags
nor graphql: https://hub.docker.com/r/inputoutput/cardano-graphql/tags
docker-compose tires to pull these files:
https://github.com/input-output-hk/cardano-graphql/blob/master/docker-compose.yml
"  image: inputoutput/cardano-graphql-hasura:${CARDANO_GRAPHQL_VERSION:-7.0.2}"
"  image: inputoutput/cardano-graphql:${CARDANO_GRAPHQL_VERSION:-7.0.2}-${NETWORK:-mainnet} "
Steps to reproduce the bug
No response
Actual Result
Failure to run docker images.
Expected Result
Run with default configurations without error.
Environment
Not needed for this bug report.
Platform

[X] Linux (Ubuntu)
[ ] Linux (Other)
[ ] macOS
[ ] Windows

Platform version
No response
Runtime

[ ] Node.js
[ ] Docker

Runtime version
No response

They published it on November 8th, four days after the issue was opened. This issue can now be closed.


Provide support for categorical variables in optimized CPU inference

I see a fair bit of duplicated code in simple_tree and lookup_tree
I agree 100%. Template metaprogramming resolves it fairly cleanly, but as I started to do it, I realized that there is an even nicer way we can set this up with a more significant refactor. I decided to save that for a separate PR to get categorical in now, and then I'll follow up with something that should clean up the whole codebase a fair amount. Seem all right to you?


Supporting firebase queue

A large feature
Author(s):(https://github.com/Username)
Introduction
Nice work,
Do you plan to support firebase realtime DB and firebase queue
https://github.com/firebase/firebase-queue
Motivation
firebase is realtime DB used by many ios app and it fit perfectly with your initiative.

?


Win98SE

Could you make a version that works with Win98SE i586? I may be asking this ahead of myself, because my Win98 is modded and I'm going to try your win2000 i486 build in Win98.

It's not that difficult to build cnc-ddraw for 9x, but the problem is that the GDI renderer doesn't work on anything older than win2000 because it's multi-threaded and just results in a black screen. IF you got DirectX 9 or OpenGL 2.0 capable hardware then it could work in theory though.
Someone asked me asked me recently for a 9x Debug build so I made one
https://github.com/FunkyFr3sh/cnc-ddraw/issues/316#issuecomment-2155524771
Direct link to the file: https://github.com/user-attachments/files/15744822/ddraw3.zip

Hmmm, my Fallout 2 install is modded up using sfall's ddaw.dll/ddraw.ini in game folder, but I believe the fallout.exe specifically looks for it.

Fallout 2

sfall 3.8.43+/sfall 4.4.3+ ddraw.dll and ddraw.ini place in game directory
cnc-ddraw place  in <GameRoot>\wrapper\
See recent changelog
https://github.com/sfall-team/sfall/blob/master/CHANGELOG.md

Hm, yeah,,, might be interesting to know what you were trying to do @Allanon41
If you were trying to get sfall to work on win9x and you thought that cnc-ddraw may be the solution, then nope, that's not the case. You cannot replace the sfall ddraw.dll with the cnc-ddraw ddraw.dll. The sfall ddraw.dll is not a directdraw wrapper, it does contain game patches as well.
To get sfall working on 9x, try the sfall9x link from egornovivan.
If you had sfall working already and wanted to use cnc-ddraw on top of it, then normally you would create a folder named "wrapper" inside of your game folder and place cnc-ddraw inside of it. However, that trick probably doesn'T work with sfall9x because it wasn't updated with the patch that allows loading cnc-ddraw from a subdir.
You probably have to do multiple hex edits. First the one described in the sfall9x repo (rename sfall ddraw.dll to gdraw.dll) and finally hex edit the gdraw.dll to load xdraw.dll and then rename the cnc-ddraw ddraw.dll to xdraw.dll

Yep learned that the hard way.👌I see my logic was wrong. I got Diablo 2 to work though. On iOS RetroArch.


[v6] useResolvedPath says it returns a Path but it's just the pathname

What version of React Router are you using?
v6
Steps to Reproduce
// url like /foo?bar=baz
let to = useResolvedPath();
to.search // undefined!
to.hash // undefined!

Expected Behavior
I'd expect all of the Path to be there.
Actual Behavior
It is not there, only path.pathname

@ryanflorence any chance you could re-create what you're seeing here? I'm not seeing an issue https://codesandbox.io/s/use-resolved-path-bug-db7tu?file=/src/App.tsx


Dem contact revision

Revise particle-particle and particle-wall contact models
Add viscous rolling resistance torque model

Is this ready for review? :)

Is this ready for review? :)

Yes, it is! :)


Keychains

Please add the key chains, I need them now

Please add the key chains, I need them now

I would have at least said "please", but I would need them too 😅 Please 🙏

Solved once #125 is merged


Hash

Cryptographic Hash
Hash functions and random number generators.
@pawanmsr : unimportant - can be skipped.

Randomness is not random, mon ami!
(except maybe measurements in quantum domain)
Probably Hercule Poirot

That stands to reason. Some conjurers say that number three is the magic number, and some say number seven. It’s neither, my friend, neither. It’s number one.
Fagin. (Oliver Twist. Dickens)

[ ] add pseudo-random integer generator
[ ] classical encryption algorithms
[ ] (easy) digital signatures

Merge:

[ ] linear
[ ] random
[ ] symmetric
[ ] asymmetric
[ ] ds
[ ] add attributions and citations

Type

[x] Addition

Reopen when ready!


Latest tagged version doesn't match published RubyGem

Summary
The latest published gem is 5.3.2 from May 6. The version of the gem is consistent with the latest version bump from January 10, but it wasn't published on January 10 - and there are no commits in the project from May 6.
Expected Results
Gems are only published when the repo is tagged
Actual Results (including error logs, if applicable)
A gem was published without a tag
Additional Information
To address this, we should update the pipeline to publish on tag-triggered builds and ensure the CONTRIBUTING is clear that to release a new gem, you should add a tag to the project.

Details
The current requirements for publishing to RubyGems are:

Branch = 'master'
"AND someone confirms this stage within 5 minutes"

The way it checks for "someone confirming" the publishing was by checking the env variable PUBLISH_GEM == true. So, any merge into master with the env var PUBLISH_GEM set to true would publish a version to RubyGems.
The publish.sh script grabs the version from lib/conjur-api/version.rb
Issue
Currently:

RubyGems version = 5.3.2
lib/conjur-api/version.rb = 5.3.2
Most Recent Tag = 5.3.1

It looks like when the version was bumped on Jan 10th the check for someone setting the env variable didn't get done, so the version was not published to RubyGems on that day.
Unfortunately Jenkins history doesn't go back that far, but on May 6 the Jenkinsfile must have ran on master with the PUBLISH_GEM env variable set to true. This was probably someone realizing the 5.3.2 version was never published in January OR an accidental re-publish over the 5.3.2 version from Jan 10. I'm waiting to get access to more detail on RubyGems.org to see if there's any more info on this.
Planned Solution

Update the Jenkinsfile to publish on a tagged release how Secretless checks
Create a 5.3.2 tag so the current tag matches the current version

Thanks @JakeQuilty! Given the way that our publishing has progressed in other projects, I think it makes sense that a new tag is effectively a user saying "it's ok to publish" - so an additional PUBLISH_GEM step should not be required.
I appreciate your detailed notes! :)


OCaml syntax: support for custom elements (i.e. web components)

To interact with web components there needs to be some way to instantiate custom elements, and to have those elements take custom attributes.
Three options I can see that I believe would work today:

Write calls to React.createDOMElementVariadic manually
Write wrapper components in Reason (I would prefer not to depend on Reason just for that though.)
Write wrapper components in JS, and associated bindings.

Are there any other options? It would be nice to have a bit more convenience.
Somewhat related to #93, as having a way to pass custom attributes to any element would also solve that.

I think using createElementVariadic might take one already quite far. Here is an idea (haven't tested, but I think should work):
Picking from the ppx tests, e.g.:
https://github.com/ml-in-barcelona/jsoo-react/blob/81ad4f7280ea712a891e95bf3ac2f3faa5c51e8d/ppx/test/pp_ocaml.expected#L39-L45
We can do st like:
module Brick_flipbox = struct
  let make ~custom_prop ~data_text () =
    let open Js_of_ocaml.Js in
    React.Dom.createDOMElementVariadic "brick-flipbox"
      ~props:
        ( Unsafe.obj
            [| ("custom-prop", Unsafe.inject (bool custom_prop))
             ; ("data-text", Unsafe.inject (string data_text)) |]
          : React.Dom.domProps )
      []
end

Then this can be consumed from either OCaml or Reason components, e.g.:
Reason
let el = <Brick_flipbox custom_prop=false data_text="foo" />

or OCaml
let el = Brick_flipbox.make ~custom_prop:true ~data_text:"foo" ()

TIL attrs can only be strings, so the example above wouldn't work (should convert bool to string 😅 ) https://open-wc.org/guides/knowledge/attributes-and-properties/#attributes

Thanks for the example! That already doesn't look too bad. I think we could do even better though, especially if we assume only string props, by providing a little helper function:
let custom name ?props=[||] children =
  let open Js_of_ocaml.Js in
  let props: domProps =
    props |> Array.map (fun (key, value) -> (key, Unsafe.inject (string value)))
          |> Unsafe.obj
  in
  createDOMElementVariadic "brick-flipbox" ~props children

module Brick_flipbox = struct
  let make ~custom_prop ~data_text () =
    React.Dom.custom "brick-flipbox"
      ~props:
         [| ("custom-prop", custom_prop)
         ;  ("data-text", data_text)
         |]
      []
end

Unfortunately it isn't the case that all props are attributes. We might for example want to allow onClick and other cent handlers to be passed. On the other hand, any custom events would have to use a ref and be attached directly to the DOM anyway, so perhaps it wouldn't be so bad to do that if we gain the convenience of having a helper function such as this.

Yeah, I think including this helper function makes sense, even if some cases would still require manual creation as you said.
As you seem to be exploring with custom components 🙂  maybe once you explore this approach with real world cases, you could submit a PR with the function(s) that you think are really valuable to include in the library? 🙏 I have zero experience with custom elements.

Yeah, absolutely! I don't know if we're actually going to use web components (in the near future) though. We do today, and that's what prompted me to look into this, but one of the benefits of using React is the large ecosystem, so it's very possible that we'll just bind to a set of React components instead. I'll eventually get to this one way or the other though :)

@glennsl I consider this done with h function you added + DSL. Do you think we can close it?
https://github.com/ml-in-barcelona/jsoo-react/blob/7767fc1a62f0530ea2e62ca50ff43672f50e522a/lib/dom_dsl_core.ml#L25-L28

Absolutely. Although we might still tweak the exact details of how to do this, it's definitely possible now. Thanks for the reminder!


Upgrade urfave/cli and make register's config flag required

With the upgrade of the cli pkg, making flags required is very simple, it just needs an attribute required: true
Fixes https://github.com/kairos-io/kairos/issues/375
:warning: breaking UX change

In v2 flags must come before args. This is more POSIX-compliant. You may need to update scripts, user documentation, etc.

This means that
provier-kairos command ARG FLAG

is no longer valid, but I still think the change is worth it because like the documentation says, the CLI will be more POSIX-compliant

please fmt files, seems Linting is failing

We might need to check out if this is called somewhere in our tests, I think the UX changes might impact both docs and tests

please fmt files, seems Linting is failing

sorry about that, I'm auto formatting on save, but I was using goimports and this required gofmt with simplification. I have changed my config to do that in the future. Should be good now :+1:

We might need to check out if this is called somewhere in our tests, I think the UX changes might impact both docs and tests

ok, will follow up and get back to you

@mudler for what I can tell, there's no impact in the docs or tests (ran them locally with earthly.sh +test and earhtly.sh +all)


Docs is missing explanation what does omitted desc key mean in SortingRule

Describe the bug (required)
Here https://github.com/tannerlinsley/react-table/blob/master/docs/api/useSortBy.md#table-options the member of initialState.sortBy array is defined as {id: string, desc?: bool}.
desc can be omitted as described:

An optional desc key may be set to true or false to indicated ascending or descending sorting for that column

However, there's a missing description of what does it mean if desc key is not set.

The docs are more clear now.


Convert Accordion to Variants

Variants in Figma

[x] Add documentation link

Ready for review @benkeq

Rename "Action" to "Icon placement", and reorder and rename the alternatives so that "Left is first, Right is second, and Dual is third"

Ready for new review @benkeq

Good to go :)


Process multiple scenes without merging them

I really love gltfpack. The speed and quality of code is superb. But I wish there was a bit more control over certain aspects of it. One of them is ability to process multiple scenes. Right now gltfpack outputs a single scene. So i have to use gltf-transform to preprocess file to turn scenes into root nodes.
Another semi-related thing would be super lovely to support multiple input files and glue them together as different scenes. Right now i also do that with gltf-transform, but it all takes a lot of plumbing and hacks

I could add support for multiple scenes; my understanding previously has been that this is poorly supported, some discussion in https://github.com/KhronosGroup/glTF/issues/1542 and other issues on glTF repository. Having said that, I don't think it's going to be too difficult to support, although I don't know if I will be able to find good examples to test against.
Merging multiple input files is challenging though due to how some parts of gltfpack are implemented - parts of the pipeline today use the raw data from the source glTF file (via cgltf library) so the ability to process that is limited...

If you have an example of a model with multiple scenes that'd be great, since glTF-Sample-Models which I usually use for testing doesn't have one.

Basically, blender exports multiple scenes in a very meaningful way. It's like separate "root" nodes. When there're multiple scenes, one of them is "main" (accessible as like gltf.scene), it is usually the ones that blender was in while exporting. I am not super sure if there's duplication in that case (i.e. if gltf.scene is accessible as gltf.scenes[n] or is it something that GLTFLoader does).

Let me make you one

"scene" is just a reference to one of the scenes, there should be no duplication in glTF file

Multi-Scenes.zip
Here's glb, gltf and blender files.
Yes, that's right. Scene is just numeric index. Just check it myself.

With multi-scene setup there could be some really interesting things done. E.g. prefabs, merged files, different animation scenes, etc. Blender has very interesting (yet a bit buggy) support for creating different scenes from the same source files, that's what I use.

Hmm... I only get one scene with this new code.
only_one_scene.zip
This test file is just blender multi-scene file exported. I also tested it on output of gltf-transform with multiple scenes, and also get only one scene.

"scenes":[{"nodes":[0]}],"scene":0

Wonderful work! Works well!

Just wanted to note again, that you are very prolific and your utility is top-class. Does what's advertised on the tin, and is extremely fast at that. On behalf of myself and others, thank you!


Docker-based tasks output ownership

Currently when a task is based on docker the ownership for output is root.root. I am trying to figure out if there is a way to change it to user instead.

Looks like adding "-u id -u " might help?

Can this be image dependent? I mean, the user of the system does not have to translate to user in the docker image, and the docker image might be run by a non-root user (?) so it will write file as that user?...
All these need to be clarified before we do anything.

Can this be image dependent?

I'm not sure, but a couple of docker images I recently used both writes files as root.

the docker image might be run by a non-root user (?) so it will write file as that user?

Even so, f"-u {os.getuid()}" by default would not seem harmful. In fact I'm not sure what is the reason that we even make user a configuration option, rather than just set it to f"-u {os.getuid()}"  by default -- because this will be consistent with the file ownership as a result of running other command programs.

Even so, f"-u {os.getuid()}" by default would not seem harmful.

The problem is that I am not sure the docker image would work with --user {os.getuid()}. For example, if the docker image is written to run as root, all file system is root, the specified user might not be able to find the program (path problem?), or the program might not be able to write inside the image (cannot create file etc). The same problem exists if the image is designed to run as another user.
So without -u we are running the image with their designed user, which does not have problem in running the image but might not be able to write to mounted image.
With -u we might not be able to run the image, but should be able to write to mounted image.
Is this the correct summary of the situation?

On my mac, running
run: docker_image='ubuntu', user=0
  echo `pwd` > /Users/bpeng1/a.txt

will result in
[bpeng1@BCBMC07MX084DY3:~]$ ls -l a.txt
-rw-r--r--  1 bpeng1  895809667  18 Mar 15 19:46 a.txt

regardless of user settings. What is the case on your end?

Hmm, this is interesting ... here is mine:
-rw-r--r--  1 root root   29 Mar 15 20:32 a.txt

Note that I removed user=0. So the behavior is platform dependent?
I think I get your point and it is completely valid. It seems I had a wrong understanding of what -u does. But otherwise, how can I make sure the output file to the host system is not root locked?

I do not think there is a perfect solution here so a good default is important. I believe on MacOSX the docker image is running in a VM which is run in the user space so option --user does not matter outside, but will matter inside. The current behavior is good as it works with images with both root and non-root users. On Linux, allowing the default image user write to mounted drives is problematic because docker will either write root-owned files or cannot write at all, so a default non-root user makes more sense.
The decision is then if we should use --user {getuid()} only for Linux or for both systems...

I'm actually wondering what nextflow does for this. If it works with Mac I guess it is good for most desktop uses. On Linux because docker configuration requires desktop sudo permission anyways so users are likely to be able to solve the problem on their own, and more importantly the more typical usage of SoS with Linux is on HPC which does not support docker anyways (for many systems) and we may want to look at singularity instead.

According to nextflow doc, it allows engineOptions, and fixOwnership, and the latter appears to pertain to your problem. Because we can only fix ownership of known output files and SoS allows the execution of scripts without output inside docker, it is not easy for us to fix ownership as an aftereffect of docker execution.

Agreed. I do not think I can come up with good suggestions that works safely for all scenarios we considered. I'm cool to close the ticket and leave it as is for now.

One argument that supports user={os.getuid()} would be that it is more portable. I mean, if we set os.getuid() as default, users can override it with user=0 or user='image_user' which is image dependent. If we do not set this as default, users might have to use user='username' etc, which is user dependent. The notebook is therefore less portable.

But the difficulty is we do not know for sure beforehand whether or not the user ID on the host system will also exist in the Docker image, though for my case they are both 1001. That was a bad assumption I made when I proposed using os.getuid. So if we are to implement this we may need to create such user and user group on the fly if the uid does not exist, before running anything; then run under that user to ensure the outcome matches our system. Is that possible?

docker allows the use of arbitrary user id and will simply treat it as a new normal user. The advantage is that the user-id will be used to create files in mounted drives, which is what we need here.

According to docker doc

root (id = 0) is the default user within a container. The image developer can create additional users. Those users are accessible by name. When passing a numeric ID, the user does not have to exist in the container.

The developer can set a default user to run the first process with the Dockerfile USER instruction. When starting a container, the operator can override the USER instruction by passing the -u option.

When passing a numeric ID, the user does not have to exist in the container.

Okey then I was still accidentally correct about -u behavior :)  Then maybe this now seems a good thing to do for all platform?

Let us see if this works reasonably well.

This new default -u works great on my end, though I still get group as root. Maybe there is a default gid option to set it to current gid?

Could you test if -u {os.getuid()}:{os.getgid()} works?

It does -- see patch above!


Failed to build fbprophet installation error with python 2.7

Already  insalled pystan
but still Error at intallation
root@Timeseries:/home/CapacityPrediction# pip install fbprophet
Collecting fbprophet
Using cached fbprophet-0.1.post1.tar.gz
Requirement already satisfied: pandas in /usr/local/lib/python2.7/dist-packages (from fbprophet)
Requirement already satisfied: pystan in /usr/local/lib/python2.7/dist-packages (from fbprophet)
Requirement already satisfied: pytz>=2011k in /usr/lib/python2.7/dist-packages (from pandas->fbprophet)
Requirement already satisfied: python-dateutil in /usr/local/lib/python2.7/dist-packages (from pandas->fbprophet)
Requirement already satisfied: numpy>=1.7.0 in /usr/local/lib/python2.7/dist-packages (from pandas->fbprophet)
Requirement already satisfied: Cython!=0.25.1,>=0.22 in /usr/local/lib/python2.7/dist-packages (from pystan->fbprophet)
Requirement already satisfied: six>=1.5 in /usr/lib/python2.7/dist-packages (from python-dateutil->pandas->fbprophet)
Building wheels for collected packages: fbprophet
Running setup.py bdist_wheel for fbprophet ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-SwBLKm/fbprophet/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" bdist_wheel -d /tmp/tmpbVHUXTpip-wheel- --python-tag cp27:
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/fbprophet
creating build/lib.linux-x86_64-2.7/fbprophet/stan_models
INFO:pystan:COMPILING THE C++ CODE FOR MODEL anon_model_35bf14a7f93814266f16b4cf48b40a5a NOW.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 4

Failed building wheel for fbprophet
Running setup.py clean for fbprophet
Failed to build fbprophet
Installing collected packages: fbprophet
Running setup.py install for fbprophet ... error
Complete output from command /usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-SwBLKm/fbprophet/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-xqgB9j-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/fbprophet
creating build/lib.linux-x86_64-2.7/fbprophet/stan_models
INFO:pystan:COMPILING THE C++ CODE FOR MODEL anon_model_35bf14a7f93814266f16b4cf48b40a5a NOW.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------

Command "/usr/bin/python -u -c "import setuptools, tokenize;file='/tmp/pip-build-SwBLKm/fbprophet/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-xqgB9j-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-SwBLKm/fbprophet/

pip install fbprophet fail in Ubuntu 14 with Error : ---------   'x86_64-linux-gnu-gcc' failed with exit status 4

Here are what seem to be the most common issues in a Linux install (#88), hopefully one of them does it:
(1) If this is a VM, then Stan requires at least 2Gb of memory, make sure you aren't running out.
(2) Compilers installed and up-to-date:
sudo apt-get install gcc-5 g++-5 python-dev

(3) If you are using Anaconda, then try conda install gcc
Does one of those do it?

https://github.com/facebookincubator/prophet/commit/0e76b79dde5ae8243a6ba4da1fa5ffe0bc748912 lists these packages in the installation documentation, hopefully this will help with this in the future.


[WIP] Add analysis notebook with sample trajectories

Starting a PR where I've added:

An analysis notebook providing some basics of extracting features from MD simulations and plotting them (and some details) - analyze-simulation.ipynb
A sample trajectory sample-traj.dcd
A sample PDB structure topology to load in with the trajectories sample-structure.pdb

This is currently a WIP PR so don't merge just yet. I think for the moment two questions should be answered:

Are there any other features/ideas/useful questions that you would like to see addressed relative to the class? I think the only one I was going to add soon was going to be doing pairwise backbone RMSD based calculations to introduce the idea of "clustering by states"
More sophisticated analyses for trajectories, like Markov State Models, tend to require libraries like PyEMMA, etc., would it be alright to include those and assume the student's environment can import them? Core libraries being used now are mdtraj, numpy and matplotlib, so it would probably be just PyEmma added on.

Open to discussions here!

Thanks @sukritsingh . Seeing that this is indeed a simple trajectory, would it be possible if you could reuse the trajectory generated in hne.ipynb? It would offer some continuity to the learning experience! I can correspondingly delete the analysis bits in the original notebook.

also I like the idea of "clustering by states" and even introducing the Markov State Model.

Alright I've made a few additional updates, summarized as:

I updated hne.ipynb to better test for stability using the OpenMM reporters, including making plots showing simulation stability!
I've added a separate notebook explaining and providing sample code noting how to make a Markov State Model (MSM), as well as explaining some basics. Note: MSMs work best even in examples when you have multiple trajectories, so rather than using the HNE trajectory, I set it to download a sample protein folding dataset of 28 trajectories and use them in RAM (it does not download any files into storage, so no additional files need to be pushed to gethub). It's relatively lightweight and even a basic macbook can hold all the trajectory data for the example.
I've added an additional documentation to analyze-simulation.ipynb as well as additional code to compute RMSF and document it's connection to b-factors.

@yuanqing-wang : Let me know if you need me to make any edits or additional points!

Oh one additional point:

I edited hne.ipynb to output a DCD trajectory file as well as the output.pdb file - this is so that it can be loaded more quickly into MDTraj, and from an education standpoint, shows how to do it the "standard" way with a topology file

LGTM now! Please merge when you're done!


Understanding CSS transform matrix: x & y axes switched label:enhancement

If I'm not mistaken, the article "Understanding CSS transform matrix" has switched the x and y axes in Figure2 and Figure3. x-axis should be horizontal, y-axis should be vertical.
The images are hosted at https://github.com/operasoftware/devopera/tree/master/articles/understanding-the-css-transforms-matrix. Maybe @webinista has the original uncompressed images laying around, else I don't mind cutting and pasting the gifs and doing a pull request.

Fixed, will be deployed shortly. Thank you!


renamed params to credentials_params so there's no longer a chef 13 conflict

@cmlicata @alkalin3 can you guys review? Thanks.

Great, thanks @cmlicata

I was gone all weekend. It's super cool that you took what I had and fixed it. I appreciate it.

:heart:


[PE-D][Tester B] Add Event bug

even when an invalid date is entered, it allows it and reformats the date even though it is an invalid date.

Labels: type.FunctionalityBug severity.Medium
original: SeeuSim/ped#11

We can argue that the user will want to remember dates from the past. Events is not just a calendar for the future but the past as well.

I think the tester is saying how nonexistent calendar dates get bumped down, for e.g.:

2023-02-29 -> 2023-02-28
2023-02-30 -> 2023-02-28
2023-04-31 -> 2023-04-30

Perhaps this behaviour was desirable in the design of LocalDateTime#parse, hence I think we should describe this edge case in the UG.

So is it in this case, as 1999 is not a leap year Feb shouldnt have 29 Days. We are gonna document this as an edge case in our UG right?

So is it in this case, as 1999 is not a leap year Feb shouldnt have 29 Days. We are gonna document this as an edge case in our UG right?

Yep I think we can add this under things to note for the AddEvent command


[OSDEV-802] API. Track errors that come from API users vs website.

Fix OSDEV-802

Update Rollbar notifications in React app
Update Rollbar notifications in Django app
Update Rollbar notifications in Dedupe Hub
Write tests for ErrorBoundary component

Abandoned in favor of smaller PRs:

Update Rollbar notifications in React app https://github.com/opensupplyhub/open-supply-hub/pull/68
Update Rollbar notifications in Django app https://github.com/opensupplyhub/open-supply-hub/pull/69
Update Rollbar notifications in Dedupe hub app https://github.com/opensupplyhub/open-supply-hub/pull/74


Include Gradle stage task

The 'Getting started with Kotlin' guide requires this task to be included in the step 'Push local changes' but makes no reference to including it.

Is this going to get merged?


Update DeveloperGuide.md's Appendix: Requirements section

DeveloperGuide.md is written for AB3
We should change the contents to cater to Fish Ahoy!
Let's,

Update the Target User profile
Update the Value proposition
Update the user stories
Update the use cases
Update the NFRs
Update the glossary

Merge Conflicts between Fish class refactor and DeveloperGuide branch