k3s server kube-system CrashLoopBackOff after installing nftables v1.1.0

Environmental Info:
K3s Version:
k3s --version
k3s version v1.30.3+k3s1 (f6466040)
go version go1.22.5

Node(s) CPU architecture, OS, and Version:
kubectl get node -o wide
NAME    STATUS   ROLES                       AGE     VERSION        INTERNAL-IP      EXTERNAL-IP      OS-IMAGE                         KERNEL-VERSION    CONTAINER-RUNTIME
100b1   Ready    agent,backup,se,xr          2d14h   v1.30.3+k3s1   <IP_ADDRESS>    ***     Debian GNU/Linux 11 (bullseye)   5.10.0-27-amd64   containerd://1.7.17-k3s1
100m1   Ready    control-plane,etcd,master   11d     v1.30.3+k3s1   <IP_ADDRESS>   ***    Debian GNU/Linux 11 (bullseye)   5.10.0-32-amd64   containerd://1.7.17-k3s1
100w1   Ready    agent,se,worker             11d     v1.30.3+k3s1   <IP_ADDRESS>     ***   Debian GNU/Linux 11 (bullseye)   5.10.0-30-amd64   containerd://1.7.17-k3s1
100w2   Ready    agent,worker,xr             2d14h   v1.30.3+k3s1   <IP_ADDRESS>     ***   Debian GNU/Linux 11 (bullseye)   5.10.0-29-amd64   containerd://1.7.17-k3s1

Cluster Configuration:
export INSTALL_K3S_VERSION=v1.30.3+k3s1
curl -sfL https://get.k3s.io | sh -s - server --cluster-init \
    --disable=traefik \
     --node-label=100m1 \
    --flannel-ipv6-masq \
    --flannel-iface=tap_k3s \
    --cluster-cidr=<IP_ADDRESS>/16,2001:cafe:12::/56 \
    --service-cidr=<IP_ADDRESS>/16,2001:cafe:13::/112  \
    --node-external-ip=<IP_ADDRESS>,2a13:c640::13

Describe the bug:
k3s is installed on Debian 11, but sometimes (randomly)  when nftables 1.1.0 is also installed on that machine , then k3s server kube-system pods are failed . This tested in two ways

first install nft 1.1.0 then k3s
second install k3s then nft 1.1.0

If we install nft 1.1.0 and then k3s server  immediately all kube-system pods fail
if we install k3s first , there is no error, but immediately after installing nft 1.1.0 all kube-system pods fail

Steps To Reproduce:

Installed K3s
install nfstable 1.1.0 (should be compiled from source)

Expected behavior:
No kube-system pod failure

Actual behavior:
all of them seem to fail due to liveness/readiness probe failure

Additional context / logs:

kubectl get all   -n kube-system
NAME                                          READY   STATUS             RESTARTS         AGE
pod/coredns-576bfc4dc7-w7q9r                  0/1     Running            8 (67m ago)      11d
pod/local-path-provisioner-6795b5f9d8-8kvxb   0/1     CrashLoopBackOff   73 (4m52s ago)   11d
pod/metrics-server-557ff575fb-cqh58           0/1     CrashLoopBackOff   70 (4m58s ago)   11d

NAME                     TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                  AGE
service/kube-dns         ClusterIP   <IP_ADDRESS>     <none>        53/UDP,53/TCP,9153/TCP   11d
service/metrics-server   ClusterIP   <IP_ADDRESS>   <none>        443/TCP                  11d

NAME                                     READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/coredns                  0/1     1            0           11d
deployment.apps/local-path-provisioner   0/1     1            0           11d
deployment.apps/metrics-server           0/1     1            0           11d

NAME                                                DESIRED   CURRENT   READY   AGE
replicaset.apps/coredns-576bfc4dc7                  1         1         0       11d
replicaset.apps/local-path-provisioner-6795b5f9d8   1         1         0       11d
replicaset.apps/metrics-server-557ff575fb           1         1         0       11d

checking the metrics-server
root(0)100m1(0) k3s#
root(0)100m1(0) k3s# kubectl describe pod -n kube-system metrics-server-557ff575fb-cqh58
Name:                 metrics-server-557ff575fb-cqh58
Namespace:            kube-system
Priority:<PHONE_NUMBER>
Priority Class Name:  system-node-critical
Service Account:      metrics-server
Node:                 100m1/<IP_ADDRESS>
Start Time:           Sun, 01 Sep 2024 12:43:24 +0330
Labels:               k8s-app=metrics-server
                      pod-template-hash=557ff575fb
Annotations:          <none>
Status:               Running
IP:                   <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
  IP:           2001:cafe:12::21
Controlled By:  ReplicaSet/metrics-server-557ff575fb
Containers:
  metrics-server:
    Container ID:  containerd://cfffeb75fb79cf7327867cb885f834f10fe0bff3526f60f7ebb2a524c1273b32
    Image:         rancher/mirrored-metrics-server:v0.7.0
    Image ID:      docker.io/rancher/mirrored-metrics-server@sha256:20b8b36f8cac9e25aa2a0ff35147b13643bfec603e7e7480886632330a3bbc59
    Port:          10250/TCP
    Host Port:     0/TCP
    Args:
      --cert-dir=/tmp
      --secure-port=10250
      --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
      --kubelet-use-node-status-port
      --metric-resolution=15s
      --tls-cipher-suites=TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    2
      Started:      Thu, 12 Sep 2024 23:46:58 +0330
      Finished:     Thu, 12 Sep 2024 23:47:29 +0330
    Ready:          False
    Restart Count:  68
    Requests:
      cpu:        100m
      memory:     70Mi
    Liveness:     http-get https://:https/livez delay=60s timeout=1s period=10s #success=1 #failure=3
    Readiness:    http-get https://:https/readyz delay=0s timeout=1s period=2s #success=1 #failure=3
    Environment:  <none>
    Mounts:
      /tmp from tmp-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-mnk58 (ro)
Conditions:
  Type                        Status
  PodReadyToStartContainers   True
  Initialized                 True
  Ready                       False
  ContainersReady             False
  PodScheduled                True
Volumes:
  tmp-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  kube-api-access-mnk58:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:              <none>
Tolerations:                 CriticalAddonsOnly op=Exists
                             node-role.kubernetes.io/control-plane:NoSchedule op=Exists
                             node-role.kubernetes.io/master:NoSchedule op=Exists
                             node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason     Age                  From     Message
  ----     ------     ----                 ----     -------
  Warning  Unhealthy  25m (x11 over 25m)   kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  25m (x5 over 25m)    kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  25m                  kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": dial tcp <IP_ADDRESS>:10250: connect: connection refused
  Warning  BackOff    24m (x2 over 25m)    kubelet  Back-off restarting failed container metrics-server in pod metrics-server-557ff575fb-cqh58_kube-system(b8eb3707-b5a2-461a-8f36-8a256c57b18e)
  Normal   Pulled     24m (x2 over 25m)    kubelet  Container image "rancher/mirrored-metrics-server:v0.7.0" already present on machine
  Normal   Created    24m (x2 over 25m)    kubelet  Created container metrics-server
  Normal   Started    24m (x2 over 25m)    kubelet  Started container metrics-server
  Warning  Unhealthy  20m (x2 over 20m)    kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  19m (x14 over 20m)   kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  19m                  kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": dial tcp <IP_ADDRESS>:10250: connect: connection refused
  Warning  BackOff    19m (x2 over 19m)    kubelet  Back-off restarting failed container metrics-server in pod metrics-server-557ff575fb-cqh58_kube-system(b8eb3707-b5a2-461a-8f36-8a256c57b18e)
  Normal   Created    19m (x2 over 20m)    kubelet  Created container metrics-server
  Normal   Pulled     19m (x2 over 20m)    kubelet  Container image "rancher/mirrored-metrics-server:v0.7.0" already present on machine
  Normal   Started    19m (x2 over 20m)    kubelet  Started container metrics-server
  Normal   Created    19m                  kubelet  Created container metrics-server
  Warning  Unhealthy  19m                  kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": dial tcp <IP_ADDRESS>:10250: connect: connection refused
  Normal   Started    19m                  kubelet  Started container metrics-server
  Warning  Unhealthy  18m (x2 over 19m)    kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
  Warning  Unhealthy  18m (x2 over 19m)    kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": context deadline exceeded
  Warning  Unhealthy  18m (x17 over 19m)   kubelet  Readiness probe failed: Get "https://<IP_ADDRESS>:10250/readyz": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  Normal   Pulled     14m (x5 over 19m)    kubelet  Container image "rancher/mirrored-metrics-server:v0.7.0" already present on machine
  Warning  BackOff    4m7s (x59 over 18m)  kubelet  Back-off restarting failed container metrics-server in pod metrics-server-557ff575fb-cqh58_kube-system(b8eb3707-b5a2-461a-8f36-8a256c57b18e)

here is the error for this pod
https://<IP_ADDRESS>:10250/readyz": dial tcp <IP_ADDRESS>:10250: connect: connection refused

also nc the ip and port fail
nc -t -zv <IP_ADDRESS> 10250
nc: connect to <IP_ADDRESS> port 10250 (tcp) failed: Connection refused

but can ping it
ping -c4 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>) 56(84) bytes of data.
64 bytes from <IP_ADDRESS>: icmp_seq=1 ttl=64 time=0.243 ms
64 bytes from <IP_ADDRESS>: icmp_seq=2 ttl=64 time=0.084 ms
64 bytes from <IP_ADDRESS>: icmp_seq=3 ttl=64 time=0.223 ms
64 bytes from <IP_ADDRESS>: icmp_seq=4 ttl=64 time=0.081 ms

and the logs of this pod
kubectl logs -n kube-system metrics-server-557ff575fb-cqh58
Error: unable to load configmap based request-header-client-ca-file: Get "https://<IP_ADDRESS>:443/api/v1/namespaces/kube-system/configmaps/extension-apiserver-authentication": dial tcp <IP_ADDRESS>:443: i/o timeout
Usage:
   [flags]

Metrics server flags:

      --kubeconfig string            The path to the kubeconfig used to connect to the Kubernetes API server and the Kubelets (defaults to in-cluster config)
      --metric-resolution duration   The resolution at which metrics-server will retain metrics, must set value at least 10s. (default 1m0s)
      --version
...
...
...

panic: unable to load configmap based request-header-client-ca-file: Get "https://<IP_ADDRESS>:443/api/v1/namespaces/kube-system/configmaps/extension-apiserver-authentication": dial tcp <IP_ADDRESS>:443: i/o timeout

goroutine 1 [running]:
main.main()
	sigs.k8s.io/metrics-server/cmd/metrics-server/metrics-server.go:37 +0x8b

within the host , the endpoint is available
root(0)100m1(0) k3s# curl -k https://<IP_ADDRESS>:443/api/v1/namespaces/kube-system/configmaps/extension-apiserver-authentication
{
  "kind": "Status",
  "apiVersion": "v1",
  "metadata": {},
  "status": "Failure",
  "message": "Unauthorized",
  "reason": "Unauthorized",
  "code": 401
}root(0)100m1(0) k3s#

and nc
nc -t -zv <IP_ADDRESS> 443
Connection to <IP_ADDRESS> 443 port [tcp/https] succeeded!

Blaming the nftables for the cause of issue, I uninstalled nft  1.1.0 and its related files but did did help
Also
iptables --version
iptables v1.8.7 (nf_tables)

has not changed and iptables-save has no error
lastly I should mention that ntables 1.1.0 just installed without applying any rule so there is no rule to have conflict with legacy iptables
iptables-save.txt
Any idea why kube-system pods fail ?

When you say you're installing it after building it from source, what exactly do you mean? Are you just replacing the binary on the host? Are you perhaps building and installing a package that triggers post install scripts that interfere with Kubernetes networking? It really looks like something you're doing is breaking the flannel or kube-proxy iptables rules.

When you say you're installing it after building it from source, what exactly do you mean? Are you just replacing the binary on the host? Are you perhaps building and installing a package that triggers post install scripts that interfere with Kubernetes networking? It really looks like something you're doing is breaking the flannel or kube-proxy iptables rules.

Debian 11 , nft version is nftables v0.9.8 (E.D.S.)  for installing 1.1.0, two libraries should be compiled + nft cli in order to have 1.1.0  . The problem is that it happens randomly . At the moment I have another k3s server with nft 1.1.0 and kube-system pods are fine but on the newer machine kube-system fails

Even if assume the cause is just nftables 1.1.0, why after uninstalling it sill pods fails ?
Also I took a snapshot before installing nft 1.1.0 and restoring it after uninstalling nft 1.1.0 but did not help
I can think if a library dependency that has been overridden by nft 1.1.0 causing the issue for kube-proxy or flannel , for testing this I uninstalled iptable, nft-libs* all of them
dpkg -l | grep nft
ii  libnftables1:amd64             0.9.8-3.1+deb11u2              amd64        Netfilter nftables high level userspace API library
ii  libnftnl-dev:amd64             1.1.9-1                        amd64        Development files for libnftnl
ii  libnftnl11:amd64               1.1.9-1                        amd64        Netfilter nftables userspace API library
ii  nftables                       0.9.8-3.1+deb11u2              amd64        Program to control packet filtering rules by Netfilter project

but did not help either
Also reinstalling the default Debian 11 nft dd not help :|
Any idea to trace more and find the root cause ?

I deleted all pods in kube-system so be created again
kubectl get pods  -n kube-system
NAME                                      READY   STATUS    RESTARTS      AGE
coredns-576bfc4dc7-hfvbx                  0/1     Running   0             42s
local-path-provisioner-6795b5f9d8-dmrz2   1/1     Running   1 (15s ago)   46s
metrics-server-557ff575fb-rrjck           1/1     Running   0             23m

now metrics-server is fine , local-path keeps restarting, and coredns does not ready

K3s is statically linked and does not directly call into nft itself. It does however use the host iptables commands, and if you're breaking the iptables-nft backend by replacing the nft libraries with something that causes subtle changes in behavior, that would be a problem.
You can tell k3s to use our statically linked iptables binaries, instead of the host iptables wrappers, by starting k3s with --prefer-bundled-bin. You might see if that helps you at all.
I'm going to convert this to a discussion, because I don't see that there is anything wrong with k3s itself. You're replacing distro packages with incompatible versions and stuff is breaking.


Sum of envelopes

Hi @ccaprani!
I was playing around with the library, in particular with the envelopes results obtained from a static and a moving vehicle analysis.
I would like to suggest a new class method for envelopes class that permits the sum of multiple envelopes - instead of a single envelope of envelopes with augment. It would be very useful in some circumstances, i.e. when traffic load is applied with both distributed and concentrated loads or when a superposition of multiple vehicle is considered or - most likely - a superposition of traffic + snow distributed live loads is necessary.
Reading #6, #50 and #56, I think that the implementation could be very much similar to the augment method in envelopes class.
Something like:
    if self.npts != env.npts or self.nsup != env.nsup:
        raise ValueError("Cannot sum with an inconsistent envelope")
    self.Vmax = np.add(self.Vmax, env.Vmax)
    self.Vmin = np.add(self.Vmin, env.Vmin)

    self.Mmax = np.add(self.Mmax, env.Mmax)
    self.Mmin = np.add(self.Mmin, env.Mmin)

    self.Rmaxval = np.add(self.Rmaxval, env.Rmaxval)
    self.Rminval = np.add(self.Rminval, env.Rminval)

    if self.nres == env.nres:
        self.Rmax = np.add(self.Rmax, env.Rmax)
        self.Rmin = np.add(self.Rmin, env.Rmin)
    else:
        # Ensure no misleading results returned
        self.Rmax = np.zeros((self.nsup, self.nres))
        self.Rmin = np.zeros((self.nsup, self.nres))

Let me know if this is a good idea and I can just open a pull request with the modified code.
Maybe I could also include a jupyter notebook with an example.
Thank you!

This would be a great addition, especially if coupled with a really practical use case. Is it that we're summing a patterned UDL for dead load for example, with the envelope for a live load perhaps?


Not working on 21h1 - 19043.1052

Anyone has the fix for this version?

https://github.com/asmtron/rdpwrap/blob/master/binary-download.md

Thank you @sashaqwert, it works for me


Saga and iFrame pausing

I am dumb, cannot get it...Console give me same output but Saga behave like it is paused when try to silent check keycloak sso throught iframe.
https://stackoverflow.com/questions/60355896/redux-saga-keycloak-adapter

Closing due to inactivity.  I know this might seem harsh but if you are still having an issue I’ll reopen and try to help debug.  Thanks!


refactor: use process.env.HOME for consistent home path retrieval

Description
Addresses an issue where the retrieval of the home path was inconsistent across
different operating systems in the getFoldersBasePath function.
Summary

Replaced cp.execSync(`echo $HOME`) with process.env.HOME to retrieve the home path.
Removed unnecessary string manipulation that replace()s on "\r\r" and "\n".

Checklist:

[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have run tests (npm run test) that prove my fix is effective or that my feature works
[x] I have run format check (npm run format-check) that shows any code inconsistency
[x] I have updated the CHANGELOG.md file accordingly

@Neved4 Thank you for this fix, this is now merged and will be released in the next patch

Thank you!


Use Epidata API for check_missing_geo_sig

Description
Check_missing_geo_sig currently uses covidcast.metadata() to identify all combinations of geo_type and signal_type. This leads to the inclusion of currently inactive signal types as well. We use the Epidata API to retrieve signal-level information on if a given signal is active or not.
Changelog

datafetcher.py
test_datafetcher.py

Fixes

Use actual names for test file since we need to cross-reference the API
Use a dict to check if a particular signal type is an active signal, and only return active signals.

Note to self - current method raises check_geo_sig errors on outdated signals, which is not ideal.
This method works for most signals, with the exception of confirmed_admissions_covid_1d_7dav and sum_confirmed_admissions_covid_1d_7dav due to a bug in the API.
Should be fixed soon, can check for status if the page here is populated.


mac osx 系统上执行到./genxcodeproj.sh这里报错

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
System is unknown to cmake, create:
Platform/iOS to use this system, please send your config file to<EMAIL_ADDRESS>so it can be added to cmake
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:3 (project):
No CMAKE_CXX_COMPILER could be found.

cmake 的版本是多少

cmake版本需要3.14以及以上才行

感谢回答,问题解决了,确实需要升级 cmake


Handle concurrent editing and styling in Tree

What this PR does / why we need it?
Any background context you want to provide?
What are the relevant tickets?

Related https://github.com/yorkie-team/yorkie/pull/854
Checklist

[ ] Added relevant tests or not required
[ ] Didn't break anything

💪


Support for aframe 1.5.0

Hi. a-starry-sky is not compatible with the latest version of A-Frame (1.5.0). Fortunately, the only changes required to make it work are renaming some Three.js calls to API that changed.
new THREE.PlaneBufferGeometry => new THREE.PlaneGeometry
new THREE.DataTexture3D => new THREE.Data3DTexture
new THREE.IcosahedronBufferGeometry => new THREE.IcosahedronGeometry
Once that is done, it seems to work, but there may be breaking changes I haven't noticed.

Three always did love changing names XD. Sorry about the late reply, will try and update this over the weekend and see if it all works again. Thanks for letting me know!

Something is still off and I'm not getting the sky to show up. But I implemented those changes and I can proceed next weekend to see what might have broke between these two things. There are no blaring errors, only a couple of small deprecation warnings, so I fear the problem might be a little hairy.
PR: https://github.com/Dante83/A-Starry-Sky/pull/7


.github/ISSUE_TEMPLATE/{bug,feature}.yml: update syntax.

This syntax is changing today and needs fixed CC @deniseyu and @Oneill38 for review.

Review period will end on 2021-02-15 at 10:41:31 UTC.

Review period skipped due to critical label.

Thanks @Oneill38!


Update community-api error mapping with new types of NSI errors

What does this pull request do?
Update community-api error mapping with new types of NSI errors.
https://github.com/ministryofjustice/community-api/pull/753 changed duplicate NSI errors:

Before
After

Multiple existing matching NSIs found
Multiple existing matching NSIs found for referral: 13e65790-afc4-4059-a0af-3424d58eb3d2, NSI IDs: [3162979, 3163339]

did not exist before
Multiple existing URN NSIs found for referral: e2eb5e02-6e6f-4c34-8be9-b0525ea78c5a, NSI IDs: [3182407, 3182408]

This PR adds the mapping for these changes.
What is the intent behind these changes?

Provide the same user message as the previous duplicate NSI message.
Change Sentry errors:

from: Call to community api failed [Multiple existing URN NSIs found for referral: e_eb_e_-_e_f-_c_-_be_-b_ea_c_a, NSI IDs: [_, _]]
to: Call to community api failed [Multiple existing URN NSIs found for referral: _, NSI IDs: [_, _]]

 Reduce NSI not found errors

I don't want to keep this change hanging around longer.


Poetry update

chore: Merge main, bump version
chore: Poetry update

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (377b03d) 96.35% compared to head (1b08892) 96.35%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #103   +/-   ##
=======================================
  Coverage   96.35%   96.35%
=======================================
  Files           9        9
  Lines         357      357
  Branches       75       75
=======================================
  Hits          344      344
  Misses          6        6
  Partials        7        7

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


Support kvm-libvirt terraform module

The kvm-libvirt platform is not yet supported in lokoctl.
Expose it in lokoctl and create docs which cover what was written in https://github.com/kinvolk/lokomotive-kubernetes/blob/master/docs/flatcar-linux/kvm-libvirt.md

Can this be part of https://github.com/kinvolk/lokomotive/milestone/4?

Would be great if we could implement it after #392 is merged, so we can test new, reusable Terraform modules which #392 is introducing. This should simplify adapting kvm-libvirt code and avoid extending duplication of Terraform code.


[udp] call at most one handler

I'm not sure if we are allowing a UDP packet to be handled by multiple handlers.
Currently otUdpSocket::mHandler is of the following prototype:
typedef void (*otUdpReceive)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo);

which means the handler can modify the message. This PR makes it clear that a packet will have at most one handler.
I came up with this concern because a message's offset is modified by UDP handlers, if we allow a second handler, this modified offset may result in parse errors.

I think it'd be better to allow multiple handlers (IIRC, we relied on this at some point for legacy protocol support).
Some solutions:

We can change the message to const Message * in the udp callback. We then let the handler choose whether it wants to copy/clone the message if it wants to change it.
Another approach is to create a Clone() message to pass to handler in the code. We do this in Ip6::ProcessReceiveCallback().  (personally not in favor of this).

Thoughts?

We have a constant message callback called UDP receiver, which is designed to handle special cases. I think we may adapt the legacy protocol support based on that feature.
IIRC, on POSIX a UDP port can be subscribed by multiple sockets of different processes, but a packet only goes to one of them. I think we should keep the same socket behavior.

@bukepo let's go for it. I am fine with it. Thanks.


adds complete listener from subscribe to the Interpreter's stopListeners

I'm not 100% on this as complete sort of implies done. If you stop a machine, does that mean it is complete?

Being stopped is not the exact same thing as being done - stopped is more like being canceled whereas being done means reaching a final state.
Could you tell us a little bit more about your use case and how would you utilize this?

Being stopped is not the exact same thing as being done

Agreed, but the handler is for complete.

Could you tell us a little bit more about your use case and how would you utilize this?

There is currently no way to determine whether or not an actor has been stopped and subscribe'scomplete handler is invoked upon a call to stop.
In my case, I have actors that create subscriptions to other actors. As part of their cleanup, I'd like to send an event indicating the subscription has ended. However, doing can cause warnings for sending to stopped actors.
See: https://github.com/chanced/xstate-pubsub/blob/main/src/subscribe.ts#L80-L84

Closing as XState v5 beta now calls completion listeners upon an actor being stopped.


TAG Label

Before you start...

[X] Have you refreshed the page? You might be using an old version of the site.
[X] Have you checked for an existing issue on this topic? If there is one, post a comment on it instead.

What browsers are you seeing the problem on?
Firefox
Description
labels don't work on pcloud.
If I put the labels on the mapped files of pcloud, when restarting the program they disappeared
Steps To Reproduce

Expected behavior

Relevant Assets

This is the repo for the website, not the app. Please open the issue again in https://github.com/files-community/files.


add high resolution monocular priors script

I added an option to generate high resolution monocular priors similar to monosdf script with a few modifications. I made this a draft as there are some issues I found that I wanted to ask some questions. I also temporarily added some visualization scripts to help debug. This is what most outputs currently look like

You can see that the high resolutions cues look much better v.s. the interpolated (especially around edges) but there are some problems @niujinshuchong may be able to help answer?
Here is a link the custom dataset I generated using nerfstudio ns-process-data
https://drive.google.com/file/d/1EPVHdDuV3vCEaF2852FeJR9yi-kUblZS/view?usp=sharing
to generate the low resolution cues use
python scripts/datasets/process_nerfstudio_to_sdfstudio.py --data INPUT_DIR --output OUTPUT_DIR --data-type colmap --scene-type object --mono-prior --crop-mult 2 --omnidata-path OMNIDATA_PATH --pretrained-models PRETRAINED_MODELS

to generate the high resolution cues use
python scripts/datasets/process_nerfstudio_to_sdfstudio.py --data INPUT_DIR --output OUTPUT_DIR --data-type colmap --scene-type object --mono-prior --highres-mono-prior --crop-mult 2 --omnidata-path OMNIDATA_PATH --pretrained-models PRETRAINED_MODELS

To use the visualizer first
pip install rerun-sdk

then from the sdfstudio directory you can use
python compare_mono_priors.py --lowres-path data/corazon_studio-sdf-lowres/ --highres-path data/corazon_studio-sdf-highres/

assuming that is where the dataset is

I assume that we are being given a 768x768 image rather then a 1920x1080 image (this can be done using the --crop-mult 2 in the process_nerfstudio_to_sdfstudio.py. This is mostly because I noticed that using a 1920x1080 takes an EXTREMELY long time compared to the original 384x384 due to the large number of patches created (a few hours). 768x768 seems like a good middle ground (a few minutes) v.s. the original 384x384 (a few seconds)
The outputs from the function seem fine (higher fidelity v.s. the interpolated) until I train a network and notice a significant degradation compared to just using the 384x384 depths and upscaling them with bilinear interpolation. Here is a sample frame where the high cue generation just seems to fall apart and produce weird garbled values

I think this is probably due to the large white wall that makes it difficult for patches to be correctly merged together and to have some sort of coherency since the depth/normal values don't align well. is this something you've come across @niujinshuchong ?
A solution I could come up with is just to simply throw these clearly bad frames away using some sort of heuristic taking into account previous frames but that seems very brittle

Hi, thanks for working on this. How to generating a high-resolution monocular depth and normal is still a open research problem. I don't think using our patch-merge way in MonoSDF would generalise to a wide range of scenarios. As you shown above, the merged depth is not good in the white wall and the merged normal map looks different with low res normal map . Here is a method https://github.com/compphoto/BoostingMonocularDepth that can generate high resolution depth map and the results look very good but unfortunately normal input is not supported.

Understood, I'm not sure if this is worth merging or not then. It could be helpful for folks to try and have the generation code available, but I'll leave it to your discretion. If you deem it worth merging I'll remove the visualization code and clean things up a bit. Otherwise you're more than welcome to close this PR!


Full integration tests on Travis

Implement automated integration tests on DO with Travis as described here

still not shure if we need this ...

I think this is not in focus any more


how to use this for reCAPTCHA?

reCAPTCHA is currently not supported by this lib.

ok, thx for the quick reply


Breadcrumbs BE

Link to Ticket
Description of Changes Made

I've created a breadcrumbs template & associated YAML file which is included on pages through the base and base_page templates.
I have somewhat styled the breadcrumb links to include the underline & used pseudo-elements for the trailing "/' between each link.
The top-level page will not have a breadcrumb bar displayed
A decision has still not been made about the service pages, see query on ticket

Where to pick up on the FE ticket:

It looks like spacing between the links and "/" should be made uniform, as well as the wrapping of the link text in mobile as well as hover-behaviour on the links

How to Test

You can use fab pull-staging-data to populate your database. After this, visit any page nested below the homepage. At the top of this page, you should see the breadcrumbs indicating the user's location in the website hierarchy.
The current page title should be included but should not be a link
All other parent pages should be clickable links which take the user to the respective page
The appearance can also be tested from the pattern_library, http://<IP_ADDRESS>:8000/pattern-library/pattern/patterns/molecules/navigation/breadcrumbs.html.

Screenshots

Expand to see more

MR Checklist

[x] Add a description of your pull request and instructions for the reviewer to verify your work.
[x] If your pull request is for a specific ticket, link to it in the description.
[x] Stay on point and keep it small so the merge request can be easily reviewed.
[x] Tests and linting passes.

Unit tests

[ ] Added
[x] Not required

Documentation

[ ] Updated build docs
[ ] Updated editor guidelines (https://docs.google.com/document/d/1PAWccdQ4tfaZsrEWmpDhvP3GH5RRmBOARFVp4b-kje8/edit?usp=sharing)
[x] Not required

Browser testing

[x] I have tested in the following browsers and environments (edit the list as required)

Latest version of Chrome on mac
Latest version of Firefox on mac
Latest version of Safari on mac
Safari on last two versions of iOS
Chrome on last two versions of Android

[ ] Not required

Data protection

[x] Not relevant
[ ] This adds new sources of PII and documents it and modifies Birdbath processors accordingly

Accessibility

[ ] Automated WCAG 2.1 tests pass
[ ] Manual WCAG 2.1 tests completed
[ ] I have tested in a screen reader
[ ] I have tested in high-contrast mode
[ ] Any animations removed for prefers-reduced-motion
[x] Not required

Sustainability

[ ] Images are optimised and lazy-loading used where appropriate
[ ] SVGs have been optimised
[ ] Performance and transfer of data considered
[ ] If JavaScript is needed alternatives have been considered
[ ] New font variants have not been added
[x] Not required

Nice one @lparsons396!
Tested this and it's working as expected. Before merging, please confirm whether the design intention is that the current page shouldn't be shown.
It would be great if you could update the description (the How to Test part since that's changed) and also include screenshots.

I think when we discussed it we said that the current page would be shown, but without a link to that page.

Thanks @lparsons396 for the update in 9155ea85463ed6660bcbcd5400e3cb08591481c4 and updating the description :+1:


mainWindow.loadUrl is not a function

I fixed this issue by capitalizing URL in mainWindow.loadURL, you should make that change in our readme.

Should be fixed now!


rtmros_nextage: 0.8.6-2 in 'melodic/distribution.yaml' [bloom]

Increasing version of package(s) in repository rtmros_nextage to 0.8.6-2:

upstream repository: https://github.com/tork-a/rtmros_nextage.git
release repository: https://github.com/tork-a/rtmros_nextage-release.git
distro file: melodic/distribution.yaml
bloom version: 0.9.7
previous version for package: 0.8.6-1

nextage_description

No changes

nextage_gazebo
* Merge pull request #371 <https://github.com/tork-a/rtmros_nextage/issues/371> from pazeshun/add-bright-world
  Add gazebo world for non-NVIDIA GPU
* Add gazebo world for non-NVIDIA GPU
  Without activating NVIDIA GPU, world is very dark on gazebo 9 (ROS melodic), so disable shadow to make world bright
  See https://github.com/tork-a/rtmros_nextage/issues/370
  See https://bitbucket.org/osrf/gazebo/issues/2623/no-shadows-and-sun-light-with-non-nvidia
* use default instaed of value of <arg name='model'> tag
* [nextage_gazebo/package.xml] add gazebo_model_path setting.
* Contributors: Kei Okada, Masaki Murooka, Shun Hasegawa

nextage_ik_plugin
* Merge pull request #374 <https://github.com/tork-a/rtmros_nextage/issues/374> from k-okada/fix_365
  Fix to compile on melodic
* Fix to compile on melodic
  fixed version of #365 <https://github.com/tork-a/rtmros_nextage/issues/365>
* Contributors: Kei Okada

nextage_moveit_config
* Merge pull request #372 <https://github.com/tork-a/rtmros_nextage/issues/372> from pazeshun/fix-travis
  Fix travis by fixing rosdep and moveit test
* Change target pose in moveit test to pass kinetic test
* Contributors: Kei Okada, Shun Hasegawa

nextage_ros_bridge

No changes

rtmros_nextage

No changes

This shouldl fix ros buildfirm error at  http://build.ros.org/job/Msrc_uB__rtmros_nextage__ubuntu_bionic__source/12/display/redirect
@y-yosuke

Thank you so much !! @k-okada

@k-okada do you know why the README in the release repo doesn't show the release? I've never seen this before, so I figured I'd ask in case it's a sign of an issue
I see the tags for the release got created https://github.com/tork-a/rtmros_nextage-release/tags
but the README did not get updated with the new release https://github.com/tork-a/rtmros_nextage-release/blob/master/README.md

I ran git-bloom-relesae within relase repo and then ran bloom-release -p rtmros_nextage to send PullReqeusts. Ths doues not update README.md


Translate the command line tool

Currently, everything is in english. Needs to support multiple language.

Determine best cross-platform strategy to support translation
Apply
Makes sure it is easy to maintain.

Investigate

Fluent
l10n proc macro

Bulk of the work is done. Translation for the command line itself is another thing. Created #63 to address that.


[Documentation] Fix "wget" URL on "Run as a service on Linux" page

Fix URL in wget command
Also specified using sudo on the mv command as typical users do not have access to move items into /usr/local/bin

Command has been replaced with cloudflared service install.


Test + fine-tune thousands-sep support

Not supported on text fields, as that would probably cause a bunch of issues due to interaction with other widgets. Didn't seem worth supporting to me either.

I added very quick basic support for integer and decimal fields but there is still testing to be done:

[ ] test with Grid Theme -> suggest styling improvement
[ ] test with non US locale with non-comma separators
[ ] test with a form that has 2 languages with different separators - when switching language, the separator should update
[ ] test interaction with other appearances on integer/decimal fields

This likely needs to be addressed in a different area of code than what's discussed in #792 and #484, but I believe this is another case which would benefit from Intl.NumberFormat.

Not supported on text fields

I don't think it needs to be.
I didn't notice until now that the screenshot shows some kind of weird behavior: the last digits are 0 when they shouldn't be. I just experienced that myself as well.


Can't reference rev'ed font properly. CSS file isn't updating the path.

Hi,
I have a webfont that I am using. I placed the fonts folder in my styles directory as mentioned in the gruntfile.js ( 'styles/fonts/{,/}.*' ) Grunt serve is showing my fonts properly but after I built the file, it no longer works because the font filename has been prefixed with some weird gibberish characters. eg: 63b122ab.fontname.ttf instead of fontname.ttf
This might be some cache busting method?
But my .css file isn't updating the path to pick it up.
In my usemin block within gruntfile.js
What should I do? I have this currently but it is not working.
usemin: {
options: {
assetsDirs: ['<%= config.dist %>', '<%= config.dist %>/images', '<%= config.dist %>/styles/fonts']
},
html: ['<%= config.dist %>/{,/}.html'],
css: ['<%= config.dist %>/styles/{,/}.css']
},
It is picking up everything else but not the fonts. I manually created the fonts folder. So I am guessing the gruntfile.js has to be updated to reflect the change.

@vennsoh I may be wrong but I think you are using grunt-rev?

@vennsoh @mbatilando can you share your configuration ?

I am having the exact same issue.

@stephanebachelier same problem here using:

grunt-rev 0.1.0
grunt-usemin 3.0.0

This might help some people, so if you are using CSS min, it would rebase the URLs. You want to disable that for the cssmin and then use compass to help you generate font-urls.
For example,
cssmin: {
  options: {
    root: '<%= yeoman.app %>',
    noRebase: true
  }
}

Notice the function font-url():
@font-face {
  font-family:'webfont';
  src: font-url('webfont.eot');
  src: font-url('webfont.eot') format('embedded-opentype'),
   font-url('webfont.woff') format('woff'),
   font-url('webfont.ttf') format('truetype'),
   font-url('webfont.svg') format('svg');
  font-weight: normal;
  font-style: normal;
}

compass: {
      options: {
        sassDir: '<%= yeoman.app %>/styles',
        cssDir: '.tmp/styles',
        generatedImagesDir: '.tmp/images/generated',
        imagesDir: '<%= yeoman.app %>/images',
        javascriptsDir: '<%= yeoman.app %>/scripts',
        fontsDir: '<%= yeoman.app %>/styles/fonts',
        importPath: 'bower_components',
        httpImagesPath: 'images',
        httpGeneratedImagesPath: '/images/generated',
        httpFontsPath: 'fonts',
        relativeAssets: false,
        assetCacheBuster: false,
        raw: 'Sass::Script::Number.precision = 10\n'
      }
}

@moneytree-doug thanks for coming back.
I will take a look, but IMO it's a bug.

any progress on this? I'm having the same issue. @vennsoh did you solve this problem?

I am using Gulp now and it is fine over that side of things (:

any update on this? I'm having the same issue. @vennsoh Did you find any solution for that?

@kunal12422 Try Gulp?

@vennsoh Thanks for the help. I'd comment that line of operation until It is fixed or will try gulp (:
filerev: {
dist: {
src: [
'<%= yeoman.dist %>/<%= yeoman.client %>/!(bower_components){,/}.{js,css}',
'<%= yeoman.dist %>/<%= yeoman.client %>/assets/images/{,/}.{png,jpg,jpeg,gif,webp,svg}'
    /*  , '<%= yeoman.dist %>/<%= yeoman.client %>/assets/fonts/*' */
    ]
  }
}

Moving to Gulp is not possible at this time.
thanks @moneytree-doug I'll try to adapt this to node-sass as I removed compass. I'll search for it.


Specifying interpreter allows installer to work in virtualenv

This should be merged so the virtualenv users don't get tripped up by weird errors about missing modules.

👍

Good.

Looks good.


Query response size limiting for MVP

Description of new feature
What should the new feature do?  For visual features, include an image/mockup of the expected output.

Query responses can be large (i.e. large network).
Large responses are bad UX:  Users don't want to wade through large networks, and large networks can be slow.
Hard-coded filter element set N/size for MVP
Perform filtering on the server (ideally in the originating service)
Arbitrary p-val cut-off (e.g. EM defaults)

Motivation for new feature
Describe your use case for this new feature.
Keep the response reasonable for a good UX.

EM Defaults...

Nodes

p-value cutoff: 1.0 (basically no filtering on p-value)
q-value cutoff: 0.1

Edges

similarity metric: COMBINED
combined constant: 0.5
similarity cutoff: 0.375

I tend to increase filtering on edges to avoid hairballs. A more stringent filtering would be...

similarity metric: JACCARD
similarity cutoff: 0.35

The fgsea service is not outputting a q-value. With the default EM options the filtering happens on q-value. Therefore no filtering is currently happening.

I made it so that the EM-service now has a parameter that can limit the number of enrichment results (ie nodes) that come out of the filtering step. It basically sorts them by qvalue (padj) and then takes the top X results. Then feeds them to the similarity task.

Currently using a q-value filter 0.1
Strengthen this q-value threshold
Process:  Throw slider so all nodes filtered out.  Shift the filter so nodes appear one by one.  Increase until you get the size you want.  Skim the cream from the top.
Try client side filter where we simulate what a user would do with the slider
Try a slider for experimentation
Try just using a medium limit

Log scale for colouring

Cut it down to top 30 nodes based on q-value (lowest values)

Filtering steps

EM has a cutoff based on the qval
Service cuts down to 800
Then filter to 30

I added the filter on the client side. I set it to max 50 nodes, because 30 seemed really sparse, but you can change it if you like.
Note that the gene list still shows all the genes from the users input file when nothing is selected.


Make multiple terrain providers support

Separate each provider visualization by its bounds and zoom level.

This is partially maintained with the last terrain provider update. Just only a few terrain data sources handling left.


feat(docs): adds new preview mechanism

Summary
Proposal to enhance the preview build process by incorporating a styled list of applications, making it more user-friendly and maintainable.
Changes Made

Added a proposal document

Checklist

[x] I have performed a self-review of my code.
[x] I have commented my code, particularly in hard-to-understand areas.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] New and existing unit tests pass locally with my changes.
[ ] I have made corresponding changes to the documentation (if applicable).
[x] My changes generate no new warnings or errors.

Since this proposal is outdated on branch also in draft and also need to be rewritten, since we decided going on different approach I would suggest to close this PR for now and reopen/create a new one when we ready with a new Proposal.


Feature/custom keystore

To be merged after #48

@zachferland yes, exactly! The orbitdb team are working on a more sophisticated "identity provider" system where access control can be defined in a better way. I think we can migrate to that fairly simple once it's released :)


Profile: better display name

Currently profile are displayed by their id which is suboptimal.
It would be great to have a proper name (eg shortest -> Shortest at least), and maybe also a description of it that we could display once #56 is merged?

Don't know how a later translation solution (#63) would work in this case exactly, but I suppose the currently used filename could serve as a key to lookup the translated profile name from a language file. Therefore changing the config structure to add profile names, only to later change it back again when in separate files, is not ideal.
An intermediate workaround could be to programmatically replace hyphens with spaces and to capitalize the first letter when building the select options.

and maybe also a description of it that we could display

From my point of view that already exists in the form of a comment in the loaded profile source text.

Was fixed with i18n implementation :).


Inline form errors

New module

[x] I’ve read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I’ve read and agree to the Code of Conduct.
[x] I’ve searched for any related issues and avoided creating a duplicate issue.

Why we need it
When creating forms users need to be able to add inline form errors. Errors that appear near inputs and text alerts informing the user that they are incorrect.

closing this and merging with #623


language.changed is not a registered action

language.changed is not a registered action
at o (webpack:///node_modules/diagram-js/lib/features/editor-actions/EditorActions.js:257:9)
at error (webpack:///node_modules/diagram-js/lib/features/editor-actions/EditorActions.js:167:10)
at trigger (webpack:///src/app/tabs/bpmn/BpmnEditor.js:617:40)
at triggerAction (webpack:///src/app/tabs/MultiSheetTab.js:259:18)
at triggerAction (webpack:///src/app/tabs/EditorTab.js:36:33)
at triggerAction (webpack:///src/app/App.js:1719:15)
at fn (webpack:///src/app/App.js:2244:19)
at file:///D:/dev/workspace/camunda/modeler/modeler/resources/app.asar/public/bundle.js:65:127778
at exec (webpack:///src/app/AppParent.js:76:11)
at EventEmitter.emit (events.js:203:13) [ error ]
This error may be the result of a plug-in compatibility issue. [ info ]
Disable plug-ins (restarts the app) [ info ]

Hi, what version of Camunda Modeler are you using?

Hi, we have the same issue as mentioned above. FYR the Camunda Modeler version: 4.7.0. Would be possible to advise?

I'll take a look, thanks for reporting!

In version 4.7.0 of Camunda Modeler there was a change that prevents our way of saving the chosen language from working. We are currently looking for an alternative way to achieve this. Please give us a few days to resolve this. Thanks!

Hello, are there any news regarding this topic?
I can confirm that it does not work with the newest Version 4.8.1, still the same error.
After a brief call to Camunda Customer Service, this Plugin is the officially intended way to translate the modeler.
They were not aware of it not working.
Just asking, currently looking into using modeler in german.

Hi @Suoson,
I will fix this until the end of the week.
Sorry this has been left for so long!

Hi @Suoson & @pvana , the release is built. After a language change, the modeler must now be restarted once. Furthermore, the language selection is now in the toolbar. This was necessary due to changes in the core of the modeler.


Icons in Telegram Desktop pixelated when using display scaling in KDE

Describe the bug
Icons in Telegram Desktop pixelated when using display scaling in KDE
Steps To Reproduce
Steps to reproduce the behavior:

go to kde display settings, set scaling to 150%
reboot for changes to take effect
start Telegram Desktop, look at any icon or picture

Expected behavior
high-res icons used
Screenshots

Additional context
Starting Telegram by running QT_SCREEN_SCALE_FACTORS='' telegram-desktop in a terminal fixes this. Not sure if putting that into the .desktop-file is your preferred fix or just a workaround. By default the variable is set to eDP-1=1.5;HDMI-1=1.5;DP-1=1.5;DP-2=1.5;DP-3=1.5;DP-4=1.5;DP-5=1.5; on my system, likely by KDE.
Notify maintainers
@NickCao
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.3.6, NixOS, 23.11 (Tapir), 23.11pre497285.3ae20aa58a6`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.15.1`
 - channels(root): `"nixos, nixpkgs"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Relevant issue in the KDE issue tracker:
https://bugs.kde.org/show_bug.cgi?id=471443
It also contains links to the respective issues in the Telegram and Qt issue trackers.

So AFAIK this is an upstream issue that we have little control over?

It's an upstream issue that NixOS is able to provide a workaround for until it's fixed upstream.

Would this break the scaling for others (who do rely on QT_SCREEN_SCALE_FACTORS)?

This will break scaling in any Qt application started by tdesktop itself (be it okular when clicking on a pdf file or KDE settings when clicking 'Open system settings' button in the tdesktop call settings). That's why I ended up with a Qt patch upstream, that's just completely broken by both Qt and KDE.
Actually, you can make KDE use the proper APIs for scaling by setting DPI in font settings instead of global scaling in monitor settings (use 96 * your scale factor). But this will make the scaling worse for KDE applications as scaling in Qt 5 is opt-in and KDE rarely opts-in it in their application, apparently due to that hack which makes the problem hidden.
TL;DR use Wayland if you want non-buggy scaling on KDE. Every other way will lead to noticeable bugs.

Same issues when using Gnome with Wayland when enabling Enable precise High DPI scaling in Telegram's Experimental settings.

If you don't turn this option on, telegram seems to downsample after rendering at an integer multiple, which can lead to a certain degree of blurring.
If this option is not turned on, telegram will show that it is displaying at 200% interface scale and display correctly at the scale factor set by my display (150%).

After turning this option on, telegram will show that it is scaled to the scaling factor of my display and the text is noticeably clearer.
So I guess this option is turned on whether to set the fractional scale factor or use downsampling.

Yeah, QT_SCREEN_SCALE_FACTORS that is set by KDE forces Qt to always act like this option is turned on.

Yeah, QT_SCREEN_SCALE_FACTORS that is set by KDE forces Qt to always act like this option is turned on.

However, if this option is not turned on, the fonts will indeed become blurry, even if it is not obvious. I guess it is because downsampling will cause sub-pixel rendering to completely invalid.
It may be necessary to wait for qt and telegram to support wp-fractional-scale-v1 before this problem can be truly solved.

Qt supports it. But Telegram is a legacy application in terms of HiDPI: it was developed in 2013, long before Qt got HiDPI support and is not compatible with Qt's HiDPI. At that point Telegram has thousands of lines of code implementing widgets and all these lines have to be rewritten to support fractional scaling. It's clear this is not going to happen so if you need native fractional scaling support then you better trash tdesktop out and use something other e.g. Telegram Electron. tdesktop is likely to always be blurry on other than integer scaling factors, support only one screen scaling (unless Qt gets in the way and rescales with ruining picture quality) and not to have support for runtime scale factor changes.


feat(storage): list

Adding support for array storage (up to 2^32 elements). This feature enables things like:
#[storage]
struct Storage {
    values: List<u256>
}

Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?
Currently, when you want to store an array of values in a Starknet contracts, you have to resort to sth like this
struct Storage {
    values_count: u32,
    values: LegacyMap<u32, u256>
}

i.e. have a dictionary where the key is the index of the element. This is cumbersome as you have to take care of properly updating both values and just deal with multiple storage variables all the time.
What is the new behavior?

This PR adds a new data structure called List which rectifies the above approach. There's only one storage variable and in general it acts as an "array" from other programming languages that devs are used to (or rather it tries its best to do so).
Does this introduce a breaking change?

[ ] Yes
[x] No

Other information
The TL;DR of the implementation is that the storage segment where the List values are written is based on the name of the storage variable and a index, hashed together. I've written about it in more detail in the inline comments, so I won't reproduce it here, but please feel free to ask any questions.
Storing most (all?) corelib values in a List should work out of the box. For custom types, devs will have to implement a simple trait StorageSize - the reason why is also mentioned in the inline comment in the code.
Using append costs 2 storage writes, but that's the same as with the counter + map approach described above.

I'm happy to hear any kind of feedback about the implementation. It's also completely fine if you deem this not be a good fit in Alexandria, I can just publish it on my own.
Beyond that, I have a list of questions I'd like to hear yours' opinions;
Open questions:

Is the structure - creating a new module called storage ok?
Should get return an Option<T>? In other words, if getting an element at index > len, should the return value be Option::None? That would be similar to corelib's array.
Should there be a span fn that returns a Span<T> of all the elements in the list?
Should it use Poseidon for hashing rather than LegacyHash (Pedersen)?
Should it use usize instead of u32 for len and index? Currently, usize is an alias for u32 in Cairo, but that might change it the future. What's the best option?
Should there be a pop_front function that removes the "topmost" element?

I think this is also the first Starknet specific module in Alexandria. As such, it needs the --starknet flag to be passed with cairo-test. How should this be done? A solution I though of was to have two targets, test-cairo and test-starknet and make them dependencies of test, so sth like
test: test-cairo test-starknet

test-cairo: test-data_structures test-encoding test-math test-sorting test-searching

test-starknet: test-storage

#...

test-storage:
	@echo "Testing storage"
	cairo-test --starknet $(PROJECT_NAME)/storage

But I'm far from an expert in Makefiles 😁
Also, as discussed in the TG group, this works only with Cairo v2 due to the new StorageAccess trait (it doesn't have the internal functions in v1.1).

Could you expand on why it's better than the current approach ? Is it just easier to work with ?

Easier to work with, easier to onboard new devs (people generally expect to have a way how to store stuff in arrays, explaining that you have to have a map and a counter var is bizzare), less code in the contracts, less likely to introduce bugs 🤞

I see. Maybe a pop method would be relevant then ?

Added pop_front that returns an Option<T>, same as in ArrayTrait. Also get now returns an Option<T>.


Install the latest version of Rsyslog (8.15.0)

Rsyslogd version 7.4.7 was install by default using saz/puppet-rsyslog. I could not figure out how to install the latest version. Any help is greatly appreciated!

Sorry! I just found out that my yum repo has the latest version at 7.4.7. Just changed my repo and problem solved!

Solved by using the latest yum repo


Actions blocked loading into new instances

Description
Every time loading into a new instance, certain actions are blocked. I can click them, but I am unable to use hotkeys. Reloading allows me to continue.
Version Number
10.3.8.Github
Steps to Reproduce

Load into new instance
Use a hotkey

Only KkthnxUI Enabled
Happens even when it's the only addon enabled.
Additional Information

Error Log
4x [ADDON_ACTION_FORBIDDEN] AddOn 'KkthnxUI' tried to call the protected function 'UseAction()'.
[string "@Interface/AddOns/!BugGrabber/BugGrabber.lua"]:480: in function <Interface/AddOns/!BugGrabber/BugGrabber.lua:480>
[string "=[C]"]: in function UseAction' [string "@Interface/FrameXML/SecureTemplates.lua"]:364: in function handler'
[string "@Interface/FrameXML/SecureTemplates.lua"]:690: in function <Interface/FrameXML/SecureTemplates.lua:672>
[string "@Interface/FrameXML/SecureTemplates.lua"]:704: in function <Interface/FrameXML/SecureTemplates.lua:697>
[string "@Interface/FrameXML/SecureTemplates.lua"]:746: in function SecureActionButton_OnClick' [string "@Interface/FrameXML/ActionButton.lua"]:109: in function TryUseActionButton'
[string "@Interface/FrameXML/ActionButton.lua"]:144: in function `ActionButtonDown'
[string "ACTIONBUTTON7"]:2: in function <[string "ACTIONBUTTON7"]:1>
Locals:
(*temporary) = "bad argument #5 to '?' (Usage: self:SetVertexColor(color [, a]))"

The ABs are now forced disabled until fixed. The default blizz bars are skinned to match KkthnxUI and if you want them to look like mine perfectly or close as possible go into editmode then set padding to 6 and size 90%

On latest build, same behavior occurs even with action bars disabled. I noticed this ONLY occurs with macro'd abilities.

Just a quick update: issue continues to persist, up to the point where I must manually do a /reload every time I enter a new instance or load into a new zone (i.e. it has a load screen).

Just a quick update: issue continues to persist, up to the point where I must manually do a /reload every time I enter a new instance or load into a new zone (i.e. it has a load screen).

This should be fixed on next push, I think this is due to us trying to disable some of the new blizzard edit system setup.

Great news - looking forward to it!

Should be fixed. Maybe?

Still able to make it happen with the latest build. I'll get some errors posted for you later.


Prometheus gets HTTP 400 when using the /api/v1/prom/{read,write} endpoints

consulting:
Does the master version solve this problem?
If not, is there a recommended solution.
Thanks.
version info:
prometheus, version 2.8.1 (branch: HEAD, revision: 4d60eb36dcbed725fcac5b27018574118f12fffb)
  build user:       root@bfdd6a22a683
  build date:       20190328-18:04:08
  go version:       go1.11.6

root@2c815de0e3ea:/# influxd version
InfluxDB v1.7.5 (git: 1.7 2f49e00f7f3801a506304c3b6d8165b2f4039f3d)

error info:
prometheus_1     | ts=2019-05-08T05:15:14.8888921Z caller=dedupe.go:111 component=remote level=error queue="0:http://influxdb:8086/api/v1/prom/read?db=mytest" msg="non-recoverable error" count=5 err="server returned HTTP status 400 Bad Request: {\"error\":\"proto: wrong wireType = 2 for field StartTimestampMs\"}

Similar problem:
#10247

@e-dard


fix previousValue corner case #400

Fixes case where -1 is return by bitmap.previousValue(x) if x > bitmap.last()
FYI @incaseoftrouble @tianshuang

What is LGTM doing?

I will be reviewing.


"Start Instance and Update Application" setting will shut the instance down after update

Bug Report
System Information

Operating System (Including distribution name and version number) Ubuntu 20.04.5
AMP version and build date (Always use the version number, 'latest' is not valid!)  Release 14/03/2023 23:15
Which AMP release stream you're using (Mainline, Nightly or FastTrack) Mainline

I confirm:

[x] that I have searched for an existing bug report for this issue.
[x] that I am using the latest available version of AMP.
[x] that my operating system is up-to-date.

Symptoms

What are you trying to do? Have an instance start and update itself (and do nothing else) on deployment
What are you expecting to happen? Instance is deployed, and starts the update process for the game server inside (provisioning it completely if needed)
What is actually happening? ('Nothing' is not an acceptable answer!) Instance starts, game server updates, then the instance is stopped

Reproduction

Deploy instance on a target with "Start Instance and Update Application" setting set for Default post-create action
Notice it turn off after it updates

Then when you start it again, it'll update all over again. So it does what it's supposed to do but then shuts down as an extra lil step and that step shouldn't be there.

This was corrected with the start mode changes last year.


Added IncorrectEventOrderWarning

IncorrectEventOrderWarning produces warnings where events for an individual are in an incorrect order. For example a burial before a death event, or a baptism before a birth.
This patch also creates a SimpleWarning so there is less duplicate code between warnings and a few helper methods for events on IndividualNode.

This change is

Codecov Report

Merging #252 into master will increase coverage by 0.3%.
The diff coverage is 85.41%.

@@            Coverage Diff            @@
##           master     #252     +/-   ##
=========================================
+ Coverage   64.67%   64.97%   +0.3%
=========================================
  Files         194      196      +2
  Lines        6264     6342     +78
=========================================
+ Hits         4051     4121     +70
- Misses       2082     2090      +8
  Partials      131      131

Impacted Files
Coverage Δ

siblings_born_too_close_warning.go
52.63% <ø> (+5.01%)
:arrow_up:

unparsable_date_warning.go
38.46% <ø> (-8.21%)
:arrow_down:

child_born_before_parent_warning.go
57.14% <ø> (-3.73%)
:arrow_down:

simple_warning.go
100% <100%> (ø)

incorrect_event_order_warning.go
55% <55%> (ø)

date_range.go
92.92% <80%> (-0.69%)
:arrow_down:

individual_node.go
94.68% <94.2%> (+0.84%)
:arrow_up:

Continue to review full report at Codecov.

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


Adding via Swift Package Manager

I'm having issues adding the repo via Swift Package Manager.
When I user master branch try to just check off only SwiftAA I get an error on compiling for AAPlus under:
Semantic Issue: must be initialized by a constant expression
When I try just SwiftAA using specific version 2.3.2 or 2.2.2 I get the error:
Build input file cannot be found
When I try to add via SPM and check off AAPlus and SwiftAA I get the error:
Swift package target 'AAPlus' is linked as a static library by 'myAppName' and 'AAPlus' but cannot be built dynamically because there is a package product of the same name

Thanks for the bug report. The master branch is currently stuck in the last phase of a migration to a much newer AA+ code. I have some trouble making the tag and the release. Unfortunately, I am not using the SPM myself in other projects and don't have much XP on it.

@wilks7 could have a look now we have merged @vincentneo PR? AFAICT there is no need for a release for you to, at least, try.


WSL VS Code connection "VS Code Server for WSL closed unexpectedly."

I updated VS Code and now WSL connection no longer works
Just says "VS Code Server for WSL closed unexpectedly."
WSL log

[2022-05-03 03:12:11.364] WSL Daemon exited with code 0
[2022-05-03 03:12:10.898] Resolving wsl+ubuntu, resolveAttempt: 1
[2022-05-03 03:12:10.937] Starting VS Code Server inside WSL (wsl2)
[2022-05-03 03:12:10.937] Extension version: 0.66.2
[2022-05-03 03:12:10.937] Windows build: 19044. Multi distro support: available. WSL path support: enabled
[2022-05-03 03:12:10.937] No shell environment set or found for current distro.
[2022-05-03 03:12:11.052] WSL daemon log file:
[2022-05-03 03:12:11.053] Probing if server is already installed: C:\Windows\System32\wsl.exe -d Ubuntu -e sh -c "[ -d ~/.vscode-server/bin/dfd34e8260c270da74b5c2d86d61aee4b6d56977 ] && printf found || ([ -f /etc/alpine-release ] && printf alpine-; uname -m)"
[2022-05-03 03:12:11.150] Probing result: found
[2022-05-03 03:12:11.150] Server install found in WSL
[2022-05-03 03:12:11.150] Launching C:\Windows\System32\wsl.exe -d Ubuntu sh -c '"$VSCODE_WSL_EXT_LOCATION/scripts/wslServer.sh" dfd34e8260c270da74b5c2d86d61aee4b6d56977 stable code-server .vscode-server --host=<IP_ADDRESS> --port=0 --connection-token=560190440-3466534138 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --telemetry-level=all'
[2022-05-03 03:12:11.236] Setting up server environment: Looking for /home/joebuslife/.vscode-server/server-env-setup. Not found.
[2022-05-03 03:12:11.236] WSL version: 5.4.72-microsoft-standard-WSL2 Ubuntu
[2022-05-03 03:12:11.236] WSL-shell-PID: 225
[2022-05-03 03:12:11.236] Node executable: /home/joebuslife/.vscode-server/bin/dfd34e8260c270da74b5c2d86d61aee4b6d56977/node
[2022-05-03 03:12:11.236] Starting server: /home/joebuslife/.vscode-server/bin/dfd34e8260c270da74b5c2d86d61aee4b6d56977/bin/code-server --host=<IP_ADDRESS> --port=0 --connection-token=560190440-3466534138 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --telemetry-level=all
[2022-05-03 03:12:11.236] VS Code Server for WSL closed unexpectedly.
[2022-05-03 03:12:11.236] For help with startup problems, go to
[2022-05-03 03:12:11.236] https://code.visualstudio.com/docs/remote/troubleshooting#_wsl-tips
[2022-05-03 03:12:11.239] C:\Windows\System32\wsl.exe -d Ubuntu -e kill 225

Info from > "VSCODE_WSL_DEBUG_INFO=true code ."

VSCODE_WSL_DEBUG_INFO=true code .

COMMIT=dfd34e8260c270da74b5c2d86d61aee4b6d56977
APP_NAME=code
QUALITY=stable
NAME=Code
SERVERDATAFOLDER=.vscode-server
realpath /mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/bin/code
dirname /mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/bin/code
dirname /mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/bin
VSCODE_PATH=/mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code
ELECTRON=/mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/Code.exe
IN_WSL=false
[ -n Ubuntu ]
IN_WSL=true
[ true = true ]
export WSLENV=ELECTRON_RUN_AS_NODE/w:WT_SESSION::WT_PROFILE_ID
wslpath -m /mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
CLI=C:/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js
WSL_EXT_ID=ms-vscode-remote.remote-wsl
ELECTRON_RUN_AS_NODE=1 /mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/Code.exe C:/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/resources/app/out/cli.js --ms-enable-electron-run-as-node --locate-extension ms-vscode-remote.remote-wsl
cat /tmp/remote-wsl-loc.txt
WSL_EXT_WLOC=c:\Users\TheRa.vscode\extensions\ms-vscode-remote.remote-wsl-0.66.2
[ -n c:\Users\TheRa.vscode\extensions\ms-vscode-remote.remote-wsl-0.66.2 ]
wslpath -u c:\Users\TheRa.vscode\extensions\ms-vscode-remote.remote-wsl-0.66.2
WSL_CODE=/mnt/c/Users/TheRa/.vscode/extensions/ms-vscode-remote.remote-wsl-0.66.2/scripts/wslCode.sh
/mnt/c/Users/TheRa/.vscode/extensions/ms-vscode-remote.remote-wsl-0.66.2/scripts/wslCode.sh dfd34e8260c270da74b5c2d86d61aee4b6d56977 stable /mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/Code.exe code .vscode-server .
[ -z .vscode-server ]
[ .vscode-server = .vscode-insiders ]
[ ! -t 0 ]
VSCODE_REMOTE_BIN=/home/joebuslife/.vscode-server/bin
AUTHORITY=wsl+default
[ Ubuntu ]
AUTHORITY=wsl+Ubuntu
dirname /mnt/c/Users/TheRa/.vscode/extensions/ms-vscode-remote.remote-wsl-0.66.2/scripts/wslCode.sh
/mnt/c/Users/TheRa/.vscode/extensions/ms-vscode-remote.remote-wsl-0.66.2/scripts/wslDownload.sh dfd34e8260c270da74b5c2d86d61aee4b6d56977 stable /home/joebuslife/.vscode-server/bin
[ ! -d /home/joebuslife/.vscode-server/bin/dfd34e8260c270da74b5c2d86d61aee4b6d56977 ]
RC=0
[ 0 -ne 0 ]
mktemp /tmp/vscode-distro-env.XXXXXX
STORED_ENV=/tmp/vscode-distro-env.nzR5Zl
env
dirname /mnt/c/Users/TheRa/.vscode/extensions/ms-vscode-remote.remote-wsl-0.66.2/scripts/wslCode.sh
VSCODE_CLIENT_COMMAND=/mnt/c/Users/TheRa/AppData/Local/Programs/Microsoft VS Code/Code.exe VSCODE_CLIENT_COMMAND_CWD=/mnt/c/Users/TheRa/.vscode/extensions/ms-vscode-remote.remote-wsl-0.66.2/scripts VSCODE_CLI_AUTHORITY=wsl+Ubuntu VSCODE_CLI_REMOTE_ENV=/tmp/vscode-distro-env.nzR5Zl VSCODE_STDIN_FILE_PATH= WSLENV=VSCODE_CLI_REMOTE_ENV/w:ELECTRON_RUN_AS_NODE/w:WT_SESSION::WT_PROFILE_ID /home/joebuslife/.vscode-server/bin/dfd34e8260c270da74b5c2d86d61aee4b6d56977/bin/remote-cli/code .
exit 0

any help for this?

The server doesn't seem to start up, I'mm missing the server welcome message.
Can you try each of these and see if

close all remote windows and WSL terminals and run: wsl --showdown. See if it works now.
if that doesn't help, manually run the server /dfd34e8260c270da74b5c2d86d61aee4b6d56977/bin/code-server --host=<IP_ADDRESS> --port=0 --connection-token=560190440-3466534138 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --telemetry-level=all and see if we get a more helpful error message
delete the server with rm -r /home/joebuslife/.vscode-server/bin and restart.

Nice! I got it to work.
Deleting the server did the trick.
thanks


raise an error when renaming dimensions to existing names

Is ValueError the appropriate error here? I'm also not sure about the addition to the documentation of rename_dims.

[x] Closes #3438
[x] Tests added
[x] Passes black . && mypy . && flake8
[x] Fully documented, including whats-new.rst for all changes and api.rst for new API

I used bug fixes as the category in whats-new.rst but this could be something else as well

should we also merge this?

LGTM. go for it

thanks for the review, @dcherian


Bolding important statement

Live: https://docs.docker.com/config/containers/logging/gelf/
Preview:
Signed-off-by: Adrian Plata<EMAIL_ADDRESS>
Proposed changes

Unreleased project version (optional)

Related issues (optional)

Deploy preview for docsdocker ready!
Built with commit bbeb3a35aa02fd57b4a1de17dcad8e0e2e11325f
https://deploy-preview-9885--docsdocker.netlify.com


Set image tags to specific versions, instead of using 'latest'

Break the image name into 'name' and 'tag' and lock down tag to the actual version number, instead of latest. Fixes #23

@zootalures ideally, we should be pushing the charts to the Helm repository and not require users to even clone the repo to install Fn.

Yep for sure


Documentation: add table of contents to the api guide

@yichengq @xiang90 Here is what I consider great API docs: https://developer.github.com/v3/
What I like about them is that I can quickly find all the things the API can do, even for some one new to the GitHub API everything is easy to find.

@yichengq @xiang90 I also like the way godocs adds a TOC at the top of every package: http://golang.org/pkg/io/ioutil/
Notice how everything function the package supports is easy to discover because of the TOC at the top of the page. As far as length goes, we should consider that these docs serve as reference for the user, both new and experienced.
Most of our users do not remember the etcd API, so a detailed reference (TOC) makes all the difference.

@robszumski ^

@kelseyhightower I like TOC on top. I hope we can have a one level TOC with limited number( < 8? ) of items.

This will conflict with the sidebar that we have on coreos.com, but a lot of people that consume the docs do so on GitHub.

I'm going to close this since it seems we need to have a larger discussion on docs for etcd.


Upgrade between lts releases

What's the recommended way to upgrade between lts releases?
For example, I installed a bunch of packages. Now I want to switch from stackage lts 1.2 to 1.7. I download new cabal.config, but upon install I get many:
...
cabal: The following packages are likely to be broken by the reinstalls:
network-uri-<IP_ADDRESS>
HTTP-4000.2.19
cpphs-1.18.6
...

Currently I just do for p in network-uri-<IP_ADDRESS> HTTP-4000.2.19 cpphs-1.18.6; do ghc-pkg unregister $p; done, then read what else needs to be added to this for-loop, then run it again and again until I unregister everything.
Is there an easier way anyone knows? (No matter yes or no -- feel free to close the issue after some time, since it's more of a question than an issue currently).
Thanks!

You can:

Use cabal install --force-reinstalls
Run cabal sandbox delete if using a sandbox
Run rm -rf ~/.ghc if not using a sandbox

Yeah, I was mostly looking for option #1 to see if it's as safe as what I did or not. Anyway, I think I can just go and read about it somewhere else, thanks for answering.


Customer feedback | az network application-gateway routing-rule | optional parameter --priority is required!

Describe the bug
This customer feedback is being moved from azDO UUF #266389.

Engineering request

Add more information to --priority parameter that communicates to the customer that any optional parameter is conditional when ...  Here's an example: Priority of the routing rule. Supported SKU tiers are Standard_v2, WAF_v2. This parameter is REQUIRED when {something is true}.

Customer feedback
Title:
az network application-gateway routing-rule | Microsoft Learn
Verbatim:
"--priority" is a mandatory parameter not optional
Verbatim Id:
0e566912-0a2f-ef11-840a-00224804e99d
Live URL:
https://learn.microsoft.com/en-us/cli/azure/network/application-gateway/routing-rule
GitHub URL:
https://github.com/MicrosoftDocs/azure-docs-cli/blob/live/latest/docs-ref-autogen/network/application-gateway/routing-rule.yml
Related command
az network application-gateway routing-rule
Errors
.
Issue script & Debug output
.
Expected behavior
.
Environment Summary
Azure CLI 2.65.0
Additional context
No response

Thank you for opening this issue, we will look into it.


Fix shader versions to work on macOS

The shader versions were changed in #1417.

Thank you!
bors r+

bors r+


Make future and stream required arguments in their respective builder widgets

cc'ing existing conversation participants: @domesticmouse @srawlins
cc'ing to request review: @goderbauer
This PR makes the following constructor arguments required:

FutureBuilder.future
StreamBuilderBase.stream
StreamBuilder.stream

This fixes:
https://github.com/flutter/flutter/issues/83081
https://github.com/flutter/flutter/issues/125188 (dupe of 83081)
This obviates:
https://github.com/dart-lang/linter/issues/4309
(I suggest we skip straight to merging this PR as this should be a low impact breaking change-assuming few to no devs are intentionally using the builders without their relevant arguments, however we could always merge 4309 first and then this)
https://github.com/flutter/flutter/pull/83101
(The above PR required that at least one of future and initial data be non-null, this is undesirable as there are plenty of valid reasons to have both arguments be null)
See above issues for a deeper dive, but here is a summary:
It is very easy for a developer to forget to specify future or stream when using the respective *Builders. This produces a non-obvious failure where the UI sits in a "no data yet received" state. It is easy for a dev to misinterpret this as the async work backing the future/stream hanging and they thus waste a lot of time trying to debug the async work.
As such, we should require these two constructor arguments to make it impossible/much harder for devs to make this time-wasting mistake.
This is a breaking change. However, it should break only a small number of active projects given that using a builder without specifying future or stream seems highly niche.
The only place I've found non-accidental examples of this is in widget tests where you're calling pumpWidget with and without these arguments to test *Builder.didUpdateWidget's behavior. In this and similar cases, it is a trivial fix to add future: null/stream: null.
If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

PTAL @goderbauer

Does this classify as a breaking change?

I figured so as it will throw a compiler error for anyone who has been using the builders with omitted future/stream, but it seems pass the customer tests so maybe that means it doesn't count as a breaking change? Also please let me know if there is anything additional I should do on my side to get this across the finish line!

Does this classify as a breaking change?

All checks are passing (including goole and customer tests), so according to our breaking change policy, this is not considered breaking and we can merge this as is.


style: Fix extra whitespace on some output cells

Styles initially added here:
https://github.com/twosigma/beaker-notebook/issues/586
in 9574ddd224225020120ada0400a8ea8a482a0616
Refactored in
6a2bd6d246cdbb88895e2f1e5027134b125f8569
Which caused this breakage
Fixes #1566

cool guess this fixed it :)

going to hold on deleting the branch so the test can run, to make sure this did not break anything


Report to Station when the node cannot connect to the network

Detect the situation when the L2 node cannot connect to any L1 node and report the problem back to Station. Let's keep the first version simple:

When the app starts or whenever the number of L1 connections drops to zero, we start a timer for 3 seconds

If there is no L1 connection after this timeout, then we log an event about the problem. Proposed message:
fmt.Print("ERROR: Saturn Node is not able to connect to the network\n")

In the current backoff-based retry implementation, we give up connecting after several unsuccessful attempts. When this happens, L2 Node should report the problem to the Station.
 fmt.Printf("ERROR: Saturn Node was not able to connect to the network after %v attempts, giving up.\n", l.maxReconnectAttempts)

In both cases, it's important to print the message only once. We don't want the message to be printed for each L1 client we have, as that would print each message three times.
Related: #62

What about instead of adding a timeout we log this for every attempt?

I have already tried that and was getting three error messages every now and then. Like nothing happens for a second or two, then three messages appear at once, then there is another pause, and then another three messages, and so on.
I am fine to look for a simpler solution as long as we can report the problem at the L2-Node level, not at the level of every L1 client.
In other words, we can rework the part about 3sec timeout to use the current backoff retry mechanism, but then we need to report only the first error and not the duplicates following soon after the first one.
That would work in the case where we cannot reach the network at all.
However, it would not work if we can reach only some of the L1 nodes. In that case, we don't want to report connection errors mixed with messages like Saturn Node is online and connected to 1 peer(s).

Ah gotcha, I thought the timeout was there to reduce log messages on the L2-node level. Whatever is easiest then 👍

Closed by https://github.com/filecoin-saturn/L2-node/pull/68, which replaced https://github.com/filecoin-saturn/L2-node/pull/67


About MQBench future

Thank you for open this great project.

when will update next version? and what content in it?
Hope write readme for more details.
Where is Examle? How to use it better?

@Tracin Thanks reply rapidly.  I  am doing quantize detection model by this project in current. This project is great.
I guess pytorch will update quantize module in version 1.10 since it move all quantize function to torch.ao.


Be smarter about n-way joins

We currently implement N-way joins by doing a chain of two-way joins. While this does help somewhat for re-use, we could be smarter about it. For example:
A JOIN B JOIN C JOIN D

will currently be turned into a chain of
((A JOIN B) JOIN C) JOIN D

whereas we could turn it into
(A JOIN B) JOIN (C JOIN D)

which allow more parallelism in the data-flow. We could also take into account the size of the related tables (and even key density) to determine which join order allows us to do less work.
This work could extend to adding direct support for an N-way join, as those may be possible to execute more efficiently than lots of 2-way joins. We may want to keep a separate N-way join operator though, as its code will likely be more complicated, and slower, than the 2-way join code.

Relevant implementations of worst case generic n-way join:
https://github.com/frankmcsherry/dataflow-join
https://github.com/HazyResearch/EmptyHeaded

I don't know how relevant this still is, or if this is the right place, but there is some research from the data management community into worst-case optimal join algorithms that might help you out here.
Here's a general overview paper into the topic:
Overview paper: https://dl.acm.org/doi/pdf/10.1145/2590989.2590991
Here's an example of a worst-case optimal join algorithm that seems particularly well suited to Rust, given that it heavily relies on iterator interfaces between everything:
Leapfrog Trie-join: https://openproceedings.org/2014/conf/icdt/Veldhuizen14.pdf
I'm not sure how well this would apply to dataflows, but it may be worth looking into.

The biggest challenge we have is that the join algorithm has to be incremental. Since it's a dataflow system, this means only certain subsets of the more general join problem really applies. The join is given one batch of rows from a single "side" of the join, and must compute the fully joined results through queries into the other sides of the join based only on that batch (and statistics it may have collected). Also, everything before the join has already been computed, so algorithms that try to be cleverer about how they access base tables and such do not really apply. The join can mainly just choose the order in which it queries its ancestors. Which may mean there aren't that many interesting decisions to make, I'm not sure?

The biggest challenge we have is that the join algorithm has to be incremental. Since it's a dataflow system, this means only certain subsets of the more general join problem really applies. The join is given one batch of rows from a single "side" of the join, and must compute the fully joined results through queries into the other sides of the join based only on that batch (and statistics it may have collected). Also, everything before the join has already been computed, so algorithms that try to be cleverer about how they access base tables and such do not really apply. The join can mainly just choose the order in which it queries its ancestors. Which may mean there aren't that many interesting decisions to make, I'm not sure?

The main thing that both Generic-join and Leapfrog Trie-join (LTJ) do well is not joining pairwise (i.e. optimally abusing the fact that there's a multiway join happening), and optimally avoiding skew. It doesn't really rely on being able to order previous operators or anything like that.
At least, the Generic-join doesn't rely on anything fancy pertaining to table access. Though LTJ does require an B-tree or similar index on each table, creating and removing an iterator on each table, and building a trie of all the tuples which may or may not be a big hassle.
So yeah at face value, I think the earlier linked dataflow join (https://github.com/frankmcsherry/dataflow-join) based on generic-join might be the best option given that it requires less intrusive changes, while still providing the same benefits of being worst-case optimal.
The fact that there's only a subset of the join problem to be solved is good of course, but it doesn't take away that some of the tables this subset is getting joined against may be heavily skewed or cyclical.


Regression: inflate returns Z_DATA_ERROR on valid input (regressed by #1031)

The following program works with zlib, and with zlib-ng before #1031 was merged:
#include <assert.h>
#include <stdio.h>
#include <zlib.h>

const unsigned char compressedData[] = {
    0x78, 0x9c, 0x0b, 0xc9, 0x48, 0x55, 0x28, 0x2c, 0xcd, 0x4c, 0xce, 0x56, 0x48, 0x2a, 0xca, 0x2f, 0xcf, 0x53, 0x48, 0xcb, 0xaf, 0x50, 0xc8, 0x2a, 0xcd, 0x2d, 0x48, 0x4d, 0x51, 0xc8, 0x2f, 0x4b, 0x2d, 0x52, 0x28, 0xc9, 0x48, 0x55, 0xc8, 0x49, 0xac, 0xaa, 0x54, 0x48, 0xc9, 0x4f, 0x07, 0x00, 0x6b, 0x93, 0x10, 0x30};

int main()
{
    const int windowBits = 32 + MAX_WBITS;
    z_stream_s strm;
    strm.zalloc = Z_NULL;
    strm.zfree = Z_NULL;
    strm.opaque = Z_NULL;

    unsigned char decompressedData[1024];

    int rc = inflateInit2(&strm, windowBits);
    assert(rc == Z_OK);

    strm.next_in = (unsigned char *)compressedData;
    strm.avail_in = sizeof(compressedData);
    strm.next_out = decompressedData;
    strm.avail_out = sizeof(decompressedData);

    rc = inflate(&strm, Z_NO_FLUSH);
    assert(rc == Z_STREAM_END);

    rc = inflateEnd(&strm);
    assert(rc == Z_OK);

    decompressedData[strm.total_out] = 0;
    puts((const char *)decompressedData);

    return 0;
}

With #1031, the inflate calls retuns Z_DATA_ERROR.
Platform: Linux x86_64 (CentOS 7)
Built with: ./configure --zlib-compat --static && make

I think you forgot to include the program in your comment.

I think you forgot to include the program in your comment.

Hm, I included it in the issue. Can't you see that?
Trying again here:
#include <assert.h>
#include <stdio.h>
#include <zlib.h>

const unsigned char compressedData[] = {
    0x78, 0x9c, 0x0b, 0xc9, 0x48, 0x55, 0x28, 0x2c, 0xcd, 0x4c, 0xce, 0x56, 0x48, 0x2a, 0xca, 0x2f, 0xcf, 0x53, 0x48, 0xcb, 0xaf, 0x50, 0xc8, 0x2a, 0xcd, 0x2d, 0x48, 0x4d, 0x51, 0xc8, 0x2f, 0x4b, 0x2d, 0x52, 0x28, 0xc9, 0x48, 0x55, 0xc8, 0x49, 0xac, 0xaa, 0x54, 0x48, 0xc9, 0x4f, 0x07, 0x00, 0x6b, 0x93, 0x10, 0x30};

int main()
{
    const int windowBits = 32 + MAX_WBITS;
    z_stream_s strm;
    strm.zalloc = Z_NULL;
    strm.zfree = Z_NULL;
    strm.opaque = Z_NULL;

    unsigned char decompressedData[1024];

    int rc = inflateInit2(&strm, windowBits);
    assert(rc == Z_OK);

    strm.next_in = (unsigned char *)compressedData;
    strm.avail_in = sizeof(compressedData);
    strm.next_out = decompressedData;
    strm.avail_out = sizeof(decompressedData);

    rc = inflate(&strm, Z_NO_FLUSH);
    assert(rc == Z_STREAM_END);

    rc = inflateEnd(&strm);
    assert(rc == Z_OK);

    decompressedData[strm.total_out] = 0;
    puts((const char *)decompressedData);

    return 0;
}

Does it work when you turn off UNALIGNED64_OK?

Does it work when you turn off UNALIGNED64_OK?

Not sure exactly how to turn it off. When I remove it from https://github.com/zlib-ng/zlib-ng/blob/1083c8e7132a010212ec490932e6f1964da58cda/configure#L1299-L1300, it still fails.

It seems something went wrong when bisecting, and this might not be the offending commit. There's some issue around zlib.h and gzread.c when switching commits:
$ git checkout e9d0177feafa3adad6ca90cadd44b50389ac4094
error: The following untracked working tree files would be overwritten by checkout:
        gzread.c
        zlib.h
Please move or remove them before you switch branches.
Aborting

I now hopefully fixed bisecting and identified dc3b60841dbfa9cf37be3efb4568f055b4e15580 resp. #1033 as the offending commit. Sorry for the confusion!

I needed to revert two dependent commits before being able to revert dc3b608, and I now verified that with these reverts the regression is fixed on https://github.com/sfc-gh-sgiesecke/zlib-ng/tree/fix-1066

Just a suggestion here to add this (or something like it) to the test suite for next time.

This should be resolved now in develop. If you have any more issues please reopen.


Record sorting

Changed sort column operation to RequestColumnSort. Sorting should be done outside of the grid as worker threads are not supported in an Angular library due to limitations
Support multi-column sort indicators in column headers

@EmanH Probably the version of ngx-grid-core should be incremented?

@EmanH Probably the version of ngx-grid-core should be incremented?

@cli2022 Yes, I forgot to push the commit earlier :)


Audio record doesn't work in Electron client

Platform

Linux x86_64 (Ubuntu 15.10)

Reproduce

Clicked mic button
Nothing happened

Expected

Click mic button
Same stuff as browser version happens

This is on a docker instance... this works for the Electron client connected to https://demo.rocket.chat - so I have no idea now.... the browser client works fine for the same server.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/30579530-audio-record-doesn-t-work-in-electron-client?utm_campaign=plugin&utm_content=tracker%2F19476668&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F19476668&utm_medium=issues&utm_source=github).

Which version are u using? Can you download the latest version and try again? Is working for me on OS X and Linux Ubuntu 15.10.
I will close the issue, please reopen if the problem persists


Unable to cashout

Hi!
I get this error, altough there are enough sats.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
FINAL FAIL --> Was not able to send transaction with max 20000 sat
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Press ENTER to return to main menu.

Have you tried the RTL web UI (can be activated under services) to make that transaction? Its way better then the shell script on making transactions.

There i can only do Lightning Payments or am i able to send to any BTC address?

With RTL you can manage your on-chain and off-chain funds. See under "LND Wallet" there is a send option for BTC.

TODO: RTL has a sweep all option when sending BTC funds. Check how they do it and copy that for the shell script.

Sending Fund Failed
Code
:
500
Message
:
error:insufficient funds available to construct transaction
Code
:
2

It may have something todo with fees .. maybe start with sending half the funds amount out and then check how much fees you need to set to make it work (raise setup by step)

Also check in the RTL UI if all your channels are closed and setteled. If you have a force closing still running some funds may not be spendale already.

sending half of funds worked. The fees are much higher then expected

sending half of funds worked. The fees are much higher then expected

Mempool is been steadily clearing out, but fees are indeed higher than a month ago.

TODO: Improve the CashOut Script - python rewrite.

TODO: Test the new --sweepall feature of LND 0.6 with RaspiBlitz v1.2

The new CASHOUT in v1.2 is much simpler now to the LND 0.6 sendcoins --sweepall feature. No rewrite in python needed.
TODO: Final testing

OK. The two tests worked great. I think this improves the CASHOUT experience by a lot. Closing Issue.


Fix supported databases docs links

The readme links are broken
Supported databases:

PostgreSQL
MySQL
SQLite

#3508

Thanks :+1:


update entity autogen path value from camel syntax to i.E. exercise-group syntax

is already lowercase which is fine


Grafana_proxy container unable to start after OCP 4.8 - 4.10 upgrade

Grafana_proxy container unable to start after OCP 4.8 - 4.10 upgrade
Version:
Grafana Operator version 4.9
Error message from the pod log:
vmh-install ~]$ oc logs grafana-deployment-56ddf684-cs2vl -c grafana-proxy
2023/02/22 11:57:38 provider.go:117: Defaulting client-id to system:serviceaccount:openshift-user-workload-monitoring:grafana-serviceaccount
2023/02/22 11:57:38 provider.go:122: Defaulting client-secret to service account token /var/run/secrets/kubernetes.io/serviceaccount/token
2023/02/22 11:57:38 provider.go:310: Delegation of authentication and authorization to OpenShift is enabled for bearer tokens and client certificates.
2023/02/22 11:57:38 main.go:138: Invalid configuration:
unable to load OpenShift configuration: unable to retrieve authentication information for tokens: the server could not find the requested resource

OS: Openshift 4.10 - Red Hat Enterprise Linux CoreOS 410.84.202301302127-0
Grafana Operator Version 4.9
Deployment type: deployed

We have managed to solve this problem. The deployment contained an old image version which was not compatible with grafana 4.9 anymore:
vmh-install ~]$ oc describe deployment grafana-deployment |grep -A1 grafana-proxy:
   grafana-proxy:
    Image:      quay.io/openshift/origin-oauth-proxy

Earlier we had Image version quay.io/openshift/origin-oauth-proxy-4.2, which is definitely not working.


WSLGd: launch RDP client with 'init' explicitly

This change to launch Windows RDP client executable with 'init' explicitly to avoid conflict in binfmt, which is reported at https://github.com/microsoft/WSL/issues/9257#issuecomment-1345550170.

Any info on when the next release will be since this issue makes WSLg unusable right now?


WPF Command Binding Cancellation

There doesn't seem to be any good way to cancel a task started by a ReactiveCommand bound to the UI in WPF, and there doesn't seem to be any documentation on how or if this is supposed to work.

Unless I'm missing something, the binding in WPF deals with the command triggering, not its action/cancelation.
You usually handle command cancelation in RxUI by (early) disposing the 'action' subscription, e.g. using TakeUntil as described here or there.

I will add an example of this to the new RxCommand documentation.

Please see the docs.


A list of featured games?

You could add a list of games that people have made to the website or README.md or both so that they're more easily discoverable.
I'm currently working on a Space Invaders clone, playable at https://incoherency.co.uk/24invaders/ mostly works already, but I have a bit more graphics work to do.
And, for what it's worth, I love 24a2. It brings back the fun that got me into programming in the first place.

Yep this is a great idea - I've added a list in this commit, and added a link to your game. I've linked back to your website - please let me know if you'd like me to link somewhere else, or feel free to open a pull request.
Your game is so cool by the way! I love the level and game over screens

Thanks!