[BUG] Cluster fails to create with servers > 1

What did you do

How was the cluster created?

k3d cluster create -a 1 -s 3 --registry-create viq-test

What did you expect to happen
Running cluster with three servers and one agent node.
Screenshots or terminal output
The first server starts:
$ docker logs -n 30 k3d-viq-test-server-0
{"level":"warn","ts":"2021-03-12T17:52:02.265Z","caller":"etcdserver/cluster_util.go:315","msg":"failed to reach the peer URL","address":"https://<IP_ADDRESS>:2380/version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:02.265Z","caller":"etcdserver/cluster_util.go:168","msg":"failed to get version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:02.723Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"endpoint://client-2ffd25dd-830d-4198-aedc-e7a67f3ca8ec/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = FailedPrecondition desc = etcdserver: can only promote a learner member which is in sync with leader"}
time="2021-03-12T17:52:02.723774148Z" level=warning msg="Learner  stalled at RaftAppliedIndex=0 for 45.723765588s"
{"level":"warn","ts":"2021-03-12T17:52:04.370Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_SNAPSHOT","remote-peer-id":"3bf66290abb06d2f","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:04.370Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_RAFT_MESSAGE","remote-peer-id":"3bf66290abb06d2f","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:06.266Z","caller":"etcdserver/cluster_util.go:315","msg":"failed to reach the peer URL","address":"https://<IP_ADDRESS>:2380/version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:06.267Z","caller":"etcdserver/cluster_util.go:168","msg":"failed to get version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:09.374Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_RAFT_MESSAGE","remote-peer-id":"3bf66290abb06d2f","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:09.374Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_SNAPSHOT","remote-peer-id":"3bf66290abb06d2f","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:10.268Z","caller":"etcdserver/cluster_util.go:315","msg":"failed to reach the peer URL","address":"https://<IP_ADDRESS>:2380/version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:10.268Z","caller":"etcdserver/cluster_util.go:168","msg":"failed to get version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:14.268Z","caller":"etcdserver/cluster_util.go:315","msg":"failed to reach the peer URL","address":"https://<IP_ADDRESS>:2380/version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:14.268Z","caller":"etcdserver/cluster_util.go:168","msg":"failed to get version","remote-member-id":"3bf66290abb06d2f","error":"Get \"https://<IP_ADDRESS>:2380/version\": dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:14.374Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_SNAPSHOT","remote-peer-id":"3bf66290abb06d2f","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:14.374Z","caller":"rafthttp/probing_status.go:70","msg":"prober detected unhealthy status","round-tripper-name":"ROUND_TRIPPER_RAFT_MESSAGE","remote-peer-id":"3bf66290abb06d2f","rtt":"0s","error":"dial tcp <IP_ADDRESS>:2380: connect: connection refused"}
{"level":"warn","ts":"2021-03-12T17:52:17.724Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"endpoint://client-2ffd25dd-830d-4198-aedc-e7a67f3ca8ec/<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = FailedPrecondition desc = etcdserver: can only promote a learner member which is in sync with leader"}
time="2021-03-12T17:52:17.725071757Z" level=warning msg="Learner  stalled at RaftAppliedIndex=0 for 1m0.72482006s"
{"level":"info","ts":"2021-03-12T17:52:17.725Z","caller":"raft/raft.go:1530","msg":"c2ed0eb8fc7bc4fc switched to configuration voters=(14045899000511186172)"}
{"level":"info","ts":"2021-03-12T17:52:17.726Z","caller":"membership/cluster.go:422","msg":"removed member","cluster-id":"d94dd8791a0b7a16","local-member-id":"c2ed0eb8fc7bc4fc","removed-remote-peer-id":"3bf66290abb06d2f","removed-remote-peer-urls":["https://<IP_ADDRESS>:2380"]}
{"level":"info","ts":"2021-03-12T17:52:17.726Z","caller":"rafthttp/peer.go:333","msg":"stopping remote peer","remote-peer-id":"3bf66290abb06d2f"}
{"level":"warn","ts":"2021-03-12T17:52:17.726Z","caller":"rafthttp/stream.go:301","msg":"stopped TCP streaming connection with remote peer","stream-writer-type":"unknown stream","remote-peer-id":"3bf66290abb06d2f"}
{"level":"warn","ts":"2021-03-12T17:52:17.726Z","caller":"rafthttp/stream.go:301","msg":"stopped TCP streaming connection with remote peer","stream-writer-type":"unknown stream","remote-peer-id":"3bf66290abb06d2f"}
{"level":"info","ts":"2021-03-12T17:52:17.726Z","caller":"rafthttp/pipeline.go:86","msg":"stopped HTTP pipelining with remote peer","local-member-id":"c2ed0eb8fc7bc4fc","remote-peer-id":"3bf66290abb06d2f"}
{"level":"info","ts":"2021-03-12T17:52:17.726Z","caller":"rafthttp/stream.go:459","msg":"stopped stream reader with remote peer","stream-reader-type":"stream MsgApp v2","local-member-id":"c2ed0eb8fc7bc4fc","remote-peer-id":"3bf66290abb06d2f"}
{"level":"info","ts":"2021-03-12T17:52:17.727Z","caller":"rafthttp/stream.go:459","msg":"stopped stream reader with remote peer","stream-reader-type":"stream Message","local-member-id":"c2ed0eb8fc7bc4fc","remote-peer-id":"3bf66290abb06d2f"}
{"level":"info","ts":"2021-03-12T17:52:17.727Z","caller":"rafthttp/peer.go:340","msg":"stopped remote peer","remote-peer-id":"3bf66290abb06d2f"}
{"level":"info","ts":"2021-03-12T17:52:17.727Z","caller":"rafthttp/transport.go:369","msg":"removed remote peer","local-member-id":"c2ed0eb8fc7bc4fc","removed-remote-peer-id":"3bf66290abb06d2f"}
{"level":"info","ts":"2021-03-12T17:52:17.727Z","caller":"etcdserver/server.go:1967","msg":"applied a configuration change through raft","local-member-id":"c2ed0eb8fc7bc4fc","raft-conf-change":"ConfChangeRemoveNode","raft-conf-change-node-id":"3bf66290abb06d2f"}
time="2021-03-12T17:52:17.728424850Z" level=warning msg="Removed learner  from etcd cluster"

but the second one never completes enough to report as ready:
$ docker logs -n 30 k3d-viq-test-server-1
{"level":"warn","ts":"2021-03-12T17:55:49.698Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:50.342Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:50.385Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:51.693Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:52.237Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:54.139Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:55.152Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:57.832Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:59.324Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:55:59.341Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-12T17:55:59.342028314Z" level=error msg="Failed to check local etcd status for learner management: context deadline exceeded"
{"level":"warn","ts":"2021-03-12T17:55:59.385Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-12T17:55:59.386766390Z" level=info msg="Failed to test data store connection: context deadline exceeded"
{"level":"warn","ts":"2021-03-12T17:56:04.342Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:04.387Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:05.342Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:05.387Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:07.002Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:07.239Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:09.200Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:09.770Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:12.706Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:14.341Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-12T17:56:14.342024025Z" level=error msg="Failed to check local etcd status for learner management: context deadline exceeded"
{"level":"warn","ts":"2021-03-12T17:56:14.387Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-12T17:56:14.387834487Z" level=info msg="Failed to test data store connection: context deadline exceeded"
{"level":"warn","ts":"2021-03-12T17:56:19.342Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:19.388Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:20.342Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-12T17:56:20.389Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}

Which OS & Architecture
Linux (Qubes, Fedora-33 based Xen VM)
Which version of k3d
$ k3d version
k3d version v4.3.0
k3s version v1.20.4-k3s1 (default)

Which version of docker
$ docker version ; docker info
Client: Docker Engine - Community
 Version:           20.10.5
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        55c4c88
 Built:             Tue Mar  2 20:19:16 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.5
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       363e9a8
  Built:            Tue Mar  2 20:16:56 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Build with BuildKit (Docker Inc., v0.5.1-docker)

Server:
 Containers: 6
  Running: 2
  Paused: 0
  Stopped: 4
 Images: 8
 Server Version: 20.10.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 5.11.4-1.fc25.qubes.x86_64
 Operating System: Fedora 33 (Thirty Three)
 OSType: linux
 Architecture: x86_64
 CPUs: 2
 Total Memory: 2.506GiB
 Name: k8s-test
 ID: LLY7:NVU7:EA6V:5TEB:G37H:YZA7:4JUE:7CQV:JOBT:XBSA:HS5V:IOHD
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

Meanwhile creating for example k3d cluster create -a 5 -s 1 --registry-create single-server works properly.

Hi @viq, thanks for opening this issue!
I cannot seem to be able to replicate this (not on Fedora though).
Could it be related to some Firewall settings required on Fedora (read about such issues before in a different form, e.g. in https://github.com/rancher/k3d/issues/423)

Hm, I flushed all firewall rules and changed policies to ACCEPT as far as I can tell:
$ sudo iptables -vnL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
 116K  121M DOCKER-USER  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
 116K  121M DOCKER-ISOLATION-STAGE-1  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 ACCEPT     all  --  *      docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0            ctstate RELATED,ESTABLISHED
    0     0 DOCKER     all  --  *      docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 ACCEPT     all  --  docker0 !docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0
    0     0 ACCEPT     all  --  docker0 docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER (1 references)
 pkts bytes target     prot opt in     out     source               destination

Chain DOCKER-ISOLATION-STAGE-1 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DOCKER-ISOLATION-STAGE-2  all  --  docker0 !docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0
 234K  242M RETURN     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain DOCKER-ISOLATION-STAGE-2 (1 references)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  *      docker0  <IP_ADDRESS>/0            <IP_ADDRESS>/0
59987 4017K RETURN     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain DOCKER-USER (1 references)
 pkts bytes target     prot opt in     out     source               destination
 234K  242M RETURN     all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0

Chain QBS-FORWARD (0 references)
 pkts bytes target     prot opt in     out     source               destination

and I'm still getting on second server loops of
{"level":"warn","ts":"2021-03-15T21:35:37.746Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-15T21:35:37.746649982Z" level=error msg="Failed to check local etcd status for learner management: context deadline exceeded"
{"level":"warn","ts":"2021-03-15T21:35:37.803Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-15T21:35:37.803375956Z" level=info msg="Failed to test data store connection: context deadline exceeded"
{"level":"warn","ts":"2021-03-15T21:35:42.746Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:42.803Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:43.747Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:43.804Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:45.190Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:45.238Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:48.042Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:48.211Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:52.001Z","caller":"grpclog/grpclog.go:60","msg":"grpc: addrConn.createTransport failed to connect to {https://<IP_ADDRESS>:2379  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\". Reconnecting..."}
{"level":"warn","ts":"2021-03-15T21:35:52.746Z","caller":"clientv3/retry_interceptor.go:62","msg":"retrying of unary invoker failed","target":"passthrough:///https://<IP_ADDRESS>:2379","attempt":0,"error":"rpc error: code = DeadlineExceeded desc = latest balancer error: connection error: desc = \"transport: Error while dialing dial tcp <IP_ADDRESS>:2379: connect: connection refused\""}
time="2021-03-15T21:35:52.746507956Z" level=error msg="Failed to check local etcd status for learner management: context deadline exceeded"

It doesn't seem to be an issue with nftables, since
[root@k8s-test ~]# ls -l /usr/sbin/iptables
lrwxrwxrwx 1 root root 26 Dec 10 05:12 /usr/sbin/iptables -> /etc/alternatives/iptables
[root@k8s-test ~]# ls -l /etc/alternatives/iptables
lrwxrwxrwx 1 root root 25 Dec 10 05:12 /etc/alternatives/iptables -> /usr/sbin/iptables-legacy
[root@k8s-test ~]# ls -l /usr/sbin/iptables-legacy
lrwxrwxrwx 1 root root 20 Jan 28 15:40 /usr/sbin/iptables-legacy -> xtables-legacy-multi
[root@k8s-test ~]# ls -l /usr/sbin/xtables-legacy-multi
-rwxr-xr-x 1 root root 101640 Jan 28 15:40 /usr/sbin/xtables-legacy-multi

It most likely is just a Fedora / Qubes thing, I'm just thinking aloud here, a bit in hopes you'll spot something or have some pointers ;)

Oh, I may have found something:
W0315 22:06:53.432911       9 proxier.go:651] Failed to read file /lib/modules/5.11.4-1.fc25.qubes.x86_64/modules.builtin with error open /lib/modules/5.11.4-1.fc25.qubes.x86_64/modules.builtin: no such file or directory. You can ignore this message when kube-proxy is running inside container without mounting /lib/m
odules
W0315 22:06:53.484766       9 proxier.go:661] Failed to load kernel module ip_vs with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules
W0315 22:06:53.521118       9 proxier.go:661] Failed to load kernel module ip_vs_rr with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules
W0315 22:06:53.571583       9 proxier.go:661] Failed to load kernel module ip_vs_wrr with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules
W0315 22:06:53.575478       9 proxier.go:661] Failed to load kernel module ip_vs_sh with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules
W0315 22:06:53.576683       9 proxier.go:661] Failed to load kernel module nf_conntrack with modprobe. You can ignore this message when kube-proxy is running inside container without mounting /lib/modules

Is this a legitimate issue, or is this indeed "running inside container" and to be expected?

It most likely is just a Fedora / Qubes thing, I'm just thinking aloud here, a bit in hopes you'll spot something or have some pointers ;)

Unfortunately, I'm completely unfamiliar with Fedora, as I never used it... but it seems like it introduces lots of issues when trying to use k3d :thinking:

kube-proxy warnings
Is this a legitimate issue, or is this indeed "running inside container" and to be expected?

This is expected and doesn't bring in any issues (e.g. those logs appear for me as well and everything starts up normally).
Could it in some way be related to firewalld on Fedora? (like mentioned here: https://github.com/rancher/k3d/issues/423#issuecomment-739911817)
Maybe @Ka0o0 even has some idea here :thinking:

It's probably more related to Qubes than Fedora as such. I'll try to play with different scenarios on different distros over the weekend and get back to you.

Sorry for the delay. I'll be investigating more, but I've just set up fresh VMs of Workstation versions of Fedora 33 and Ubuntu 20.04 with docker, and indeed creating a cluster with 3 servers succeeded on Ubuntu and failed on Fedora. I'll try to find out what the difference is.

It looks like on Fedora it fails on cgroup v2. Comparing logs of the first server between Fedora and Ubuntu, the difference on Fedora starts around here:
E0328 12:15:14.338719       8 kubelet.go:2264] node "k3d-multinode-server-0" not found
I0328 12:15:14.339865       8 kubelet_node_status.go:71] Attempting to register node k3d-multinode-server-0
I0328 12:15:14.356500       8 policy_none.go:43] [cpumanager] none policy: Start
I0328 12:15:14.366353       8 kubelet_node_status.go:74] Successfully registered node k3d-multinode-server-0
E0328 12:15:14.369934       8 node_container_manager_linux.go:57] Failed to create ["kubepods"] cgroup
F0328 12:15:14.370108       8 kubelet.go:1368] Failed to start ContainerManager cannot enter cgroupv2 "/sys/fs/cgroup/kubepods" with domain controllers -- it is in an invalid state
goroutine 10391 [running]:
github.com/rancher/k3s/vendor/k8s.io/klog/v2.stacks(0xc000120001, 0xc0100950e0, 0xb5, 0x1cf)
        /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/v2/klog.go:1026 +0xb9
github.com/rancher/k3s/vendor/k8s.io/klog/v2.(*loggingT).output(0x70557a0, 0xc000000003, 0x0, 0x0, 0xc00806a0e0, 0x6d07591, 0xa, 0x558, 0x0)
        /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/v2/klog.go:975 +0x19b
github.com/rancher/k3s/vendor/k8s.io/klog/v2.(*loggingT).printf(0x70557a0, 0xc000000003, 0x0, 0x0, 0x0, 0x0, 0x4661cf8, 0x23, 0xc00b88f940, 0x1, ...)
        /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/v2/klog.go:750 +0x191
github.com/rancher/k3s/vendor/k8s.io/klog/v2.Fatalf(...)
        /go/src/github.com/rancher/k3s/vendor/k8s.io/klog/v2/klog.go:1502
github.com/rancher/k3s/vendor/k8s.io/kubernetes/pkg/kubelet.(*Kubelet).initializeRuntimeDependentModules(0xc00a298000)
        /go/src/github.com/rancher/k3s/vendor/k8s.io/kubernetes/pkg/kubelet/kubelet.go:1368 +0x446

though there is before that a
W0328 12:15:09.172259       8 manager.go:159] Cannot detect current cgroup on cgroup v2

On a "normal" Fedora 33 k3d cluster create multinode -s 2 --no-lb --timestamps --no-rollback worked after setting in kernel parameters systemd.unified_cgroup_hierarchy=0. I'm now retrying on Qubes.

same thing happened to me
I got similar log to @viq
LSB Version:	core-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID:	Ubuntu
Description:	Ubuntu 18.04.3 LTS
Release:	18.04
Codename:	bionic

Linux AMC_Test 5.4.0-66-generic #74~18.04.2-Ubuntu SMP Fri Feb 5 11:17:31 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

k3d cluster create -a 1 -s 3  testk3d
k3d version v4.4.4
k3s version v1.20.6-k3s1 (default)

Client:
 Debug Mode: false

Server:
 Containers: 56
  Running: 4
  Paused: 0
  Stopped: 52
 Images: 209
 Server Version: 19.03.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version:
 runc version:
 init version:
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.4.0-66-generic
 Operating System: Ubuntu 18.04.3 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 16
 Total Memory: 31.26GiB
 Name: AMC_Test
 ID: XBXC:FKXR:ITTA:7G5T:IQQL:NGWV:3OK6:JMGI:QQY5:U5BY:4QYI:HK23
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No swap limit support

Hey :wave:
Is this still a thing with k3d v4.4.4 (or v4.4.3 and K3D_FIX_CGROUPV2=true set)?

Hey @viq , do you have any update on this issue or can it be closed after introducing the CGroupV2 fix?

Closing this issue due to inactivity and a potential fix provided. Feel free to reopen if it still applies :+1:


Add a property to control the bounce indirect energy in BakedLightmap

Higher values will make indirect lighting brighter. A value of 1.0 represents physically accurate behavior, but higher values can be used to make indirect lighting propagate more visibly when using a low number of bounces.
This can be used to speed up bake times by lowering the number of bounces then increasing the bounce indirect energy. (This will be useful for https://github.com/godotengine/godot-proposals/issues/2029.) Unlike BakedLightmapData's energy property, this property does not affect direct lighting emitted by light nodes, emissive materials and the environment.
I tested this PR with lights baked in Indirect mode and lights baked in All mode. I also tested emissive materials and environment lighting – everything works as expected.
This can likely be implemented in master's GPU lightmapper too.
Preview
3 bounces, indirect energy 1.0

1 bounce, indirect energy 1.0
Darker compared to what we had before.

1 bounce, indirect energy 3.0
Compensates for the fewer amount of bounces.

3 bounces, indirect energy 16.0
Can be used for debugging purposes or artistic effects (perhaps with a less extreme value).

Thanks!


Maintaining Streak

Everybody has a different pace at which we are comfortable at studying. Some challenges on the Map take longer then others, sometimes you stop and read a different source. Learning is a curve, and sometimes it can be difficult to motivate yourself. I use streaks as a motivation tool. If I am not able to complete a challenge today because I spent a day reading a book to understand a concept better, then I believe I should still get a streak. Perhaps you get one point if you logged in to the website, or perhaps you write a summary not on what you've been up to today.
Thank you for consideration.

I do like the idea of either notes, perhaps a personal learning diary or whatnot with a link to it from the profile page.
I'm very much against getting a point for just visiting the site.

Note that one easy way to maintain your streak is to post something to Camper News. This will give you one point immediately, and another point for each time that post is upvoted.

I understand that, but at some level it feels like cheating. Here comes the spam!


Pulse and Schedule plots do not start at t0=0

Information

Qiskit Terra version:
Python version:
Operating system:

What is the current behavior?
As noted in https://github.com/Qiskit/qiskit-terra/pull/3418#pullrequestreview-313349295, the pulse and schedule plots do not start at t=0, nor do they finish at t=t0+duration
Steps to reproduce the problem
import qiskit.pulse as pulse
import qiskit.pulse.pulse_lib as pulse_lib
sched = pulse.Schedule()
sched += pulse_lib.constant(10, 1.0)(pulse.DriveChannel(1))
sched.draw(channels_to_plot=[pulse.DriveChannel(1)])

What is the expected behavior?
They should start and stop at t0(duration)
Suggested solutions
Any ideas @nkanazawa1989?

I looked through the code a little more and it looks like it may be happening within the _draw_channels function. I tried playing around with the code in there, and if I have the time array's first entry be 0, then the channel's figure correctly starts at 0. (Currently, time's first entry is 0.5, which is the amount of offset we see). I have not been able to reproduce the same fix for the end of the channel's figure though. Will play around with it a little more.

@taalexander I think it is a problem of how to interpolate discrete pulse. As I remember, time shift of +0.5 indicates sampling at midpoint. i.e.
sample = [s0, s1, s2]
time = [t0, t1, t2, t3]

It should be noted that if you have sample pulse of duration 3, a length of time vector becomes 4 because it should start from 0. When visualizer interpolates this envelope, it resamples the above vectors to be  [(t0+t1)/2, s0], [(t1+t2)/2, s1], [(t2+t3)/2, s2] - this is why your square pulse starts from 0.5, and ends at tf - 0.5.
If you remove the time shift, visualizer returns the figure exactly the same as left sampling strategy and pulse ends at t2 in above example. This is confusing because pulse of duration 3 ends at t2.

I don't think we should be interpolating by default (after all our pulses are discrete waveforms). What we should be plotting is [t0, t1, t1, t2, t2, t3] and [s0, s0, s1, s1, s2, s2]. If we want to interpolate on that, it would be fine.

Not because I have a sure fix but just to learn, may I come through and poke around until I find something. Good starting pointers welcome.

@taalexander agreed. but cubic interpolation raises an error with that vectors, ValueError: Expect x to be a 1-D sorted array_like.

@faraimazh feel free to poke around and comment here if you have any questions!

@nkanazawa1989 would either of the two solution work?

Use a switch statement to use the vectors above I mention if interpolation is off (which I think it should be by default).
Modify the vectors to be [t0, t1-epsilon, t1+epsilon, t2-epsilon, t2+epsilon, t3] and [s0, s0, s1, s1, s2, s2]

1 looks easy. In default, visualizer uses linear interpolation instead of disabling.

Ok, than. Option one it is :smile:!

@faraimazh do you still plan to work on this? Otherwise, I will reassign.

Sure, no problem. If I make progress I will let you know.
On Wed., 8 Jan. 2020, 01:23 Thomas Alexander<EMAIL_ADDRESS>wrote:

@faraimazh https://github.com/faraimazh do you still plan to work on
this? Otherwise, I will reassign.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Qiskit/qiskit-terra/issues/3427?email_source=notifications&email_token=AIPNQSRZUQLG54SPKVL575TQ4UFHFA5CNFSM4JKHK5DKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIKUQ3Q#issuecomment-571820142,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIPNQSUZQ7NXKCDZ7376PCLQ4UFHFANCNFSM4JKHK5DA
.

@lcapelluto thanks for checking. I am only starting to follow now. I had to read a bit on terra and OpenPulse. I am not there yet but ready to get my hands dirty. Excuse my noob-ness, where do I find the drawing function or visualization files?

the files are here.
https://github.com/Qiskit/qiskit-terra/tree/master/qiskit/visualization/pulse
and interpolation code is here.
https://github.com/Qiskit/qiskit-terra/blob/ff6b94120520b5c27d6316088eafc90338a97914/qiskit/visualization/pulse/interpolation.py#L26-L49
good luck and I'm happy to help :)

the files are here.
https://github.com/Qiskit/qiskit-terra/tree/master/qiskit/visualization/pulse
and interpolation code is here.
https://github.com/Qiskit/qiskit-terra/blob/ff6b94120520b5c27d6316088eafc90338a97914/qiskit/visualization/pulse/interpolation.py#L26-L49
good luck and I'm happy to help :)

Thanks. I am on it.

After setting up my environment and all, when I run the code to reproduce the problem here is the error I get.

After setting up my environment and all, when I run the code to reproduce the problem here is the error I get.

Issue resolved. I had two folders for qiskit-terra and in one of them there was a corrupt file.


Update support for az login --redirect-port

Related command
az login
Description
Add new parameter --redirect-port for az login.
Testing Guide
Run az login --redirect-port 8400.
When you login successfully, you will be redirected to the page with port 8400.
History Notes

Thank you for your contribution! We will review the pull request and get back to you soon.

@Jongio for notification.


Add possibility to specify encoding in Service

Allow for setting up the encoding of the writer in Service class
Taking bit more of initiative :) as proposed here #92. This is the small change that helped me with encoding.
Thanks!

I don't want this feature for reasons stated in #42.


Precise framing

Fixes #731
Fixes #524
This updates our framing to fit our models precisely within a window, meaning for all camera orbit values and all window aspect ratios the model does not clip, but it is also tight, so the model will touch the boundary of the window at least twice. This also makes the camera distance (and therefore the perspective) fixed with respect to window aspect ratio, which means it is now possible for us to calculate seamless poster transitions: #599
It does take a few extra milliseconds, but it only roughly doubles the time we were already spending on calculating the bounding box. I've also made it easy for us to add some extra margin to this framing if that's desired; I'd like feedback on that. It might even make sense as an attribute...

Oddly, some of the filament renders line up exactly with the model-viewer ones, and others don't. I'm wondering if some transform is or isn't applied in Filament's world space. Still, I don't think it's worth blocking us on, as we had some trouble with this before anyway.

I have added that as of this PR, substantially all of the issues described in #524 appear to be fixed. The misreported modelIsVisible value can no longer be reproduced, and the bug reported by @pushmatrix in that thread also can no longer be reproduced. I believe the resolution came from correcting an improperly computed aspect ratio.
modelIsVisible remains an incongruous and misleading property, and I have filed https://github.com/GoogleWebComponents/model-viewer/issues/773 to cover its redesign.

Also a note to add that I still have additional work to verify that #735 is fixed as of this change.

I confirmed that #735 is also fixed by this change.

Okay, I've got all the fidelity tests lining up properly now, as well as fixing issues around null cameraOrbits and such. I also updated SmoothControls so that it now works even when radius is set to zero. I also changed the default minRadius to zero, since I think that is more logical (allows easy camera placement if you're not really orbiting) and it was part of fixing the fidelity test alignment.

@cdata Hmm, I still seem to be getting the issue from #524.
I pulled this branch and built the js.
I have it up and running here: https://congruous-freesia.glitch.me/

@pushmatrix can you share more details for repro? I tried out your test case in Chrome / OSX and it appears to cycle between two rendered models as I push the button. Although one weird thing is that the first model does not appear to be correctly framed... Is that a detail of the model, or an unexpected bug?

@cdata What version of Chrome are you on? I'm on 76.0.3809.132.  My repro steps are just pressing "Show viewer 2", and the model doesn't load.
However I do notice that it wants me to update, so maybe that will fix it. But then I'd be confused why a slightly outdated Chrome causes this.
I tested in Safari and it works.

RE: Model being off center, that is a bug. The model is centered at the base of the stroller.

@pushmatrix given that description, I might guess that something broken is sticky in your cache.
@elalish looking at the framing issue with the first model in https://congruous-freesia.glitch.me/, it seems framed correctly until it starts to autorotate. This bug appears to affect master but the latest release (v0.6.2) appears to be unaffected. I'm going to file a separate issue for this.

(I was already on Chrome 77. I will see if I can find an easy way to try out 76, but we are pretty certain that the bug was just bad JavaScript math on our part so hopefully browser version isn't a factor 🙏 )

Filed https://github.com/GoogleWebComponents/model-viewer/issues/784 to track the autorotate / framing issue.

@cdata I just used Browserstack to test out 76 and the bug is still there. In 77 it disappears. Hmmmmmmmm

@pushmatrix okay thanks, I'll look into it

@pushmatrix confirmed repro in 76 :(

Sigh. The problem in 76 goes away if I force the canvas onto its own render layer. In other words, this is why we can't have nice things.

@pushmatrix @elalish please see https://github.com/GoogleWebComponents/model-viewer/pull/785 for a proposed remedy to the Chrome 76 issue!

Big props @elalish !


'var results =' implies a value is returned. Instead 'undefined' is returned

Hey guys,
Example code implies a value is returned by making the statement 'var results ='. It returns undefined instead of a result. Am I missing a Sync option? Or is the 'var results =' unnecessary?
var results = w3cjs.validate({
file: 'demo.html', // file can either be a local file or a remote file
//file: 'http://html5boilerplate.com/',
//input: '...',
//input: myBuffer,
output: 'json', // Defaults to 'json', other option includes html
proxy: 'http://proxy:8080', // Default to null
callback: function (res) {
console.log(res);
// depending on the output type, res will either be a json object or a html string
}
});

I'm having the same issue.  I would like to get the JSON back in another variable please :)


Integration Dependencies

The Netlify CMS has support for integrations (right now, the only integration available is Algolia, for search, but more integrations will come in the future).
Many of those integrations have their own client libraries instead of providing a complete public API (through REST or whatever). The problem is: we don’t want to include by default all client libraries for each possible integration. At the same time, some integrations might have limited public API (the current Algolia integration is using Rest, but the client library has more functionalities, like keep-alive connections, for example).
For this reason, we need to investigate the possibility to define and lazy load optional dependencies.

My thoughts on this is that we'll eventually want to move all integrations to separate NPM modules, so using the Algolia integration requires to do a npm install netlify-cms-algolia-integration or something similar...


Feature request: Add a filter for query

In practice, when the date we stored in too large select * from measurement could be a disaster.
Is there any way we can do for limiting this dangerous behavior?

@zhexuany please see the coordinator section of the documentation.
https://docs.influxdata.com/influxdb/v1.1/administration/config/#coordinator


how to access ASX stocks?

I tried searching for some ASX stocks on https://tvdb.brianthe.dev/
downloaded the tradingview.db file and looked into the database.
select * from tv where exchange='ASX';
only found one stock.
screener  exchange  symbol  desc

cfd       ASX       XJO     S&P/ASX 200
poking around the db reveals a small subset of the potential stock listings are available.
select distinct exchange, count(*) from tv group by exchange order by exchange;
#------------------------------------------------------------------------------------
from tradingview_ta import TA_Handler, Interval, Exchange
tesla = TA_Handler(
symbol="TSLA",
screener="america",
exchange="NASDAQ",
interval=Interval.INTERVAL_1_DAY
)
print(tesla.get_analysis().summary)
#------------------------------------------------------------------------------------
is it possible to extend the list of stocks in the db so I can run a screener over ASX stocks?

Hi @aspiringguru,
I've just added the Australian stock market. I'm going to close this issue, feel free to reply if you still have any questions. Have a good one.
https://tvdb.brianthe.dev/


Loss does not decrease while training

Hi，thanks a lot for publishing the code. I had a question: I use your code  to train CUB_200_2011datasets, but loss does not decrease while training

Hi, thanks for your issue. I found a bug in models/transfg.py. Now, I have fixed this bug. The model can be trained normally, I will upload my configuration file and training log

Hi，thanks a lot for publishing the code. I had a question: I use your code to train CUB_200_2011datasets, but loss does not decrease while training

Hi, thanks for your issue. I found a bug in models/transfg.py. Now, I have fixed this bug. The model can be trained normally, I will upload my configuration file and training log


Prometheus documentation is outdated

As pointed out in dask/distributed#7295, the Prometheus documentation is outdated and does not reflect recent additions to the exposed metrics in distributed. The docs should be updated.
Since all of the Prometheus-related code resides in distributed, I would suggest moving the documentation over there to avoid having to synchronize across repositories (which has already proven not to work given the current state of the documentation). Thoughts? cc @fjetter

To add context, the distributed docs don't really get traffic.  We direct
everyone to docs.dask.org.  If this is more internal technical
documentation then great, but if we want users to be exposed to things then
we probably should keep things over on Dask.
On Fri, Nov 11, 2022, 4:54 AM Hendrik Makait @.***>
wrote:

As pointed out in dask/distributed#7295
https://github.com/dask/distributed/issues/7295, the Prometheus
documentation is outdated and does not reflect recent additions to the
exposed metrics in distributed. The docs should be updated.
Since all of the Prometheus-related code resides in distributed, I would
suggest moving the documentation over there to avoid having to synchronize
across repositories (which has already proven not to work given the current
state of the documentation). Thoughts? cc @fjetter
https://github.com/fjetter
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/9648, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTBDAWJO5FJO6HCP5YLWHYJUTANCNFSM6AAAAAAR5N53EE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I think it might make sense to split the documentation into two parts, a guide/how-to part living in dask/dask for traffic which then links to the technical metric reference in dask/distributed. Before doing that, let's finish up #9696 and dask/distributed#7368. cc @crusaderky


Add error handling

In https://github.com/JabRef/JabRefOnline/issues/93, I've collected two nice resources on error handling in graphql. I still have to go through them and form an opinion about which approach to take. I'll try to do this evening. Do you have any suggestions or preferences?

I prefer Stage 5: Result Types. It is a little hard to implement but has so many advantages.

I agree, this seems to be a nice strategy. I also liked some ideas of the "Stage 6" approach and of the zalando blog post, and updated the issue https://github.com/JabRef/JabRefOnline/issues/93 accordingly.
One thing that I'm still a bit unsure about is the input field validation. I find it a bit exhausting to have a special type for each possible validation error (password to short, contains unsupported characters, is the same as old one, ...). I think, for theses cases where you normally have an input field and would then simply display the error message, these would be handled by the "InputValidationProblem". However, things that are more special would become a separate type, such as "TokenExpired" (because in this case you would like to alter the display on the frontend side considerably, i.e. redirect the user to the password reset page again). But on the other hand, the token is offically also only an input, so this feels a bit inconsistent. What is your opinion about this?

Is this indeed ready for review? Some of the code in the vue files is uncommented. I scrolled over the resolver code, and those changes look good.
Please also remove the mac store files (and add them to the git ignore).

Is this indeed ready for review? Some of the code in the vue files is uncommented. I scrolled over the resolver code, and those changes look good.

No, I accidentally marked it ready for review. Sry

Do you have problems with the the client side codegen? This is currently configured at https://github.com/JabRef/JabRefOnline/blob/c0c60f88a7a561b15077d8cadfde037c5c495e2e/graphql.config.js#L32-L44

Thanks again!


Monaco editor not using web workers

code-server version: off the serviceworker branch
OS Version: ubuntu 18.04

Description
If we enable web workers for monaco maybe we could use: https://github.com/Microsoft/monaco-editor-webpack-plugin or parts of it that enable the worker for monaco.
This would create a significant advantage since it will take monaco off the main thread.
simpleWorker.ts:35 Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes.


make MAX_VOTERS and MAX_CANDIDATES in elections-phragmen configurable

Make these two magic constants added in https://github.com/paritytech/substrate/pull/11790 be type X: Get<_>, set them to the same value as now in the polkadot companion. Document that parachain teams should chose these values carefully, ensuring that both the weight and PoV is within reason.

@Szegoo interested?

@Szegoo interested?

Yes.


build: upgrade to Go 1.13 and Debian 10

See: https://golang.org/doc/go1.13

Codecov Report

Merging #66 into master will decrease coverage by 16.19%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #66      +/-   ##
==========================================
- Coverage   63.94%   47.75%   -16.2%
==========================================
  Files          11       11
  Lines         846      846
==========================================
- Hits          541      404     -137
- Misses        228      372     +144
+ Partials       77       70       -7

Impacted Files
Coverage Δ

cmd/server/account_storage_qledger.go
5.45% <0%> (-86.37%)
:arrow_down:

cmd/server/transaction_storage_qledger.go
31.57% <0%> (-55.27%)
:arrow_down:

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 7bfa62e...c805ddd. Read the comment docs.


Package request: waveterm

Project description

It is a modern terminal for Linux and MacOS. It has the concept of workspaces besides the tabs.
Metadata

homepage URL: https://waveterm.dev/
source URL: https://github.com/wavetermdev/waveterm
license: Apache-2. 0
platforms: Linux, Darwin

Add a :+1: reaction to issues you find important.

duplicate of #280566


Executing query that takes an array of a custom enum type with pgx/v4 fails

Version
Other
What happened?
Executing query that takes an array of a custom enum type with pgx/v4 fails with:
Cannot encode []main.WidgetType into oid 16393 - []main.WidgetType must implement Encoder or be converted to a string

Version: tested both with v1.8.0 and the latest main (6ee39cb)
Relevant log output
No response
Database schema
CREATE TABLE users (
  id BIGSERIAL PRIMARY KEY
);

CREATE TYPE widget_type AS ENUM('a', 'b', 'c');

CREATE TABLE widgets (
  id      BIGSERIAL PRIMARY KEY,
  user_id BIGSERIAL NOT NULL REFERENCES users (id),
  name    text      NOT NULL,
  "type"  widget_type NOT NULL
);

SQL queries
-- name: ListWidgets :many
SELECT * FROM widgets
WHERE "type" = ANY(@type::widget_type[])
AND user_id = @user_id;

Configuration
{
  "version": "1",
  "packages": [
    {
      "path": "db",
      "engine": "postgresql",
      "sql_package": "pgx/v4",
      "schema": "query.sql",
      "queries": "query.sql"
    }
  ]
}

Playground URL
https://play.sqlc.dev/p/4109299ab81a98ca6e06d6389d5a50aed1b8ffa8a4abfe9b761110f885afd3d6
What operating system are you using?
macOS
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

I also hit this, and am motivated to fix it.
Another workaround is to use pq.Array, even though everything else is using pgx. Unfortunately, this requires editing the generated code, and it pulls in the entire pq dependency.
It seems like the easiest fix may be to extract pq.Array into a standalone component. I have checked, and array.go and array_test.go have no dependencies and compile independently of the rest of the package, and the licensing is permissive. (And I could ask Blake directly if necessary.)
sqlc could copy the array code in when it detects it is needed. (Or it could try to emit only the parts it really needs, but that's probably unnecessary.) Then sqlc could use that code unilaterally, including in pq mode.
If that approach sounds good, I'd be happy to send a PR, but I'd need a few pointers. I found the spot where pq.Array gets emitted, but I'm not sure how best to conditionally emit the helper code, because that involves passing some state around. Or maybe it'd be OK to always emit some static helper code, in helper.go or array.go?

Scratch that, it doesn't quite compile cleanly out of the box. But this does: https://github.com/josharian/pqarray.

Another workaround is to use a column go_type override with an appropriate type from github.com/josharian/pqarray, and then write your own conversion helpers. Ugly, but still retains a bit of type safety.

It's enough to implement a DecodeText and EncodeText interface and call the underlying pgtype.TextArray implementation.
Example

type Topic string

type Topics []Topic

const (
	Family          Topic = "family"
	Hiking          Topic = "hiking"
	Bicycle         Topic = "bicycle"
)

func (t *Topics) DecodeText(ci *pgtype.ConnInfo, src []byte) error {
	var dec pgtype.TextArray
	if err := dec.DecodeText(ci, src); err != nil {
		return err
	}
	for _, el := range dec.Elements {
		*t = append(*t, Topic(el.String))
	}
	return nil
}

func (t Topics) EncodeText(ci *pgtype.ConnInfo, buf []byte) ([]byte, error) {
	var enc pgtype.TextArray
	if err := enc.Set(t); err != nil {
		return nil, err
	}
	return enc.EncodeText(ci, buf)
}

I encountered the same problem, has this been fixed?
Sql Queries
-- name: UpdateAuthnStepLimit :exec
UPDATE authn_step_limits SET status = $1, failure_attempts = $2 WHERE user_id = $3 AND step_type = ANY($4::authn_step_type[]);

Configuration
version: 2
sql:
  - schema: "./migrations"
    queries: "./queries"
    engine: "postgresql"
    strict_function_checks: true
    gen:
      go:
        package: "db"
        sql_package: "pgx/v4"
        out: "../internal/db"
        emit_interface: true
        emit_exported_queries: true
        emit_result_struct_pointers: true
        emit_params_struct_pointers: true
        emit_enum_valid_method: true
        emit_all_enum_values: true
        output_models_file_name: "entities.go"
        overrides:
          - go_type: "github.com/ericlagergren/decimal.Big"
            db_type: "pg_catalog.numeric"
          - go_type: "github.com/gofrs/uuid.UUID"
            db_type: "uuid"

Database schema
CREATE TYPE "authn_step_limit_status" AS ENUM (
    'nonlimited',
    'limited'
);

CREATE TYPE "authn_step_type" AS ENUM (
    'face_authn'
);

CREATE TABLE "authn_step_limits" (
    "id" uuid PRIMARY KEY,
    "user_id" uuid not null,
    "step_type" authn_step_type not null,
    "failure_attempts" integer not null default 0,
    "status" authn_step_limit_status not null default 'nonlimited',
    "cleared_at" timestamp null,
    "created_at" timestamp not null default current_timestamp,
    "updated_at" timestamp not null default current_timestamp,
    UNIQUE(user_id, step_type)
);

What happened?
Cannot encode []db.AuthnStepType into oid 16449 - []db.AuthnStepType must implement Encoder or be converted to a string

Having similar issue when using insert with :copyfrom that inserts into enum field:
ERROR: COPY from stdin failed: Cannot encode db.NullMyEnum into oid 16952 - db.NullMyEnum must implement Encoder or be converted to a string (SQLSTATE 57014)
When is it going to be resolved @kyleconroy ?

Custom enum arrays work in pgx/v5 as long as you register the custom enum array type: https://github.com/sqlc-dev/sqlc/pull/2510#issuecomment-1723913738


Fix checksum for tuneinstructor Cask

Instructions

Fix checksum for tuneinstructor Cask

Changes to a cask
Editing an existing cask

[x] Commit message includes cask’s name (and new version, if applicable).
[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.

Please rebuild

Not a build error, your shasum seems to be wrong. I get the same one as Travis (7354d7423d19d75aa590f338596fc17da8d1c9f341c55bd7da592d5aa1b18a8e).

It is so strange. I am sure shasum is correct in local, but Travis say different shasum. I think my mistake, so I re-pushed... I will checked again tomorrow.

I also get the same checksum downloading locally.


clarified relationship btwn scale and replicas

What's changed

additional clarification on differences between scale and replicas

Related

PR #1837
Issue #1816

Signed-off-by: Victoria Bialas<EMAIL_ADDRESS>

LGTM


Console logger support during test execution

We use a console and file logger during test execution. The console is not redirected to the Test execution during the test run. This should be configurable so if you run the test e.g. on a hosted agent that the test execution itself is always having the console log output in a continues flow.
E.g.
Test is having the simple Console loggerprovider. This is displayed after test run in Visual studio

In Azure pipeline this is hidden:

Background and Motivation
This would help detecting issues e.g. when the agent cancels or in the scenario when a time out occurs and you want to see which test and test step was executed. The console log should be displayed during test execution and not after.
The option to store the log in a file is not useful if the agent gets shutdown or crashed.
Example: We are trying to analyse a test run that crashes / shutdown the agent. There is no way to diagnose what happened:

Proposed Feature
Redirect console output in flow of the test run and always show it. This should be based on configuration.

You can try to set the CaptureTraceOutput to false with a runsetting https://learn.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2022#mstest-element

We are trying to analyse a test run that crashes / shutdown the agent. There is no way to diagnose what happened:

You can enable crash dump extension https://learn.microsoft.com/en-us/dotnet/core/testing/unit-testing-platform-extensions-diagnostics#crash-dump


fix(DeleteRowButton): fix alignment of DeleteRowButton instances

This PR fixes the lack of label offset for DeleteRowButton and removes a comment I accidentally committed.
Before:

After:

LGTM 👍  💯


DOC: add examples to interpolate.lagrange docstring

Why close the old PR and open a new one?

Sorry, did it by mistake

Thanks @Arcady27 for your contribution! It has been merged as a part of gh-7642, along with some further tweaks. Keep them coming :-).


Expand readme

Coverage remained the same at 47.166% when pulling 9debb7fac7c73049729074486f3d21727bf4e250 on jodh-intel:expand-readme into 3596a9d8565329dba8b9026b980acb7497b5ad1b on clearcontainers:master.

Hi @iphutch - please could you review?

@devimc, @iphutch - doc updated.

Coverage remained the same at 47.166% when pulling c254ed5d6f7ea6995ebcbd969f13018ba98105c7 on jodh-intel:expand-readme into 3596a9d8565329dba8b9026b980acb7497b5ad1b on clearcontainers:master.

Coverage remained the same at 47.166% when pulling a67093c616441ab11ce22843c00caefe50d3cdad on jodh-intel:expand-readme into c2e46ba4d324e562e62c5610f912e779a5837b80 on clearcontainers:master.

Coverage remained the same at 47.166% when pulling f9a81e519473e9ed83bbea44c1414a35497e58bb on jodh-intel:expand-readme into c2e46ba4d324e562e62c5610f912e779a5837b80 on clearcontainers:master.

Coverage remained the same at 47.166% when pulling 664baaedde151f4897ae86d60682ed552e3f5713 on jodh-intel:expand-readme into c2e46ba4d324e562e62c5610f912e779a5837b80 on clearcontainers:master.

Coverage remained the same at 47.166% when pulling 8434bdb4e61a6977f9d591d141f2e218a46d30b8 on jodh-intel:expand-readme into 80e472ba1e5b4c964a4423e6f259ae0e248b91f5 on clearcontainers:master.

@devimc - could you re-review?

lgtm


Feature/caption and title (#14)

reading caption and title from several tags with several tests
added minor bugfix for date conversion to MS
optimization: break sidecar loop, when first sidecar is found

Ok. Once again I'm struck by dates. The error has nothing to do with this PR.
The problem lies in these lines:
https://github.com/bpatrik/pigallery2/blob/master/src/backend/model/database/SearchManager.ts#L769-L790
When running the tests today, the 31st of march, the subtraction of months behaves weirdly. Javascript data handling is notoriously bad.
Take a look here, how subtracting a month from the 31st of march (or 1st of april) suddenly becomes the 3rd of march:
>to = new Date();
Date Sun Mar 31 2024 17:39:12 GMT+0200 (Central European Summer Time)

>to.setHours(0, 0, 0, 0);
1711839600000
>to.setUTCDate(to.getUTCDate() + 1);
1711926000000
>to
Date Mon Apr 01 2024 01:00:00 GMT+0200 (Central European Summer Time)

>to.setUTCMonth(to.getUTCMonth() - 1);
1709420400000
>to
Date Sun Mar 03 2024 00:00:00 GMT+0100 (Central European Standard Time)

>to.setUTCMonth(to.getUTCMonth() + 1);
1712098800000
>to
Date Wed Apr 03 2024 01:00:00 GMT+0200 (Central European Summer Time)

I will try and fix it nevertheless.

Ahh this search is annoying.
I would just create a PR for the original feature.  The code looks good to me so far. If metadata  test runs, I will merge it.
Then we can have a separate discussion or at least a bug about the date search.

Ok. I think my solution to the search is more intuitive than the default js one.
Basically it is:
If (date+x months)'s day of month does not exist, change to the largest day of month.

So 31st of april, june, september and november are converted to 30th.
30th and 31st of february are converted to 29th on leap years
29th, 30th and 31st of February are converted to 28th of non-leap years

So 31st of march one month ago and 3 days back means, 27th, 28th and 29th of February this year.
Before my change it was 1st, 2nd and 3rd of march this year.
Of course, I can remove this easily from the PR if you would like that. Can do it tonight. :-)

I reverted not only the tests but also the other search-mechanism described above.
I will resubmit in another PR, so you can try it out separately :)

Thank you!


Box on pages in JSON seems nonsensical

To reproduce (paths change as necessary):
SSCRAPER="/workspaces/mmda/SymbolScraper/bin/sscraper"

import os
from mmda.parsers.symbol_scraper_parser import SymbolScraperParser
from mmda.types.document import Document

INPUT_PDF_PATH="/workspaces/mmda/docs/crater.pdf"
OUTPUT_JSON_PATH="/workspaces/mmda/output/crater.json"
TEMP_PATH="/workspaces/mmda/tmp"

ssparser = SymbolScraperParser(sscraper_bin_path=SSCRAPER)
doc: Document = ssparser.parse(
    input_pdf_path=INPUT_PDF_PATH,
    output_json_path=OUTPUT_JSON_PATH,
    tempdir=TEMP_PATH
)

Then, inspect crater.json spans in pages seem wonky in terms of box boundaries (expected to be between 0 and 1 I think):
    "pages": [
        {
            "spans": [
                {
                    "start": 0,
                    "end": 5980,
                    "box": [
                        0.05228758169934641,
                        -70608.52432885101,
                        0.8466750000000001,
                        70609.43707111111,
                        0
                    ]
                }
            ],
            "id": 0
        },
....

Here, crater.pdf refers to https://arxiv.org/pdf/1601.00978.pdf

I guess this might be an issue related to the symbol scraper parser -- would you like to test out the pdfplumber parser (will add the PR soon) on the same PDF and see if it works fine?

Similar result:
{
    "symbols": "Crater Detection via Convolutional Neural Networks\nJoseph Paul Cohen, Henry Z. Lo, Tingting Lu, and Wei Ding at the University of Massachusetts Boston ( { joecohen,\nhenryzlo, ding } @cs.umb.edu, lutingting@buaa.edu.cn)\nIntroduction\nCraters are among the most studied geomorphic features\nin the Solar System because they yield important\ninformation about the past and present geological\nprocesses and provide information about the relative ages\nof observed geologic formations. We present a method\nfor automatic crater detection using advanced machine\nlearning to deal with the large amount of satellite imagery\ncollected.\nThe challenge of automatically detecting craters\ncomes from their is complex surface because their shape\nerodes over time to blend into the surface. Bandeira [1]\nprovided a seminal dataset that embodied this challenge\nthat is still an unsolved pattern recognition problem to\nthis day. There has been work to solve this challenge\nbased on extracting shape [2] and contrast [1, 3] features\nand then applying classi\ufb01cation models on those features.\nThe limiting factor in this existing work is the use of\nhand crafted \ufb01lters on the image such as Gabor or Sobel\n\ufb01lters or Haar features. These hand crafted methods\nrely on domain knowledge to construct.\nWe would\nlike to learn the optimal \ufb01lters and features based on\ntraining examples. In order to dynamically learn \ufb01lters\nand features we look to Convolutional Neural Networks\n(CNNs) which have shown their dominance in computer\nvision [4]. The power of CNNs is that they can learn\nimage \ufb01lters which generate features for high accuracy\nclassi\ufb01cation.\nCNNs are organized as a computation graph where\nthe input image has computations performed on it and\nproduce an output, then this output has computations\nperformed on it, and this is repeated until an output layer\nwhich contains a prediction. There are many components\nto these networks but the most signi\ufb01cant part to discuss\nis the convolutional layer and the fully connected layer.\nFirst we talk about a convolutional layer because\nthis is the interface between the input image and the\nnetwork. In Figure 1 the process of a convolutional\nlayer is shown. A sliding window is ran across the\ninput image with a convolution applied at each position.\nEach pixel is multiplied by the corresponding \ufb01lter\nvalue and summed together which results in a single\nvalue. A picture is formed from the results of these\nconvolutions. This design is important because spatial\ninformation is maintained to be used later in the network.\nIn this example the \ufb01lter values appear to be a sobel\n\ufb01lter however the \ufb01lters learned will be much different.\nDuring the learning process the values of the \ufb01lters will\nbe altered to minimize classi\ufb01cation error of the entire\nnetwork.\nNext we talk about a fully connected layer. These\n66\n104 100\n105 110 255\n160 201 115\n-2\n-1\n-2\n0\n0\n0\n2\n1\n2\n315\n3x3 Input Window\n3x3 Convolutional Filter\nOutput\nInput Image\nConvolutional Activations\nFigure 1: Convolutional layer\nlayers have an input which is a vector x of the previous\nlayers outputs. These layers contain many nonlinear\nunits. A nonlinear unit is a transformation h \u03b8 ( x ) which\nproduces a single value where \u03b8 is a vector of weights.\nThe most modern practice is to use a recti\ufb01ed linear\nunit (ReLU): h \u03b8 ( x ) = max (0 , (cid:80) i =0 \u03b8 i x i ) . The \u03b8 value\nat this layer will be altered during training in order to\nminimize classi\ufb01cation error.\n. . .\n... . . .\n. . .\n. . .\n(a) Input Image (15x15)\n(b) Convolutional Layers (x20)\n(c) Convolutional Layers (x20)\n(d) 500 Outputs\n(e) 2 Outputs\n. . .\n. . .\n4x4 Filter\n4x4 Filter\nFigure 2: Crater Convolutional Neural Network (CNN)\narchitecture computation graph. Each layer is identi\ufb01ed\nwith a letter and lines show processing from left to right.\nWe combine the convolutional layers with fully\nconnected layers in a speci\ufb01c con\ufb01gration that has\nachieved good performance on crater detection in Figure\n2. Layer ( a ) is a 15x15 input image. Each candidate\nexample is scaled to this size. Layers ( b ) and ( c ) are\nconvolutional layers with 20 \ufb01lters each of size 4x4.\nEach \ufb01lter is passed over the \ufb01lter in a sliding window\nfashion with a stride of 1 pixel. Unlike similar networks\nwe don\u2019t use a pooling layer as it achieved poor results.\nLayer ( d ) is a fully connected layer where each element\nof this layer is the result of h \u03b8 ( x ) with unique \u03b8 s for\neach element.\nLayer ( e ) has just two outputs; each\ncorresponding to a class. A softmax regression is used\na r\nX\ni v\n:\n1601\n.\n00978v1\n[ c\ns .\nC\nV\n]\n5\nJ a\nn\n2016\n2\nFigure 3: A crater and non-crater candidate are processed\nby the \ufb01rst convolutional layer.\nEight \ufb01lters with\ninteresting activation patterns are shown to the right of\neach candidate image in false color. Values are scaled\nand then colored to make these values visible and to\nmaximize contrast within each square with blue = low\nand red = high.\nso that the results can be interpreted as a probability\ndistribution between craters and non-craters.\nThe \ufb01lter and \u03b8 values throughout the network are\ninitialized randomly and incrementally modi\ufb01ed using\nstochastic gradient descent to minimize classi\ufb01cation\nerror [4]. The term epoch is a training cycle that includes\nevery training example. We omit the discussion on how\ntraining works for space.\nWe can visualize the \ufb01lters learned for craters to gain\ninsight into what features are important to classi\ufb01cation.\nWe visualize 8/20 \ufb01lters for layer ( b ) on a crater and\nnon-crater image in Figure 3.\nThe \ufb01lters, although\ncrude, can be seen to show vertical edges as well as\nsegmentation. The \ufb01lters are learned based on what is\nnessary to minimize classi\ufb01cation error on the training\ndata so they do not directly relate to what a crater is but\nmay be focusing on what is not a crater.\nEvaluation\nWe use Banderia\u2019s [1] dataset 1 to evaluate and compare\nour method. It originates from the nadir panchromatic\nimagery footprint h0905 0000 that was captured by the\nHRSC aboard the Mars Express spacecraft. This dataset\nis composed of 6 tiles (1700x1700 pixels each) with\nresolution 12.5m/pixel. A domain expert has labeled\n3658 craters across all tiles. Banderia utilized Urbach\nand Stepinski\u2019s [2] highlight and shadow algorithm to\navoid brute force sliding window candidate generation\nand reduce the total number of candidates that must\nbe evaluated. This pre-processing step results in 2022\ncraters and 2888 non-craters across all tiles. The results\nof this pre-processing is what has been used in prior work\nand is used in our evaluation as well.\nPrior\nwork\nhas\nused\nthe\nF1-Score\nand\ncross-validation to evaluate their methods.\nThe\nF1-Score is the harmonic mean between precision and\nrecall: F 1 = 2 \u00b7 precision \u00b7 recall precision + recall . 10-Fold cross validation\nis a testing procedure where the dataset is randomly\ndivided into 10 sections and then each section is selected\n1 http://kdl.cs.umb.edu/w/datasets/craters/\nRegion\nU r b a c h \u2018 0 9 B a n d e i r a \u2018 1\n0\nD i n g \u2018 1 1 C N N\nWest (1 24+1 25)\n67.89\n85.33\n83.98\n88.78\nCenter (2 24+2 25)\n69.62\n79.35\n83.02\n88.81\nEast (3 24+3 25)\n79.77\n86.09\n89.51\n90.29\nTable 1: F1-score via 10-fold cross validation.\nWest 1 24\nCenter 2 24\nEast 3 24\nWest 1 25\nCenter 2 25\nEast 3 25\nFigure 4: Labels of each crater dataset tile.\nas a testing set while the remainder is used as a trainng\nset with the resulting F1-Score averaged together.\nOur results are shown in Table 1. The scores were\nobtained from the respective papers with the exception\nof \u201cUrbach \u201909\u201d which was obtained from [1] where it\nis used as a baseline comparison. Our CNN approach is\ntrained for 500 epochs during each fold evaluation. Our\nproposed CNN method obtains a higher score than all\nexisting methods. We conclude that convolutional neural\nnetworks have a large potential to signi\ufb01cantly change\nthe way crater detection is performed. We believe further\nimprovements to the design of the computation graph can\nincrease performance much higher.\nReferences\n[1] L. Bandeira, W. Ding, and T. F. Stepinski, \u201cAutomatic\nDetection of Sub-km Craters Using Shape and Texture\nInformation,\u201d in Proceedings of the 41st Lunar and\nPlanetary Science Conference , Mar. 2010.\n[2] E. R. Urbach and T. F. Stepinski, \u201cAutomatic detection\nof sub-km craters in high resolution planetary images,\u201d\nPlanetary and Space Science , vol. 57, no. 7, 2009.\n[3] W. Ding, T. F. Stepinski, Y. Mu, L. Bandeira, R. Ricardo,\nY. Wu, Z. Lu, T. Cao, and X. Wu, \u201cSub-kilometer\ncrater discovery with boosting and transfer learning,\u201d ACM\nTransactions on Intelligent Systems and Technology , vol. 2,\nno. 4, Jul. 2011.\n[4] A. Krizhevsky, I. Sutskever, and G. E. Hinton, \u201cImageNet\nClassi\ufb01cation with Deep Convolutional Neural Networks,\u201d\nin Advances in Neural Information Processing Systems 25 ,\n2012.\n",
    "pages": [
        {
            "spans": [
                {
                    "start": 0,
                    "end": 4559,
                    "box": [
                        -117649.61143300653,
                        0.08815277777777777,
<PHONE_NUMBER>6895424,
                        0.824564393939394,
                        0
                    ]
                }
            ],
            "id": 0
        },

It seems to be only for the very first span.


sweetalert -> sweetalert2

Follow-up for https://github.com/cipchk/ng-alain/commit/bc5478aa2845be938767807f428ff88ae82ff41c where the dependency was changed

ths, obsoleted README


Add combineAppRoutes util

Add combineAppRoutes util
This update adds a new combineAppRoutes utility function. This enables Marionette
apps to render a React Router powered component/app. It works by combining React
routes and Marionette Routes to a flat object for Marionette's appRouter.
The trick is to have the React routes end with *notFound, which kind of functions
like a wild card match.
It's an unfortunate thing, but it's the only thing that seems to work.

Pull Request Test Coverage Report for Build 188

9 of 9 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 173:
0.0%

Covered Lines:
196

Relevant Lines:
196

💛  - Coveralls


chore(tm): use the second return value of GetConsensusState to check if consensus state exists

Description
In some places, codes like below are used to check whether a consensus state exists or not.
I think this is not a bug, but a bit different from the intention of GetConsensusState.
Probably, callers of this function should see the second return value to check it.
if cons, _ := GetConsensusState(....); cons != nil {
    ....
}

Commit Message / Changelog Entry
chore(tm): use the second return value of GetConsensusState to check if consensus state exists

see the guidelines for commit messages. (view raw markdown for examples)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[x] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[x] Provide a commit message to be used for the changelog entry in the PR description for review.
[x] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

Codecov Report

Merging #3570 (832e324) into main (f32b105) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

:exclamation: Current head 832e324 differs from pull request most recent head 57a0628. Consider uploading reports for the commit 57a0628 to get more accurate results

Additional details and impacted files

@@            Coverage Diff             @@
##             main    #3570      +/-   ##
==========================================
- Coverage   78.76%   78.76%   -0.01%
==========================================
  Files         182      182
  Lines       12688    12687       -1
==========================================
- Hits         9994     9993       -1
  Misses       2262     2262
  Partials      432      432

Impacted Files
Coverage Δ

...light-clients/07-tendermint/misbehaviour_handle.go
85.43% <100.00%> (-0.15%)
:arrow_down:

modules/light-clients/07-tendermint/update.go
87.50% <100.00%> (ø)


Update vpn-gateway-download-vpn-client.md

Updated App Center link

@reasuquo : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@reasuquo: I'm sorry - only the author of this article, @cherylmc, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

Duplicate. #please-close


Relative Path of Index.???.js when used with a Reverse Proxy (nginx)

If you use a reverse proxy like nginx to alter the path of the root, the path to the "index.js" file is broken.
nginx.conf
#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location /ui2 {
            proxy_pass http://host.docker.internal:1234;
        }

    }

}

When accessing the home/index/root page, at localhost/ui2 the browser attempts to access the index.js file under an incorrect relative path at localhost/index.cb180e2c.js when it should point to localhost/ui2/index.cb180e2c.js
index.html
<!DOCTYPE html>

  <meta charset="UTF-8">
  <title>tagr-ui</title>

Hi!
This is good solid web stuff, not specific to Tyrian - but that's ok! I'm not an nginx person so I could be wrong, but essentially I think there's a misunderstanding about what's going on here. (I bet ChatGPT would be able to explain this better than me. :joy:)
You've set up a proxy pass so that any requests going to /ui will be redirected to / (root), but that is not what the web page is asking for, it's asking for root in the first place, like this: src="/index.cb180e2c.js". If you update this to src="/ui/index.cb180e2c.js", I imagine it will work.
That url is being created by your bundler, Parcel.js (I assume), so how do we change it? To get Parcel.js to use an adjusted url, you can specify the --public-url field in the build script, like the example below (I haven't tested this, but it should work):
{
  "scripts": {
    "build": "parcel build index.html --dist-dir dist --log-level info --public-url /ui"
  },
  "devDependencies": {
    "parcel": "^2.1.0",
    "process": "^0.11.10"
  }
}

I suggest you have a play around with different paths/urls - I'd just do this in a browser and see what works - and then you'll know what you need to change and where. You might also want to consider relative url's instead of absolute ones (i.e. ./ vs /).
Note that if you have a start command in your package.json that you use during local development, and a build command that you use for building for production, then you may want to not set --public-url on the start one, and just set it on the build version. Depends on how you've got your project set up. Perhaps like this:
{
  "scripts": {
    "start": "parcel build index.html --dist-dir dist --log-level info"
    "build": "parcel build index.html --dist-dir public --log-level info --public-url /ui"
  },
  "devDependencies": {
    "parcel": "^2.1.0",
    "process": "^0.11.10"
  }
}

Hope that helps!

Like David says, the problem isn't related to tyrian, I bet this would do the trick:
...
        location /ui2 {
            rewrite ^/ui2/(.*) /$1 break;
            proxy_pass http://host.docker.internal:1234;
        }
...

In short, re-write the url to remove the /ui2 prefix.