Test edgemesh on two nodes failed

OS: ubuntu 18.04.4 LTS
KubeEdge version: v1.7.1
EdgeMesh version: main branch
K8S version:1.9.0
Problem: curl service URL on both edge node are failed.
I have three nodes, one as a cloud node and two as edge nodes:
Cloud node: i-cpc3wtjy
Edge nodes: enode1, enode2
Install:
curl <IP_ADDRESS>:10550/api/v1/services on both edge node are OK
Deploy edgemesh-server is done,  public IP is set to node public IP <IP_ADDRESS>.
Deploy edgemesh-agent is done, subNet is set.
cloud node:
root@i-cpc3wtjy:~# kubectl get svc
NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE
kubernetes                         ClusterIP   <IP_ADDRESS>       <none>        443/TCP     220d
pedestrian-search-reidworker-svc   ClusterIP   <IP_ADDRESS>   <none>        12345/TCP   97m
pedestrian-search-userworker-svc   ClusterIP   <IP_ADDRESS>   <none>        23456/TCP   97m

All nodes are healthy:
kubectl get pods -n kubeedge -o wide
NAME                               READY   STATUS    RESTARTS   AGE     IP             NODE
edgemesh-agent-4cmvw               1/1     Running   0          7m13s   <IP_ADDRESS>   enode1
edgemesh-agent-x5pr9               1/1     Running   0          7m13s   <IP_ADDRESS>    enode2
edgemesh-server-564469d5d7-b2v6w   1/1     Running   0          34m     <IP_ADDRESS>   i-cpc3wtjy

enode1:
curl pedestrian-search-reidworker-svc:12345 -v
root@hecs-x-medium-2-linux-20200630092216:~# curl pedestrian-search-reidworker-svc:12345 -v
* Rebuilt URL to: pedestrian-search-reidworker-svc:12345/
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* connect to <IP_ADDRESS> port 12345 failed: Connection timed out
* Failed to connect to pedestrian-search-reidworker-svc port 12345: Connection timed out
* Closing connection 0
curl: (7) Failed to connect to pedestrian-search-reidworker-svc port 12345: Connection timed out

docker logs -f "edgemesh-agent conrainer id"
I0821 03:00:08.977538       1 core.go:24] Starting module edgedns
I0821 03:00:08.977936       1 core.go:24] Starting module edgeproxy
I0821 03:00:08.978415       1 core.go:24] Starting module tunnelagent
W0821 03:00:09.064619       1 tunnel.go:28] Connection between agent and server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004] is not established, try connect
I0821 03:00:09.064781       1 tunnel.go:31] Tunnel agent connecting to tunnel server
W0821 03:00:09.101015       1 tunnel.go:42] Set peer addr info to secret err: Update secret &Secret{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Data:map[string][]byte{},Type:,StringData:map[string]string{},Immutable:nil,} err: the body of the request was in an unknown format - accepted media types include: application/json, application/yaml
I0821 03:00:11.101244       1 tunnel.go:31] Tunnel agent connecting to tunnel server
W0821 03:00:11.102121       1 tunnel.go:42] Set peer addr info to secret err: Update secret &Secret{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Data:map[string][]byte{},Type:,StringData:map[string]string{},Immutable:nil,} err: the body of the request was in an unknown format - accepted media types include: application/json, application/yaml
I0821 03:00:13.102233       1 tunnel.go:31] Tunnel agent connecting to tunnel server
I0821 03:00:13.102371       1 tunnel.go:47] agent success connected to server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004]

E0821 04:40:48.114970       1 dns.go:112] service reverse clusterIP error: service "pedestrian-search-reidworker-svc" not found
W0821 04:40:48.114991       1 dns.go:57] resolve dns: get from real dns
W0821 04:40:48.116584       1 dns.go:57] resolve dns: get from real dns
I0821 04:40:48.117760       1 dns.go:115] dns server parse pedestrian-search-reidworker-svc ip <IP_ADDRESS>

enode2:
curl pedestrian-search-reidworker-svc:12345 -v
root@VM-0-13-ubuntu:/home/ubuntu# curl pedestrian-search-reidworker-svc:12345 -v
* Rebuilt URL to: pedestrian-search-reidworker-svc:12345/
* Could not resolve host: pedestrian-search-reidworker-svc
* Closing connection 0
curl: (6) Could not resolve host: pedestrian-search-reidworker-svc

docker logs -f "edgemesh-agent conrainer id"
W0821 02:59:56.638070       1 tunnel.go:28] Connection between agent and server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004] is not established, try connect
I0821 02:59:56.638172       1 tunnel.go:31] Tunnel agent connecting to tunnel server
W0821 02:59:56.833292       1 tunnel.go:42] Set peer addr info to secret err: Update secret &Secret{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Data:map[string][]byte{},Type:,StringData:map[string]string{},Immutable:nil,} err: the body of the request was in an unknown format - accepted media types include: application/json, application/yaml
I0821 02:59:58.833519       1 tunnel.go:31] Tunnel agent connecting to tunnel server
W0821 02:59:58.834299       1 tunnel.go:42] Set peer addr info to secret err: Update secret &Secret{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Data:map[string][]byte{},Type:,StringData:map[string]string{},Immutable:nil,} err: the body of the request was in an unknown format - accepted media types include: application/json, application/yaml
I0821 03:00:00.834388       1 tunnel.go:31] Tunnel agent connecting to tunnel server
I0821 03:00:00.834501       1 tunnel.go:47] agent success connected to server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004]
W0821 03:00:04.624165       1 dns.go:57] resolve dns: get from real dns
W0821 03:00:04.624834       1 dns.go:57] resolve dns: get from real dns
W0821 03:00:04.627217       1 dns.go:57] resolve dns: get from real dns
W0821 03:00:04.627695       1 dns.go:57] resolve dns: get from real dns

I think the problem lies in:
W0821 02:59:58.834299       1 tunnel.go:42] Set peer addr info to secret err: Update secret &Secret{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Data:map[string][]byte{},Type:,StringData:map[string]string{},Immutable:nil,} err: the body of the request was in an unknown format - accepted media types include: application/json, application/yaml

You can refer to: https://github.com/kubeedge/edgemesh/issues/47

I think the problem lies in:
W0821 02:59:58.834299       1 tunnel.go:42] Set peer addr info to secret err: Update secret &Secret{ObjectMeta:{      0 0001-01-01 00:00:00 +0000 UTC <nil> <nil> map[] map[] [] []  []},Data:map[string][]byte{},Type:,StringData:map[string]string{},Immutable:nil,} err: the body of the request was in an unknown format - accepted media types include: application/json, application/yaml

You can refer to: #47

I find in issue #47 that I need to change ContentType  to application/json. Which file need to change?
I changed contentType  of build/agent/kubernetes/edgemesh-agent/03-configmap.yaml, is it right?
I0821 05:54:02.273989       1 core.go:24] Starting module edgedns
I0821 05:54:02.274057       1 core.go:24] Starting module edgeproxy
I0821 05:54:02.274100       1 core.go:24] Starting module tunnelagent
W0821 05:54:02.279591       1 tunnel.go:28] Connection between agent and server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004] is not established, try connect
I0821 05:54:02.279690       1 tunnel.go:31] Tunnel agent connecting to tunnel server
I0821 05:54:02.341853       1 tunnel.go:47] agent success connected to server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004]
E0821 05:54:58.895690       1 dns.go:112] service reverse clusterIP error: service "enode1" not found
W0821 05:54:58.895708       1 dns.go:57] resolve dns: get from real dns
E0821 05:54:58.896116       1 dns.go:112] service reverse clusterIP error: service "enode1" not found

I changed contentType of build/agent/kubernetes/edgemesh-agent/03-configmap.yaml, is it right?
Right

Can you use the nslookup command on enode2 to see the DNS results, maybe we can analyze the problem from it.

Can you use the nslookup command on enode2 to see the DNS results, maybe we can analyze the problem from it.
I get results like this:

root@VM-0-13-ubuntu:/home/ubuntu# nslookup pedestrian-search-reidworker-svc
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

** server can't find pedestrian-search-reidworker-svc: SERVFAIL

I try to execute nslookup in my busybox-edge pod:
/ # nslookup tcp-echo-edge-svc.edgezone
Server:    <IP_ADDRESS>
Address 1: <IP_ADDRESS>

Name:      tcp-echo-edge-svc.edgezone
Address 1: <IP_ADDRESS>

I try to execute nslookup on my edgenode host:
[root@ke-edge1 ~]# nslookup tcp-echo-edge-svc.edgezone
;; Got recursion not available from <IP_ADDRESS>, trying next server
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

** server can't find tcp-echo-edge-svc.edgezone: NXDOMAIN

The edgemesh-agent logs in both cases are:
W0823 06:09:48.358328       1 dns.go:57] resolve dns: get from real dns
W0823 06:09:48.359379       1 dns.go:57] resolve dns: get from real dns
W0823 06:09:48.360335       1 dns.go:57] resolve dns: get from real dns
I0823 06:09:48.361800       1 dns.go:115] dns server parse tcp-echo-edge-svc.edgezone ip <IP_ADDRESS>
W0823 06:09:48.362031       1 dns.go:57] resolve dns: get from real dns

File /etc/resolv.conf is in the pod and on the host:
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
search openstacklocal
options single-request-reopen

DNS resolution has been successful, I think. You can see:

I0821 06:12:07.590835       1 dns.go:115] dns server parse pedestrian-search-reidworker-svc ip <IP_ADDRESS>

Maybe you can try curl pedestrian-search-reidworker-svc.[namespace]:[port] and tell me the result or show the logs.
My case refer to: https://github.com/kubeedge/edgemesh/issues/44

/kind bug

/assign

Thank you for your help. Today I tried the latest main branch of edgemesh.
And I used the test case kubectl apply -f examples/tcp-echo-service.yaml.  (namespace: default, replicas: 2)
I found that my  File /etc/resolv.conf:  is different from yours. Does it have an impact？
Problem:
root@VM-0-13-ubuntu:/etc/kubeedge# telnet tcp-echo-service.default 2701
telnet: could not resolve tcp-echo-service.default/2701: Name or service not known

nslookup:
root@VM-0-13-ubuntu:/etc/kubeedge# nslookup tcp-echo-service.default
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>#53

** server can't find tcp-echo-service.default: NXDOMAIN

File /etc/resolv.conf:
nameserver <IP_ADDRESS>
options edns0
search sh1.qingcloud.com

**Other logs:
kubectl get pods -n kubeedge:**
NAME                               READY   STATUS    RESTARTS   AGE
edgemesh-agent-s59wc               1/1     Running   0          23m
edgemesh-agent-xzpts               1/1     Running   0          23m
edgemesh-server-564469d5d7-b6cml   1/1     Running   0          24m

Cloud:
root@i-cpc3wtjy:/home/ubuntu/edgemesh# kubectl logs  edgemesh-server-564469d5d7-b6cml -n kubeedge
I0825 02:23:43.891616       1 server.go:49] Version: v0.0.0-master+$Format:%h$
I0825 02:23:43.891779       1 server.go:81] [1] New informers manager
W0825 02:23:43.891789       1 client_config.go:608] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0825 02:23:43.892818       1 server.go:88] [2] Register beehive modules
I0825 02:23:43.892911       1 privkey.go:40] Private key exist, skip generate
I0825 02:23:43.903005       1 module.go:34] Module tunnelserver registered successfully
I0825 02:23:43.903019       1 server.go:94] [3] Start informers manager
I0825 02:23:44.003218       1 server.go:98] [4] Start all modules
I0825 02:23:44.003439       1 core.go:24] Starting module tunnelserver
I0825 02:23:44.003512       1 tunnel.go:12] Start tunnel server success
I0825 02:23:44.003573       1 tunnel.go:14] Tunnel server addr : /ip4/<IP_ADDRESS>/tcp/10004/p2p/Qma54BPy72UW1A8BwsVHrE3Q5Rx3LUMTwj4QGSSaEvNoXt
I0825 02:23:44.003592       1 tunnel.go:14] Tunnel server addr : /ip4/<IP_ADDRESS>/tcp/10004/p2p/Qma54BPy72UW1A8BwsVHrE3Q5Rx3LUMTwj4QGSSaEvNoXt
I0825 02:23:44.003600       1 tunnel.go:14] Tunnel server addr : /ip4/<IP_ADDRESS>/tcp/10004/p2p/Qma54BPy72UW1A8BwsVHrE3Q5Rx3LUMTwj4QGSSaEvNoXt
I0825 02:23:44.003718       1 tunnel.go:21] success update [edgemeshserver] addr [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004] to secret
root@i-cpc3wtjy:/home/ubuntu/edgemesh#

edgenode1:
root@VM-0-13-ubuntu:/etc/kubeedge# docker logs -f 3bde65326bd1
2021/08/25 02:24:46 INFO: Install client plugin, protocol: rest
2021/08/25 02:24:46 INFO: Installed service discovery plugin: edge
I0825 02:24:46.879027       1 server.go:54] Version: v1.7.2-18+414c425f27ddf9-dirty
I0825 02:24:46.879110       1 server.go:88] [1] New informers manager
I0825 02:24:46.879597       1 server.go:95] [2] Register beehive modules
I0825 02:24:46.879803       1 module.go:34] Module edgedns registered successfully
I0825 02:24:46.940226       1 module.go:34] Module edgeproxy registered successfully
W0825 02:24:46.940334       1 module.go:37] Module edgegateway is disabled, do not register
I0825 02:24:46.940436       1 privkey.go:40] Private key exist, skip generate
I0825 02:24:46.949995       1 module.go:34] Module tunnelagent registered successfully
I0825 02:24:46.950095       1 server.go:104] [3] Install go-chassis plugins
I0825 02:24:46.950181       1 log.go:181] DEBUG: Installed strategy plugin: [RoundRobin].
I0825 02:24:46.950236       1 log.go:181] DEBUG: Installed strategy plugin: [Random].
I0825 02:24:46.950267       1 log.go:181] DEBUG: Installed strategy plugin: [ConsistentHash].
I0825 02:24:46.950319       1 log.go:181] DEBUG: ConfigurationFactory Initiated
I0825 02:24:46.950355       1 log.go:181] INFO: Configuration files: []
I0825 02:24:46.950410       1 log.go:181] WARN: empty configurtion from [FileSource]
I0825 02:24:46.950445       1 log.go:181] INFO: invoke dynamic handler:FileSource
I0825 02:24:46.950511       1 log.go:181] INFO: archaius init success
I0825 02:24:46.950563       1 server.go:109] [4] Start informers manager
I0825 02:24:46.951280       1 log.go:181] INFO: create new watcher
I0825 02:24:47.750754       1 server.go:113] [5] Start all modules
I0825 02:24:47.750935       1 core.go:24] Starting module edgedns
I0825 02:24:47.751016       1 core.go:24] Starting module edgeproxy
I0825 02:24:47.751100       1 core.go:24] Starting module tunnelagent
W0825 02:24:47.824268       1 tunnel.go:28] Connection between agent and server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004] is not established, try connect
I0825 02:24:47.824361       1 tunnel.go:31] Tunnel agent connecting to tunnel server
I0825 02:24:47.856698       1 tunnel.go:50] agent success connected to server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004]
E0825 02:25:04.624411       1 dns.go:70] service reverse clusterIP error: service "ntpupdate" not found
E0825 02:25:07.961559       1 dns.go:70] service reverse clusterIP error: service "update2" not found
E0825 02:25:12.620498       1 dns.go:70] service reverse clusterIP error: service "receiver" not found

edgenode2:
root@VM-0-14-ubuntu:/home/ubuntu# docker logs -f 04b79d8f0931
2021/08/25 02:24:47 INFO: Install client plugin, protocol: rest
2021/08/25 02:24:47 INFO: Installed service discovery plugin: edge
I0825 02:24:47.467518       1 server.go:54] Version: v1.7.2-18+414c425f27ddf9-dirty
I0825 02:24:47.467674       1 server.go:88] [1] New informers manager
I0825 02:24:47.468277       1 server.go:95] [2] Register beehive modules
I0825 02:24:47.468487       1 module.go:34] Module edgedns registered successfully
I0825 02:24:47.562411       1 module.go:34] Module edgeproxy registered successfully
W0825 02:24:47.562489       1 module.go:37] Module edgegateway is disabled, do not register
I0825 02:24:47.562562       1 privkey.go:40] Private key exist, skip generate
I0825 02:24:47.571652       1 module.go:34] Module tunnelagent registered successfully
I0825 02:24:47.571723       1 server.go:104] [3] Install go-chassis plugins
I0825 02:24:47.571800       1 log.go:181] DEBUG: Installed strategy plugin: [RoundRobin].
I0825 02:24:47.571856       1 log.go:181] DEBUG: Installed strategy plugin: [Random].
I0825 02:24:47.571887       1 log.go:181] DEBUG: Installed strategy plugin: [ConsistentHash].
I0825 02:24:47.571930       1 log.go:181] DEBUG: ConfigurationFactory Initiated
I0825 02:24:47.571964       1 log.go:181] INFO: Configuration files: []
I0825 02:24:47.572012       1 log.go:181] WARN: empty configurtion from [FileSource]
I0825 02:24:47.572051       1 log.go:181] INFO: invoke dynamic handler:FileSource
I0825 02:24:47.572088       1 log.go:181] INFO: archaius init success
I0825 02:24:47.572142       1 server.go:109] [4] Start informers manager
I0825 02:24:47.572872       1 log.go:181] INFO: create new watcher
I0825 02:24:48.272327       1 server.go:113] [5] Start all modules
I0825 02:24:48.272370       1 core.go:24] Starting module edgedns
I0825 02:24:48.272412       1 core.go:24] Starting module edgeproxy
I0825 02:24:48.272441       1 core.go:24] Starting module tunnelagent
W0825 02:24:48.272819       1 tunnel.go:28] Connection between agent and server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004] is not established, try connect
I0825 02:24:48.272835       1 tunnel.go:31] Tunnel agent connecting to tunnel server
I0825 02:24:48.464757       1 tunnel.go:50] agent success connected to server [/ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004 /ip4/<IP_ADDRESS>/tcp/10004]
E0825 02:24:48.472219       1 dns.go:70] service reverse clusterIP error: service "edgenode3" not found
E0825 02:24:53.476072       1 dns.go:70] service reverse clusterIP error: service "edgenode3" not found
E0825 02:25:13.452931       1 dns.go:70] service reverse clusterIP error: service "u" not found
E0825 02:25:13.774853       1 dns.go:70] service reverse clusterIP error: service "l" not found
E0825 02:25:13.903687       1 dns.go:70] service reverse clusterIP error: service "ntpupdate" not found
E0825 02:25:20.079197       1 dns.go:70] service reverse clusterIP error: service "u" not found
E0825 02:25:21.901595       1 dns.go:70] service reverse clusterIP error: service "receiver" not found
E0825 02:25:31.670811       1 dns.go:70] service reverse clusterIP error: service "u" not found
E0825 02:26:13.903981       1 dns.go:70] service reverse clusterIP error: service "ntpupdate" not found

I found that my File /etc/resolv.conf: is different from yours. Does it have an impact？

edgemesh-agent will write a nameserver record to file /etc/resolv.conf, which will affect your DNS requests, like:
[root@ke-edge2 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search openstacklocal
nameserver <IP_ADDRESS>           <------------- <IP_ADDRESS> is edgemesh-agent listen IP.
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
options single-request-reopen

One more thing. In the new version, do the images of edgemesh-agent and edgemesh-server need to be rebuilt? I just used the old images.

You don’t need to build the image yourself, and we recommend using the latest edgemesh-agent.


[Feature Request] Influence the Collection run order

It would be great to have something like
// set request by id
bru.setNextRequest(12)
// alternative: set request by name?
bru.setNextRequest("GET BookingDetails")

That way, we could do branches and loops for error-handling and async workflows.

Poking around the code:

the CLI currently runs the collection in a straight order: https://github.com/usebruno/bruno/blob/6b668aaebeeb03fcaad0f17995c6f04af55ec9df/packages/bruno-cli/src/commands/run.js#L360
UI runs requests in straight order as well, using a different loop: https://github.com/usebruno/bruno/blob/6b668aaebeeb03fcaad0f17995c6f04af55ec9df/packages/bruno-electron/src/ipc/network/index.js#L590
bru class is defined here: https://github.com/usebruno/bruno/blob/6b668aaebeeb03fcaad0f17995c6f04af55ec9df/packages/bruno-js/src/bru.js#L4

I too wanted to specify the order of running my requests in a collection, and found this existing issue. But the solution I thought would be necessary is the oposite of what is being proposed here. So I thought I would drop in 2¢.
I would have thought the solution was to define dependents to a specific request. E.g. if I want to make a request to an authenticated endpoint, I require the token collection variable to be set. If it is not set, I need to first run a request to fetch a token.
With bru.setNextRequest() I would have to put that in my authentication flow. But the authentication flow does not actually know which one of my other requests I want to be running now. So what would fit here is a pre request script like (pseudocode):
if (!bru.getVar("token")) {
    bru.doRequest("Get token");
}

It seems you are coming from Insomnia 😂!  This automatic request-chaining is exactly the flow that they are using. It works well for explorative testing! I don't know how well it works for collection-runners, because Insomnia does not have a concept of collection runners.
Using .setNextRequest is possible for this, by saving the name of the current request into some variable, and then the auth-request uses that name to jump back. It's an ugly hack, but I have used it in Postman before. This needs #987 to work.
However, since auth is such a bog-standard use-case, there should be (and probably will be?) a simple way to say "use OAuth Token Flow" or so for a request. Postman (and, I think, Insomnia) both support this.

I am actually a hurl user looking for a more graphical package to recommend for those who do not like the plain files 😉 In hurl I have just been using separate files and putting them together:
cat login.hurl action.hurl | hurl

Maybe auth was a bad example, because most platforms will make specific ways of handling it. I am doing some infrastructure as code at the moment where I need to fetch different resources. Certain requests might require I first look up tenant IDs, others may need credentials. Right now I can do this with something like (hypothetical):
cat get-tenant.hurl start-process.hurl | hurl
cat get-tenant.hurl create-database.hurl get-database-credentials.hurl start-process.hurl | hurl

Using .setNextRequest is possible for this, by saving the name of the current request into some variable, and then the auth-request uses that name to jump back.

I will have another look at that. I am not sure I can visualise how this would work right now. How would my hypothetical get-database-credentials request know to first run create-database? Would the get do a .setNextRequest("create-database"), then fail its own request, then have create, and then create needs to check bru.getVar("nextUp") and if it was set by the getter do a .setNextRequest to it?
I feel that having to have a failing request as part of the flow is a bit weird.

In Postman, what I always wished for, but never worked, was to have a prerequest-script in the get-database-credentials request that checks: "Do I have a database id? If not, jump to create-database without executing the get-database-credentials request". Alas, this was never possible. To avoid the "failing request as part of the flow", I ended up stuffing this sort of logic into the previous request. Less ugly, but still not nice.
In the open PR, I implemented setNextRequest with a behavior that is very similar to Postman, to ease migration to / from Postman.
Nice method of using cat <files> | hurl for controlling the exeuction flow externally! Is the flow-order always known to you before executing the collection? If so, then something like
bru run "my-req-1.bru" "my-req-2.bru"

would probably the cleanest approach. Also,
bru run "my-collection-A.bru" "my-collection-C.bru"

should be supported. Both don't currently work, and I don't see any open issues for them. Would that solve your issue?

Is the flow-order always known to you before executing the collection?

Yes. Or a better way to phrase it: the dependencies for the second request are known to me.

Would bru run "my-req-1.bru" "my-req-2.bru" solve your issue?

I will need to think about the consequences there. My main reason for switching to Bruno from hurl is the GUI, so the only solution being back in the cli feels wrong 😅

Both don't currently work, and I don't see any open issues for them.

The reason I use cat for the hurl command instead of feeding 2 separate files is that hurl will not share state between the files. So it will very much depend on how Bruno implements it. I will have a good think about it and can put some time aside to open an issue for further discussion.

@Zegnat We will support bru.runRequest() to support your usecase
if (!bru.getVar("token")) {
    bru.runRequest("Get token");
}

bru.setNextRequest() is live ! 🎊
GUI - v1.4.0
CLI - v1.2.0

Amazing work @helloanoop @mj-h 👏 I’ll make some time to try it out this weekend!


The command ignite-cli generate model overwrites the existing model files

Hi everyone.
Today I executed the handy command ignite-cli generate model MODEL_NAME and used an existing model's name, and that's resulted in a direct overwriting, so the codes in the file gone! Luckily, there weren't a lot of code lines so it wasn't a frustrating loss. However, it would be very helpful to implement a check before executing the boilerplate magical generation, and I would be happy to help implementing that if anyone provides a hint!
Thanks in advance 🔥

Oof, yes, that isn't good!
Right now, the output looks like this:

I would implement a check (around here) for filesystem.exists(...), and if it does, output something like this:
npx ignite-cli g model Dup

   Generated new files:
   <none>

   Skipped these files because they already exist:
   /Users/jh/Code/Temp/GenDouble/app/models/Dup.test.ts
   /Users/jh/Code/Temp/GenDouble/app/models/Dup.ts

  To overwrite these files, run the command again with the `--overwrite` flag

This will take a new GeneratorOptions flag, overwrite: boolean.
You will also probably need to change the default return value (Promise<string>) to something like Promise<{ written: string[], overwritten: string[], exists: string[] }> so you can output the right info at the end.
Thoughts?

Closed by #2363


Use config service 4.2.2 for dsmr 2.2, DMSR 2.2 was recgocnized befor…

Use config service 4.2.2 for dsmr 2.2, DMSR 2.2 was recgocnized before as OTHER_PROTOCOL, so service already handled DSMR 2.2

https://jenkins.fdp.osgp.cloud/view/SMHE-cucumber/job/gxf-smhe-cucumber-build/108/


Android Basics: recyclerview-scrollable-list

Priority - Low
URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-recyclerview-scrollable-list?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-2-pathway-3%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-recyclerview-scrollable-list#3
In which task and step of the codelab can this issue be found?
Step 4
Describe the problem
It says that the program has to compile without any issues, but in the previous step we had added a TextView that has been deleted in the layout but continues to remain in the mainactivity file causing issues.
Steps to reproduce?

After making the optional changes mentioned in step 3, perform step 4 as mentioned.
When you click on run, it will throw an unresolved reference error.

Versions
What version of Android Studio are you using?
Doesn't matter. Is an issue with the steps mentioned. Please ask them to remove the changes made in the optional step.
Additional information
Include screenshots if they would be useful in clarifying the problem.

My bad, this has been mentioned.


Fix : Use admin group on LDAP

Problem

The "Wekan Admin" permission is no longer created since 9e04f10d2530a8f7a53a4c34227d79cea5c4fc1d
The documentation wasn't updated, neither was the configuration in .env so I think that it was a mistake/
Uncommenting the line works : the group is created and the Admin Panel appears for users having the permission. When the permission is removed, the user has to logout of Wekan for the changes to take effect.
The admin user is asked at installation but not used in the scripts

Solution

Remove admin question
Uncomment permission admin

PR Status

[x] Code finished and ready to be reviewed/tested
[x] The fix/enhancement were manually tested (if applicable)

Automatic tests
Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ after creating the PR, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization)

It might solve the problem raised in this thread

!testme

!testme

!testme


Add possibility to preload I2S DMA buffer with actual data (IDFGH-6847)

If I want to start audio at a precise moment in time this will be kind of hard with the current implementation of I2S driver. There is no mechanism to fill the whole DMA buffer with actual data before starting transmission. Instead the driver will tx zero samples and if done it will send the now free tx buffer using a queue which will enable the user to add new data using i2_write(). I couldn't find a reliable solution to  start audio at a precise moment using combinations of i2s_stop(), i2s_zero_dma(), i2s_write() and i2s_start() there has always been some jitter.
A possible solution I could think of would be to add the possibility to register a custom callback function in i2s_driver_install() which will be called from i2s_start(). This callback should be given access to the full I2S object so we can manipulate buffers and this object directly, giving users more low level control on i2s.

Yes, the current driver has a lot of limitations, so we are now planning to have a driver-NG on i2s driver. It's a good idea to have an API that can send the valid data at the time that you call it. The new driver of I2S will release in v5.0.

I see, so when is v5.0 expected to be released? And such functionality will be included there? At current master, after quickly checking, I didn't see much difference in how the driver works/is setup

I bumped into this as well. The I2S drive has certainly changed a lot in master, and the documentation is more extensive. However, on inspection, this particular buffering situation appears not to have changed.
If handle->msg_queue were prefilled on start with every buffer (since they're all empty), we you would at least not have to wait for an entire buffer loop-through of silence before any sound comes out. If it were possible to call i2s_channel_write() (the i2s_write() equivalent in the new API) with the peripheral in READY but not RUNNING state, then that would allow a full buffer from the jump.
(In general the buffering approach of this driver leaves something to be desired...)

That's a pitty. I have to say I didn't look into master recently because I solved my problem by pulling in i2s driver code as a custom component and adding a function which will prefill DMA buffers with valid data and resets all pointers. It still would be nice to have a API which can do that natively...

Looks promising. Thanks for the changes


Use full DHT bootstrap list and update deps

Uses the full DHT bootstrap list. Builds on https://github.com/libp2p/go-libp2p-examples/pull/40.

The CircleCI should pass when #46 is merged.

It's also worth pointing out that it won't fall out of sync. Downstreams or upstreams (visibly) will raise the minimum version. There's no lockstep nonsense.

I've bumped the deps after observing https://github.com/libp2p/go-libp2p/issues/529#issuecomment-461175029.

@raulk let's get this merged.


Update perl recipe

From https://github.com/conda-forge/staged-recipes/pull/109

Contains the Mac and Linux changes needed.
Still uses Strawberry Perl on Windows.
Simplified version scheme.
Added self to maintainers.
Reduced about information to Perl (not really sure how to incorporate both)
Use this copy of Perl on all platforms.

As this has already been included in the current Perl package, this will be closed. Thanks for your help.


401 on http://localhost:3000/mashlib.js

I'm trying the following:
git clone https://github.com/solidos/solidos
cd solidos
git checkout devcontainer

Open the folder in VSCode, and click 'reopen in dev container'
Opening Solid OS in a Dev Container (including all the cloning, installing, and building) takes about 15 minutes. After that you can use three terminal windows inside VSCode:

npm start
cd workspaces/solid-panes; npm run watch
cd workspaces/solid-panes; npm run watch

Browse to http://localhost:3000/.account/login/password/register/ and register
Browse to http://localhost:3000/.account/login/password/ and log in
Create a pod, for instance 'asdf'
Browse to http://localhost:3000/a/profile/card#me

Expected: see Solid OS
Actual: see a blank page, and in the browser dev tools, a 401 response for http://localhost:3000/mashlib.js
I don't think this is related to the use of the dev container.

npx lerna bootstrap --force-local doesn't seem to fix it.


Address unreliable pico on cold boot.

One of the boards would not boot unless I reset the pico.
Apparently this is due to a slow oscillator start. Adding this define allows it to reliably boot from power-on.
See here: https://forums.raspberrypi.com/viewtopic.php?t=368080
And Here: https://forums.raspberrypi.com/viewtopic.php?t=355415

Thanks!


Configuration

Ability to configure via configuration files.  Needed in order to run multiple nodes locally with different ports.

As of #14 we have plugin configuration and a sharness test set up with two nodes, each with a different CAR Mirror port.


Dependency on<EMAIL_ADDRESS>should be upgraded to<EMAIL_ADDRESS>

Hi, I think something went wrong during a recent upgrade.
The function createAdapter() from<EMAIL_ADDRESS>returns (nsp: any) => ClusterAdapter where ClusterAdapter extends Adapter from<EMAIL_ADDRESS>However, server.adapter from<EMAIL_ADDRESS>expects Adapter from<EMAIL_ADDRESS>There are large differences between these two classes.
Type 'ClusterAdapter' is missing the following properties from type 'Adapter': _encode, persistSession, restoreSession ......

Having the same issue here. @darrachequesne could you advise?
Thanks for the work here btw.

Done in https://github.com/socketio/socket.io-cluster-adapter/commit/15fd56e78d52aa65c5fbf412dec57ab4bdaee7cc, and included in version 0.2.2.

Thanks for the work! Are you the only contributor?
On Fri, 24 Mar 2023, 17:45 Damien Arrachequesne, @.***>
wrote:

Closed #8 https://github.com/socketio/socket.io-cluster-adapter/issues/8
as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/socketio/socket.io-cluster-adapter/issues/8#event-8840849633,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB2VD2GSWDWEJAAGZCUH7MTW5XFS5ANCNFSM6AAAAAAVHADNNQ
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

@wvhulle yes, I'm currently the only active contributor.


Deploy CockroachDB on Digital Ocean Doc Update

Re: Deploy CockroachDB on Digital Ocean
Issue Description
When we say --advertise-host= I don't think this actually works unless all the nodes are in the same datacenter. Is there an issue with advertising the external IP address assuming the cluster is secure?
Suggested Resolution

@nstewart No problem with advertising the external IP, but it's a suboptimization––performance-wise––when all of your nodes are in the same datacenter. When this doc was written, stability was still a big issue, so we didn't want to expressly advocate for multi-DC deployments, ergo the doc we have.
@mberhault Is there a way to get a best-of-both worlds with --host/--advertise-host? Use the internal address if you're in the same DC, and use the public address if not?

Very old issue. Closing for now.


set  the publish Configure through API？

Hi,
I don't find the API interface for setting the publish config in the API documentation. Is there  relevant interface? If not, are there any plans to add  in the future? I don't want use the "/api/config" API. I'm worried it might affect the playing stream.

POST /api/streams?src={stream_name}&dst=rtmp...

yes,  i had been try this api  such as  "http://<IP_ADDRESS>:1984/api/streams?src=33&dst=rtmp%3A%2F%2F<IP_ADDRESS>%2Flive%2Fsrs63_33%2Fabc63_33".
there is no response  and the config is not changed.

The configuration does not change when this API is called. The answer is blank if there are no errors


[#157556295] Update paas-rds-broker for cloudwatch

https://www.pivotaltracker.com/story/show/157556295
What
We want to get cloudwatch metrics implemented on:
https://github.com/alphagov/paas-rds-broker/pull/81
Related

https://github.com/alphagov/paas-aws-account-wide-terraform/pull/127
https://github.com/alphagov/paas-rds-metric-collector/pull/2
https://github.com/alphagov/paas-rds-broker/pull/81
https://github.com/alphagov/paas-rds-broker-boshrelease/pull/59

How to review

Review https://github.com/alphagov/paas-rds-broker/pull/81
Deploy this.
Check you get the cpu metric as explained in https://github.com/alphagov/paas-cf/pull/1385

Before merge
After these  PRs were merge, update the wip commit with the final release

https://github.com/alphagov/paas-rds-broker/pull/81
https://github.com/alphagov/paas-rds-broker-boshrelease/pull/59

Who can review
Anyone but @keymon or @paroxp

@paroxp why you close it!!!! MERGE IT :stuck_out_tongue:


Add lovelace-valetudo-map-card

Just to make sure, is there anything that's expected from me to be changed/fixed at this point to allow inclusion?

Yes, the repository is missing the hacs.json file (Required after #338 && #446)
Missing info.md is OK if you set "render_readme": true, in that file.
Click the "Details" link on the failed checks for more details.

Okay, should be fine now then.


Using null coalescing operator

Description
Using null coalescing operator $foo ?? $bar instead of isset($foo) ? $foo : $bar
Modern PHP: know the best PHP features up to PHP 7.4

Thanks. I just merged it!


Expire dedups on tick

This change moves the work we do in khepri_machine:drop_expired_dedups/2 out of apply/3 and into the handler for Ra's periodic tick aux effect.
The commit message has more details but the TLDR is that the maps:filter/2 within drop_expired_dedups/2 can become expensive if many transactions are being handled before their dedups are received. Instead we can determine if any dedups are expired in the handler for the tick effect and expire any by committing a new #expire_dedups{} command.
Also included is a change to use the new handle_aux/5 API introduced in Ra 2.10 but that change shouldn't have any effect on behavior.

I think it should be easier to start with the other optimization (which also must bump the machine version) and this PR should depend on https://github.com/rabbitmq/ra/pull/474 so I'll mark this as a draft for now. We should be able to come back to it after the other PR is merged.


Windows Installation - Basic updates/settings

As a user wanting to virtualize windows, I want the windows VMs to have all the basic set up so that they work as expected

OVERLY BROAD - not clear enough to complete


Fix test regression due to multi service manifest change

Addresses issue #272

Can one of the admins verify this patch?

@ittaiz hmm the tests fail, let me take a look at what is going on here

test this please
(cibot message)

@azymnis can you merge master in, it looks like this is off an old branch

I'm happy to merge and we can follow up to improve deploy reproducibility testing.

Excellent.
Thanks Argyris for following through.
On Tue, 12 Sep 2017 at 7:33 P. Oscar Boykin<EMAIL_ADDRESS>wrote:

Merged #276 https://github.com/bazelbuild/rules_scala/pull/276.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_scala/pull/276#event-1244536818, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABUIFxySGiMnWgVPAZX0bTGGBbjGYSdDks5shgl7gaJpZM4PTyZj
.

Thanks @johnynek @ittaiz
I think there's some issue with my master branch. I'll deal with this on my own fork

An issue related to this PR?
On Tue, 12 Sep 2017 at 8:09 Argyris Zymnis<EMAIL_ADDRESS>wrote:

Thanks @johnynek https://github.com/johnynek @ittaiz
https://github.com/ittaiz
I think there's some issue with my master branch. I'll deal with this on
my own fork
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazelbuild/rules_scala/pull/276#issuecomment-328737472,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABUIF3yvNumWgAQamJpaaenYn1of3fwsks5shhIGgaJpZM4PTyZj
.

@ittaiz no, just a bad merge on my side. Fixed now


Feature/istio reconciler upgrade

Description:

introduce Istio upgrade scenario

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: mjakobczyk:x: RaymondRaymond 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.


[New]: Add Anagram Checker

Framework/code-stack
React
Description
Create a web application where users can input two words or phrases, and the application will determine whether they are anagrams or not. An anagram is a word or phrase formed by rearranging the letters of another. The application should provide instant feedback and visually indicate whether the input is an anagram or not.
Similar challenges
No
Screenshots
No response
Additional Context
No response

You can open a PR for it anytime 👍

ok


set value or a default value

Hello I am trying to set a value to ui-select but does not work.
I saw this issue (https://github.com/angular-ui/ui-select/issues/334) but the solution proposal there does not work for me.
Example:
<ui-select multiple ng-model="attribute.selectedValue" name="{{'attribute_' + attribute.id_catalog_attribute}}" theme="select2" ng-required="fieldIsRequired(attribute)">
   <ui-select-match placeholder="Select ">
      {{ $item.name }}
   </ui-select-match>
   <ui-select-choices repeat="option in attribute.options | propsFilter: { name: $select.search } ">

   </ui-select-choices>
</ui-select>

Just for test, I add this line to see if the ui-select set the value
$scope.attributes[0].attributes[144].selectedValue = $scope.attributes[0].attributes[144].options[3];

But did not worked.

For normal select I resolved, I found a mistake that is removing the default value, for multiselect/multichoice I change for  a normal select.

Hi its not getting updated with ng-model in my application I need select to have 2 way data binding. can anyone help me how to achieve this. Thanks in advance

Hello @karthikeyar9, are you trying to select two values by the model in multi-select? If yes, I had this problem and after some time trying to resolve it, I decided to remove ui-select and use a normal multi-select(html) and after that, the multi-select started work.

@viniciusgava I was trying to use one value only, when i change from UI ng-model was not getting updated so i used change event like below and sending selected value. Hope it helps someone
ng-change="changeFunc($select.selected)"

@viniciusgava I was trying to use one value only, when i change from UI ng-model was not getting updated so i used change event like below and sending selected value. Hope it helps someone
ng-change="changeFunc($select.selected)"

helped me :D thanks 👍


Add Configurable Limits to Controller (WIP)

Allows for the configuration of the maximum number of activation records to be displayed for activation list requests, and also allows for the configuration of the blocking action timeout value.
In addition, to making the above values configurable, the mentioned values will also be displayed from the controller's info route.

Needs tests.

Needs tests.
tests usually come first :D

@rabbah, @csantanapr, currently all of the limits/default values are displayed in the controller info route under the limit key. However, I think it would be more organized if the limits were organized in corresponding sections for actions, triggers, packages, etc. See below for examples.
Current format:
"limits": {
    "actions_per_minute": 120,
    "action_blocking_timeout": 60,
    "concurrent_actions": 100,
    "activation_poll_record_limit": 200,
    "triggers_per_minute": 60
  }

Purposed change:
"limits": {
    "actions":
         "invoke": {
              "per_minute": 120,
              "blocking_timeout": 60,
              "concurrent": 100
         }
    },
    "activations": {
         "poll": {
               record_limit": 200
          }
    },
    "triggers": {
         "fire": {
              "per_minute": 60
         }
    }
}

TODO:
Make MAX_ACTIVATION_ENTITY_LIMIT configurable via Ansible: /common/scala/src/main/scala/whisk/core/entity/ActivationEntityLimit.scala

@dubeejw this has rotted - are you still pursuing this?

@rabbah, still needs to be done. Seems very out of sync with master. Just got side tracked with other work.


The insert operation must provide keyColumn, but no need  before

The following content worked when use mybatis, but failed when use mybatis_r2dbc,
<insert id="insert" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId">

To get the mybatis_r2dbc working, I have to provide values for keyColumn elements
<insert id="insert" parameterType="SysUser" useGeneratedKeys="true" keyProperty="userId" keyColumn="user_id">

Could your provide a specific description , or demo project？
I checked my own used case and test suite about that,It works properly. Test case about insert return generated keys

FYI , The test running with mysql and mariadb-driver

Sorry, I misunderstood, I will try to fix the problem later

Hi~,
I have checked the source code ,the problem you mentioned  is actually caused by the inconsistency between JDBC driver and R2DBC driver definition.

1 . the JDBC driver'sConnection provides a PreparedStatement prepareStatement(String sql, int autoGeneratedKeys) throws SQLException; method, the second parameter of this method indicates whether auto returns generatedKeys
2 . The R2DBC driver's Statement does not provide any method to return generatedKeys automatically, the Statement only has a Statement returnGeneratedValues(String... columns) method. columns)` method to return generatedKeys, so there is no bug here.

Reference:

1 . JDBC's Connection
2 . R2DBC's Statement

Thanks. better to throw an exception for the case.

Thanks. better to throw an exception for the case.

Sounds appropriate.I'll work on this.Thanks for your suggestion

FYI: fixed in #56


Fancy Zones with "standard" aero snap.

This is a feature request for an optional toggle that would allow the fancy zones shortcut keys to work in coordination with aero snap shortcuts.
I like having the fancy zones and particularly with the shortcut keys, but, I don't want to loose Aero Snap functionality.
I would prefer if I could toggle an option that allows some additional aero snap shortcuts to exist.
Note: I run a grid with 4 boxes and the current shortcut keys just cycle through those quadrants.
Specifically, when moving a window "beyond" a zone:

Full Screen: For a window that is touching the top of the screen;  if I press Win+Up, I would like it to go full screen.
Full Height: For a window that is touching a side of the screen; if I press Win+Left (if touching left side), I would like it to go full height.
Minimize: For a window that is touching the bottom of the screen; if I press Win+Down, I would like it to minimize.

This would allow me to cycle through all four quadrants and when reaching the sides or top or bottom and when I go "beyond" that, it would cycle through the additional features.

@devstu
the issue for the integration between FZ and Windows Snap is https://github.com/microsoft/PowerToys/issues/4795

@devstu
the issue for the integration between FZ and Windows Snap is https://github.com/microsoft/PowerToys/issues/4795


More TypeRef uniquing

Address a few post-commit review comments:

Include some more uniquing info for Metatypes.
Don't bother with parent pointers in nominal-ish types.
Move uniquing logic / macro into the static create functions for typerefs so they can continue to be created and uniqued that way as well as with the TypeRefBuilder methods.

@swift-ci Please smoke test

The OS X PR bot is building too much again, so I'm going to build the tests locally in parallel.


Remove white space and update test target to julia 1.9

Codecov Report

Merging #79 (348039f) into main (b72ccdc) will decrease coverage by 2.75%.
The diff coverage is 91.07%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #79      +/-   ##
==========================================
- Coverage   80.40%   77.65%   -2.75%
==========================================
  Files          26       27       +1
  Lines         796      752      -44
==========================================
- Hits          640      584      -56
- Misses        156      168      +12

Impacted Files
Coverage Δ

src/GeoCoding/index2coordinates.jl
96.07% <ø> (-0.08%)
:arrow_down:

src/SARImageInterface.jl
8.00% <0.00%> (-2.72%)
:arrow_down:

src/MetaDataUtils.jl
24.00% <66.66%> (ø)

.../Sensors/Sentinel1/Sentinel1Types/MetaDataTypes.jl
58.53% <66.66%> (-36.92%)
:arrow_down:

src/timeUtils.jl
75.00% <75.00%> (ø)

src/GeoCoding/coordinates2index.jl
97.61% <87.50%> (+0.11%)
:arrow_up:

src/GeoCoding/OrbitState.jl
100.00% <100.00%> (ø)

...ors/Sentinel1/FileIO/Metadata/Sentinel1Metadata.jl
100.00% <100.00%> (ø)

src/Sensors/Sentinel1/FileIO/PreciseOrbit.jl
100.00% <100.00%> (ø)

... and 11 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Approve
Not using Julia 1.8 anymore?


Remove ServerView from RealtimeIndexTasks and use overlord for handoffs to reduce load on ZK

fixes #1970
extracted out segment handoff callbacks in SegmentHandoffNotifier which is responsible for tracking segment handoffs and doing callbacks when handoff is complete.
Overlord now maintains a view of segments in the cluster, this will affect the jam heap requirements for the overlord for large clusters.
realtime Index Tasks now use SegmentHandoffCheckAction to check for handoffs.
Realtime Nodes still use the old way of maintaining a FilteredServerView to check for handoffs.
Add tests for individual components

closing for -  https://github.com/druid-io/druid/pull/2015


When I use msys2 to operate 'Using this library in your project' on window, I get the following exception, I am not familiar with cmake and don't know how to solve this problem.

I modified 'cd $MONERO_CPP/external/monero-project && make release-static -j8 && make release-static -j8' of operation 5 to 'cd $MONERO_CPP/external/monero-project && make release-static-win64 - j8 && make release-static-win64 -j8'.
Execute operation 6 to the following exception.
[ 98%] Linking CXX executable ../../bin/monero-gen-trusted-multisig.exe
[ 98%] Linking CXX executable ../../bin/monero-blockchain-mark-spent-outputs.exe
make[3]: Leaving directory '/monero-java/external/monero-cpp/external/monero-project/build/release'
[ 98%] Built target blockchain_blackball
make[3]: Leaving directory '/monero-java/external/monero-cpp/external/monero-project/build/release'
[ 98%] Built target gen_multisig
[ 98%] Linking CXX executable ../../bin/monero-wallet-cli.exe
make[3]: Leaving directory '/monero-java/external/monero-cpp/external/monero-project/build/release'
[ 98%] Built target simplewallet
[100%] Linking CXX executable ../../bin/monero-wallet-rpc.exe
make[3]: Leaving directory '/monero-java/external/monero-cpp/external/monero-project/build/release'
[100%] Built target wallet_rpc_server
make[2]: Leaving directory '/monero-java/external/monero-cpp/external/monero-project/build/release'
make[1]: Leaving directory '/monero-java/external/monero-cpp/external/monero-project/build/release'
-- Building for: Ninja
-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: D:/software/msys2/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: D:/software/msys2/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- EXTERNAL_LIBS_DIR:D:/software/msys2/monero-java/external/monero-cpp/external-libs
-- EXTRA_LIBRARIES:setupapi
Protobuf_INCLUDE_DIR------------->>>D:/software/msys2/mingw64/include/protobuf-3.21.2
-- Found Protobuf: usr/bin/ (found version "3.21.2")
Protobuf_INCLUDE_DIR------------->>>D:/software/msys2/mingw64/include/protobuf-3.21.2
-- Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR) (found version "3.21.2")
-- Protobuf lib: usr/bin/, inc: , protoc: D:/software/protoc/bin/protoc.exe
-- Using Boost include dir at D:/software/msys2/mingw64/include
-- Found OpenSSL: D:/software/msys2/mingw64/lib/libcrypto.dll.a (found version "1.1.1q")
-- Using OpenSSL include dir at D:/software/msys2/mingw64/include
-- Using libsodium library at D:/software/msys2/mingw64/lib/libsodium.dll.a
-- Found HIDAPI: D:/software/msys2/mingw64/lib/libhidapi.dll.a
-- Using HIDAPI include dir at D:/software/msys2/mingw64/include/hidapi
-- Using monero-project build:D:/software/msys2/monero-java/external/monero-cpp/external/monero-project/build/release
-- Configuring done
-- Generating done
-- Build files have been written to: D:/software/msys2/monero-java/external/monero-cpp/build
ninja: error: '../external/monero-project/build/release/src/crypto/wallet/libwallet-crypto.a', needed by 'libmonero-cpp.dll', missing and no known rule to make it

Does building monero-project complete successfully (with cd $MONERO_CPP/external/monero-project && make release-static -j8 && make release-static -j8)?
This would be the first step, to ensure monero-project builds successfully.
Then, monero-cpp is currently expecting to find ../external/monero-project/build/release/src/crypto/wallet/libwallet-crypto.a, which is built with monero-project on *nix systems.
On Windows, it might build this library file to a different file name (e.g. *.dll?), so we'll need to update monero-cpp to use that library file on Windows.

libwallet-crypto.a is indeed not found, so I don't know how to make it generate this file. I see that it should depend on the following code.
`#pragma once
#include
#include "crypto/wallet/ops.h"
namespace crypto {
namespace wallet {
// if C functions defined from external/supercop - cmake generates crypto/wallet/ops.h
#if defined(monero_crypto_generate_key_derivation)
inline
bool generate_key_derivation(const public_key &tx_pub, const secret_key &view_sec, key_derivation &out)
{
return monero_crypto_generate_key_derivation(out.data, tx_pub.data, view_sec.data) == 0;
}
  inline
  bool derive_subaddress_public_key(const public_key &output_pub, const key_derivation &d, std::size_t index, public_key &out)
  {
    ec_scalar scalar;
    derivation_to_scalar(d, index, scalar);
    return monero_crypto_generate_subaddress_public_key(out.data, output_pub.data, scalar.data) == 0;
  }

#else
using ::crypto::generate_key_derivation;
using ::crypto::derive_subaddress_public_key;
#endif
}
}`
The crypto/wallet/ops.h file cannot generate the required header files.
In a linux environment I see it generates the following
`#ifndef MONERO_CRYPTO_H
#define MONERO_CRYPTO_H
#include "monero/crypto/amd64-64-24k.h"
#define monero_crypto_ge25519_scalarmult monero_crypto_amd64_64_24k_ge25519_scalarmult
#define monero_crypto_generate_key_derivation monero_crypto_amd64_64_24k_generate_key_derivation
#define monero_crypto_generate_subaddress_public_key monero_crypto_amd64_64_24k_generate_subaddress_public_key
#endif // MONERO_CRYPTO_H`

构建门罗币项目是否成功完成（使用cd $MONERO_CPP/external/monero-project && make release-static-win64 - j8 && make release-static-win64 -j8）？
这是确保门罗币项目成功构建并解决任何构建错误的第一步。
然后，monero-cpp 当前期望找到 ../external/monero-project/build/release/src/crypto/wallet/libwallet-crypto.a，它是在 *nix 系统上使用 monero-project 构建的。
在 Windows 上，它可能会将此库文件构建为不同的文件名（例如 *.dll？），因此我们需要更新 monero-cpp 以在 Windows 上使用该库文件。

libwallet-crypto.a is indeed not found, so I don't know how to make it generate this file. I see that it should depend on the following code.
`#pragma once
#include
#include "crypto/wallet/ops.h"
namespace crypto {
namespace wallet {
// if C functions defined from external/supercop - cmake generates crypto/wallet/ops.h
#if defined(monero_crypto_generate_key_derivation)
inline
bool generate_key_derivation(const public_key &tx_pub, const secret_key &view_sec, key_derivation &out)
{
return monero_crypto_generate_key_derivation(out.data, tx_pub.data, view_sec.data) == 0;
}
  inline
  bool derive_subaddress_public_key(const public_key &output_pub, const key_derivation &d, std::size_t index, public_key &out)
  {
    ec_scalar scalar;
    derivation_to_scalar(d, index, scalar);
    return monero_crypto_generate_subaddress_public_key(out.data, output_pub.data, scalar.data) == 0;
  }

#else
using ::crypto::generate_key_derivation;
using ::crypto::derive_subaddress_public_key;
#endif
}
}`
The crypto/wallet/ops.h file cannot generate the required header files.
In a linux environment I see it generates the following
`#ifndef MONERO_CRYPTO_H
#define MONERO_CRYPTO_H
#include "monero/crypto/amd64-64-24k.h"
#define monero_crypto_ge25519_scalarmult monero_crypto_amd64_64_24k_ge25519_scalarmult
#define monero_crypto_generate_key_derivation monero_crypto_amd64_64_24k_generate_key_derivation
#define monero_crypto_generate_subaddress_public_key monero_crypto_amd64_64_24k_generate_subaddress_public_key
#endif // MONERO_CRYPTO_H`

libwallet-crypto.a is not found, so I don't know how to make it generate this file. I see that it should depend on the following code.

The crypto/wallet/ops.h file cannot generate the required header files.
In a linux environment I see it generates the following

I can't get in here

So the file could not be generated

I'm not very familiar with this stuff, so I'm not sure if the build is complete. I see that the build is already 100%, and the following two files are the output of my two make
make1.txt
make2.txt

It looks like your build is completing successfully.
Within monero-project's build directory, do you have files in release/lib, like libwallet or libwallet_merged?
Or perhaps  release/src/common/libcommon?

Yes. These files have already been generated. But failed to generate 'external/monero-project/build/release/src/crypto/wallet/libwallet-crypto.a'.

Ah ok, great. This library isn't configured to work with Windows, so CMakeLists.txt makes assumptions for files that are specific to Linux/Unix, like libwallet-crypto.a. Windows will build library files with a different extension (*.dll?). It should be relatively easy to update the file paths in CMakeLists.txt and other configuration for Windows.
There's an open issue to support Windows which help is wanted for: https://github.com/monero-ecosystem/monero-cpp/issues/10.

How to modify CMakeLists.txt and window configuration? I don't get it at all, I looked at the paths inside the CMakeLists.txt and it was just the libwallet-crypto.a file missing

A new version of this library is released, v0.7.2. which updates to monero-project v<IP_ADDRESS>, which had completely removed libwallet_merged.a, resulting in the error reported in this issue. Please try the new version and let me know if you continue to have problems. Some things may still need updated for Windows. Thanks.

I have updated to the latest version, libwallet_merged.a is no longer generated, but the libwallet-crypto.a file is still missing.

I found out that libwallet-crypto.a is only built on x86_64 systems to provide asm for some wallet functions.
https://github.com/monero-ecosystem/monero-cpp/pull/18 imports that library only if it exists, and should hopefully resolve this issue.


MathJax payload optional for cloud reader? (lazy download + JS load?)

Note that epub.js fetches the MathJax lib from a CDN:
https://github.com/futurepress/epub.js/blob/master/hooks/default/mathml.js#L20
http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML


added an exemple of the new methods we develop

Add a space between - and the text beginning with Spherically.
Thank you.


After renaming an api and trying to creating an api with the same gives an error

Description:
If we create an API named foo and later rename it to foz, when trying to create an API with the name foo again shows an error in the form, An artifact with same name already exists.

This is a known issue and it exists for all artifacts as the content in the artifact.xml file is getting updated only at the artifact creation by adding its details. Therefore we will keep track on this and come up with a solution in a later release at the earliest which will update the artifact.xml file accordingly when updating and deleting artifacts.

Closing this issue as a fix was done to rename the artifact file name as well when the artifact name is changed. A separate issue(https://github.com/wso2/mi-vscode/issues/132) was created to keep track of the other aforementioned concern which is the requirement to update the artifact.xml file when the name of an artifact in the registry is being changed.


Fix yaml errors causing checks not to be run

Description
Due to https://github.com/opensearch-project/sql/pull/2815, some duplicate env variables were added, causing some yaml to be invalid and checks not to be run. This PR removes duplicates so that the actions run as expected.
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@penghuo @vamsi-amazon can I get one more approval please?


Fix: temporary fix for handling groups before refactoring the 'ls' command

fix #46

This PR #47 is for bug reported in issue #46 . This is a quick fix, and will be better implemented in the future


function Bourne.stream/1 is undefined or private

defmodule MyApp.Repo do
  use Ecto.Repo, otp_app: :my_app
  use Bourne
end

I'm trying to use this
  def list_queries_by_job(id, attrs \\ []) do
    (from q in Query, where: q.job_id == ^id) |> not_done_queries()
    |> queries_by_type(attrs[:types])
    |> Bourne.stream()
  end

and get error
** (UndefinedFunctionError) function Bourne.stream/1 is undefined or private
I use elixir: "~> 1.6",

You need to use MyApp.Repo.stream not Bourne.stream. I'll fix the README to reflect that.


Require Cabal-Version 1.8

Hopefully this suppresses the following warning:
Warning: crypto-pubkey-types.cabal:21:34: version operators used. To use
version operators the package needs to specify at least 'cabal-version: >=
1.8'.

archiving repository


Link the other paper?

https://researchmap.jp/jhlee/published_papers/21426109
This one is more in-depth, so I think it makes sense to link it instead

I actually did previously link to that one, but that paper actually uses a different formula which led to big discrepencies between this package's model and the model on jreadability.net.
The paper you linked to measures proportion of aux. verbs while the new one measures percentage of particles.

With that being said, though, yeah, I'll link that paper again.

Okay, just re added a link to the original paper in the README 👍


equivalent redefinition of Bool changes results

expected behavior
in the program
type Bool {
  false
  true
}

Bool.and(x: Bool, y: Bool): Bool
  case x {
    false: Bool.false
    true: y
  }

Test: _
  Bool.show(Bool.and(Bool.true, Bool.false))

Test should be result in "Bool.false"
current behavior
Test results in "Bool.true"

Redefining a type will mess up the type-checker, we must disable that and display an error when it is attempted.

agreed


Updating psutil fails when running make test

Currently running into this error when running make test

@spoonerf can you try running pip install psutil==5.9.2 and paste the error here? The error from poetry is quite strange and I can't replicate it.

Sure! It is:
(.venv) fionaspooner@Fionas-MBP etl % pip install psutil==5.9.2
Collecting psutil==5.9.2
Downloading psutil-5.9.2.tar.gz (479 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 479.8/479.8 KB 5.7 MB/s eta 0:00:00
Preparing metadata (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py egg_info did not run successfully.
│ exit code: 1
╰─> [1 lines of output]
ERROR: Can not execute setup.py since setuptools is not available in the build environment.
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed
× Encountered error while generating package metadata.
╰─> See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
WARNING: You are using pip version 22.0.3; however, version 22.2.2 is available.
You should consider upgrading via the '/Users/fionaspooner/Documents/OWID/repos/etl/.venv/bin/python -m pip install --upgrade pip' command.

@spoonerf I couldn't replicate it, but found this thread. Could you please try pip install setuptools --upgrade and then pip install psutil==5.9.2 again? (You could also try reinstalling pyenv python, but hopefully that won't be necessary)

That worked! 🥳
I'm getting this warning now - not sure if that's anything to worry about but otherwise make test all ran perfectly. Thanks!!
Collecting setuptools
Using cached setuptools-65.4.0-py3-none-any.whl (1.2 MB)
WARNING: Error parsing requirements for etl: Invalid URL: vendor/owid-catalog-py

Don't worry... and keep your fingers crossed :). If something like this happens again, remove the entire etl/.venv, update poetry self update, then pip install --upgrade pip and try again.


[stdlib] Restore concrete initializers on Unsafe{Raw}Pointer

This is part 1 of 2-part solution to SR-9800

Build failed
Swift Test Linux Platform
Git Sha - 87a1625fa7fc06d630f4a5f68a7f3d931090c2c3

Build failed
Swift Test OS X Platform
Git Sha - 87a1625fa7fc06d630f4a5f68a7f3d931090c2c3

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test macOS platform

@swift-ci please benchmark

@swift-ci please test source compatibility

Build comment file:
Performance: -O

TEST
OLD
NEW
DELTA
RATIO

Regression

DataAppendDataLargeToLarge
37200
50600
+36.0%
0.74x (?)

Performance: -Osize

TEST
OLD
NEW
DELTA
RATIO

Regression

NopDeinit
44900
51400
+14.5%
0.87x (?)

Data.hash.Empty
71
77
+8.5%
0.92x (?)

Performance: -Onone

TEST
OLD
NEW
DELTA
RATIO

Improvement

ArrayOfGenericPOD2
1235
1065
-13.8%
1.16x (?)

ArrayOfPOD
853
778
-8.8%
1.10x (?)

StrComplexWalk
7520
6890
-8.4%
1.09x

EqualStringSubstring
51
47
-7.8%
1.09x (?)

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

--------------


reorganized testing folders and added more snapshots

Changed around the directory structure to keep tests closer to the source files. Ditch it if you don't like it. 😄

@chanceeakin could you take another look? i've been so busy with 6.0 that i was swamped a little. some minor things have changed, api as well - types and tests are screwed atm. the example suite works at least.

Absolutely. I'll give it a run sometime over the weekend! Congratulations on 6.0! 😄

Give it a look over and lmk if this is a direction you'd like to proceed. :)

Thanks, looks great!

Btw, do you know what role does storybook plays in this? I saw that some tests are using components out of the storybook folder.

Earlier tests were using storybook components as mocks, as far as I could tell. Didn't want to disturb that pattern if it needed to stay.


Fix broken zoom for Project Spartan browsers.

Special thanks to the Project Spartan team for letting us know.

Good catch, thanks!

:+1:


Flag an install to prevent a vscode version from updating

In the CLI, we want to be able to manage VS Code versions. Among the options is installing a specific version of VS Code (e.g. code version use 1.68.1). If a mode is selected and installed in this way, we should not auto update.
There is update.mode: none, but this is a user setting, and we don't want to have a separate user-data-dir for each install. Is there a way the CLI could flag the VS Code install to not update itself? Perhaps by writing a file in the installed directory, for example.

Here's the logic that sets up the update service state: https://github.com/microsoft/vscode/blob/b5a63973e920382b3c25b563933ee7443105c0c0/src/vs/platform/update/electron-main/abstractUpdateService.ts#L62-L107
We could certainly add some new property to product.json and detect it here.

I think we don't need this, at least right now, with the direction that we're heading. May reopen it in the future.


fixed depositFrom abi and method call

removed fromAddress from the depositFrom plasma method
modified plasma default abi
fix: https://github.com/omisego/omg-js/issues/51

The plasmaAbi.js file has been removed in favour of contracts/RootChain.json


deploy update without downloading content is for new ADRs only

Reference bug 519645
deploy update without downloading content (No deployment package option) is for new ADRs only. Can’t modify existing ADRs.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4bc1bc8d-2e4b-650b-7644-84e5790e4630
Version Independent ID: 9488c8c6-c912-1667-db02-f8a29f5c2023
Content: Automatically deploy software updates - Configuration Manager
Content Source: sccm/sum/deploy-use/automatically-deploy-software-updates.md
Product: configuration-manager
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Fixed with linked internal pull request. Once merged, this change should be live with the next daily publishing process. Right now that should be tomorrow (Wednesday, 22 August) around 11:00 Pacific time. I'm closing this issue.


Neurobagel annotation causes BIDS validator warnings

When running this version of the BIDS validator the Neurobagel annotations create warnings.

It may not be the case anymore. The newest version doesn't report that. Here's the command I used to execute:
docker run -ti --rm -v $PWD:/data:ro denoland/deno deno run --allow-read --allow-env --reload -A https://github.com/bids-standard/bids-validator/raw/deno-build/bids-validator.js /data


What to save on Git?

Hey there,
I am curently using a docker-compose containing the official images used to make strapi run.

For now, after some research, it looks llike everything (all folders) are pushed, which might get pretty heavy with a project growing up, is there a reason for that? Cannot the admin / functionnal part not be pushed while commiting since the docker-compose will rebuild everything anyway?
Thank you in advance for your answers!

The rebuild is different than the update version.
So to keep your project consistence by the version of all dependencies (admin, plugins) we have to commit them.
As you can customise these parts you will have to same it.


Texture flickering if CPU is under load

Hi! First of all, thank you for this great library. I am using Lottie on the loading screen to display our logo. Everything is great, but I found that the logo would flicker for some unknown reason, presumably when CPU load is high. In the following video, I am getting all C# types from all loaded assemblies in another thread, and you can see the logo flickers:
https://user-images.githubusercontent.com/3406505/226140151-7f7f738c-1795-4afd-b6cf-1fc52a8a35a2.mp4
(Note the UI thread hangs at 0:06 so the logo animation paused there.) The logo itself originally looks like this:
https://user-images.githubusercontent.com/3406505/226140508-41ab42c1-b5b2-4de0-b6fa-fd681ff15da8.mp4
Very confused why this is happening. I have tried both Update and UpdateAsync() (with DrawOneFrameAsyncGetResult() in LateUpdate()), both suffer from the same problem. Even more curious is that this doesn't happen in the editor, only in standalone builds.
Please let me know if you have any ideas. Thanks!

Hello @TigerHix, can you please provide more technical details. The operation system, Unity version. It would be nice, if you share the animation file you use, so that I try to reproduce the issue on my end. Thank you!

Sure, here it is: https://pastebin.com/z49QnpLB
OS: Windows 11 22H2
Unity: 2021.3.18f1
Thanks for looking into it!

Hey @TigerHix, thanks a lot for the report. I was able to reproduce it on Windows 11 Mono build. Unity version 2019.4.40f1.
It flickers for me if I select the 128 and below pixels quality. For 256 and above the flickering disappears. I try to figure our why it happens.
https://user-images.githubusercontent.com/5675979/229625203-400dbc94-1c48-4212-8e7b-9d1d79e1c385.mp4

Hey @TigerHix. following changes helped to fix the issues with flickering on Windows:

It seems something is wrong with the UpdateAsync() and DrawOneFrameAsyncGetResult() logic. I'll try to figure out what. You can switch to Update (call it from unity Update, not LateUpdate)

@khindemit Thanks for looking into it! Unfortunately, this doesn't fix the issue for me :(
Here's my code that calls LottieAnimation:
using LottiePlugin;
using UnityEngine;
using UnityEngine.UI;

namespace Warudo.Bootstrap {
    public sealed class AnimatedLogo : MonoBehaviour {

        [SerializeField] private TextAsset _animationJson;
        [SerializeField] private uint _textureWidth = 2048;
        [SerializeField] private uint _textureHeight = 2048;
        [SerializeField] private Graphic _graphic;

        private LottieAnimation _lottieAnimation;

        private void Start() {
            _lottieAnimation = LottieAnimation.LoadFromJsonData(
                _animationJson.text,
                string.Empty,
                _textureWidth,
                _textureHeight);
            ((RawImage)_graphic).texture = _lottieAnimation.Texture;
        }
        private void OnDestroy() {
            _lottieAnimation?.Dispose();
            _lottieAnimation = null;
        }

        private void Update() {
            if (_lottieAnimation != null) {
                _lottieAnimation.Update();
            }
        }
    }
}

Hi @TigerHix, I just figured out that when the build player on Windows is started from cmd with "-force-gfx-direct" flag the flickering dissapers. This flag disables the multithreaded rendering. I'll try to figure out why rlottie tries to render the animation even when the LottieRenderImmediately(..) call is done.

@gindemit Thanks for the update. This sounds strange indeed - hope you can figure it out!

Hello, @TigerHix! Thanks to the advanced capabilities of GPT-4, I was able to identify the issue with the flickering. Please try using the following code:
using LottiePlugin;
using System.Collections;
using UnityEngine;
using UnityEngine.UI;

namespace Warudo.Bootstrap
{
    public sealed class AnimatedLogo : MonoBehaviour
    {
        [SerializeField] private TextAsset _animationJson;
        [SerializeField] private uint _textureWidth = 2048;
        [SerializeField] private uint _textureHeight = 2048;
        [SerializeField] private Graphic _graphic;

        private LottieAnimation _lottieAnimation;
        private WaitForEndOfFrame _waitForEndOfFrame;

        private void Start()
        {
            _lottieAnimation = LottieAnimation.LoadFromJsonData(
                _animationJson.text,
                string.Empty,
                _textureWidth,
                _textureHeight);
            ((RawImage)_graphic).texture = _lottieAnimation.Texture;
            _waitForEndOfFrame = new WaitForEndOfFrame();
            StartCoroutine(RenderLottieAnimationCoroutine());
        }
        private void OnDestroy()
        {
            _lottieAnimation?.Dispose();
            _lottieAnimation = null;
        }

        private IEnumerator RenderLottieAnimationCoroutine()
        {
            while (true)
            {
                if (_lottieAnimation != null)
                {
                    _lottieAnimation.Update();
                }
                yield return _waitForEndOfFrame;
            }
        }
    }
}

Please let me know if this resolves the issue.

Hey @TigerHix, any news?

I just tested the changes and it worked! All hail ChatGPT! 😆
I don't quite understand how this fixed the issue, but glad it's now fixed.

Thanks for the test! Glad it is fixed for you.
You can also try out the latest 0.2.1 version, there is AnimatedImage component that does similar thing as AnimatedLogo class.


Mutiple Secrets Creation

Describe the solution you'd like
Given a path that contains mutiple secrets give the possibility for an externalsecret template to create multiple K8S Secret.
Use case example:
using a CICD we provision cluster access for a ArgoCD server in a well known path /secret/cluster/cluster-fqdn
We would like to create a secret in the ArgoCD cluster one for each cluster.

Full Example
/secret/cluster/lab.cluster.internal.example.com
{
	"endpoint":"https://lab.cluster.internal.example.com",
	"name":"lab",
	"bearerToken": "example_bearer_token_lab",
}

/secret/cluster/staging.cluster.internal.example.com
{
	"endpoint":"https://staging.cluster.internal.example.com",
	"name":"staging",
	"bearerToken": "example_bearer_token_staging",
}

/secret/cluster/prod.cluster.internal.example.com
{
	"endpoint":"https://prod.cluster.internal.example.com",
	"name":"prod",
	"bearerToken": "example_bearer_token_prod",
}

With something like this templates
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: cluster-secret
spec:
  refreshInterval: 1h
  secretStoreRef:
    name: secretstore-sample
    kind: SecretStore
      target:
      template:
        name: cluster-{{.name}}
        type: Opaque
        data:
          name: {{.name}}
          server: {{.endpoint}}
          config: |
    {
      "bearerToken": "{{.bearerToken}}",
    }
          connection: '{{ .dburl | replace "postgres://" "postgresql://" }}'
  dataFrom:
  - find:
      name:
        regexp: /secret/cluster

To create following secrets
apiVersion: v1
kind: Secret
metadata:
  name: cluster-staging
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: staging
  server: https://staging.cluster.internal.example.com
  config: |
    {
      "bearerToken": "example_bearer_token_staging",
    }
---
apiVersion: v1
kind: Secret
metadata:
  name: cluster-lab
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: lab
  server: https://lab.cluster.internal.example.com
  config: |
    {
      "bearerToken": "example_bearer_token_lab",
    }
---
apiVersion: v1
kind: Secret
metadata:
  name: cluster-prod
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: prod
  server: https://prod.cluster.internal.example.com
  config: |
    {
      "bearerToken": "example_bearer_token_prod",
    }

Hey!
I see your use-case and this has come up a couple of times in the past. We didn't find yet a way of supporting that without losing our sanity and refrained from implementing it. There are a couple of things that we need to take into account:

how should the resulting secrets be named? How can a user configure that? How can we map the name to the map[sting][]byte produced by the controller by using spec.dataFrom[] and spec.data[] ?
do they all share the metadata labels/annotations?

I'm open to discuss options that the community has in mind. As said: we refrained from adding that in the past due to its complexity.
Regarding your proposal: I don't think a template belongs into the secretStoreRef. IMO it should be defined in spec.template.

Hey !

Regarding your proposal: I don't think a template belongs into the secretStoreRef. IMO it should be defined in spec.template

I made a mistake in the template I update it to reflect my though.

Thanks for working on this! I like that idea, i think i get your approach.
We must make sure that we maintain forward and backward compatibility. We basically need a switch that indicates that the spec.target.template should be interpreted in a different way.
In its current state both .data[] and .dataFrom[] create one big map[string][]byte that contains the merged values which is then passed to the template engine.
In order to make multi-secret stuff work we need .dataFrom[].find to output a []map[string]byte that can then be fed into secret template defined in spec.target.template.

we maybe should make spec.target.name instead of spec.target.template.name  template-able - it should be forward-compatible because template literals are invalid names in Kubernetes
we need to add a switch. Producing []map[string][]byte could be used without the need to create multiple secrets. Maybe it can fit somewhere under .spec - maybe .spec.aggregationMode that can be Map (default, current behaviour) or List (new behaviour) ?

That would work but also complexity :rocket: :moon: :smile:

I am also looking to use this use case for argocd. If not implemented in ESO itself, we'll probably end up using custom tooling to accomplish this.

Sorry, I still miss a little bit about the point here. Is this request not achievable with the current external-secrets? Or is it a matter of simplifying the number of external-secrets resources?

Sorry, I still miss a little bit about the point here. Is this request not achievable with the current external-secrets? Or is it a matter of simplifying the number of external-secrets resources?

Imagine that you have a number of secrets under the path in SSM:
/argocd/clusters/{development, staging,production}
The goal is to have a single ExternalSecret resource that will loop through the child items in that path, and create individual secrets based on their contents.
So at the end, we end up with three secrets in kubernetes: development, staging, production, all of which have unique contents based on the JSON in the original secret.

Not with one ExternalSecret, but I don’t understand why you need to do it with only one ExternalSecret! you can do it with one ExternalSecret per environment and achieve the three secrets that you desire.

The objective of one external secret just for the sake of it is not a good one, so I’m wondering what I’m missing here.

The objective of one external secret just for the sake of it is not a good one, so I’m wondering what I’m missing here. edit: what I mean is that I know there is a reason behind it, I’m just trying to understand it :). For me there is a clear downside that if any issue happens with one environment, all of the secrets could potentially not be synced - even production

I was looking for this feature too, my use-case for the image pull secrets to  dockerhub to be generated in all namespaces

Full Example
/secret/cluster/lab.cluster.internal.example.com
{
	"endpoint":"https://lab.cluster.internal.example.com",
	"name":"lab",
	"bearerToken": "example_bearer_token_lab",
}

/secret/cluster/staging.cluster.internal.example.com
{
	"endpoint":"https://staging.cluster.internal.example.com",
	"name":"staging",
	"bearerToken": "example_bearer_token_staging",
}

/secret/cluster/prod.cluster.internal.example.com
{
	"endpoint":"https://prod.cluster.internal.example.com",
	"name":"prod",
	"bearerToken": "example_bearer_token_prod",
}

With something like this templates
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: cluster-secret
spec:
  refreshInterval: 1h
  secretStoreRef:
    name: secretstore-sample
    kind: SecretStore
  target:
      template:
        name: cluster-{{.name}}
        type: Opaque
        data:
          name: {{.name}}
          server: {{.endpoint}}
          config: |
            {
              "bearerToken": "{{.bearerToken}}",
            }
  dataFrom:
  - find:
      name:
        regexp: /secret/cluster

To create following secrets
apiVersion: v1
kind: Secret
metadata:
  name: cluster-staging
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: staging
  server: https://staging.cluster.internal.example.com
  config: |
    {
      "bearerToken": "example_bearer_token_staging",
    }
---
apiVersion: v1
kind: Secret
metadata:
  name: cluster-lab
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: lab
  server: https://lab.cluster.internal.example.com
  config: |
    {
      "bearerToken": "example_bearer_token_lab",
    }
---
apiVersion: v1
kind: Secret
metadata:
  name: cluster-prod
  labels:
    argocd.argoproj.io/secret-type: cluster
type: Opaque
stringData:
  name: prod
  server: https://prod.cluster.internal.example.com
  config: |
    {
      "bearerToken": "example_bearer_token_prod",
    }

Hi @jynolen  I have an implementation of this using helm templating and for ArgoCD...
https://github.com/polarpoint-io/argocd-app-of-apps/blob/main/templates/clusters.yaml


Update index.d.ts

Your docs insist that SendGrid class has an error and a response for parameters.  Can we update this or correct the docs in some way?  Seems like an error and response is pertinent.  Thanks SendGrid.
self.client.API(request, function(response) {
    try {
      response.body = response.body ? JSON.parse(response.body) : response.body;
    } catch (e) {
      return callback(e)
    }
    if (isValidResponse(response)) {
      callback(null, response);
    }
    else {
      var error = new SendGridError('Response error');
      error.response = response;
      callback(error, response);
    }
  });

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

Thanks @bamtron5!
@SPARTAN563, thoughts?

Looking through it now :+1:

Looks like the type of the error object in this PR is incorrect, it should derive from Error (as you can see here).
I've spun up #418 to address this, however if @bamtron5 would prefer the commit credit, he's more than welcome to copy the changes.

I can close this PR, I'll watch #418
thank you @SendGridDX @SPARTAN563


add source button

This PR proposes a button to access the source files on Github directly. It has to be pulled in together with SpongePowered/SpongeDocs#365 , in order to work properly. I tried to make this as configurable as possible, so all necessary adjustments (name of the github user, repo, desired branch) can be made in conf.py of the project itself.
As i'm a Sphinx/Python novice, i'd like to get some feedback on this first.

Updated the PR to allow for correct building of the theme.

:+1: :tada:


Process must exit before requested information can be determined.

Process must exit before requested information can be determined.
   at <StartupCode$WraindropBot>.$VoiceHandler.Speak@124-2.MoveNext()
   at WraindropBot.Utils.handleError@20.MoveNext()

resolved by add 'WaitForExitAsync()'


Improve docstring of uncertainty_components

@scheidan this should answer your questions.  If it's still unclear what the tag is, have a look at https://juliaphysics.github.io/Measurements.jl/stable/appendix/#The-Measurement-Type-1.  Let me know if there is something still not clear
Fix #53.

Great, that helps for sure.
Thanks!

Codecov Report

Merging #54 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #54   +/-   ##
=======================================
  Coverage   96.32%   96.32%
=======================================
  Files          12       12
  Lines         544      544
=======================================
  Hits          524      524
  Misses         20       20

Impacted Files
Coverage Δ

src/utils.jl
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


:test_tube: fix(ethers): fix flaky unit test

Description
Test is flaky because it was running against latest block instead of a pinned block tag/number
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

Current dependencies on/for this PR:

main

PR #415   👈

This comment was auto-generated by Graphite.


Symfony 3.0 support

#212

ping @idildin @webda2l

Ok, thanks @idildin
@tobias-93 Give a try to "a2lix/translation-form-bundle": "@dev" and I will tag a new release a bit later if all is right

@webda2l Everything works fine without deprecation warnings, please tag :)
@idildin :+1:

Ok done as https://github.com/a2lix/TranslationFormBundle/releases/tag/2.1


Added slack badge to readme and link to overconstrained.io

Preview can be seen here https://github.com/Nocte-/rhea/tree/slack

Coverage remained the same at 92.22% when pulling d691407083853cac30e53daa019e5bf3ef93f93e on slack into 47c2996c4cc9bffedd64ad0240f0cd11c7edfa5b on master.


Set Items new client

Hey bro.  Do you could create an application look like Championify but customizable for us, since in the new client this isnt implemented by Riot. (Old client "ITEM SETS" funtion isnt available now)
Thanks & sorry for my poor English.

In my opinion, it's not worth developing an application. RIOT will provide the item editor in the client anytime soon.

Dup. https://github.com/dustinblackman/Championify/issues/86


use JSON.parse to remove quotes when coverting number value

For an integer/number parameter, if passed in a string like "123", I would get INVALID_TYPE: Expected type integer but found type string.

I'm not against accepting this PR but it's definitely outside the intended scope.  The intended scope is most HTTP-based parameter values start off as a string so we have to coerce them.  A query string value of 123 is easily turned into a number.  But since you're wrapping numbers in quotes, the same logic fails because "123" is not 123 in string form but a string in string form.
Let me see if there is a performance impact to using JSON.parse and we'l go from there.  In the meantime, it would be nice to have a test showing this works.  Also, it wouldn't hurt to run gulp and have the browser binaries built/included in the PR as well.


IO error: db//081444.sst: Too many open files

Hi, all:

I use:

 leveldb::Iterator* it = db->NewIterator(leveldb::ReadOptions());
  for (it->SeekToFirst(); it->Valid(); it->Next()) {
  ...
  }

to process a leveldb, but meet the following error:
"IO error: db//081444.sst: Too many open files"

but if I process a smaller leveldb everything is ok, i thought the problem
happens cause the "*.sst" is too many to process, but can't find any ideas to
solve this problem in leveldb by google.

Can anyone help me to resolve this problem? thanks a lot!

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 9 Oct 2011 at 9:12

You didn't specify which OS it is. You can try increasing the limit of opened
files in your OS
http://stackoverflow.com/questions/34588/how-do-i-change-the-number-of-open-file
s-limit-in-linux

Original comment by<EMAIL_ADDRESS>on 9 Oct 2011 at 9:26

thank you, i use the suse system.

Original comment by<EMAIL_ADDRESS>on 9 Oct 2011 at 9:50

@stephen.p.morgan - Does options.max_open_files[1] not do what you want?

1. https://code.google.com/p/leveldb/source/browse/include/leveldb/options.h#84

Original comment by<EMAIL_ADDRESS>on 14 Feb 2013 at 10:40

I should note that it is an  x86_64 system.

Original comment by<EMAIL_ADDRESS>on 3 Jan 2013 at 12:35

Just stumbled across this issue. Maybe documentation LevelDB should include
estimates on how many open file descriptors will be used as a function of total
data size. This could come handy for production planning. Just an idea.

Original comment by<EMAIL_ADDRESS>on 24 Nov 2012 at 6:08

The number of open files in linux apparently can be bumped up to only a maximum
of 1,048,576, which is insufficient for my use of levelDB.  Does anyone have
any suggestions as to how I can get levelDB to limit the number of files it has
open at any given time?  The number of open files continues to rise very slowly
at first but there appears to be a point at which it suddenly begins rising
very quickly.  I'm using levelDB to access several million records each about
250 bytes in about a dozen different databases at the same time.  Is there some
inherent limitation that I'm bumping up against?  This is on a linux system
with 32 GBytes of real memory.

Original comment by<EMAIL_ADDRESS>on 3 Jan 2013 at 12:27

Assuming fixed by options.max_open_files

Original comment by<EMAIL_ADDRESS>on 29 May 2013 at 2:27

Changed state: Fixed

LevelDB's above a certain size (about 40 GB) seems to cause leveldb to open
every single file in the database without closing anything in between.

Original comment by<EMAIL_ADDRESS>on 15 Aug 2013 at 3:08

I'm running leveldb 1.11.0 with max_open_files set to 512.

I have a large database that still seems to cause leveldb to open 10000+ files
before it hits my per-process open file limit.

Any hints? Should I set max_open_files to something much smaller?

Original comment by<EMAIL_ADDRESS>on 29 Jul 2013 at 12:15


Translations update from Hosted Weblate

Translations update from Hosted Weblate for Flashy/Metadata.
Current translation status:

Thank you so much for your support, @mantasio! 😘


Documentation for ORC File support for Bulk Insert

This PR is to add documentation for ORC file support for Bulk Insert in SQL3

all working


Abap 610 possible?

hi, is it possible to use abapGit on Release 610?
I want to install Abap Git on a testing-playground of my company and i don't know if it's possible because i get some errors like "....long literals are not allowed..." and so on.
i am not sure if i can get it to run properly but at least i want to try.

nope, version 702 required

ok, thx maybe i can convince some People to upgrade the release ...:)

yeah, its quite difficult to downport it below 702
closing


'm_responder_cert_chain_buffer' is determined by 'm_responder_cert_chain_buffer_size'

Lines 632 to 634 The size of m_responder_cert_chain_buffer is determined by m_responder_cert_chain_buffer_size
Line 640 m_requester_cert_chain_buffer_size may need to be converted to m_responder_cert_chain_buffer_size
https://github.com/DMTF/spdm-dump/blob/a4dc28d45e6002740ee574dcb9cdcfd00b0bf12f/spdm_dump/spdm_dump.c#L630-L649

I will check it.


Android Termux installation should be with pkg not apt

Description
Installation on termux has to be done with pkg install neofetch, not sudo apt-get update

Uh... What are you referring to?
Assuming you meant package detection, apt is (still) a valid command in Termux, but we detect dpkg directly instead of using apt. Ping @fornwall as I don't want to be mistaken.

I'm a bit dumb and wrote apt-get update instead of apt-get install neofetch, when you use apt-get in Termux it says that apt is not installed, but to use pkg, so the installation for neofetch on Termux is pkg install neofetch and the installation guide should be changed. I don't know if this is the place to say or if I should have just created a pull request.

when you use apt-get in Termux it says that apt is not installed

I honestly don't know what you're talking about. apt-get exists in my Termux.

If you're talking about the installation instructions wiki, you can change it yourself.
Since this is not a neofetch issue, I'm closing it.


refactor: 💡 added eslint rule and fixed CI installation hook issue

added eslint rule and fixed CI installation hook issue
PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] UI changes have been reviewed
[x] No UI review needed

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
No ESLint rule for max lines

Issue Number: #8
What is the new behavior?
Added ESLint rule
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Forensic CheckGIF export images are offset

Forensic filter can be offset in the export file (especially when using portrait images) by a few pixels.
Width and height of the image and its filter sometimes do not match in the export popup UI.

It looks like this was fixed -- I am closing the issue for now


Sample buffer restore - iOS 8.3+

Remove sample buffer view/layer workaround for iOS 8.3+.
Sample buffer renderer should restore if it fails while foregrounded.

@samsymons We should test this on a few more devices, before accepting.

:+1: