[BUG]

What did you do?

How was the cluster created?

k3d create cluster --k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\"" topgunCluster --masters 5 --workers 9

What did you do before that command?

I created and deleted many clusters to test command line options

What did you do afterwards?

k3d commands?

#  clean everything up between two clusters (when you tear down one, to create another) :
k3d delete cluster topgunCluster
sudo rm /etc/docker/*.json
docker system prune -f --all && docker system prune -f --volumes
sudo systemctl daemon-reload
sudo systemctl restart docker
# and then the exact same command successfuly gave me a cluster
k3d create cluster --k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\"" topgunCluster --masters 5 --workers 9

- docker commands? none
- OS operations (e.g. shutdown/reboot)? none

What did you expect to happen?
That the cluster creation would always succeed would always succeed, regardless of how many times I run them :
k3d delete cluster topgunCluster
k3d create cluster --k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\"" topgunCluster --masters 5 --workers 9

Screenshots or terminal output
Indeed, you can see below an example of a cluster creation that fails without cleaning, and succeeds after cleaning up :
jbl@pc-alienware-jbl:~$ k3d create cluster --k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\"" topgunCluster --masters 5 --workers 9
INFO[0000] Created network 'k3d-topgunCluster'
INFO[0000] Created volume 'k3d-topgunCluster-images'
INFO[0000] Creating initializing master node
INFO[0000] Creating node 'k3d-topgunCluster-master-0'
INFO[0013] Creating node 'k3d-topgunCluster-master-1'
INFO[0014] Creating node 'k3d-topgunCluster-master-2'
INFO[0016] Creating node 'k3d-topgunCluster-master-3'
INFO[0018] Creating node 'k3d-topgunCluster-master-4'
INFO[0019] Creating node 'k3d-topgunCluster-worker-0'
INFO[0021] Creating node 'k3d-topgunCluster-worker-1'
INFO[0022] Creating node 'k3d-topgunCluster-worker-2'
INFO[0023] Creating node 'k3d-topgunCluster-worker-3'
INFO[0025] Creating node 'k3d-topgunCluster-worker-4'
INFO[0026] Creating node 'k3d-topgunCluster-worker-5'
INFO[0027] Creating node 'k3d-topgunCluster-worker-6'
INFO[0028] Creating node 'k3d-topgunCluster-worker-7'
INFO[0029] Creating node 'k3d-topgunCluster-worker-8'
INFO[0030] Creating LoadBalancer 'k3d-topgunCluster-masterlb'
ERRO[0031] Failed waiting for log message 'start worker processes' from node 'k3d-topgunCluster-masterlb'
ERRO[0031] Failed to bring up all master nodes (and loadbalancer) in time. Check the logs:
ERRO[0031] >>> Node 'k3d-topgunCluster-masterlb' (container '3465df51d5ec289044eb794f76d605d1e7fdd2d51e9925b0fdb5ab66d6069166') not running
ERRO[0031] Failed to bring up cluster
ERRO[0031] Failed to create cluster >>> Rolling Back
INFO[0031] Deleting cluster 'topgunCluster'
INFO[0032] Deleted k3d-topgunCluster-master-0
INFO[0032] Deleted k3d-topgunCluster-master-1
INFO[0033] Deleted k3d-topgunCluster-master-2
INFO[0034] Deleted k3d-topgunCluster-master-3
INFO[0034] Deleted k3d-topgunCluster-master-4
INFO[0035] Deleted k3d-topgunCluster-worker-0
INFO[0036] Deleted k3d-topgunCluster-worker-1
INFO[0036] Deleted k3d-topgunCluster-worker-2
INFO[0037] Deleted k3d-topgunCluster-worker-3
INFO[0038] Deleted k3d-topgunCluster-worker-4
INFO[0038] Deleted k3d-topgunCluster-worker-5
INFO[0039] Deleted k3d-topgunCluster-worker-6
INFO[0040] Deleted k3d-topgunCluster-worker-7
INFO[0040] Deleted k3d-topgunCluster-worker-8
INFO[0040] Deleted k3d-topgunCluster-masterlb
INFO[0040] Deleting cluster network '7935e282ead88eaa3857b79ec4cc22cc2303a7066deac4d7c6dfca7dd0d15ec8'
FATA[0040] Cluster creation FAILED, all changes have been rolled back!
jbl@pc-alienware-jbl:~$ k3d delete cluster topgunCluster
FATA[0000] No nodes found for cluster 'topgunCluster'
jbl@pc-alienware-jbl:~$ sudo rm /etc/docker/*.json
jbl@pc-alienware-jbl:~$ docker system prune -f --all && docker system prune -f --volumes
Deleted Images:
untagged: rancher/k3s:v1.18.4-k3s1
untagged: rancher/k3s@sha256:2555ed1896512b320c175859a95a5f1d6a2c64b501a84bc45d853a9bd0be0dfd
deleted: sha256:8600923bc2c7dda1d67732d4c9498f79204889d4a4619212e5301e8ebd88683c
deleted: sha256:9112bc341c35bc180f6526457537650bc9c281a60b4960d515422642e137cd6e
deleted: sha256:4a580f02a4fae85d3c01c88ac827b935db862e2842a4722a0073962f38b7704e
deleted: sha256:ec1433ebbebd8aefcdc2d9f8bec9668defb5d1e0984a4035c510f99fe4ba0562
untagged: rancher/k3d-proxy:v3.0.0-rc.6
untagged: rancher/k3d-proxy@sha256:a9d150f33da45cfab590d8094b034d30510f142332fbb007c1e5030aaddf304f
deleted: sha256:4b44f08c525f5c026222c8d78635672e3a6150179562f9f9b572a66d9a104600
deleted: sha256:818da9004fb9448cb438215e04e9c9c5853561c54d17cdc187b0d493c369c314
deleted: sha256:335fc598937327294d4748e2bc3eec1d6589f7c485a0690d54e0397df64800eb
deleted: sha256:ec88223b6e690f3a2285f3c13dcff4e18ab75411fc2b63f363d3ec676371487a
deleted: sha256:7c5c8fccda028cec476ee644a77046ef66b7d9eaa3c57ddc1ac8f64a9aafe07c
deleted: sha256:c08fbfc0bf8619da11d55fcaad512b2824bd3add3078d3b8ca0e68e9c5e41ab5
deleted: sha256:f1b5933fe4b5f49bbe8258745cf396afe07e625bdab3168e364daf7c956b6b81

Total reclaimed space: 194MB
Deleted Volumes:
k3d-topgunCluster-images

Total reclaimed space: 0B
jbl@pc-alienware-jbl:~$ sudo systemctl daemon-reload
jbl@pc-alienware-jbl:~$ sudo systemctl restart docker
jbl@pc-alienware-jbl:~$ k3d delete cluster topgunCluster
FATA[0000] No nodes found for cluster 'topgunCluster'
jbl@pc-alienware-jbl:~$ k3d create cluster --k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\"" topgunCluster --masters 5 --workers 9
INFO[0000] Created network 'k3d-topgunCluster'
INFO[0000] Created volume 'k3d-topgunCluster-images'
INFO[0000] Creating initializing master node
INFO[0000] Creating node 'k3d-topgunCluster-master-0'
INFO[0001] Pulling image 'docker.io/rancher/k3s:v1.18.4-k3s1'
INFO[0018] Creating node 'k3d-topgunCluster-master-1'
INFO[0019] Creating node 'k3d-topgunCluster-master-2'
INFO[0021] Creating node 'k3d-topgunCluster-master-3'
INFO[0023] Creating node 'k3d-topgunCluster-master-4'
INFO[0025] Creating node 'k3d-topgunCluster-worker-0'
INFO[0026] Creating node 'k3d-topgunCluster-worker-1'
INFO[0027] Creating node 'k3d-topgunCluster-worker-2'
INFO[0029] Creating node 'k3d-topgunCluster-worker-3'
INFO[0031] Creating node 'k3d-topgunCluster-worker-4'
INFO[0032] Creating node 'k3d-topgunCluster-worker-5'
INFO[0034] Creating node 'k3d-topgunCluster-worker-6'
INFO[0036] Creating node 'k3d-topgunCluster-worker-7'
INFO[0038] Creating node 'k3d-topgunCluster-worker-8'
INFO[0039] Creating LoadBalancer 'k3d-topgunCluster-masterlb'
INFO[0040] Pulling image 'docker.io/rancher/k3d-proxy:v3.0.0-rc.6'
INFO[0046] Cluster 'topgunCluster' created successfully!

Linux, Windows, MacOS / amd64, x86, ...? see uname -a above :+1:  A Debian Stretch
amd64 cpu arch

jbl@pc-alienware-jbl:~$ uname -a
Linux pc-alienware-jbl 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux

Which version of k3d?

output of k3d --version

Which version of docker?

output of docker version

jbl@pc-alienware-jbl:~$ docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b7f0
 Built:             Wed Mar 11 01:26:02 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b7f0
  Built:            Wed Mar 11 01:24:36 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683
jbl@pc-alienware-jbl:~$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:58:59Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.4+k3s1", GitCommit:"97b7a0e9df2883f08028fb7171c1e62fc1899a0c", GitTreeState:"clean", BuildDate:"2020-06-18T01:30:45Z", GoVersion:"go1.13.11", Compiler:"gc", Platform:"linux/amd64"}
jbl@pc-alienware-jbl:~$ uname -a
Linux pc-alienware-jbl 4.9.0-7-amd64 #1 SMP Debian 4.9.110-3+deb9u2 (2018-08-13) x86_64 GNU/Linux
jbl@pc-alienware-jbl:~$ k3d version
k3d version v3.0.0-rc.6
k3s version v1.18.4-k3s1 (default)
jbl@pc-alienware-jbl:~$ k3d --version
k3d version v3.0.0-rc.6
k3s version v1.18.4-k3s1 (default)

ps: I like the new rollback feature.

Hi @Jean-Baptiste-Lasselle , thanks for opening this issue and sharing all the details.
I'll read through it soon and will try to reproduce it.
One thing up front:

--k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\""
should/could just be
--k3s-server-arg '--tls-san="<IP_ADDRESS>"' (without the additional k3s server part) :+1:

While creating the cluster, can you please try to get the logs of k3d-topgunCluster-masterlb via docker logs -f k3d-topgunCluster-masterlb? Also, please check docker ps -a to see if all node containers are up and running (especially all master nodes).

should/could just be
--k3s-server-arg '--tls-san="<IP_ADDRESS>"' (without the additional k3s server part) +1

yeah, totally, n what I experienced is that the "should" does not work, while I found the hack with --k3s-server-arg "k3s server --tls-san \"<IP_ADDRESS>\""

While creating the cluster, can you please try to get the logs of k3d-topgunCluster-masterlb via docker logs -f k3d-topgunCluster-masterlb? Also, please check docker ps -a to see if all node containers are up and running (especially all master nodes).

will do that asap, im on the rin at work, but asap and will bring back feedback

HI @iwilltry42 , HAve today a bit of time to go further :

I tried and reproduce the error I describred first : running the same k3d create cluster command, I still had an error, but not the same : see below stdout.

we hd something else, about the --tls-san : there I found something new. Here is what is new :

I tried and apply what you gave me, that is running k3d create cluster --k3s-server-arg '--tls-san <IP_ADDRESS>' topgunCluster --masters 3 --workers 9. But there I had an error, which is tricky to diagnose, because the rollout very quickly wipes out the container which has a problem (a master node, the first created). Well I managed to still get the logs, and when I use blabla "--tsl-san '<IP_ADDRESS>'" , the k3s server does not receive --tls-san, but it receives -tls-san instead (note the missing first hyphen) :
the lgs from the failing initaial master node :

jbl@pegasusio:~$ docker logs -f k3d-topgunCluster-master-0
Incorrect Usage: flag provided but not defined: -tls-san <IP_ADDRESS>

NAME:
   k3s server - Run management server

USAGE:
   k3s server [OPTIONS]

OPTIONS:
   -v value                                   (logging) Number for the log level verbosity (default: 0)
   --vmodule value                            (logging) Comma-separated list of pattern=N settings for file-filtered logging
   --log value, -l value                      (logging) Log to file
   --alsologtostderr                          (logging) Log to standard error as well as file (if set)
   --bind-address value                       (listener) k3s bind address (default: <IP_ADDRESS>)
   --https-listen-port value                  (listener) HTTPS listen port (default: 6443)
   --advertise-address value                  (listener) IP address that apiserver uses to advertise to members of the cluster (default: node-external-ip/node-ip)
   --advertise-port value                     (listener) Port that apiserver uses to advertise to members of the cluster (default: listen-port) (default: 0)
   --tls-san value                            (listener) Add additional hostname or IP as a Subject Alternative Name in the TLS cert (default: "<IP_ADDRESS>")
   --data-dir value, -d value                 (data) Folder to hold state default /var/lib/rancher/k3s or ${HOME}/.rancher/k3s if not root
   --cluster-cidr value                       (networking) Network CIDR to use for pod IPs (default: "<IP_ADDRESS>/16")
   --service-cidr value                       (networking) Network CIDR to use for services IPs (default: "<IP_ADDRESS>/16")
   --cluster-dns value                        (networking) Cluster IP for coredns service. Should be in your service-cidr range (default: <IP_ADDRESS>)
   --cluster-domain value                     (networking) Cluster Domain (default: "cluster.local")
   --flannel-backend value                    (networking) One of 'none', 'vxlan', 'ipsec', 'host-gw', or 'wireguard' (default: "vxlan")
   --token value, -t value                    (cluster) Shared secret used to join a server or agent to a cluster [$K3S_TOKEN]
   --token-file value                         (cluster) File containing the cluster-secret/token [$K3S_TOKEN_FILE]
   --write-kubeconfig value, -o value         (client) Write kubeconfig for admin client to this file [$K3S_KUBECONFIG_OUTPUT]
   --write-kubeconfig-mode value              (client) Write kubeconfig with this mode [$K3S_KUBECONFIG_MODE]
   --kube-apiserver-arg value                 (flags) Customized flag for kube-apiserver process
   --kube-scheduler-arg value                 (flags) Customized flag for kube-scheduler process
   --kube-controller-manager-arg value        (flags) Customized flag for kube-controller-manager process
   --kube-cloud-controller-manager-arg value  (flags) Customized flag for kube-cloud-controller-manager process
   --datastore-endpoint value                 (db) Specify etcd, Mysql, Postgres, or Sqlite (default) data source name [$K3S_DATASTORE_ENDPOINT]
   --datastore-cafile value                   (db) TLS Certificate Authority file used to secure datastore backend communication [$K3S_DATASTORE_CAFILE]
   --datastore-certfile value                 (db) TLS certification file used to secure datastore backend communication [$K3S_DATASTORE_CERTFILE]
   --datastore-keyfile value                  (db) TLS key file used to secure datastore backend communication [$K3S_DATASTORE_KEYFILE]
   --default-local-storage-path value         (storage) Default local storage path for local provisioner storage class
   --disable value                            (components) Do not deploy packaged components and delete any deployed components (valid items: coredns, servicelb, traefik, local-storage, metrics-server)
   --disable-scheduler                        (components) Disable Kubernetes default scheduler
   --disable-cloud-controller                 (components) Disable k3s default cloud controller manager
   --disable-network-policy                   (components) Disable k3s default network policy controller
   --node-name value                          (agent/node) Node name [$K3S_NODE_NAME]
   --with-node-id                             (agent/node) Append id to node name
   --node-label value                         (agent/node) Registering and starting kubelet with set of labels
   --node-taint value                         (agent/node) Registering kubelet with set of taints
   --docker                                   (agent/runtime) Use docker instead of containerd
   --container-runtime-endpoint value         (agent/runtime) Disable embedded containerd and use alternative CRI implementation
   --pause-image value                        (agent/runtime) Customized pause image for containerd or docker sandbox (default: "docker.io/rancher/pause:3.1")
   --private-registry value                   (agent/runtime) Private registry configuration file (default: "/etc/rancher/k3s/registries.yaml")
   --node-ip value, -i value                  (agent/networking) IP address to advertise for node
   --node-external-ip value                   (agent/networking) External IP address to advertise for node
   --resolv-conf value                        (agent/networking) Kubelet resolv.conf file [$K3S_RESOLV_CONF]
   --flannel-iface value                      (agent/networking) Override default flannel interface
   --flannel-conf value                       (agent/networking) Override default flannel config file
   --kubelet-arg value                        (agent/flags) Customized flag for kubelet process
   --kube-proxy-arg value                     (agent/flags) Customized flag for kube-proxy process
   --rootless                                 (experimental) Run rootless
   --agent-token value                        (experimental/cluster) Shared secret used to join agents to the cluster, but not servers [$K3S_AGENT_TOKEN]
   --agent-token-file value                   (experimental/cluster) File containing the agent secret [$K3S_AGENT_TOKEN_FILE]
   --server value, -s value                   (experimental/cluster) Server to connect to, used to join a cluster [$K3S_URL]
   --cluster-init                             (experimental/cluster) Initialize new cluster master [$K3S_CLUSTER_INIT]
   --cluster-reset                            (experimental/cluster) Forget all peers and become a single cluster new cluster master [$K3S_CLUSTER_RESET]
   --secrets-encryption                       (experimental) Enable Secret encryption at rest
   --no-flannel                               (deprecated) use --flannel-backend=none
   --no-deploy value                          (deprecated) Do not deploy packaged components (valid items: coredns, servicelb, traefik, local-storage, metrics-server)
   --cluster-secret value                     (deprecated) use --token [$K3S_CLUSTER_SECRET]

time="2020-07-16T15:51:49.535957091Z" level=fatal msg="flag provided but not defined: -tls-san <IP_ADDRESS>"

And so I thought of "protecting" the first hyphen character, witha backslash, ... and it worked, look :) :

jbl@pegasusio:~$ k3d create cluster --k3s-server-arg '--tls-san <IP_ADDRESS>' topgunCluster --masters 3 --workers 9
INFO[0000] Created network 'k3d-topgunCluster'
INFO[0000] Created volume 'k3d-topgunCluster-images'
INFO[0000] Creating initializing master node
INFO[0000] Creating node 'k3d-topgunCluster-master-0'
ERRO[0001] Node 'k3d-topgunCluster-master-0' (container '9e4bd7cce69751388c364340c581284c1b3f45691059d05ceebf526d9e13ce09') not running
ERRO[0001] Failed to get logs from the initializig master node.. waiting for 3 seconds instead
INFO[0005] Creating node 'k3d-topgunCluster-master-1'
ERRO[0006] Failed waiting for log message 'Wrote kubeconfig' from node 'k3d-topgunCluster-master-1'
INFO[0007] Creating node 'k3d-topgunCluster-master-2'
ERRO[0007] Failed to create container 'k3d-topgunCluster-master-2'
ERRO[0007] Failed to create node 'k3d-topgunCluster-master-2'
ERRO[0007] Failed to create node
ERRO[0007] error during connect: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/create?name=k3d-topgunCluster-master-2": context canceled
ERRO[0007] Failed to create cluster >>> Rolling Back
INFO[0007] Deleting cluster 'topgunCluster'
INFO[0007] Deleted k3d-topgunCluster-master-0
INFO[0007] Deleted k3d-topgunCluster-master-1
ERRO[0007] Failed to delete container 'k3d-topgunCluster-master-2'
WARN[0007] Failed to delete node 'k3d-topgunCluster-master-2': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
ERRO[0007] Failed to delete container ''
WARN[0007] Failed to delete node '': Try to delete it manually
INFO[0007] Deleting cluster network 'cef77d0962c75fb342e130003cf6283b68ef22ad1090e74b15385e835d6b58a4'
ERRO[0007] Failed to delete 10 nodes: Try to delete them manually
FATA[0007] Cluster creation FAILED, also FAILED to rollback changes!
jbl@pegasusio:~$ k3d create cluster --k3s-server-arg "\--tls-san <IP_ADDRESS>" topgunCluster --masters 3 --workers 9
INFO[0000] Created network 'k3d-topgunCluster'
INFO[0000] Created volume 'k3d-topgunCluster-images'
INFO[0000] Creating initializing master node
INFO[0000] Creating node 'k3d-topgunCluster-master-0'
INFO[0012] Creating node 'k3d-topgunCluster-master-1'
INFO[0014] Creating node 'k3d-topgunCluster-master-2'
INFO[0015] Creating node 'k3d-topgunCluster-worker-0'
INFO[0016] Creating node 'k3d-topgunCluster-worker-1'
INFO[0017] Creating node 'k3d-topgunCluster-worker-2'
INFO[0018] Creating node 'k3d-topgunCluster-worker-3'
INFO[0019] Creating node 'k3d-topgunCluster-worker-4'
INFO[0020] Creating node 'k3d-topgunCluster-worker-5'
INFO[0021] Creating node 'k3d-topgunCluster-worker-6'
INFO[0023] Creating node 'k3d-topgunCluster-worker-7'
INFO[0024] Creating node 'k3d-topgunCluster-worker-8'
INFO[0026] Creating LoadBalancer 'k3d-topgunCluster-masterlb'
INFO[0027] Pulling image 'docker.io/rancher/k3d-proxy:v3.0.0-rc.6'
INFO[0033] Cluster 'topgunCluster' created successfully!
INFO[0033] You can now use it like this:
export KUBECONFIG=$(k3d get kubeconfig topgunCluster)
kubectl cluster-info
jbl@pegasusio:~$ export KUBECONFIG=$(k3d get kubeconfig topgunCluster)
jbl@pegasusio:~$
jbl@pegasusio:~$ kubectl get all,nodes
NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
service/kubernetes   ClusterIP   <IP_ADDRESS>    <none>        443/TCP   43s

NAME                              STATUS   ROLES    AGE   VERSION
node/k3d-topguncluster-worker-4   Ready    <none>   27s   v1.18.4+k3s1
node/k3d-topguncluster-worker-1   Ready    <none>   30s   v1.18.4+k3s1
node/k3d-topguncluster-worker-3   Ready    <none>   27s   v1.18.4+k3s1
node/k3d-topguncluster-worker-0   Ready    <none>   32s   v1.18.4+k3s1
node/k3d-topguncluster-worker-6   Ready    <none>   25s   v1.18.4+k3s1
node/k3d-topguncluster-worker-8   Ready    <none>   22s   v1.18.4+k3s1
node/k3d-topguncluster-worker-7   Ready    <none>   22s   v1.18.4+k3s1
node/k3d-topguncluster-worker-5   Ready    <none>   25s   v1.18.4+k3s1
node/k3d-topguncluster-master-1   Ready    master   21s   v1.18.4+k3s1
node/k3d-topguncluster-master-2   Ready    master   17s   v1.18.4+k3s1
node/k3d-topguncluster-worker-2   Ready    <none>   23s   v1.18.4+k3s1
node/k3d-topguncluster-master-0   Ready    master   39s   v1.18.4+k3s1
jbl@pegasusio:~$

also wanted to note : I am constantly trying multi master with latest k3d : until today, I have clusters that have very high instability, at least master zero fails every time very soon, and eventually all masters, especially if you restart them.  I am currently working on making available a solid external datastore etcd cluster (a simple docker compose in the same docker network that the k3s, or why not another, but single master k3d cluster...)

Thanks for the feedback @Jean-Baptiste-Lasselle :)
The struggle with passing flags on to k3s is real :grimacing:
Also, there are open issues on the k3s repo already regarding the stability of multi-server clusters, which are mostly introduced by the instable embedded dqlite.
As far as I know, it is soon to be replaced by embedded etcd, which will hopefully be more stable.
The most prominent issue is that you cannot stop/restart/remove master-0/server-0 due to dqlite problems.
I'll try to bring external-datastore support into the next release (3.1.0) :+1:
Anything else I can help you with on this issue?

Hi @iwilltry42

Thanks for the feedback @Jean-Baptiste-Lasselle :)

My pleasure :) : I really get to do awesome things thanks to k3d/k3s, and the team members like you are there to support and give exaplanations / perspective, so it's just great

The struggle with passing flags on to k3s is real :grimacing:

Yeah I saw that, but what  like, is that the errors that I find, make sense : there is no dirty tricks to hide awful things into development, and that is why I think the dev team is particularly rigourous in its work and method : If can read their minds even in their errors, well that is really a good sign. Actually, that I can read in a dev teams ' mind even in errors, and guess a workaround, is probably one of the most powerful sign of a rigourous team work .

Also, there are open issues on the k3s repo already regarding the stability of multi-server clusters, which are mostly introduced by the instable embedded dqlite.

Like thank you so much or confirming me that. I analyzed logs of masters that were going down, and down again, til I finally picked that up : hey it is when the master tries to connect to datastore that it fails. Then I found out about the k3s embedded datastore by default. And I immediately thought of bringing up etcd clustered, the classic kubernetes high availability recommandation : dont do just 3 masters, also do a dedicated 3 etcd nodes .

As far as I know, it is soon to be replaced by embedded etcd, which will hopefully be more stable.

Oh really ? interesting I will keep an eye on that. I will be interesting to find out the limits of each possible set up

The most prominent issue is that you cannot stop/restart/remove master-0/server-0 due to dqlite problems.

Very interesting to know too, thank you so much for the info there.

I'll try to bring external-datastore support into the next release (3.1.0) +1

Gosh I so support the feature : yes, It would bring a killer feature to the platform, cause of course then we can operate multi master with high availabilty
My last idea about any feature would be this (if it does not already exist) : How can run a k3s cluster, across physical machines, or maybe, inside kubernetes ? I don't think hyperkube is k3s based (not sure), but I think that between a kubernetes in kubernetes, and a k3s on one physical machine, well there is room for something else.

Anything else I can help you with on this issue?

My initial issue is not reproduceable, and I am very grateful for the very interesting answers and good news, so no, nothing else to ask :)


Update rooms-release-note.md

Draft: https://microsoft-my.sharepoint-df.com/:w:/p/yoojinjung/ETuWZtGLZGlMuNcsk1u0FLUBgH6cpyDKuY93oXzGhHs3bQ?e=xoer88
Release date: near the end of 3/22/2023

May AllFather damn your souls with torment of spirit day in and out
On Wed, Mar 22, 2023 at 11:37 AM learn-build-service-prod[bot] <
@.***> wrote:

Learn Build status updates of commit d3c0ef3
https://github.com/Yoojin-Jung/OfficeDocs-SkypeForBusiness/commits/d3c0ef37b1b8223c819682cc691dcaf631df6414
:
✅ Validation status: passed
File Status Preview URL Details
Teams/rooms/rooms-release-note.md
https://github.com/Yoojin-Jung/OfficeDocs-SkypeForBusiness/blob/patch-1/Teams/rooms/rooms-release-note.md
✅Succeeded
For more details, please refer to the build report
https://buildapi.docs.microsoft.com/Output/PullRequest/cd24941a-5b80-9295-683a-84531b99745a/202303221633325651-9844/BuildReport?accessString=808875f041d98c98100b64ff37723cad34ee0f526d8eb5bf88510b6a7ff97184
.
For any questions, please:

Try searching the learn.microsoft.com contributor guides
https://review.learn.microsoft.com/en-us/help/?branch=main
Post your question in the Learn support channel
https://teams.microsoft.com/l/channel/19%3A7ecffca1166a4a3986fed528cf0870ee%40thread.skype/General?groupId=de9ddba4-2574-4830-87ed-41668c07a1ca&tenantId=72f98bf-86f1-41af-91ab-2d7cd011db47

—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/pull/9844#issuecomment-1479904336,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASNNLD5H6RXLYNKIO2A7VHLW5MTDZANCNFSM6AAAAAAWECDPB4
.
You are receiving this because you are subscribed to this thread.Message
ID: <MicrosoftDocs/OfficeDocs-SkypeForBusiness/pull/9844/c1479904336@
github.com>


v11.0.1 Cannot set property duplex of # which has only a getter

Steps to reproduce

Implement integration with the FreeTubeApp
Open the page with the video that is integrated
Open the browser's console

Failure Logs
index.0298021d.js:177 TypeError: Cannot set property duplex of #<Request> which has only a getter
    at lB.fetch (index.0298021d.js:177:92802)
    at lB.fetch (index.0298021d.js:5:13499)
    at NH.execute (index.0298021d.js:48:14484)
    at J3.getInfo (index.0298021d.js:48:108553)
    at ere (index.0298021d.js:177:93058)

Expected behavior
Integrated video should show on the page
Current behavior
Error in the console and video is not working
Version
Edge
Anything else?
No response
Checklist

[X] I am running the latest version.
[X] I checked the documentation and found no answer.
[X] I have searched the existing issues and made sure this is not a duplicate.
[X] I have provided sufficient information.

remove the line no 30 (input.duplex = 'half') and try again

remove the line no 30 (input.duplex ='half') and try again


errors parsing nested quotes

I ran into the same problem reported in #419 this morning related to parsing nested double quotes in formatted strings like f"{"value"}".
It was especially confusing because I was able to format the file without any issue using commands in the vscode terminal:
% black --version
black, 24.4.2 (compiled: yes)
Python (CPython) 3.12.3
% black file.py

This sent me down a rabbit hole of trying to figure out how vscode was misconfigured.
I tried changing black-formatter.importStrategy to either fromEnvironment or useBundled  but both settings resulted in the same error message...
2024-05-03 10:30:50.144 [info] error: cannot format (file.py): Cannot parse: f"{"value"}"

How can I check which version of black the extension uses?

@rjwalters In the logs Output > Black Formatter, it should have the exact version that is loaded by the extension.

@rjwalters When you run black from the command line, it might run black from different location than the one that the extension runs. This really depends on which python you have selected. because python -m black can be different depending on which python in running. The useBundled case will always run the bundled version and the version info there should be available in readme or in the extension welcome page from the extension view.
You can also force the extension to use the black binary that you have installed globally, by setting "black-formatter.path": ["black"]

@rjwalters This means that the python that is being used by extension is not the same python where you installed the terminal black.
With fromEnvironment the black being used is /Users/rwalters/Documents/GitHub.nosync/python-robb/myenv/bin/python -m black Try updating that version.
> /Users/rwalters/Documents/GitHub.nosync/python-robb/myenv/bin/python -m pip -U black

Then reload.


URI is OPTIONAL in EXT-X-MEDIA tag

URI is OPTIONAL in EXT-X-MEDIA tag, see rfc8216(https://datatracker.ietf.org/doc/html/rfc8216#section-<IP_ADDRESS>)

Hello, thanks for this PR, i had to adapt the client in order to support this change. This has been merged.


ClustConfig?

What do you think about ClustConfig like:
"""
        ClustConfig{method::String
        representation::String
        n_clust::Number
        n_init::Number
        n_seg::Number
        iterations::Number
        norm_op::String
        norm_scope::String
        attribute_weights::Dict{String,Float64}}
Collection of cluster configuration
"""
struct ClustConfig
        method::String
        representation::String
        n_clust::Number
        n_init::Number
        n_seg::Number
        iterations::Number
        norm_op::String
        norm_scope::String
        attribute_weights::Dict{String,Float64}
end

I am not entirely convinced. I see the advantage of explicitly having defined what the configs are. However, it also limits the scope of the package.
As soon as someone has a different application, wants to do something slightly different, this results in code changes in many places (the struct, the constructors of the struct, the code that calls these constructors). That would make it challenging to build additionally functionality on top of the existing one.
Happy to chat about it on the phone sometime. I've been thinking about this before and every time, have wondered whether this would actually add more complexity than do good and simplification.


Vendor dependencies

Changes
Shaking the tree.
As per title this introduces vendoring of the dependencies as a first step to transform the repo toward's Knative's dep-bump infra.

/hold

I was having issues with the integration test, I'd like to see that pass first.

/hold

/unhold
This should be good now.

Nice to see all those green checkmarks.
/lgtm


Add config for infinity on crossbows

Allows infinity to naturally be placed on crossbows from the enchantment table and allows the crossbow to use infinity.
Only issue is that when loading the crossbow the arrow disappears because of client desync.

but the arrow re-appears after firing

Rebased after the NMS repackage


Split default recipe into package, configuration, service recipes

Adds support for Ubuntu 12.10+
Testing shows it operates in similar behavior as current cookbook

Closing due to inactivity.
If this is still an issue please reopen or open another issue. Alternatively drop by the #sous-chefs channel on the Chef Community Slack and we'll be happy to help!
Thanks,
Sous-Chefs


fix: update cache path after the latest version fetched

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

re #289

2. What is the scope of this PR (e.g. component or file name):

3. Provide a description of the PR(e.g. more details, effects, motivations or doc link):

[x] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Other

4. Are there any breaking changes?(Y/N) and describe the breaking changes(e.g. more details, motivations or doc link):

[x] N
[ ] Y

5. Are there test cases for these changes?(Y/N) select and add more details, references or doc links:

[x] Unit test
[ ] Integration test
[ ] Benchmark (add benchmark stats below)
[ ] Manual test (add detailed scripts or steps below)
[ ] Other

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

2 of 8 (25.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.01%) to 41.183%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pkg/visitor/visitor.go
2
8
25.0%

Totals

Change from base Build<PHONE_NUMBER>4:
-0.01%

Covered Lines:
3816

Relevant Lines:
9266

💛  - Coveralls


Respect system 24-hour time setting

If the user's system is set to 24-hour time, we should display the time tags on messages and the timezone widgets in 24-hour time.
How to check this: Android iOS
Here's a RN library to do this, I have not made any attempt to evaluate whether it's good or not: react-native-hour-format

@WesleyAC I want to work on this issue can you kindly please assign it to me.

Thanks for taking this on, @abhi0504! Feel free to ping me on chat.zulip.org if you have any questions :)

I agree.
There is a Zulip user setting for this, and we currently use that -- search for twenty_four_hour_time and twentyFourHourTime. But for a mobile app I think it makes most sense to follow the setting the user has chosen on the device. I just tried several other apps that show times for things, and none of them have their own time-format setting that I can find, and each of them follows the system setting when I change it.

Here's a RN library to do this, I have not made any attempt to evaluate whether it's good or not: react-native-hour-format

It looks probably fine.
It doesn't support a 100% high-quality solution -- it reads this setting at app startup, and then never notices if the user goes and changes it. Apps from Google and Apple, in my testing, do notice immediately if the setting is changed. On Android, the underlying API for this would be to use ContentResolver#registerContentObserver, like in this example:
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/DigitalClock.java#72
and then the library would have to provide a bit of API for the app's JS code to listen in turn. I haven't looked up what API iOS provides for doing this, but I imagine it's fundamentally similar.
That wouldn't be super hard to do... but it would be significantly more work than just using a library like this one. And it doesn't seem like a priority. Few people ever change that setting except when they're first setting up their device, I imagine.

@gnprice Thank you so much for your explanation and ideal solution for the current issue 😊


Refactor Markdown classes

Refactors Markdown related classes as a lot of these are pretty much as old as the framework itself.
Notable changes:

Breaking: Remove $markdown from shared data, use $page->markdown instead
The SemanticDocumentationArticle class has been heavily refactored, scoping down the public code API
Page Markdown is now rendered using HtmlStrings ({{ $page->markdown->toHtml() }} instead of {!! $markdown !!})
The MarkdownDocument class is now Htmlable

This is why I am very happy we have Percy installed. It seems like this has broken parts of the custom Markdown system. Some Markdown parts are not being compiled, it seems to be the custom colored blockquotes and tables, so I think somewhere we lost passing data to the Markdown compiler about the rendered page so we're using the simple Markdown converter instead of the dynamic one.


pull request for e2e test at 01/30/2017 13:45:13

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Apply a list object to a function's argument-list

I'm asking for a funcy.apply function that given a fn and list it would do fn(*list)  .  This would be helpful in pipelines
See this example
from funcy import rcompose, partial, concat

from funcy import apply # new function

rcompose(
  # state: [ [1], [2] ]
  partial(apply,concat)
  # state: [1,2]
)()

The workaround which I find more ugglier is:
rcompose(
  # state: [ [1], [2] ]
  lambda x: concat(*x)
  # state: [1,2]
)()

Do people agree with my request for funcy.apply ?

So partial(apply, concat) vs lambda x: concat(*x):

components 3 vs 4. lambda, x concat and unpacking on right side
non builtin things 3 vs 1
non stdlib things 2 vs 1

I don't see much gain in apply() here. Considering a cost of introducing a new thing looks like net negative gain.
Also can simply use cat for this particular case.

My actual use case was for funcy.merge instead of funcy.cat
But you make a fair argument, will close the ticket.


iPad 12.9 1st Gen, img4tool: failed with exception.

Running On MacBook Air 2014 Catalina,
iPad 12.9 1st Gen 15.7
Debug Log -
[] Getting device info...
[] Creating ramdisk
Archive:  gaster-Darwin.zip
inflating: gaster
[*] Getting device info... this may take a second
img4tool version: 0.197-aca6cf005c94caf135023263cbb5c61a0081804f
Compiled with plist: YES
img4tool: failed with exception:
[exception]:
what=Failed to read shshFile
code=19529736
line=298
file=main.cpp
commit count=197:
commit sha  =aca6cf005c94caf135023263cbb5c61a0081804f:
[-] An error occurred
Any Ideas?

Please reclone the repo and try again. May be a Catalina thing because i’ve never seen this happen

Same issue on Linux and Monterrey; On both MacBook Pro 2017 and MacBook air 2014 -
sudo bash ./palera1n.sh  --dfu 15.7 --debug
palera1n | Version 1.0.0-3571c3b
Written by Nebula | Some code and ramdisk from Nathan | Patching commands and help from Mineek | Loader app by Amy
[] Getting device info...
[] Creating ramdisk
[*] Getting device info... this may take a second
img4tool version: 0.197-aca6cf005c94caf135023263cbb5c61a0081804f-RELEASE
Compiled with plist: YES
img4tool: failed with exception:
[exception]:
what=Failed to read shshFile
code=19529736
line=298
file=main.cpp
commit count=197
commit sha  =aca6cf005c94caf135023263cbb5c61a0081804f
[-] An error occurred

What branch is this? main or tweaks?

Main buddy!

Second this, exact same issue on Ubuntu 22.04 with an iPad Pro 12.9 1st Gen


Add a site property to explicitly enable health checks

This update introduces a new service property called ENABLE_HEALTH_CHECKS that must be explicitly set to true if a service should be checked for its health status. This allows us to only enable these checks for partner sites only, skipping vendor sites.

This also adds some more labels to the Prometheus targets which are necessary for health monitoring, too.


Apple unclear Push entitlement warning

I don't understand what exactly what they mean, but thought It might be something on the Ionic side. Push notification work, but wondering what this is.

Hey @sagivf, this is related to a change Apple made in versions of Xcode 8 and higher.  You now need to manually activate or deactivate the push notification entitlement once you've added your provisioning profile.
We've updated the docs to reflect this here, simply find the section marked Note for users of Xcode 8 and higher.

Thanks @Fuiste. I actually do have that enabled...
One odd thing I do see it that I've got a file called 'mobile.entitelment' (mobile is the project name) and it has a value of development.
I thought I'd change it but I'm afraid things will stop working.
xxxx hate apple!!! why, why do they have to make everything so complicated for developers.


Provide issues

Hey,
will you accept contributions?
And if so, could you provide some issues like bugs, features, ideas etc. to work on? :D
Greetings

Yeah, he do. He wrote more in the wiki.
Dear greetings.

Hey Paul,
yes I am happy about contributions and people helping to develop Kelp :D Since there are no bugs to fix yet, as none have been reported, there are mainly new features that have to be implemented.
I am currently working on polishing the InventorySystem. If you want to, you could start with the Kelp Particle engine. I have created a GitHub-project board for this, containing things that have to be done. Please give feedback, if you will start working on it or have any further questions :D
(To contribute it's important to compile the needed CraftBukkit files with the official BuildTools.jar (1.8 and 1.14 are enough for now). A tutorial about that is linked in the README file. For legal reasons I am not allowed to distribute them :c)
Greetings, pxav :)

Since there have been no replies for quite a while now, I'll close this issue. You can reopen it at any time if there is something to add :)


Audio

We have been demonstrating ditto's ability to stream and send audio. We should get more details from sales team about what they actually want to demo here and then incorporate that into the chat app.

This can be used as a reference implementation of Bus:

https://github.com/getditto/demo-apps/pull/459


PTNFLY-1184 Migrate all PF "Cards" Content over to the site

This uses the templates newly created for patternfly tests.
@dtaylor113 and @jeff-phillips-18 please review.

LGTM


Override default keybinding?

How would one go about overriding a default VS keybinding?

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

ID: 03642526-b5f8-c874-6bc8-ecb7d4ebb239
Version Independent ID: d26304d6-a361-5b33-6103-410d597c626c
Content: Binding Keyboard Shortcuts to Menu Items - Visual Studio
Content Source: docs/extensibility/binding-keyboard-shortcuts-to-menu-items.md
Product: visual-studio-dev15
GitHub Login: @gregvanl
Microsoft Alias: gregvanl

Hi @hacksoi You can use the Tools > Options > Environment > Keyboard dialog to override the default keybindings.


docs: add story demonstrating using a data uri

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.38%. Comparing base (fcac8ad) to head (ee8bc4b).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #174   +/-   ##
=======================================
  Coverage   96.38%   96.38%
=======================================
  Files          14       14
  Lines         304      304
  Branches       29       29
=======================================
  Hits          293      293
  Misses         11       11

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


COMP: Add 9cd0f2053f0cf18 to .git-blame-ignore-revs

Follow up to #3428.

CI run is a waste of processing time, so I merged this immediately.


[WIP] Minutes remaining in tray

This should solve https://github.com/hovancik/stretchly/issues/717 for most users.
This works for me. But to decide how it should be finally implemented.
My Proposition is as follows, yellow numbers.
Pictures from 0 to 9 in folder /app-icons/numbers
They could get generated into /app-icons/numbers from 0 to 99.
When option is selected numbers are shown in try icon.
It only shows time to big break as to me it seems like most important.
Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.

[x] issue was opened to discuss proposed changes before starting implementation. It is important do discuss changes before implementing them (Why should we add it? How should it work? How should it look? Where will it be? ...).
[x]  during development, node version specified in package.json was used (ie using nvm).
[ ]  package versions and package-lock.json were not changed (npm install --no-save).
[x]  app version number was not changed.
[x]  all new code has tests to ensure against regressions.
[x] npm run lint reports no offenses.
[x] npm run test is error-free.
[x]  README and CHANGELOG were updated accordingly.
[ ]  after PR is approved, all commits in it are squashed

Description of the Change
It is now possible to show times left in tray icon. I added option for long break and it is by default turn off.
Folder with basic pictures is added. Their number is from 0.png to 9.png . From them it could be possible to generate all other from 00.png to 99.png . This pictures in generated folder are used to show correct minutes left to long break. Currently method for generation of number is not on, but it could be used in final version
Verification Process

How did you verify that all new functionality works as expected?
It works on my machine.
How did you verify that all changed functionality works as expected?
Changes are almost fully in my class so not much is affected.
How did you verify that the change has not introduced any regressions?
Not needed.

I only test it in Arch linux, I do  not have mac to check it.
I use it daily so during work . It also work with pause, but refresh is not instant.
Other information
There are many things to decide.

If images color yellow is acceptable?
In which place of options this option should be placed?
Is users should be able to generate their own image numbers from app?
How many generated pictures to store and how to update them?(do generation of image during work is optimal? or should we use fully generated images)?

To make it even more lightweight images with numbers and icons could be generated, It would be more complicated, then current implementation. But would not generate pictures during program run(which seems nice). The brutal force solution would be to generate all numbers with all possible icons. Or add some additional generation when icon is changed. Still current implementation works and is not terribly optimized.

Hi, sorry for late reply, busy :)
Haven't had chance to run your code, but I would like to have it similar to what other posted from some app:

Any chance you have skills to do that?
Also to consider, many people do not use Long Breaks, so I think it should be for both.

Sure, it could be done. But I would like to options with numbers as well. But as many logo options exist I guess adding this over existing logo would make it less visible. And I will definitly not test it on mac.
I think if this will work for long breaks then adding it to shorter breaks could be next step (after all most people are interested in long break, not in their short break).
I would also like anwser to my 4 questions.

And I propose maximum circular break minutes to be 60 like in clock minutes, bigger will be just shown as 60.
To short breaks I have no idea how to scale them so this would be done in second step(any proposition are welcomed). First just for minutes.

Hey sorry, I won't have time this weekend, sorry for making you wait.

Ok. I am close to finsh round circle for long breaks.
My main questions:
-Should time of circle should be based on user break time or real minutes.
(so if users set 40 minut does full circle be shown after 40 minut ?
-How smal intervals are really needed. Currently it is every 15 minutes on clock, so not that much. It has to be somehow limited coz the more frequent updates the more pictures has to be prepared, which is at this part not really needed. In final version number of intervals could be increased, I just not want to make final version without general approval of design.

And one more question, how do I get time that is currently set for long break every minutes?

And one more question, how do I get time that is currently set for long break every minutes?
Ok. I figure it out its (settings.get('breakInterval') + 1 ) * 10 . Not really nice to store that important value. Maybe this should be refactored to minutes that could be set other then rounded of 10?

Ok. currently presented round icon is too small to be implemented as on picture. I could increase it without rounding gray circle and one pixel of boarder, it will not looks like on picture, but is the best that could be visible on small tray icon.

Hi @senpl , sorry for taking my time, life just bit crazy for me right now ;/
So how Stretchly works, to explain how Long Break gets calculated:

it is always N number of Mini Breaks followed by one Long Break
user can specify interval and length of Mini Breaks
user can specify N number and length of Long Breaks

In general, as for MVP, I would keep it as option available only in configuration file.
For icons:

I think there are 2 sizes for icons:  one for Mac and second for Linux/Windows
there is also Colorful, monochrome and inverted monochrome version (mac can autoinvert monochrome, so that is not needed for Mac, only for Win and Linux)
would be nice to have them as SVGs as I've done with the current icons so that they can be changed (https://github.com/hovancik/stretchly/tree/trunk/graphics)

I guess to increase visibility, we could not show Stetchly logo?
Or second option is not to show both Mini and Long breaks, but only the next one. We reuse same code and images for both. Could be configurable whether to show both mini and longs or only for long break as is your usecase. Makes the most sense to me now.
I think values should be relative, so that if next break is in 40 minutes and interval is every hour, we are at 40/60 position in circle (I think it makes sense as I see many users who have let's say only Mini Breaks every 2 hours, so much bigger intervals than 60 minutes). Let's not do many images as you say, we can decide on update interval later.
With generated/saved images: I am not really sure. Doing them with code would save the app size, but how much resources does it take? We would need to try.

Ok. Now round timer works from minutes left to total minutes of long break ratio.
Still not done is translation of timer select and it not shows what is currently selected. But I do not know how to make it, so I left it not translated. All other thigs should work. If somethings should be changed let me know.

This version of logic should now work as expected.
Now things to consider:

Background circle of round icon is not really needed from my point of view, or their transparency level should be really low, current makes logo just washout of colours.
Width of round circle line probably should get more width to be better visible, still the bigger long breaks circle, the smaller short time circle so this is always tradeoff. As this version is long breaks only this might be good make it more visible.
Position in options. this could be easly changed, still this has to be somewhere.

I've pushed the conflict merge so I can run it locally, will be looking into your comments and code.

Ah, so no, I can't seems to push to your branch.

@hovancik I updated repo access and now edit should be possible.

Background circle of round icon is not really needed from my point of view, or their transparency level should be really low, current makes logo just washout of colours.

I think for both Circle and Number versions, we should use the same colors as Paused icon is implemented. There is good contrast, I think:

Position in options. this could be easly changed, still this has to be somewhere.

Let's talk about this later, it really depends how much gets implemented and how sure we are it will stay that way. For minimal version, it's easier to keep in config file only.

Number versions, we should use the same colors as Paused icon is implemented.

Black on black for numbers is not really well visible. So yellow is better, but i could provide color original and yellow, but that would be just another options and assets. Or more advanced color choice for users that would overrides assets, but this seems like overeengineering. Color for circle i do not care but one color is simpler for anyone. But in final version i could provide 3 circle version, but This could also be done by user who need it.

There are multiple versions of icons, as needed for different OS. Additional to the original SVGs (https://github.com/hovancik/stretchly/tree/trunk/graphics), here are the generated one from that: https://github.com/hovancik/stretchly/tree/trunk/app/images/app-icons
1. Monochrome
This is for Mac, and it needs to end with Template.png so that macOS knows it can change it between light and dark.
For Linux and Windows this is default when monochrome is selected.

2. Inverted monochrome
This is for Linux and Windows, when Inverted Monochrome is selected, as they do not do it automagically as MacOS.

3. Regular Light
All of the OSes, when we are in OS Light mode

4. Regular Dark
as above, for Dark mode

In general

macOS icon size is 16x16px
macOS also needs @2x.png (32x32px)
Linux and Windows need 32x32px icon size

=> to keep it consistent we should use the same colors as above, regular icon <=> paused icon

Why not allow users to choose whatever color they want ??? This seems simpler then keep 3 colors version just for conistency with design not even created for this task in mind ??

Why not allow users to choose whatever color they want ??? This seems simpler then keep 3 colors version just for conistency with design not even created for this task in mind ??

Not sure what you mean.
User is picking whether they want monochrome or colour tray icon. Each has then version for Dark/Light mode. So we need the same for this feature.
Fot the color of numbers/circle:
What we have here is basically icon and then some change to icon. Previously, there has been regular icon as icon and then paused icon when we added paused sign as the change. With your code, we are adding 2 more changes : numbers and circle. It makes sense to me too keep the color of change the same across all features for consistency.
If you can make it configurable, then I am all in, but it seems to me like a hard work, considering what different sizes and everything else is required. With one exception, of course, using colors for Monochrome would be against it's point:

Ok. Now I get that

Monochrome should keep one color, but for visibility purpose it is not possible to make them in same color as icon(they just will not be visible) . So I could make it visible with use of some degree of gray.
Regular Light second number when will be black will not be visible. So I stay on yellow option with instruction how to change it if user need it.
Regular Dark and Inverted monochrome ok. This could be white, this will not be as well visible as yellow but still at least visible.

Kinda. I think designer did it really well. My pictures above might not look so good, because they are against the dark background.
For example colorful version for dark theme:

Then the paused version for the same:

I think if you were to use the same color for numbers/circles as it is used for pause sign, it would be very well visible and we would have consistency.
The colors of default icon seems a bit different between normal and paused state, when you carefully. But from what I can see in source, it's because there is added transpaecy in paused state:

Colors are exactly the same.
Also the one you say looks bad, seems fine to me (it's for light theme, so light background):

Same story as with dark one, colors are the same but there seems to be transparency added:

I think others are also fine once you put them into correct context:

So I think we should do the same:

have SVGs for icons that we can then transform to all those required sizes (https://github.com/hovancik/stretchly/pull/957#issuecomment-856699322) - I guess we could have some tool/code to generate those, as it's many many many
they should be the same as the paused state, so with that transparency or whatever that is

I think size is not issue, currently I have a lot generated stuff and it's super small:

Fonts are much bigger issue, as there are many exotic languages :D

I could try asking the designer that designed those icons to create the new ones or try to find some other designer.

This is newst version. It should work when all pictures are in folders. Sure now some temp files could be cleaned.
Code is simpler, but much more pictures are generated. This will be problematic only during icon change so not frequently. I leave generation of pictures method but they are not used. Only name taking is in usage now.
I reworked parametes as you suggested. Still pictures for keeping it clean are in respective folders.
All path return could now be moved to appIcon, but I guess it is not really needed.
Let me know if this is close to what is expected to be accepted.

Thanks, will take a look. I've updated your branch with latest trunk

Haven't had chance to check the code, yet, but running with numbers, I noticed it seems to override all other icons?

when break is on, icon is "0" icon
when my system goes to Do Not Disturb, I am also seeing "0" icon
when I pause Indef, i also see "0" icon
when I pause ie for 5 hours, I see "3" icon

I would expect this would coexist with other icons, so

when break is on, I am back to normal icon
when breaks are paused (dnd, natural, manual...), I am back to paused icon

I also think we should never see "0" icon: because of JS, ie in Break sometimes values can be negative, but Stretchly never goes to less then "1 second remaining"

I guess I fixed paused mode. DND mode not worked on my machine so I could not reproduce it, but in theory it should be fixed as well.

I am on Linux, with dark theme, numbers version, default preferences and I noticed that when I am on icon "10", all is fine (10 is in light color), but then following icons have number in dark color.

I fixed numbers for dark color 0-9 default tray. I updated lints and I added parameters to tests. Hope all now works. Let me know what else should be fixed.

Monochrome on Mac is also not working, it needs a special name, see here: https://github.com/hovancik/stretchly/pull/957#issuecomment-856699322

macOS also needs @2x.png (32x32px)

I not found usage of 2x.png in code. And I do not have macOs. So I have no clue how to and what for to use it.

Monochrome on Mac is also not working, it needs a special name, see here: #957 (comment)
In my version for Mac textWithTry return:
if (platform === 'darwin') {         return ${imagePath}traytMacMonochrome${minutesOnTray}.png      }
As I long as this files are in folder /generated-numbers it should work. Could I precisely know what not works, and in which mode ???

@2x is picked automatically by OS with better resolution screens, it is not in code.
I mean  "and it needs to end with Template.png" as you can see in app-icons folder. It's for monochrome version, mac can change between regular and inverted automagically if named correctly.

ok. so @2x could be just copy of existing normal icon with Template names for monochrome. I could copy them or just use mac for every other. Second option will take less space but will not be as clear so I guess another copy of pictures is a way to go.

Ok. i added all x2 pictures even if I am not sure if their needed.

Does npm run test works  for you? CI is failing and I am seeing the same locally on Linux. When changing to my trunk test passes.

I guess it's only default setting comparison. It works when "Number" Is used. From some reason compare of empty strings not gives good results. So I changed default, but of course probably string like '-' or ' ' should works.

Test still seems to fail :(

I investigated build error and it's not my error. It's from previous merge request. Anyway adding  --timeout 10000 to test fix issue so this means timeout for some tests are just to limiting(strangly on my fast machine it usually gets into 2000 time limit, but on CI machine it probably need bigger timeout. Sure timeouts could be fixed for every test to skip default timeout. But I guess increasing test timeouts not hurt anyone until tests are written better. If you need more infomration let me know.

Ok. I added longer timeout only to 3 tests that got problems. Now not all test should require longer timeout. still UntilMorning test sometimes failes so it's flake test and should not be used in CI.

I would like to left TextWithTray as generators out of test coverage. As their not used and could be used only by developers. I could move them to separate folders like generators. Or their could be moved to separate project like Stretchly helpers. Also let me know if I should finally move all pictures to one folder.

Any progress on that. Anything else to change?

Hi @senpl , I was changing job so my time and energy were below 0 last month ;/ I should have more time now

In the end, I decided to simplify the code a lot, because I was struggling with getting through understanding everything. For now, I've put it into advanced settings and removed the circle icon. In future, I would like to get some designer to make the icons and them move it into regular preferences. I talked with my original designer, and he was against this feature altogether, as he didn't like how icons would look like and suggested just have icon with number (Linux, Windows) and on macOS show time next to the icon (which is possible). I will have to think more what to do with this.


auth_proxy: Hide footnote when not showing the login form.

We should hide the reset password footnote when not showing the login form.

@buzzfeed/platform-infra @oiyana

Perfecto! 👍

Cool!


BAEL-15988 : Move articles out of spring-boot part 2

Closing this one. Have opened one from another branch showing proper diffs .


fix htaccess system

The current htaccess rule does not allow folders with the name "system" in the root of the content-folder.

published with 1.4.2


Conditional Formating

User Story
As a user of GC Forms, I want to be able to use conditional logic formatting so that I can design and develop more customized forms
Example scenario:
As a user, I want to create a form that asks respondents if they are interested in receiving updates about a product. If the user selects "Yes," I want to display a follow-up question asking for their email address. If the user selects "No," I want to skip the email address question and move on to the next question in the form. By having this feature, I can make the form more user-friendly and streamlined, leading to better response rates and data collection.
Acceptance Criteria:

[ ] As a user, I should be able to create a condition based on the end user's response to a previous question.
[ ] As a user, I should be able to select which question(s) the condition applies to and what action(s) should occur based on the condition.
[ ] As a user, I should be able to preview the conditional formatting before publishing the form.
[ ] As a user, I should be able to easily edit or delete the conditional formatting for each question.

(Recreated this card as a Github issue, since "Zenhub issues" doesn't let you comment on the cards). Previous card has been closed https://app.zenhub.com/workspaces/gcforms-60cb8929764d71000e481cab/issues/zh/1


'{MISSIONID}' and '{missionid}' tags are inconsistent in safe_dir

In sentinelrequest, {missionid} and {MISSIONID} are inconsistent:
MISSIONID is like 'S1A', but missionid is '1a' (missing 's')
What we actually use on datarmor@ifremer is
/home/datawork-cersat-public/cache/project/mpc-sentinel1/data/esa/sentinel-${missionid}
that returns
/home/datawork-cersat-public/cache/project/mpc-sentinel1/data/esa/sentinel-1a
I think that as {MISSIONID} is 'S1A', {missionid} should be 's1a', not '1a'.
'sentinel-1a' string should be a tag named like {longmission-id}
But to keep the existent working, we have to:

[X]  deprecate {missionid} in favor of  {longmissionid}
[ ]  few months after, same, but error raised
[ ]  few month after, {missionid} should be 's1a',

note that {longmission-id} is an invalid string placeholder, it should be {longmissionid}

commit 1bec3c791bc0227ba94a34740ab0bdc3c5978217


Fix link_to_css and link_to_js

These helpers must use compile to ensure that a file is placed in the output folder.

Will this cause two file writes if a file is being "linked to" multiple times?

@frm yes, unfortunately. We don't have a solution to this yet. I have a couple of ideas such as caching the SourceFile and only clear the cache when the Watcher detects a change in the filesystem.

Let's document and open an issue for this.


Protect creating Traction reservations using IDIR in dev/test/prod

To limit the number of requests, and WHO can request a tenant in our dev/test/prod instances, we should enable IDIR authentication to gate access to creating a new reservation.

This needs incorporating into test and prod. See this for reference.

Note to flag the Tenant UI to enforce OIDC login on reservation use this flag, set to true
  ## @param ui.oidc.showOIDCReservationLogin OIDC reservation login
  showOIDCReservationLogin: false

Will be completed with #133


space in columns width property

when I build a style with sacss command I got this in grid system only.

I just checked and it appears we don't have this issue with the Gulp config file of the repo. Are you using our Gulp file or a custom one?

Solved : when I used Gulp config file of the repo, thank you.


Cannot failback target on patchless managed filesystem

Description
After setting up a patchless managed filesystem I halted oss1 and watched the associated targets failover to oss2. I then tried generating data on the client and verified that the stats were picked up by the chart. I then brought oss1 back up and attempted to failback the targets but received an error:
cibadmin --query --xpath //constraints/rsc_location[@id="fs-OST0002_8b834a-primary"]: 0
<rsc_location id="fs-OST0002_8b834a-primary" node="oss1.local" rsc="fs-OST0002_8b834a" score="20"/>

crm_mon -1: 0
Stack: corosync
Current DC: oss2.local (version 1.1.19-8.el7_6.4-c3c624ea3d) - partition with quorum
Last updated: Wed May  8 02:25:08 2019
Last change: Wed May  8 02:23:36 2019 by root via crm_resource on oss1.local

2 nodes configured
5 resources configured

Online: [ oss1.local oss2.local ]

Active resources:

 st-fencing	(stonith:fence_chroma):	Started oss2.local
 fs-OST0003_1c0807	(ocf::lustre:Lustre):	Started oss2.local
 fs-OST0001_b2649b	(ocf::lustre:Lustre):	Started oss2.local
 fs-OST0002_8b834a	(ocf::lustre:Lustre):	Started oss2.local
 fs-OST0000_374503	(ocf::lustre:Lustre):	Started oss2.local

Failed Actions:
* fs-OST0000_374503_start_0 on oss1.local 'unknown error' (1): call=22, status=complete, exitreason='',
    last-rc-change='Wed May  8 02:23:35 2019', queued=0ms, exec=660ms

crm_resource --resource fs-OST0002_8b834a --cleanup: 0
Cleaned up fs-OST0002_8b834a on oss1.local
Cleaned up fs-OST0002_8b834a on oss2.local

crm_resource -W -r fs-OST0002_8b834a-zfs: 6

Resource 'fs-OST0002_8b834a-zfs' not found
Error performing operation: No such device or address

crm_resource --resource fs-OST0002_8b834a --move --node oss1.local: 0

Oddly, the command window said the failback was successful:

Version
What version of IML? 5.0
What Operating System? CentOS
What Operating System version? 7.6
iml-diagnostics
sosreport-adm.tar.xz.zip
sosreport-mds1.tar.xz.zip
sosreport-mds2.tar.xz.zip
sosreport-oss1.tar.xz.zip
sosreport-oss2.tar.xz.zip

Closing as likely VM related. Will reopen if not the case.


[ MB-14241 ] Deploying to EXP

This is just to test that the database restore is completed properly.

Messages

:book:
:link: MB-14241

  Generated by :no_entry_sign: dangerJS against abbacb54f3146be32ecc239de97124102520ce6b

@jsarnovsky and I verified that the deploy_dp3_migrations task ran without any problem. See the results in the included link.
=> CircleCI

This was used to verify transcom/transcom-infrasec-gov-nonato#583


Check broadcast directory exists

Checks if the broadcast directory exists before trying to read to prevent error

Thanks!

@wighawag I must have forgot to add back the ! before I pushed my changes.. I created a new PR to fix this and adds another existence check


add details on how to manage b2nd files

🚀 Feature Request
It would be ideal to add information to the documentation about how to read and process .b2nd files, which are the file type that this application records. This can be accompanied by exemplary scripts in python and c++ showcasing how the processing can be done.
🔈 Motivation
Although the use of N-Dimensional arrays is highly beneficial when recording large amounts of data, there is little information in the documentation about how to process them and work with such files.

This will be addressed in #46


feat: update @smoya/multi-parser to v5

cc @peter-rr

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[ja]Translate blog:forensic-container-analysis into ja

Close: https://github.com/kubernetes/website/issues/39903
Deploy Page:
https://deploy-preview-40274--kubernetes-io-main-staging.netlify.app/ja/blog/2023/03/10/forensic-container-analysis/

@t-inu
Thanks for your review 🙇
Comments are all addressed.

/assign @nasa9084


Peformance test launch script doesn't set env. var

Performance test bash script should set the PALISADE_REST_CONFIG_PATH environment variable for the user.
Also silence the Configurator log messages.

merged into develop


deps: Use workspace vello, release parley.

xilem now uses the same vello as others (git for now) and everyone uses the new released version of parley.

We'll need a new release of vello before publishing Xilem stuff. Hopefully, we can land wgpu 0.20 prior to that ...

Hmm, looks like we could use the released 0.1.0 of Vello and things still build ...

If we use released vello, then we end up with multiple versions of skrifa and read-fonts , but it builds and runs.
But I think we want the wgpu 0.20 update if we can get it for the shader compilation improvements!


AttributeError: module 'torch.utils._pytree' has no attribute 'register_pytree_node'

What is the transformer version you use here?

Hi Xueying,
do you mean PyTorch version? Please check our conda install guide step 3:
https://github.com/GreenBitAI/bitorch-engine?tab=readme-ov-file#conda-on-linux-with-cuda
You will need to download and install our customized Torch 2.1.0. It allows gradients on INT tensors, built for Python 3.9 and CUDA 11.8.


Add event when mouse hovers a link

This may be asking way too much, but could webview give an event with the URL when the mouse hovers over a link?  This way the URL could be shown as in a browser at the bottom. It would also be nice if the start-loading event gave the URL. Then the URL bar could show the URL while the page was loading.
I would understand if asking for everything a browser can do is unreasonable, but several of us are making browsers out of this.  (grin)

but could webview give an event with the URL when the mouse hovers over a link?

You can make use of the preload attribute to load a script in webview to capture the hovering events on links and then use ipc.sendToHost API to tell the host page.
There is actually a native Chromium event for this, but not exposed in atom-shell yet.

It would also be nice if the start-loading event gave the URL. Then the URL bar could show the URL while the page was loading.

The start-loading event can happen for events other than loading a new page, like an image in page starts to load lazily.
To make a browser with webview we still needs to expose quite a lot of events in atom-shell and I need to write a guide on which event corresponds to which action in Chrome browser.

Thanks.  The current webview API already enables a nice browser.  I don't
see any rush to future improvements.  I might still ask for them though.
(grin)
BTW, a lot of people, including myself originally, thought a browser in
Atom was silly since you can always click into the real browser.  However,
I have a set of features coming out soon that will show some advantages to
a built-in browser.
On Mon, Feb 2, 2015 at 11:14 AM, Cheng Zhao<EMAIL_ADDRESS>wrote:

but could webview give an event with the URL when the mouse hovers over a
link?
You can make use of the preload attribute to load a script in webview to
capture the hovering events on links and then use ipc.sendToHost API to
tell the host page.
There is actually a native Chromium event for this, but not exposed in
atom-shell yet.
It would also be nice if the start-loading event gave the URL. Then the
URL bar could show the URL while the page was loading.
The start-loading event can happen for events other than loading a new
page, like an image in page starts to load lazily.
To make a browser with webview we still needs to expose quite a lot of
events in atom-shell and I need to write a guide on which event corresponds
to which action in Chrome browser.
—
Reply to this email directly or view it on GitHub
https://github.com/atom/atom-shell/issues/1080#issuecomment-72518127.

I think this is fixed in master, a lot of navigation events have been added since this bug was opened.


It isn't clear how to obtain a "spec" object to pass in to "validate_spec" function.

After navigating through the code I found out that if you want to validate a my_spec.yaml you need to yaml load it using the ExtendedSafeLoader, I would love to see a clear API to do so:
This is a trimmed version of how my code looks like right now:
from openapi_spec_validator import validate_spec
from openapi_spec_validator.exceptions import OpenAPIValidationError
from openapi_spec_validator.__main__ import read_from_filename

def validate_oas_file(spec_file):
    spec, _ = read_from_filename(spec_file)
    assert validate_spec(spec) is None

I found read_from_filename to be very handy and it would be nice to have a module to manage readers, as follows:
from openapi_spec_validator.readers import read_from_filename

I didn't found something like this in the code, if there's such a thing, just forget this issue and please point me in the right direction.
Thanks.

Indeed worth to change make it clear.


Update manifest: OpenJS.NodeJS version 21.2.0

Description

Resolve https://github.com/microsoft/winget-pkgs/issues/128758

Checks

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[x] Have you tried to download your manifest locally with winget download --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

/azp run


Fix NameError when generating documentation via Rake task.

NameError: uninitialized constant Prmd::Link was thrown before when generating
documentation via the included Rake task. Requiring prmd/link seems to solve
the issue.
This pull request solves the issue mentioned in https://github.com/interagent/prmd/issues/263.
The build is failing, but it appears to be unrelated to this pull request.
CC: @geemus.

This solves my problem reported in #263. Upgrading to 0.9.0 doesn't solve the problem.

Oh, duh. I tried to look everywhere I could think of, but apparently not here. Thanks for the fix, I'll try to get a release out with this fix for everyone soon.

Thanks!

Thank you for merging, and cutting a new release!


Polkadot Vault. Can't sign transaction for DynamicDerivations EVM wallet.

Description
Error when try to sign transaction for Polkadot Vault Dynamic Derivations wallet.

Steps to Reproduce

Add EVM wallet via Polkadot Vault, using Dynamic Derivations flow
Try to sign any transaction

Expected Behavior
Successfully signed
Actual Behavior
Errors:
Out of range decoding Compact<u32>
from branch - fix/dynamic-derivation-crypto-type
Could not decode MultiSigner variant doesn't exist
Environment
https://github.com/novasamatech/nova-spektr/commit/c1caded2054b3fbc47e8cdd25f9384b5b18da691
Polkadot Vault - release 6.3.1

When we sign regular (not Dynamic derivation) evm transaction everything works as intended.
When we try to sign evm transaction with DD (in our test case it's Moonbase Alpha) we fail.
According to PV rust code and conversion function we should pass 20 byte address that cannot be derived from Root public key that has SR25519 cryptography.
Best option for us is to request PV a feature to support SR25519 Root key as input no matter what crypto type we pass in the payload.

PV issue https://github.com/novasamatech/parity-signer/issues/2427


fix(init): Adjusting initialization of library

:tada: This PR is included in version 3.6.1 :tada:
The release is available on npm package (@latest dist-tag)
Your semantic-release bot :package::rocket:


fix: TokenUsage stats is not calculated properly for apps when Core have multiple instances #393

/deploy-review

/deploy-review

/deploy-review

The main issue of that approach is timeline of receiving events from Redis topic might be no-determenistic. For example
startSpanEvent might arrive after parentSpan collected stats from dependent spans. That will cause the issue that parent span doesn't have any dependent spans because of even came later.


Add basic URI factory tests

Closes #14
Maybe tag 0.1 after this and put it on Packagist?

Tagged 0.1.0 and added to packagist.

Yupiiii


Better IE11 and IE Edge support

Because of the opacity bug in IE11, we needed to give up on the nice transition, but in terms of functionality, it totally works fine now.

Sniping this


Limit number of workers to prevent OOMs when running jest (unit tests).

Signed-off-by: Volker Theile<EMAIL_ADDRESS>Describe your changes
Issue ticket number and link
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.
[ ] CHANGELOG.md has been updated should there be relevant changes in this PR

The issue happens only on local systems. Limiting the number of workers will slow down the GH workflow. Because of that i added DNM for the moment.

@votdev is this something we will want? should we leave it unmerged, or should we close it?

Closing because the issue does not occur anymore.


Update autorest version to prerelease 3.0.0-alpha.20240425.2.x

Triggered from pull request: https://github.com/Azure/autorest.csharp/pull/4603

API change check
API changes are not detected in this pull request.


[Optimization][CDC SOURCE] Oracle cdc source number type don't know

Search before asking

[X] I had searched in the issues and found no similar optimization requirement.

Description
use cdc source (oracle-cdc)
EXECUTE CDCSOURCE cdc_oracle WITH (
'connector' = 'oracle-cdc',
'hostname' = 'hdp05',
'port' = '1521',
'username'='flinkuser',
'password'='flinkpw',
'database-name'='XE',
'checkpoint' = '60000',
'scan.startup.mode' = 'initial',
'parallelism' = '1',
--'table-name' = 'FLINKUSER.CUSTOMERS',
'schema-name'='FLINKUSER',
'source.debezium.log.mining.strategy' = 'online_catalog',
'source.debezium.log.mining.continuous.mine' = 'true',
  'debezium.database.history.store.only.captured.tables.ddl'='true',
'sink.connector' = 'datastream-kafka',
'sink.properties.transaction.timeout.ms'='900000',
 'sink.brokers'='hadoop101:9092,hadoop101:9093,hadoop101:9094'
    );

sync oracle table ddl:
CREATE TABLE "FLINKUSER"."CUSTOMERS" (
	"CUSTOMER_ID" NUMBER,
	"CUSTOMER_NAME" VARCHAR2(50),
	"EMAIL" VARCHAR2(100),
	"PHONE" VARCHAR2(20),
	"TEST_TIME" TIMESTAMP(6),
	"INSERT_DATE" DATE,
	"VALUE1" CLOB
)

origin data
5	Kit<EMAIL_ADDRESS>123-456-7890	2024-03-27 13:05:43.000000	2024-03-12 23:13:23
sink_kafka_data
{"before":null,"after":{"CUSTOMER_ID":{"scale":0,"value":"BQ=="},"CUSTOMER_NAME":"Kit","EMAIL":"Kit@example.com","PHONE":"123-456-7890","TEST_TIME":1711544743000000,"INSERT_DATE":1710285203000,"VALUE1":null},"source":{"version":"1.9.7.Final","connector":"oracle","name":"oracle_logminer","ts_ms":1713776260000,"snapshot":"true","db":"XE","sequence":null,"schema":"FLINKUSER","table":"CUSTOMERS","txId":null,"scn":"5508674","commit_scn":null,"lcr_position":null,"rs_id":null,"ssn":0,"redo_thread":null},"op":"r","ts_ms":1713776234027,"transaction":null}

Please note CUSTOMER_ID fields
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I found that because JsonDebeziumDeserializationSchema this class in the treatment of the deserialization is oracle number type will be a problem, what's the good way to deal with i t？ because the  sync all  table will be more

'debezium.decimal.handling.mode'='STRING'


add tickRainSplashing Mapping

GameRenderer calls method_22713 every tick()
method_22713
creates rain particles hitting the ground and plays rain sound

@lmvdz please apply the suggestion from the comment than merely changing the pr title!


Tweak line wrapping for leader migration task page

This PR changes nothing besides the line wrappings.

preview looks good to me: https://deploy-preview-41389--kubernetes-io-main-staging.netlify.app/docs/tasks/administer-cluster/controller-manager-leader-migration/
/lgtm


Problem installing OpenVINO with pip install on Windows

Hello,
when following the installation steps on Windows 10, with Minforge/Anaconda environment I see this:
c:/temp> pip install -r requirements.txt

...

 happened here: https://pip.pypa.io/surveys/backtracking
Collecting paddlepaddle==2.1.*
  Using cached paddlepaddle-2.1.0-cp39-cp39-win_amd64.whl (61.4 MB)
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of torchmetrics to determine which version is compatible with other requirements. This could take a while.
ERROR: Could not find a version that satisfies the requirement tensorflow~=2.4.1; extra == "tensorflow2" (from openvino-dev[onnx,tensorflow2]) (from versions: 2.5.0rc0, 2.5.0rc1, 2.5.0rc2, 2.5.0rc3, 2.5.0, 2.5.1, 2.5.2, 2.5.3, 2.6.0rc0, 2.6.0rc1, 2.6.0rc2, 2.6.0, 2.6.1, 2.6.2, 2.6.3, 2.7.0rc0, 2.7.0rc1, 2.7.0, 2.7.1, 2.8.0rc0, 2.8.0rc1, 2.8.0)
ERROR: No matching distribution found for tensorflow~=2.4.1; extra == "tensorflow2"

I would expect to have the installation resolve all dependencies. I would like to re-use my existing Python environment. But if you think it will be better, I can install the OpenVINO Windows distribution for Windows.
Thanks for your help!

Hi @mulderp
Can you please try these instructions? Also note that Python 3.9 is not supported yet. Starting in March, we will have support for 3.9.
https://github.com/openvinotoolkit/openvino_notebooks/wiki/Conda
Thanks,
Ryan

Thanks the link is helpful. Good to see the Python 3.9 version is planned soon, and we can switch different Python with Conda.
Now pip install works fine, but I get:
C:\Miniconda3\envs\openvino_env\lib\site-packages\openvino\inference_engine\__init__.py in <module>
     28                 os.environ['PATH'] = os.path.abspath(lib_path) + ';' + os.environ['PATH']
     29
---> 30 from .ie_api import *
     31
     32 __all__ = ['IENetwork', 'TensorDesc', 'IECore', 'Blob', 'PreProcessInfo', 'get_version']

ImportError: DLL load failed while importing ie_api: The specified module could not be found.

Maybe I am missing the path mentioned in:
set PATH=C:\Users<username>\Miniconda3\envs\openvino_env\Lib\site-packages\openvino\libs;%PATH%
I will try that

Yes it works, maybe a debug notebook to make sure the paths are in could be helpful e.g.
import os
print(os.environ['PATH'])

Great, nice that it works, thanks for reporting back! We have a check_install.py script that helps debugging these issues, I'm adding a step to try to detect Conda there with a reference to the PATH instructions. You only need to set this PATH manually on Conda; if you use a pip virtual environment it is detected automatically. In the next release this should also be the case for Conda environments.


Infer nuget package sources

When NuKeepeer uses private nuget feeds or multiple feeds, we specify nuget package sources in config or commandline via sources=http://packages.sourceA.com/feed;http://packages.sourceB.com/feed This is one of the longest parts of the commandline.
However in many cases there is a nuget.config file containing packageSources data for the repo, listing these sources.
This is a good practice which should be encouraged, as it makes the build more self-contained - it works due to package source settings in the repo rather than global package source settings that may not be present on a new machine.
In this case NuKeepeer can read the sources out of this file instead of having to specify them, either by default or with a switch e.g.  sources=configfile

Done!


EM2 Wii U/PS3 Support?

I mean they both have Emulators (Cemu and RPCS3) that are pretty stable.
the compatibility is good for Cemu and ditto for RPCS3
idk about xbox 360 tho because i don't think xenia is stable enough (yet)
what do you think?

While I have toyed around with the idea of adding support for Wii U, PS3, and maybe even XBOX, I've never really felt motivated to go through with it since I can't see anyone actually requiring support for it. That being said, I do eventually want to add support for every possible version of Epic Mickey, including POI, so this will eventually be added. I will keep this issue open if anyone else would like to add some input.


"Good first issue"

This is clearly going to take off in a big way. One of my biggest issues with npm (the codebase) and many other projects of that ilk (big repo, big code, big user set) is that there isn't much room for new programmers, new folk to open source or people just unfamiliar with the problem set (i fall into the latter group, having tried to contribute to other package managers and found no way to do so).
So I just wanted to raise this issue and ask that once you've found your feet and had a self care break 🌱 to deal with all this excitement and overwhelm, we think about how we can tailor a subset of your upcoming issues to "beginners".
Happy to be involved with this, and good luck.
edit: i see the "good first issue" label but as I'm sure you know, a lot goes into making a good first issue, something i have a little exp with after creating "yourfirstpr".

Consider me excited and ready to help!

I'd love to help work on the CLI as a beginner 😊 I'll keep an eye on the issues for anything related.

I would like to work on this.


Implement giving access to multiple streams via a callback

This should fix #2 and #6 simultaneously.
I couldn't figure out a way to yield the posts/comments without sending too many requests to the API, or blocking too early.
So the way I found requires that the user defines a callback function, which is then called with each post/comment.

@noenfugler I managed to implement this, but the way to use it is a bit counter-intuitive for Python.
You need to use callback functions, instead of iterating through the content.
Here is an example copied from the docstrings:
def process_content(elem: Union[Post, Comment]):
    if isinstance(Post, elem):
        print(elem.post_view.post.name)
    elif isinstance(Comment, elem):
        print(elem.comment_view.comment.content)

multi_stream = lemmy.multi_communities_stream(["community1", "community2"])
multi_stream.content_apply(process_content)

I'll merge and it will be available soon in version 0.0.4.


Clear the entire repository.

Most, if not all of the examples are not compiling due to new go-gl package reorganization. They are not maintained, and thus counter-productive as "examples".
As per https://groups.google.com/forum/#!topic/go-gl/PXxMYXEhYEY proposal, we will clear the repo and add well maintained examples via future PRs.
Added CONTRIBUTING.md, because it's important to point out that we will be selective about accepting
new examples.
Closes #38.
Closes #28.

LGTM


incorrect req type for certain packages in build order

Downstream when we bootstrap we get 3 different install versions of numpy: 1.26.4, 2.0.0, 2.1.0 and bootstrap ends up choosing 1.26.4 as the install dependency in the constraints file it generates. However, in the build order file 1.26.4 appears as a build-system requirement and 2.1.0 appears as an install requirement

req type is not that relevant in the build order file so we can simply remove it

We could remove both the type and the why fields.

why was removed in #313 (fromager 0.28+)


Tutorial pt4

JIRA ticket
Added to the Tutorial:

Deploy a separate charm
Relate charms - verify relation
Remove relation - verify relation
Deploy TLS charm

Also resolved a TLS bug - you can read about the issue I was having here

@zmraul Well, I guess it makes a good tutorial. We kinda agreed on the storyline before, also with Michelle to double check that product was aligned with content.


feat(cactus-plugin-ledger-connector-ethereum): update web3js to 4.X

Update web3js packages from 1.10 to 4.0.3 in cactus-plugin-ledger-connector-ethereum and
cactus-test-plugin-ledger-connector-ethereum. This allows interacting
with most recent geth nodes.
Refactor all ethereum tests. Most of the test cases were duplicated multiple times
(between different quorum ledger versions test and deployment methods). I've removed all this
duplication while maintaining similar level of test coverage.
New tests use Geth test ledger instead of Quorum one.
Add web3js type conversions methods to minimize impact of poor dynamic typing
in this early release of 4.X.
Update API. In 4.X all numeric responses has been converted to BigNum.
To keep up with this some fields has been changed to string instead of number when necessary.
Add some missing fields as well.
Add estimateMaxFeePerGas method for estimating current transaction cost.
Fix invalid runTransact response type.
Add test script for checking integration with Alchemy that must be executed manually
(it's excluded from CI at the moment) - geth-alchemy-integration-manual-check.test.
Instructions on how to run it has been added to package README.

Future improvements:

Support London fork gas fees (i.e. EIP-1559)
Refactor API to allow future extensions.
Fix several TODO items in this connector.

Closes https://github.com/hyperledger/cacti/issues/2580
Closes https://github.com/hyperledger/cacti/issues/2656
Closes https://github.com/hyperledger/cacti/issues/2594
Depends on https://github.com/hyperledger/cacti/pull/2535
Depends on https://github.com/hyperledger/cacti/pull/2578
Signed-off-by: Michal Bajer<EMAIL_ADDRESS>

Please review only the latest commit (others are dependencies).
Note to myself: Update references to geth image once it's available, remove outsh from cspell ignore file.

@outSH The cactus-plugin-ledger-connector-ethereum job is failing, could you please check on it?
Attaching the logs in case they expire in the meantime on the backend: 2023-09-18T12-42-58-cacti-ci-test-connector-ethereum-crash.log

Yes, I will rerequest review once this PR is ready for merge

@outSH The cactus-plugin-ledger-connector-ethereum job is failing, could you please check on it?
Attaching the logs in case they expire in the meantime on the backend: 2023-09-18T12-42-58-cacti-ci-test-connector-ethereum-crash.log

@petermetz Both test suites for this connector should be passing from now on. Sorry for breaking the CI with previous PR, I wasn't checking the test results because I kinda assumed you're doing it anyway :) I should have make sure they pass before even requesting a review.
I've also fixed https://github.com/hyperledger/cacti/issues/2594 while working on cactus-test-plugin-ledger-connector-ethereum test. There was a race condition - web3js socket was being disconnected before watchBlock eth_unsubscribe request was sent. Ledger didn't know it was OK and was closing the connection again, causing unhandled error.
Now, the shutdown method will first unsubscribe all remaining watchBlocks (in case the client was not disconnected yet), wait for all pending requests to pass and then disconnect the provider. To see request queue I had to access protected field of WS Provider - I will create an issue on web3js github to improve this (either handle it on web3js side or export some public field like queueLength). I hope this is acceptable for now and we can improve on that on future PRs.
One more change I did was adding wsApi.disconnectSockets(true) to ApiServer shutdown. Reasoning: Socketio connections should be closed before shuting down the plugins (we don't want to handle new async requests while working on clearing up resources). This could possibly be extended to HTTP too, that is: stop connections, stop the servers, don't accept new connection and only then do plugin shutdowns, but I didn't want to introduce such change in this PR (closing of connections is more urgent).
BTW I wanted to include closing of socketio connections in the connector, but I can't do that since in theory single connection can be used to access multiple plugins (they are api-server responsibility, not connectors). We could use socketio rooms to partition the sockets and move overnship of the active connection to the connector, but I'm not sure if it's beneficial given our time contraint.

I kinda assumed you're doing it anyway :)

@outSH Hehe, I usually do, rigorously, but with the upcoming v2.0.0 release I've been able to spend a little less time on these things as well TBH. I'm glad you noticed though, thank you again! :-)

I've also fixed https://github.com/hyperledger/cacti/issues/2594 while working on cactus-test-plugin-ledger-connector-ethereum test. There was a race condition - web3js socket was being disconnected before watchBlock eth_unsubscribe request was sent. Ledger didn't know it was OK and was closing the connection again, causing unhandled error.
Now, the shutdown method will first unsubscribe all remaining watchBlocks (in case the client was not disconnected yet), wait for all pending requests to pass and then disconnect the provider. To see request queue I had to access protected field of WS Provider - I will create an issue on web3js github to improve this (either handle it on web3js side or export some public field like queueLength). I hope this is acceptable for now and we can improve on that on future PRs.

Sounds good to me, thank you so much for going the extra mile and investigating the race condition! It makes things easier down the line! It's a reasonable trade-off IMO as well and hopefully web3js will provide some method for us to use that makes this trivial to implement.

One more change I did was adding wsApi.disconnectSockets(true) to ApiServer shutdown. Reasoning: Socketio connections should be closed before shuting down the plugins (we don't want to handle new async requests while working on clearing up resources). This could possibly be extended to HTTP too, that is: stop connections, stop the servers, don't accept new connection and only then do plugin shutdowns, but I didn't want to introduce such change in this PR (closing of connections is more urgent).

LGTM on this too, we can refactor later if it's no longer needed! Thank you!

BTW I wanted to include closing of socketio connections in the connector, but I can't do that since in theory single connection can be used to access multiple plugins (they are api-server responsibility, not connectors). We could use socketio rooms to partition the sockets and move overnship of the active connection to the connector, but I'm not sure if it's beneficial given our time contraint.

Let's talk more about this in an issue that I'll try to open (and not forget)!


Need to expose discoveryDOS event from thaliMobile

As part of the new iOS based infrastructure changes we are making to node we added in a new low level event called discoveryDOS that specifies that we are getting overloaded with discovery information. We need to expose this event via thaliManager so that the user can decide how they want to respond.

This is a security issue because it could be used to overheat or otherwise discombobulate the device.

We have the code and the test from Artyom but it's not checked in, it's in the 899_2 branch which is tracked as part of thaliproject/Thali_CordovaPlugin#899 and we'll close this bug when that branch is submitted again as a PR.