Traefik ingress controller dosen't listen on ports 80, 443, and 8080 on the host, but ramdon nodeport

Version:
k3s version v1.0.0 (18bd921c)
Describe the bug
Traefik ingress controller dosen't listen on ports 80, 443, and 8080 on the host, but ramdon nodeport
To Reproduce
install the v1.0.0
Expected behavior
The Traefik ingress controller will use ports 80, 443, and 8080 on the host
Actual behavior
Traefik ingress controller listen on nodeport(like 30579)
kubectl get svc --namespace=kube_system
NAME             TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)                                     AGE
kube-dns         ClusterIP      <IP_ADDRESS>                53/UDP,53/TCP,9153/TCP                      97m
metrics-server   ClusterIP      <IP_ADDRESS>             443/TCP                                     97m
traefik          LoadBalancer   <IP_ADDRESS>    <IP_ADDRESS>   80:30579/TCP,443:30051/TCP,8080:32535/TCP   96m

traefik LoadBalancer <IP_ADDRESS> <IP_ADDRESS> 80:30579/TCP,443:30051/TCP,8080:32535/TCP 96m
The traefik service is listening on ports 80, 443 and 8080.

@dabio  no, I tried... only 30579 work for http...

Are your iptables rules broken or something? What OS is this on?

awsubuntu 18.04,  a brand new ECS in alibaba cloud(like aws ec2)

Is this issue reproducible? What about on another platform? This should be working.

I am having the same issue. I did a takeover installation of k3os inside an Ubuntu 18.04 inside an Oracle Cloud VM.
k3os-master [~]$ kubectl get svc --namespace=kube_system
NAME                 TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                      AGE
kube-dns             ClusterIP      <IP_ADDRESS>              53/UDP,53/TCP,9153/TCP       4h8m
metrics-server       ClusterIP      <IP_ADDRESS>            443/TCP                      4h8m
traefik-prometheus   ClusterIP      <IP_ADDRESS>           9100/TCP                     4h7m
traefik              LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>     80:30345/TCP,443:31768/TCP   4h7m

@brandond Your guess might fit for my issue ontop of k3os. The log of one of the Klipper Service Load Balancer Container:
`k3os-master [~]$ kubectl logs -n kube-system svclb-traefik-dhnnt lb-port-80

trap exit TERM INT
/usr/bin/entry: line 6: can't create /proc/sys/net/ipv4/ip_forward: Read-only file system
echo 1
true
cat /proc/sys/net/ipv4/ip_forward
'[' 1 '!=' 1 ]
iptables -t nat -I PREROUTING '!' -s <IP_ADDRESS>/32 -p TCP --dport 80 -j DNAT --to <IP_ADDRESS>:80
iptables -t nat -I POSTROUTING -d <IP_ADDRESS>/32 -p TCP -j MASQUERADE
'[' '!' -e /pause ]
mkfifo /pause`

I suppose that's related to k3os having a read-only file system approach. However, I wonder why this (probably) worked for others...

@davidnuzik  can you tell me why this should be working?
I found that the k3s are not listening on 80, 443, so how can this work?

Based on our suite of tests against Ubuntu 18.04 and CentOS7 this should work. I would review firewall rules, etc. You mentioned aws ec2 instances -- the security group has been set up correctly, etc?

I installed k3s again with no-traefik option, and install nginx-ingress helm with nodeports 30080 and 30443.
nginx-ingress-controller        LoadBalancer   <IP_ADDRESS>    <IP_ADDRESS>   80:30080/TCP,443:30443/TCP   9h

I found that k3s-serve is listening on port 30080 but not 80.
root@testing-k3s-master:~# lsof -i :30080
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
k3s-serve 2975 root  255u  IPv6  35407      0t0  TCP *:30080 (LISTEN)

But it still can visit the ingress by port 80, so how the k3s achieve this? by iptables?

Confirming this too, the external interface is listening on the random port number not the servce port number.
$ kubectl get svc --namespace=kube_system
NAME                 TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
kube-dns             ClusterIP      <IP_ADDRESS>     <none>        53/UDP,53/TCP,9153/TCP       19h
metrics-server       ClusterIP      <IP_ADDRESS>    <none>        443/TCP                      19h
traefik-prometheus   ClusterIP      <IP_ADDRESS>   <none>        9100/TCP                     19h
traefik              LoadBalancer   <IP_ADDRESS>    <IP_ADDRESS>    80:30046/TCP,443:30259/TCP   19h

On the master:
# ss -tnlp sport = 443
State           Recv-Q           Send-Q                     Local Address:Port                      Peer Address:Port           Process
root@elloe01:~# ss -tnlp sport = 30259
State            Recv-Q           Send-Q                     Local Address:Port                      Peer Address:Port          Process
LISTEN           0                4096                                   *:30259                                *:*              users:(("k3s-server",pid=16866,fd=284))

On one of the workers:
# ss -tnlp sport = 443
State           Recv-Q           Send-Q                     Local Address:Port                      Peer Address:Port           Process
root@innovation00:~# ss -tnlp sport = 30259
State            Recv-Q           Send-Q                     Local Address:Port                      Peer Address:Port          Process
LISTEN           0                4096                                   *:30259                                *:*              users:(("k3s-agent",pid=27726,fd=179))

Yes, this is how kubernetes (specifically kube-proxy) works. It listens on a random node port, and then uses iptables rules to masquerade traffic from the loadbalancer address and port to the appropriate node port.
brandond@seago:~$ kubectl get svc --namespace=traefik
NAME      TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                                     AGE
traefik   LoadBalancer   <IP_ADDRESS>   <IP_ADDRESS>     80:31417/TCP,443:31119/TCP,9000:31462/TCP   57d

brandond@seago:~$ sudo iptables -vnL -t nat | grep traefik/traefik:websecure
    0     0 KUBE-XLB-LODJXQNF3DWSNB7B  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* traefik/traefik:websecure loadbalancer IP */
    0     0 KUBE-XLB-LODJXQNF3DWSNB7B  all  --  *      *       <IP_ADDRESS>            <IP_ADDRESS>/0            /* traefik/traefik:websecure loadbalancer IP */
    0     0 KUBE-MARK-DROP  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* traefik/traefik:websecure loadbalancer IP */
    0     0 KUBE-MARK-MASQ  tcp  --  *      *       <IP_ADDRESS>/8          <IP_ADDRESS>/0            /* traefik/traefik:websecure */ tcp dpt:31119
    0     0 KUBE-XLB-LODJXQNF3DWSNB7B  tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* traefik/traefik:websecure */ tcp dpt:31119
    0     0 KUBE-MARK-MASQ  tcp  --  *      *      !<IP_ADDRESS>/16         <IP_ADDRESS>         /* traefik/traefik:websecure cluster IP */ tcp dpt:443
    0     0 KUBE-SVC-LODJXQNF3DWSNB7B  tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>         /* traefik/traefik:websecure cluster IP */ tcp dpt:443
    0     0 KUBE-FW-LODJXQNF3DWSNB7B  tcp  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>            /* traefik/traefik:websecure loadbalancer IP */ tcp dpt:443
    0     0 KUBE-MARK-MASQ  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* masquerade LOCAL traffic for traefik/traefik:websecure LB IP */ ADDRTYPE match src-type LOCAL
    0     0 KUBE-SVC-LODJXQNF3DWSNB7B  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* route LOCAL traffic for traefik/traefik:websecure LB IP to service chain */ ADDRTYPE match src-type LOCAL
    0     0 KUBE-MARK-DROP  all  --  *      *       <IP_ADDRESS>/0            <IP_ADDRESS>/0            /* traefik/traefik:websecure has no local endpoints */

In our case we're based on Ubuntu 20.04 and using the 'legacy' iptables and the various KUBE* chains and rules are in place. Despite all that its unclear why exposed services cannot be reached from the public IP addresses of the workers.
I suspect the original reporter on this issue has the same problem as we're seeing but came to the same conclusion as we did when the expected behaviour wasn't observed.
Like the original reporter we can only connect to the exposed services via the random port numbers from outside the cluster not the well-known service ports.

I think I've figured out our issue.
Our master(s) are deployed on the office LAN. Workers are in remote data-centres. Because the cluster needs to be on its own sub-net to avoid PNAT/routing issues we've created a Wireguard VPN that the cluster uses on <IP_ADDRESS>/16 with the master on <IP_ADDRESS>.
On the master we can attach to traefik using HTTP (tested using telnet) but from the workers that fails (strange since the workers can reach the master via the <IP_ADDRESS>/16 sub-net).
However, it is clear our issue is to do with our 'IoT' edge network requirements rather than a problem with traefik.

I'm a new learner and I don't quite understand. I have previously set nginx listening on 80 and 443. Now I'm trying to install k3s. Does this issue mean they are not compatible?

if you run traefik with root, it can bind 80 and 443
if you want to run traefik container with non root user, and bind to 80, it's not easy to do that. see this issue

have the same issue on fresh install (kubeadm way) on ubuntu 20.04.1 LTS

traefik is using normal ports 80, 443, 8080 forwarded to random ports

hosts are (very well configured, no mistake)

access normal ports from inside doesn't work

those normal ports are closed from outside

iptables modules and configuration are well loaded (no mistake):

even though everything is set correctly, i can't access traefik ports on my cluster. hope community could give as a clu on that
it has nothing to do with k8s i think it has something to do

Faced the same issue. After doing some digging I found that hostPort is disabled by default in values.yml file. Traefik pods are reachable outside of k8s cluster over NodePort only.
In order to fix it, try to set hostPort for both web and websecure:
helm install traefik traefik/traefik --set service.type=NodePort --set ports.web.hostPort=80 --set ports.websecure.hostPort=443
Once that is done, you should see dnat rules for ports 80 and 443 translating
[root@kubeworker01 ~]# iptables-save | grep "CNI-DN-" :CNI-DN-93de6c3d8fbd2d47d8d5b - [0:0] -A CNI-HOSTPORT-DNAT -p tcp -m comment --comment "dnat name: \"weave\" id: \"327a3792c563e30691f676dd650dcfff67c7d83fa51ff95bfdf7ffcc63386e63\"" -m multiport --dports 80,443 -j CNI-DN-93de6c3d8fbd2d47d8d5b -A CNI-DN-93de6c3d8fbd2d47d8d5b -s <IP_ADDRESS>/12 -p tcp -m tcp --dport 80 -j CNI-HOSTPORT-SETMARK -A CNI-DN-93de6c3d8fbd2d47d8d5b -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 80 -j CNI-HOSTPORT-SETMARK -A CNI-DN-93de6c3d8fbd2d47d8d5b -p tcp -m tcp --dport 80 -j DNAT --to-destination <IP_ADDRESS>:8000 -A CNI-DN-93de6c3d8fbd2d47d8d5b -s <IP_ADDRESS>/12 -p tcp -m tcp --dport 443 -j CNI-HOSTPORT-SETMARK -A CNI-DN-93de6c3d8fbd2d47d8d5b -s <IP_ADDRESS>/32 -p tcp -m tcp --dport 443 -j CNI-HOSTPORT-SETMARK -A CNI-DN-93de6c3d8fbd2d47d8d5b -p tcp -m tcp --dport 443 -j DNAT --to-destination <IP_ADDRESS>:8443

Try to setup hostPort for web and websecure ports. That will create dnat rules in iptables.

Try to setup hostPort for web and websecure ports. That will create dnat rules in iptables.

@fox-md you can't simply setup hostPort... am using a service with NodePort, setting hostport need to be in pods not in service ... and it's not working in both (i've tried)
Thank you.

@fox-md you can't simply setup hostPort... am using a service with NodePort, setting hostport need to be in pods not in service ... and it's not working in both (i've tried)
Thank you.

@magixus,
My understanding is that putting hostPort into the picture creates dnat rules that help requests against ports 80 and 443 reach ingress pod. Without having hostPort, I do not quite understand what would make iptables create nat rules to route requests to ingress-controller service.

Hi @magixus,
My understanding is that putting hostPort into the picture creates dnat rules that help requests against ports 80 and 443 reach ingress pod.
[root@kubeworker01 ~]# iptables-save | grep "CNI-DN" | grep "to-destination"
-A CNI-DN-051e5bdafb630d2c22b59 -p tcp -m tcp --dport 80 -j DNAT --to-destination <IP_ADDRESS>:8000
-A CNI-DN-051e5bdafb630d2c22b59 -p tcp -m tcp --dport 443 -j DNAT --to-destination <IP_ADDRESS>:8443
Without having hostPort, I do not quite understand what would make iptables create nat rules to route requests to ingress-controller service.

To be honest I didn't understand your replay, but I can tell that I've tried setting hostPort as well a long with my configurations and it didn't work. no DNAT routing has been created unfortunately.
any way I saved my journey with a startup script as following
#!/bin/bash

#sleep 2m
TRAEFIK_IP=$(kubectl get pods -n kube-system -o wide | grep traefik | awk '{print $6}')

# check IP PREROUTING
PREROUTING_IP=$(iptables -t nat -vnL PREROUTING --line-numbers | sed '/^num\|^$\|^Chain/d' | wc -l)
if [ "$PREROUTING_IP" == 4 ] ; then
	# update IP DNAT prerouting rules
	iptables -R PREROUTING 3 -t nat -i ens160 -p tcp --dport 80 -j DNAT --to $TRAEFIK_IP:80
	iptables -R PREROUTING 4 -t nat -i ens160 -p tcp --dport 443 -j DNAT --to $TRAEFIK_IP:443
elif [ "$PREROUTING_IP" == 2 ]; then
	# create DNAT prerouting rules if they don't existe
	iptables -A PREROUTING -t nat -i ens160 -p tcp --dport 80 -j DNAT --to $TRAEFIK_IP:80
	iptables -A PREROUTING -t nat -i ens160 -p tcp --dport 443 -j DNAT --to $TRAEFIK_IP:443
fi

# check IP FORWARD
FORWARD_IP=$(iptables -vnL FORWARD --line-numbers | sed '/^num\|^$\|^Chain/d' | wc -l)
if [ "$FORWARD_IP" == 12 ] ; then
	# update IP DNAT FORWARD rules
	iptables -R FORWARD 11 -p tcp -d $TRAEFIK_IP --dport 80 -j ACCEPT
 	iptables -R FORWARD 12 -p tcp -d $TRAEFIK_IP --dport 443 -j ACCEPT
elif [ "$FORWARD_IP" == 10 ]; then
	# create DNAT FORWARD rules if they don't existe
	iptables -A FORWARD -p tcp -d $TRAEFIK_IP --dport 80 -j ACCEPT
 	iptables -A FORWARD -p tcp -d $TRAEFIK_IP --dport 443 -j ACCEPT
fi

What the script is doing is basically checking any PREROUTING and FORWARD rules and update or create them accordingly.

guys, found a very interesting workaround,
setting traefik service spec type to :  LoadBalancer
apiVersion: v1
kind: Service
metadata:
  name: traefik
  namespace: kube-system
spec:
  type: LoadBalancer

Then apply the config

if it show pending for a long time like this

just patch the service with this following command and you'll be ok :
kubectl patch svc traefik -n kube-system -p '{"spec":{"externalIPs":["<VPS-or-VM-local-IP@"}}'
you should see that SVC is getting the external IP like this

and you look back to your system, you 'll find on master node services being exposed :

guys, found a very interesting workaround,
setting traefik service spec type to :  LoadBalancer
apiVersion: v1
kind: Service
metadata:
  name: traefik
  namespace: kube-system
spec:
  type: LoadBalancer

Then apply the config

if it show pending for a long time like this

just patch the service with this following command and you'll be ok :
kubectl patch svc traefik -n kube-system -p '{"spec":{"externalIPs":["<VPS-or-VM-local-IP@"}}'
you should see that SVC is getting the external IP like this

and you look back to your system, you 'll find on master node services being exposed :

OMG --- This fixed it for me!!!

guys, found a very interesting workaround,
setting traefik service spec type to : LoadBalancer
apiVersion: v1
kind: Service
metadata:
  name: traefik
  namespace: kube-system
spec:
  type: LoadBalancer

Then apply the config

if it show pending for a long time like this

just patch the service with this following command and you'll be ok :
kubectl patch svc traefik -n kube-system -p '{"spec":{"externalIPs":["<VPS-or-VM-local-IP@"}}'
you should see that SVC is getting the external IP like this

and you look back to your system, you 'll find on master node services being exposed :

Sadly, this workaround does not work for me. Fresh install of Debian 10 (and Fedora 33). This sort of breaks the default installation process.

You shouldn't need to do that - creating the LB pods and then setting the externalIP field based on the addresses of the nodes running the pods is exactly what the servicelb controller is supposed to do. See how you've got the same IP listed twice now?

Exactly; the pods all run properly, but if the IP has been added twice it works. svclb pods run fine, bith before and after adding the IP a second time.

Yes, that is how it works. It doesn't bind to the node port directly. It binds to a random port in the pod, and the ServiceLB pod programs iptables rules to forward the traffic from the host port to the pod port. It is not expected that you will see it actually listening on the host ports.

@brandond Thanks for the insight! I naively assumed that they would just bind so I evaluated with iproute2's ss and didn't even test reachability from the outside. Works as expected now:
# Test VM@DO
root@debian-s-1vcpu-1gb-ams3-01:~# curl -sfL https://get.k3s.io | sh -
root@debian-s-1vcpu-1gb-ams3-01:~# k3s kubectl get pod -A
NAMESPACE     NAME                                      READY   STATUS              RESTARTS   AGE
kube-system   helm-install-traefik-9d7bl                0/1     ContainerCreating   0          20s
kube-system   local-path-provisioner-5ff76fc89d-slrbk   0/1     ContainerCreating   0          19s
kube-system   metrics-server-86cbb8457f-4vx7s           1/1     Running             0          19s
kube-system   coredns-854c77959c-92p5b                  0/1     Running             0          19s
# Local Linux system
[pojntfx@felixs-xps13 ~]$ curl <IP_ADDRESS>
curl: (7) Failed to connect to <IP_ADDRESS> port 80: Connection refused
# Test VM@DO
root@debian-s-1vcpu-1gb-ams3-01:~# k3s kubectl get pod -A
NAMESPACE     NAME                                      READY   STATUS      RESTARTS   AGE
kube-system   metrics-server-86cbb8457f-4vx7s           1/1     Running     0          40s
kube-system   local-path-provisioner-5ff76fc89d-slrbk   1/1     Running     0          40s
kube-system   coredns-854c77959c-92p5b                  1/1     Running     0          40s
kube-system   helm-install-traefik-9d7bl                0/1     Completed   0          41s
kube-system   traefik-6f9cbd9bd4-dmtss                  0/1     Running     0          17s
kube-system   svclb-traefik-9n4rv                       2/2     Running     0          17s
# Local Linux system
[pojntfx@felixs-xps13 ~]$ curl <IP_ADDRESS>
404 page not found

I think I was able to figure it out, at least if Calico is involved.
It essentially comes down to this: https://github.com/projectcalico/calico/issues/4842
Basically, Calico disables IP forwarding, preventing svclb from functioning the way @brandond mentions.

My solution:

Download https://docs.projectcalico.org/master/manifests/custom-resources.yaml
Add the following lines:

spec:
  calicoNetwork:
    containerIPForwarding: Enabled

Apply your custom-resources.yaml to the tigera-operator namespace
Use @magixus 's external IP patch for good measure (probably not necessary) -> https://github.com/k3s-io/k3s/issues/1414#issuecomment-770038893
In the kube-system namespace remove pods starting with svclb so they can get recreated
Profit!

You will not see the port listening in ss -tlnp because, as @brandond said, it just forwards from 80/443 to the random NodePorts using iptables.
If everything else is configured well and you attempt to connect to your cluster's external IP on ports 80/443 you should see your service :)

The trick with
kubectl patch svc traefik -n kube-system -p '{"spec":{"externalIPs":["<IP_ADDRESS>"]}}'
did it also for me (of course with a different IP). I think the main problem is, that I do not have a pod svclb-traefik-*. I installed traefik with helm. I also tried to reinstall it. But this pod never appeared.

It seems this issue still exists. After performing an update on Ubuntu 22 today networking was broken for me. I had an FTP server using node port and several services behind the build-in traefik ingress. None of it worked anymore showing the symptoms outlined in this issue.
The solutions outlined in this thread did not resolve the problem. I needed to uninstall k3s via the script, which returned the IP-Tables rules back to defaults, then reinstall k3s. Now it works again. Not the biggest of deals since I had everything encapsulated as helm charts and only run k3s on a workstation. Makes me hesitant to use k3s for production workloads though.
Would it be possible to introduce a self-healing mechanism that examines and repairs network related configuration like ip-tables upon server start? Or maybe a script / commandline switch that does this on demand without having to loose all deployed workloads?

Ubuntu 22

I have the same issue... tried uninstalling using the provided script and reinstalling again, but doesn't seem to work. Traefik listens in a random port still.

I am going to lock this, as there seems to be ongoing confusion in this thread about how ports work in Kubernetes.

The traefik process listens on the configured ports within the pod, not on the host itself. There are exceptions to this rule if the pod uses host network, but traefik does not.
The traefik service is assigned random node ports that pass traffic from the service to the pods.
The load-balancer controller pods (svclb) use hostPorts to occupy the requested service ports (80/443), and add iptables rules to forward traffic from the service ports, to the nodeport, to the pods.

If anyone has questions about configuring traefik ingress resources, please check the Traefik Community Forums, or open a new discussion thread.


Add cross-platform, host-side tool testing

Ensure that we can perform the minimal build of embedded code across Windows, macOS, and Ubuntu
Add automated tests for the pymotion-sensor library

Builds on Windows, macOS, Ubuntu
For each platform, test with Python 3.7, 3.8, and 3.9
Ensure that the library can be loaded in a Python environment

Check formatting, lint host-side Rust and Python code

Draft for testing

Draft for testing


Check for terser update (>3.16.0)

npm run build (production build) failed because terser released today v3.16.0 which is broken!
Hotfix: downgrade to 3.14.1 (see https://github.com/OpenSlides/OpenSlides/pull/4247/commits/a4fcc4312178dafb2425467c57d945add5f7d376)
Check for next terser release.

Upstream Issue:
https://github.com/webpack-contrib/terser-webpack-plugin/issues/66

seems to be solved in 8f83fc1bd51029f3f4d05d2aedef0146a9d7f00b (Feb, 20 2019)

seems to be solved in 8f83fc1 (Feb, 20 2019)

No. In current master we use a pinned version of terser in package.json ("3.16.1") instead of a "^3.16.1". We have to test if a current terser version works.

from the thread I mentioned on Feb the 3 of 2019

@afide1 Hey, its been fixed, all you need to do is update terser-webpack-plugin to v1.2.2 +

I'll give it a try later.

Terser is working just fine in angular 8.1 and 8.2


Renames reserved resource name

Fixes #253

@spuder two things:

this is a breaking change
you forgot to edit https://github.com/chef-cookbooks/iis/blob/master/resources/vdir.rb#L24

Derp, thanks for catching that.
In hindsight this pull request might be a little premature. I'm using this issue as a learning exercise.
Still needs:

Further manual testing
automated tests


incorrect function overload in defineComponent

Vue version
3.2.36
Link to minimal reproduction
https://stackblitz.com/edit/vitejs-vite-9yenlq?file=vite.config.ts
Steps to reproduce
firstly I saw the function defineComponent has such an overload

I try this way to define my component, but unfortunately, I found out that the incoming props are regarded as attrs and can not be accessed by props
What is expected?
we can get props without runtime check
What is actually happening?
incoming props are regarded as attr
System Info
No response
Any additional comments?
if it is expected, is there any option to control the inheritsAttr behavior for this kind of function call? And Can we skip the runtime props check just like the pure function component?

This is not doing what you think it's doing.its just a shortcut way to directly pass a setup function to defineComponent() - you would still be required to define props (this pattern has been tendered rather insignificant with the introduction of <script setup>)

const component = defineComponent((props) => ...)

component.props = {
  ...
}

So no, there is no way to have props without a runtime check. There is discussions i. The RFC repo concerning possible ways to enable this, but not much movement.
You can use disable inheritAttrs and  cast context.attrs, but that wont give you type hints for propsof this component when used in templates.


Add SDE Sheet solutions

🏆SDE Sheet's
📚 Love Babbar DSA Sheet
📚 Strivers SDE Sheet
➡ Folder Link

Hello there, I am ready to work on this issue. I follow Love Babbar DSA playlist so I can help in this issue. Please allow me to work upon it.

Hello @Ayon-SSP, I am ready to work on this issue. I follow Love Babbar DSA playlist so I can help in this issue. I would really appreciate it if you could assign me this issue so that can I can start contributing to this repo.
Thank you and have a great Hacktoberfest '22!

Hello @Ayon-SSP ,
I am ready to contibute in this issue as I have been following Striver's SDE Sheet and would love to help by resolving this issue. I will be glad if you could assign me this issue.
Thanking you in anticipation.

Hello @Ayon-SSP. I have genrate the PR. Kindly accept it.
I have tried to solve some questions from Love Babbar DSA sheet.
Thank You


Majority of links broken in FAQ

Description:
Majority of links broken in FAQ
https://apim.docs.wso2.com/en/latest/reference/faq/

Fixed in

https://github.com/wso2/docs-apim/pull/1432
3.1.0

https://github.com/wso2/docs-apim/pull/1433
3.0.0

https://github.com/wso2/docs-apim/pull/1434
master


Conceptual project system documentation

Conceptual documentation about what the project system is, usages, and its various terms/nouns/verbs.

Looks good to me :)


FEAT: Add Deploying ECS Event Action

The new action creates an updated ECS Task definition with a new docker tag and attaches the new task to an event target so it can be run when the event is triggered.

create a new directory for the action
add an action dot yaml file with descriptions, ids, and inputs.
add a deploy dot sh script that uses the aws cli to create a new task definition and put that task as the target for an event.

i have an open question on how versioning is handled here.
are all of our actions just on the same version, the latest tag? or is there a way we're setting all of them separately?


added x86_64 to Grpc.Core.Xamarin.csproj

try to fix https://github.com/grpc/grpc/issues/28218

@donnadionne
label: lang/C#

I'm going to close issue this since we're not going to pursuit Unity/Xamarin support in Grpc.Core anymore.

The Grpc.Core implementation is now in maintenance mode and we're only going to focus on critical and security fixes.
Supporting Unity/Xamarin simply presents too much maintenance overhead and it's also difficult to test with the test infrastructure available to us
The Unity/Xamarin support has always been classified as "experimental", so discontinuing the support shouldn't be too surprising.

See the recent update on gRPC C# for more details.
Note that in practice, running Grpc.Core on Unity/Xamarin might still be possible (there is nothing in principle that would prevent it from working), but it will be completely at your own risk and it's simply not one of the use cases the grpc team will help you with as Grpc.Core on Unity/Xamarin is now considered as "not supported" by us (but you might still be able to get help from the community).


Ht 4643 ingess and egress rules

Update the module to allow ingress and egress rules to be passed where one is using cidr_blocks, the other source_security_group_ids
See https://github.com/hashicorp/terraform/issues/26265 for why this is needed

Sorry, did not mean to push this to this repo


⚠ Bofrost.at has degraded performance

In 9c1d22f, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1322 ms

Resolved: Bofrost.at performance has improved in b2d620b.


Download Build Artifacts - macOS - Selective download fails and skips all files

Environment

Server - VSTS
Agent - Private:
Agent.OS: Darwin
Agent.Version: 2.131.0

Issue Description
Artifact download with multiple artifacts only downloads when 'Select all artifacts' is used. If I select a single artifact the tasks skips all files, even the ones of the checked artifact.
Error logs
No errors.
Failing log (Single artifact selected)
2018-04-11T14:26:58.7474290Z ==============================================================================
2018-04-11T14:26:58.7486030Z Task         : Download Build Artifacts
2018-04-11T14:26:58.7497460Z Description  : Download Build Artifacts
2018-04-11T14:26:58.7508870Z Version      : 0.131.2
2018-04-11T14:26:58.7520320Z Author       : Microsoft Corporation
2018-04-11T14:26:58.7531650Z Help         :
2018-04-11T14:26:58.7543100Z ==============================================================================
2018-04-11T14:27:00.1373720Z Linked artifacts count:  3
2018-04-11T14:27:00.1397610Z Downloading artifacts from: https://*REDACTED*.visualstudio.com//_apis/resources/Containers/*REDACTED*?itemPath=drop&isShallow=true&api-version=4.1-preview.4
2018-04-11T14:27:00.1412220Z Downloading artifacts from: https://*REDACTED*.visualstudio.com//_apis/resources/Containers/*REDACTED*?itemPath=swagger&isShallow=true&api-version=4.1-preview.4
2018-04-11T14:27:00.1426830Z Downloading artifacts from: https://*REDACTED*.visualstudio.com//_apis/resources/Containers/*REDACTED*?itemPath=migrations&isShallow=true&api-version=4.1-preview.4
2018-04-11T14:27:00.2767270Z Skipped processing item swagger/autorest.md

(...)

2018-04-11T14:27:01.2395940Z Total Files: 9, Processed: 0, Skipped: 9, Failed: 0, Download time: 1.033 secs, Download size: 0Bytes
2018-04-11T14:27:01.3092130Z Total Files: 4, Processed: 0, Skipped: 4, Failed: 0, Download time: 1.034 secs, Download size: 0Bytes

(...)

2018-04-11T14:27:30.6049460Z Total Files: 2531, Processed: 0, Skipped: 2531, Failed: 0, Download time: 3.257 secs, Download size: 0Bytes
2018-04-11T14:27:30.6493380Z Successfully downloaded artifacts to /Users/*REDACTED*/myagent/_work/r5/a/*REDACTED*

Succeeded log (All artifacts selected)
2018-04-11T13:57:58.3877070Z ##[section]Starting: Download artifact - *REDACTED*
2018-04-11T13:57:58.4151860Z ==============================================================================
2018-04-11T13:57:58.4163410Z Task         : Download Build Artifacts
2018-04-11T13:57:58.4174810Z Description  : Download Build Artifacts
2018-04-11T13:57:58.4186180Z Version      : 0.131.2
2018-04-11T13:57:58.4197530Z Author       : Microsoft Corporation
2018-04-11T13:57:58.4209120Z Help         :
2018-04-11T13:57:58.4220530Z ==============================================================================
2018-04-11T13:58:00.1785160Z Linked artifacts count:  3
2018-04-11T13:58:00.1809490Z Downloading artifacts from: https://*REDACTED*.visualstudio.com//_apis/resources/Containers/*REDACTED*?itemPath=drop&isShallow=true&api-version=4.1-preview.4
2018-04-11T13:58:00.1826180Z Downloading artifacts from: https://*REDACTED*.visualstudio.com//_apis/resources/Containers/*REDACTED*?itemPath=swagger&isShallow=true&api-version=4.1-preview.4
2018-04-11T13:58:00.1841230Z Downloading artifacts from: https://*REDACTED*.visualstudio.com//_apis/resources/Containers/*REDACTED*?itemPath=migrations&isShallow=true&api-version=4.1-preview.4
2018-04-11T13:58:00.4284980Z Downloading swagger/autorest.md to /Users/*REDACTED*/myagent/_work/r5/a/*REDACTED*/swagger/autorest.md
2018-04-11T13:58:00.4322690Z Downloaded swagger/autorest.md to /Users/*REDACTED*/myagent/_work/r5/a/*REDACTED*/swagger/autorest.md

(...)

2018-04-11T13:58:02.2525240Z Total Files: 4, Processed: 4, Skipped: 0, Failed: 0, Download time: 2.047 secs, Download size: 4044Bytes
2018-04-11T13:58:02.4157850Z Total Files: 9, Processed: 9, Skipped: 0, Failed: 0, Download time: 2.159 secs, Download size: 9310Bytes

(...)

2018-04-11T13:58:54.8340600Z Total Files: 2531, Processed: 2531, Skipped: 0, Failed: 0, Download time: 54.34 secs, Download size: 171.628MB
2018-04-11T13:58:54.9002270Z Successfully downloaded artifacts to /Users/*REDACTED*/myagent/_work/r5/a/*REDACTED*

Other information
There are two phases in the release.
The artifact is aliased.
The full release, with and without using selective artifact download works on Windows agents.

@ezuidema Thanks for reporting the issue. We have a bug where selective artifacts isn't working on linux/mac based machines we are working on the fixing it soon.

@ezuidema This issue should be fixed by now, if you are still facing this issue let us know.


Open vscode://file/ in vscode is broken on mac after upgraded to 1.32?

VSCode Version:
code --version
1.32.0
507312a3e3b34b084b467dfd983263bc7c9d87e0
x64

OS Version:
macOS High Sierra v10.13.6 (17G3025)

Steps to Reproduce:

In terminal open vscode://file/<my_file_path>
It will popup notification with error Unable to open '<my_file>': resource is not available.

Does this issue occur when all extensions are disabled?: Yes
Since I tried same url just changed vscode to vscodium and VSCodium v1.13.1 works perfectly

i got the same issue...
code --version
1.32.1
05f146c7a8f7f78e80261aa3b2a2e642586f9eb3
x64
macOS Mojave 10.14.3

@joaomoreno I debugged this and I am not 100% sure this is a regression. We end up calling ITextModelResolverService#createModelReference() with the URI vscode://... and this correctly goes into the contribution from preferences:
https://github.com/Microsoft/vscode/blob/22fdb8e2c3efb1c7f8cf0883996044ee5c7b41b1/src/vs/workbench/contrib/preferences/common/preferencesContribution.ts#L110
Which then bails out because the URI is probably not what @roblourens expects to resolve.

@bpasero This is a regression. I made a command available to test this a couple releases ago: Developer: Open URL. When I use it to open a URL in 1.31 it works. It doesn't in 1.32.

8c6e97456e260c4136dd24c1948d8fb9a0f04b43 is the first bad commit
commit 8c6e97456e260c4136dd24c1948d8fb9a0f04b43
Author: Martin Aeschlimann<EMAIL_ADDRESS>Date:   Wed Feb 6 16:56:53 2019 +0100

    IWindowService.openWindow takes IURIToOpen
:040000 040000 bbbaff84accf810921f7d3725d1d3e40721142d3 f8782f14f2f3b5899fbc9df9f10f2efa1088486e M      src

cc @aeschli


Move tests autoload config to "autoload-dev"

From getcomposer.org/doc/04-schema.md:

Classes needed to run the test suite should not be included in the main autoload rules to avoid polluting the autoloader in production and when other people use your package as a dependency.
Therefore, it is a good idea to rely on a dedicated path for your unit tests and to add it within the autoload-dev section.

Good catch! Thank you! 👍


wordWrap and (at least) readOnly properties don't seem to work

When trying this code:
<script lang="ts">
    import { onMount } from "svelte";
    import type { NSVElement, RNWindow } from "@nodegui/svelte-nodegui";
    import { Direction } from "@nodegui/nodegui";
    import fetch from "node-fetch";

    /**
     * The exact type for this is: NSVElement<RNWindow>
     * ... However, the Svelte language tools erroneously expect all bind:this values to extend HTMLElement, so
     * for now, we have to rely on reasserting the type.
     */
    let win;
    let urlWidget;
    let dataWidget;
    let jsonData="";

    async function loadPressed(){
        let dataPromise = await loadData(urlWidget.textContent);
        jsonData = JSON.stringify(dataPromise);
    }

    async function loadData(url){
        try{
            let response = await fetch(url);
            let jsonResponse = await response.json();
            return jsonResponse;
        }
        catch(error){
            console.error(error);
        }
    }

    onMount(() => {
        (window as any).win = win; // Prevent garbage collection, otherwise the window quickly disappears!
        (win as NSVElement<RNWindow>).nativeView.show();

        urlWidget.textContent = "https://reqres.in/api/products/3";

        return () => {
            delete (window as any).win;
        };
    });
</script>

<window
    bind:this={win}
    windowTitle="Seafile Share link DL">
    <view class="vertical">
        <view class="horizontal">
            <text>Share link url:</text>
            <lineEdit id="lineEdit" bind:this={urlWidget}/>
            <button text="Load" on:clicked={loadPressed}/>
        </view>
        <view>
            <text id="dataWidget" wordWrap={true} bind:this={dataWidget}>{jsonData}</text>
            <plainTextEdit readOnly={true} text={jsonData}></plainTextEdit>
        </view>
    </view>
</window>

<style>
    /*
     * CSS has a few gotchas for now.
     * 1) Some values need to be enclosed with quotes (e.g. `width: '100%';` rather than `width: 100%;`).
     *    See: https://github.com/nodegui/svelte-nodegui/issues/4
     * 2) Classes are not supported yet; they're a bit weird in Qt5.
          See: https://github.com/nodegui/svelte-nodegui/issues/6
     * 3) You can't write element-level rules like `text { color: 'red'; }`, unless they're global (not scoped).
     *    For scoped rules, you have to refer to the underlying native element, e.g. `QLabel { color: 'red'; }`.
     *    See: https://github.com/nodegui/svelte-nodegui/issues/7
     */
    .vertical{
        flex-direction: column;
    }

    .horizontal{
        flex-direction: row;
    }

    #lineEdit{
        flex: 1;
    }
</style>

the text widget does not wrap and the plainTextEdit is not readonly.

I've found the reason for the issue. Svelte is compiling the attributes from camel-case to lower-case before passing them to Svelte NodeGUI. This is something I'd thought we'd solved once and for all with the PRs to Svelte from @halfnelson @mrsauravsahu to support foreign namespaces. The Svelte NodeGUI preprocessor implicitly inserts <svelte:options namespace="foreign" /> to indicate that our host is foreign and so should not be treated as HTML. But it appears there are still some further cases where it is mistreated.
<window windowTitle="abc"/> correctly preserves casing, i.e. it results in a correct call to widget.setProps({ windowTitle: "abc" }, {}).
However, <text wordWrap={true}>abc</text> strips casing, resulting in an incorrect call to widget.setProps({ wordwrap: true }, {}).
Incidentally, <text wordWrap>abc</text> also strips casing, resulting in an incorrect call to widget.setProps({ wordwrap: "" }, {}).
I also tried <text wordWrap="abc">abc</text>, which also strips casing, resulting in an incorrect call to widget.setProps({ wordwrap: "abc" }, {}).
So it has nothing to do with the values been booleans or strings. I guess Svelte must be special-casing certain attributes from the HTML5 spec, as wordwrap and readonly.
I can't find any mentions of wordwrap in the Svelte repo, but there are some indications that readonly may be treated as a special case in some manner:

https://github.com/sveltejs/svelte/blob/c24b313b1af8c55db4fe0ce1ea689000042a2531/test/runtime/samples/attribute-boolean-case-insensitive/main.svelte#L1
https://github.com/sveltejs/svelte/blob/c24b313b1af8c55db4fe0ce1ea689000042a2531/src/compiler/compile/render_ssr/handlers/shared/boolean_attributes.ts#L23
https://github.com/sveltejs/svelte/blob/a7eff8894fac1254466b885665ada783e82e3cb8/src/compiler/compile/render_dom/wrappers/Element/Attribute.ts#L384

I'm just surprised that this is biting us when we're in a foreign namespace. Does this analysis seem plausible @halfnelson, @mrsauravsahu?

A horrible workaround for now if it's blocking you:
// BetterText.svelte
<script lang="ts">
    import type { NSVElement, RNText } from "@nodegui/svelte-nodegui";

    let ref: any;
    export let wordwrap: boolean = false;
    // Find some way to map out the other attributes you need.
    // There is probably a clever Svelte way to extend all those of RNTextProps, but I don't know how!
    $: {
        if(ref){
            /** With reference to the setTextProps() method in: src/dom/react-nodegui/src/components/Text/RNText.ts */
            (ref as NSVElement<RNText>).nativeView.setWordWrap(wordwrap);
        }
    }
</script>
<text bind:this={ref}><slot></slot></text>

And use like this:
<script lang="ts">
    import BetterText from BetterText.svelte
</script>

<BetterText wordwrap={true}>abc</BetterText>

Far from perfect, but at least it allows to set wordWrap and readOnly on components that need it :-).

Looking at the Svelte JS output of the same code in the repl (https://svelte.dev/repl/a64f21f99f3d48de992a731a76818c32?version=3.37.0)  gives us a clue
c() {
	window_1 = document.createElementNS("https://svelte.dev/docs#svelte_options", "window");
	view2 = svg_element("view");
	view0 = svg_element("view");
	text0 = svg_element("text");
//snip
        attr(text1, "wordwrap", text1_wordwrap_value = true);

The elements are being detected as and forced to SVG. There must be some code in svelte that does this which we need to skip for namespace foreign


Store rendered png's

I was thinking about storing the rendered PNG's in cassandra, but it seems that this is hard coded to store PBF's. Is that the only way you would recommend doing it?

@spalger thanks for pointing it out. Technically this is not a blocker, because you can override the headers that are returned to the client via source configuration parameters, and simply ignore the ones returned from the cassandra store. I think the config of the cassandra store in the future should allow "headers" param (or content type, etc) to customize this.


Small improve on deleting attachements

As title.

Codecov Report

Merging #3145 into master will decrease coverage by 0.02%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##           master    #3145      +/-   ##
==========================================
- Coverage   34.76%   34.74%   -0.03%
==========================================
  Files         276      276
  Lines       39948    39951       +3
==========================================
- Hits        13888    13881       -7
- Misses      24062    24074      +12
+ Partials     1998     1996       -2

Impacted Files
Coverage Δ

models/attachment.go
51.57% <57.14%> (+1.57%)
:arrow_up:

modules/indexer/repo.go
60.86% <0%> (-6.96%)
:arrow_down:

models/repo_indexer.go
50.97% <0%> (-1.95%)
:arrow_down:

models/repo_list.go
67.18% <0%> (+1.56%)
: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 03ec35e...ae1f337. Read the comment docs.

LGTM

@lafriks @ethantkoenig done.

@ethantkoenig the tests have existed in attachment_test.go which will test DeleteAttachmentsByIssue and DeleteAttachmentsByComment but that in fact will finally call DeleteAttachments.

LGTM


Add swipe gesture to exit from media view

Describe the problem that needs solving
A clear description of what the problem is. E.g. I'm always frustrated when [...]
We can only go back from an opened video viewer for example, with a back navigation command and the arrow at the top-left. It would be useful to have a swipe gesture that exits.
Describe the solution you'd like
A clear description of what you want to happen.
Either swiping from the left to right or from the bottom to top would exit from the media view.

This is now supported as part of the v3.0.0 betas, by swiping down.


tf2.0: tf.image.resize_with_pad fails with “using a tf.Tensor as a Python `bool” with tf.keras.Input

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS Mojave
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.0
Python version: 3.6
Bazel version (if compiling from source): NA
GCC/Compiler version (if compiling from source): NA
CUDA/cuDNN version: NA (CPU)
GPU model and memory: NA (CPU)

Describe the current behavior
With tensorflow 2.0, resize_with_pad does not seem to work when tf.keras.Input is given as an input, although resize works nicely.
Describe the expected behavior
There should not be an error.
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
import tensorflow as tf

# with tensorflow constant
img_arr = tf.zeros([1,100,100,3])
tf.image.resize(img_arr, [224, 224]) # works
tf.image.resize_with_pad(img_arr, 224, 224) # works

# with keras input
img_arr = tf.keras.Input(shape = (100,100,3))
tf.image.resize(img_arr, [224, 224]) # works
tf.image.resize_with_pad(img_arr, 224, 224) # doesn't work

Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
---------------------------------------------------------------------------
OperatorNotAllowedInGraphError            Traceback (most recent call last)
<ipython-input-29-aee2cbd13944> in <module>
      9 img_arr = tf.keras.Input(shape = (100,100,3))
     10 tf.image.resize(img_arr, [224, 224]) # works
---> 11 tf.image.resize_with_pad(img_arr, 224, 224) # doesn't work

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/image_ops_impl.py in resize_image_with_pad_v2(image, target_height, target_width, method, antialias)
   1472
   1473   return _resize_image_with_pad_common(image, target_height, target_width,
-> 1474                                        _resize_fn)
   1475
   1476

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/image_ops_impl.py in _resize_image_with_pad_common(image, target_height, target_width, resize_fn)
   1337       raise ValueError('\'image\' must have either 3 or 4 dimensions.')
   1338
-> 1339     assert_ops = _CheckAtLeast3DImage(image, require_static=False)
   1340     assert_ops += _assert(target_width > 0, ValueError,
   1341                           'target_width must be > 0.')

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/image_ops_impl.py in _CheckAtLeast3DImage(image, require_static)
    226         check_ops.assert_positive(
    227             array_ops.shape(image),
--> 228             ["all dims of 'image.shape' "
    229              'must be > 0.']),
    230         check_ops.assert_greater_equal(

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/check_ops.py in assert_positive(x, data, summarize, message, name)
    266           'x (%s) = ' % name, x]
    267     zero = ops.convert_to_tensor(0, dtype=x.dtype)
--> 268     return assert_less(zero, x, data=data, summarize=summarize)
    269
    270

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/check_ops.py in assert_less(x, y, data, summarize, message, name)
    865       ]
    866     condition = math_ops.reduce_all(math_ops.less(x, y))
--> 867     return control_flow_ops.Assert(condition, data, summarize=summarize)
    868
    869

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/util/tf_should_use.py in wrapped(*args, **kwargs)
    196   """
    197   def wrapped(*args, **kwargs):
--> 198     return _add_should_use_warning(fn(*args, **kwargs))
    199   return tf_decorator.make_decorator(
    200       fn, wrapped, 'should_use_result',

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/ops/control_flow_ops.py in Assert(condition, data, summarize, name)
    147   """
    148   if context.executing_eagerly():
--> 149     if not condition:
    150       xs = ops.convert_n_to_tensor(data)
    151       data_str = [_summarize_eager(x, summarize) for x in xs]

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py in __bool__(self)
    763       `TypeError`.
    764     """
--> 765     self._disallow_bool_casting()
    766
    767   def __nonzero__(self):

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py in _disallow_bool_casting(self)
    532     else:
    533       # Default: V1-style Graph execution.
--> 534       self._disallow_in_graph_mode("using a `tf.Tensor` as a Python `bool`")
    535
    536   def _disallow_iteration(self):

/anaconda3/envs/ml/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py in _disallow_in_graph_mode(self, task)
    521     raise errors.OperatorNotAllowedInGraphError(
    522         "{} is not allowed in Graph execution. Use Eager execution or decorate"
--> 523         " this function with @tf.function.".format(task))
    524
    525   def _disallow_bool_casting(self):

OperatorNotAllowedInGraphError: using a `tf.Tensor` as a Python `bool` is not allowed in Graph execution. Use Eager execution or decorate this function with @tf.function.

@kojino ,
Hi,looks like the issue is fixed in latest tf-nightly 2.1.0.dev20191117 version, Can you try running the code in the same ? kindly find the gist of colab for your reference.

Seems to work, thank you!


Reduce model_confidence softmax warning in CI Tests

Python version:
Python 3.6
Python 3.7
Operating system (windows, osx, ...):
Ubuntu
Windows
Issue:
This Issue is part of the effort to close the Issue#7738 hence to reduce the amount of warnings that are raised when running all tests in the CI. From a first investigation, it seems that this warning (UserWarning: model_confidence is set to softmax. It is recommended to try using model_confidence=linear_norm to make it easier to tune fallback thresholds.) for which the current Issue was opened, had 150 occurrences but in a latest CI run it appears in only 81 tests.
Warning (including full traceback):
2021-03-09T05:38:31.3112981Z rasa/utils/train_utils.py:428: 81 tests with warnings
2021-03-09T05:38:31.3114236Z   /home/runner/work/rasa/rasa/rasa/utils/train_utils.py:428: UserWarning: model_confidence is set to `softmax`. It is recommended to try using `model_confidence=linear_norm` to make it easier to tune fallback thresholds.
2021-03-09T05:38:31.3115429Z     category=UserWarning,

Possible Solutions:

I assume changing the model_confidence to linear_norm will eliminate the warning.
However, from the moment this description is written until this issue is handled, the recommended value of model_confidence might have changed since this depends on the latest findings from the research team. So maybe rerun the CI tests to see the latest recommendation or one of the tests below.

Command or request that led to error:

The warning can be found in any of the following CI tests log files :

1_Run Tests (ubuntu-latest, 3.6, test-non-training).txt
3_Run Tests (ubuntu-latest, 3.7, test-non-training).txt
5_Run Tests (ubuntu-latest, 3.8, test-non-training).txt
9_Run Tests (windows-latest, 3.7, test-non-training).txt

Also, the warning can be reproduced when running one of the tests below:

pytest tests/utils/test_train_utils.py::test_confidence_loss_settings
pytest tests/utils/test_train_utils.py::test_confidence_similarity_settings
pytest tests/core/test_training.py::test_training_script_with_max_history_set

Definition of Done:

The model_confidence warning appears in only the cases where it is explicitly tested for softmax.
In all the cases that the model_confidence takes a default value then this should be the recommended one.

Hi, I would like to try to solve this issue. Is anyone working on it right now?

So, I was working on it and the first idea I have to solve the warning at test_train_utils.py was to add an if statement to check when model_confidence is equal to soft_max. To avoid code duplication, I defined a function to run the _check_confidence_setting() func and it ended like this:
def test_confidence_loss_settings(
    component_config: Dict[Text, Any], raises_exception: bool
):
    component_config[SIMILARITY_TYPE] = INNER
    if component_config[MODEL_CONFIDENCE] == SOFTMAX:
        with pytest.warns(UserWarning):
            run_confidense_loss_settings(component_config, raises_exception)
    else:
        run_confidense_loss_settings(component_config, raises_exception)

def run_confidense_loss_settings(
    component_config: Dict[Text, Any], raises_exception: bool
):
    if raises_exception:
        with pytest.raises(InvalidConfigException):
            train_utils._check_confidence_setting(component_config)
    else:
        train_utils._check_confidence_setting(component_config)

I'd like to know, is it running away from the code pattern you follow? (hope no)
Also, I noticed that tests with TEDPolicy was raising the warning as well, because the policy uses sotf_max as model_confidence. The best way to solve that, in my opinion, would be changing the model_confidence of it to linear_norm, but I don't know the impact it could have... Is it a valid approach or the right would be to catch the warning of these tests as I did in the test_train_utils.py?

I tested to change the model_confidence of TEDPolicy and it broke all policies tests (I presumed something like that would happen...). So I studied a little further about that and found that most of the warning may be happening because of the TEDPolicy, as I said before, and the DIETClassifier. Both of them will be updated at 3.0 version and the softmax as confidence model will be removed, what will make the warnings disappear.
I believe the way to reduce the warnings now is to add the pytest.warns() to catch them when raised, but it may break the tests at 3.0. (Or just filters the warning at pytest.ini, but it doesn't look like an option to me).

Hey @iurisevero for your comments on this ticket! @twerkmeister any thoughts on this one?

After lots of effort trying to catch all warnings raised, I realized that was too much work for little progress and, maybe, just ignore them at pytest.ini is not a bad idea.
Some files look like it is just impossible to catch the warns, like the tests/test_validator.py, and others have a big amount of warnings, like the tests/core/policies/test_ted_policy.py which raises this warning 60 times.... Ignore them with the
filterwarnings =
    ignore:.*model_confidence is set to.*:UserWarning

felt very valid after some hours 😖

Why do I get this warning when model_confidence hasn't been set? Seems like the default should be linear_norm or this warning is displayed in error.

@iurisevero Thank you so much for your work on this one!
@rgstephens Exactly!
Based on this ticket I also see linear_norm as a replacement to cosine and inner. However it does not mention that softmax should be disallowed too so it is left in several places like here or here.
  # Model confidence to be returned during inference. Possible values -
  # 'softmax' and 'linear_norm'.
        MODEL_CONFIDENCE: SOFTMAX,

and it is also explicitly mentioned that a possible value is softmax. On the other hand there is the warning that recommends linear_norm.
Maybe someone from the research team @dakshvar22 ? can give a more accurate answer on this one. Should the model_confidence be set everywhere to linear_norm or remove/change the warning ?

We cannot set the default value of model_confidence to linear_norm in a minor release of Rasa Open Source. It's a model and API breaking change and hence can only be changed in the next major version which is Rasa 3.0

As the model_confidence cannot be changed, should the filter warning be implemented to reduce the warnings in CI tests?
I think is an alternative until the new major release.

Should be enough to use pytest.warns to assert the warnings where we expect them and fix the config in the other places, no?

Well, I tried to do it, and I failed... I couldn't fix all warnings with just pytest.warns, but I have my knowledge limitations, both in python and in Rasa. Maybe someone else can fix it.
I'll look for the changes I made and push them to Github, it may help. (Then I put the link here in the comment)

Could you open up a PR against the rasa repo and then we can help you resolving the remaining things?

Sure. I'll just undo the revert first, to recover the pytest.warns, and then I open a PR.
I don't remember how far I went in the catches, but I'll try to take a look at it on weekdays.


[move-cli] allow tests to run in a tempdir-based workspace

We have been experiencing flakiness in the move-cli tests recently,
as observed in #8917 and #8846 (although they are very rare and very
hard to reproduce locally).
The reason is some race condition between the datatest directory
scanning and the dynamically created build and storage directories
during the running of a test.
Following are some facts that should help illustrate the problem:

Almost all Move CLI tests are datatests.

When running a test in tests/A, we will create two directories,
tests/A/build and tests/A/storage, and subsequently remove them
when test A finishes.

When running test B, we will invoke the datatest::runner and one
thing the runner will do is to WalkDir over directories and files
under tests, which include tests/A, tests/B, and if A and B
runs at the same time, tests/A/build and tests/A/storage.

Now, with any luck (or bad luck), the following race condition may be
triggered

Test A fires up and creates tests/A/build
Test B fires up and the WalkDir noticed the existence of directory
tests/A/build,
Test A finishes, and removed tests/A/build
Test B now gets confused and panicked, because tests/A/build no
longer exists anymore.

Judged by the abort trace, this is what happened in the two issues
flagged by the flaky bot.
The fix is to redirect the creation of build and storage
directories outside of the path covered by the datatest::harness,
at least for CI tests.
This commit implements such a fix by redirecting the workspace dir
for a test execution into a tempfile::tempdir(). In this process, I also
refactored the trace-cov code to make it more readable.
Motivation
Fix flakiness in tests
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan

CI, especially for long term tests

It should be possible to run these tests without the CLI. Tracking input/output as streams and avoiding the use of resources files/filesystems all together.

I think this applies to most of our expected value tests (e.g., functional tests, e2e tests, prover tests, etc.) and maybe we should explore this direction more.
The Move CLI is a bit of an outliner in this sense, as the CLI explicitly tries to emulate the global storage with the filesystem (the OnDiskStateView). In the future (and this has been discussed before as I remember) we may want to support an in-memory emulation of the global storage. If this is implemented, we may avoid touching the filesystem at all.

/land


Calls to TenantModel.delete() cause issues in Citus

Example:
from django.db import models
from django_multitenant import set_current_tenant, TenantModel

class Corporation(models.Model):
    class Meta:
        db_table = 'corporation'
    pass

class Store(TenantModel):
    class Meta:
        db_table = 'store'
    corporation = models.ForeignKey(Corporation)
    isStoreOpen = models.BooleanField()
    tenant_id = 'corporation_id'

corporation = Corporation()
corporation.save()
store = Store(corporation=corporation, isStoreOpen=True)
store.save()

set_current_tenant(corporation)

Store.objects.filter(isStoreOpen=True).delete()

The SQL for the delete statement:
SELECT "store"."id",
       "store"."corporation_id",
       "store"."isStoreOpen"
FROM "store"
WHERE ("store"."corporation_id" = 2
       AND "store"."isStoreOpen" = TRUE);

DELETE
FROM "store"
WHERE "store"."id" IN (2);

ERROR:  multi-task query about to be executed

This one may be tough to fix, since the logic behind crafting DELETE queries seems to be outside of TenantQuerySet's control: https://github.com/django/django/blob/1.11.8/django/db/models/sql/subqueries.py#L48-L81

The library django-compositekey uses monkeypatching to address this issue:
https://github.com/simone/django-compositekey/blob/master/src/compositekey/db/models/sql/subqueries.py

A working fix. Can publish as a PR if it seems reasonable
# models.py
from .patch import patch_delete_queries_to_include_tenant_ids

class TenantModel(models.Model):
    def __init__(self, *args, **kwargs):
        patch_delete_queries_to_include_tenant_ids()
        super(TenantModel, self).__init__(*args, **kwargs)

from .patch import activate_delete_monkey_patch

# patch.py
import logging
from django.db.models.sql.subqueries import DeleteQuery

from .utils import get_tenant_column, get_current_tenant

logger = logging.getLogger(__name__)

def wrap_get_compiler(original_get_compiler):

    def get_compiler(obj, *args, **kwargs):
        from .models import TenantModel
        if issubclass(obj.model, TenantModel):
            current_tenant = get_current_tenant()
            if current_tenant:
                tenant_column = get_tenant_column(obj.model)
                db_table = obj.model._meta.db_table
                extra_sql = ['{table}."{column}" = %s'.format(
                    table=db_table, column=tenant_column)]
                extra_params = [current_tenant.id]
                obj.add_extra([],[],extra_sql,extra_params,[],[])
        return original_get_compiler(obj, *args, **kwargs)

    get_compiler._sign = "patched by django-multitenant"
    return get_compiler

def patch_delete_queries_to_include_tenant_ids():
    '''
    Patches the `get_compiler` method of DeleteQuery to include an additional
    filter on tenant_id for any deletions that occur while a tenant is set.

    See https://github.com/citusdata/django-multitenant/issues/15 for a more
    detailed description.
    '''
    if not hasattr(DeleteQuery.delete_batch, "_sign"):
        logger.debug("Patching DeleteQuery.get_compiler()")
        DeleteQuery.get_compiler = wrap_get_compiler(DeleteQuery.get_compiler)

Resultant sql for the same python example above
DELETE FROM "store"
WHERE ("store"."id" IN (9)
AND (store."corporation_id" = 7)
AND (store."corporation_id" = 7));


Order Asks Query Type should support multiple Ids

The API validation schema supports both single id and an array of ids as per:
https://github.com/reservoirprotocol/indexer/blob/bbfef603a849b16326ea75e955b767872cf7920f/src/api/endpoints/orders/get-orders-asks/v4.ts#L38
also querying logic supports ids arrays as per:
https://github.com/reservoirprotocol/indexer/blob/bbfef603a849b16326ea75e955b767872cf7920f/src/api/endpoints/orders/get-orders-asks/v4.ts#L247
Client side types currently do not support an array of Ids as per:
https://github.com/reservoirprotocol/reservoir-kit/blob/f65aa84145191a5942a97cefd11c055b9ce2045a/packages/sdk/src/types/api.ts#L5374

Hi, thanks for opening up a ticket! This is because the types are generated in this package and require a release to sync up with the backend api types, so it may lag behind a little bit. I've updated the types this morning so they should be up to date until we modify something in the backend api. Also added support for x-alternatives (basically parameters that are marked as having multiple alternatives to choose from like a string or an array of strings). This should land soon in our next release (either today or tomorrow).


BugFix Fix oss file location is not avaiable in iceberg hadoop catalog

Proposed changes
1, create iceberg hadoop catalog  like below:
CREATE CATALOG iceberg_catalog PROPERTIES (
"warehouse" = "s3a://xxx/xxx",
"type" = "iceberg",
"s3.secret_key" = "*XXX",
"s3.region" = "region",
"s3.endpoint" = "http://xxx.jd.local",
"s3.bucket" = "xxx-test",
"s3.access_key" = "xxxxx",
"iceberg.catalog.type" = "hadoop",
"fs.s3a.impl" = "org.apache.hadoop.fs.s3a.S3AFileSystem",
"create_time" = "2024-02-02 11:15:28.570"
);
2, run select * from iceberg_catalog.table limit 1;
will get  errCode = 2, detailMessage = Unknown file location nullnulls3a:/xxxx
expect:
OK
also need to bp to branch-2.0

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall


try fix Horovod

What does this PR do?

Fixes # (issue)
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

@tgaddair mind help why the test is failing dues to missing PL?

@Borda can you explain the issue?

@Borda can you explain the issue?

Wed Sep 16 15:12:50 2020[0]<stderr>:Traceback (most recent call last):
Wed Sep 16 15:12:50 2020[0]<stderr>:  File "/home/runner/work/pytorch-lightning/pytorch-lightning/tests/models/data/horovod/train_default_model.py", line 34, in <module>
Wed Sep 16 15:12:50 2020[0]<stderr>:    from pytorch_lightning import Trainer  # noqa: E402
Wed Sep 16 15:12:50 2020[0]<stderr>:ModuleNotFoundError: No module named 'pytorch_lightning'
Wed Sep 16 15:12:50 2020[1]<stderr>:Traceback (most recent call last):
Wed Sep 16 15:12:50 2020[1]<stderr>:  File "/home/runner/work/pytorch-lightning/pytorch-lightning/tests/models/data/horovod/train_default_model.py", line 34, in <module>
Wed Sep 16 15:12:50 2020[1]<stderr>:    from pytorch_lightning import Trainer  # noqa: E402
Wed Sep 16 15:12:50 2020[1]<stderr>:ModuleNotFoundError: No module named 'pytorch_lightning'

see: https://github.com/PyTorchLightning/pytorch-lightning/runs/1123823717

Thanks!  Looks like a syspath issue.  Does it only show up with Conda?

no, it shows for all when we install latest package versions, so the minimal versions are fine...
I have tried to freeze Horovod with horovod!=0.20 but the problem is elsewhere...

it seems that the problem is in some package combination as this version was last passing (left) and actual is failing (right)
https://www.diffchecker.com/WKPtgbwn


bad_msg_notification

Still happen ways too often.
See https://core.telegram.org/mtproto/service_messages_about_messages.


Fix the shade of purple used on the loading image

The loading page's shade of purple is different to that of the DemSausage logo.
Let's fix the colour or change the logo to a transparent PNG.

Still an issue

All fixed. It's an SVG now.


UWP parser requires "type": "Column" when it's not necessary

The following payload will break the UWP parser
{
   "type":"AdaptiveCard",
   "version":"1.0",
   "body":[
      {
         "type":"ColumnSet",
         "columns":[
            {
               "size":33,
               "items":[
                  {
                     "type":"Image",
                     "url":"https://unsplash.it/64?image=1027",
                     "size":"small",
                     "style":"person"
                  }
               ]
            },
            {
               "size":67,
               "contentVerticalAlignment":"center",
               "items":[
                  {
                     "type":"TextBlock",
                     "text":"Hi,",
                     "size":"large"
                  },
                  {
                     "type":"TextBlock",
                     "text":"MasterHip",
                     "size":"medium",
                     "isSubtle":true
                  }
               ]
            }
         ]
      }
   ]
}

It breaks simply because each column item doesn't have "type": "Column" specified which is redundant and unnecessary, since ColumnSet's column property is explicitly an array of Column type... the Web visualizer doesn't break on this.

According to http://adaptivecards.io/documentation/#column. The type property is required.

Didn't mean to close.

Adding Schema label for further review. Simpliifying this seems like a good idea.

My vote is that we keep the Type property required for the time being. It makes readability of a large payload slightly easier

Why not just use the Type property for the samples, but make the property itself optional? Who cares what devs are sending when they programmatically create their payloads. Might as well allow them to save space by not providing properties that are meaningless except when visually viewing the payload itself.

If we think we could have a different type of column in the future, then I vote for "type" being required. Otherwise, omitting "type" when the type is implicit is a good simplification. We don't have "type": "Fact" for a fact in a FactSet for instance.

@anbare I notice the contentVerticalAlignment property in the payload above. Is it a proposed new feature?

@dclaux  The new height spacing model that we recently added solves requests for being able to center content vertically inside a column. It could be a nice addition to have a contentVerticalAlignment property so you don't have to add two empty elements to achieve the vertical centering of some content inside a column, but it's not technically required.

@anbare got it, thanks.

DECISION: Any *Set that takes on a single item type, the type will be implicit if left out.
ImageSet, FactSet, ColumnSet, should all not require children type properties.

[ ] TypeScript
[ ] UWP
[ ] Android
[ ] iOS
[ ] .NET

@anbare can you confirm this is fixed in .NET now? There's a test payload for it
~samples\Tests\ColumnSet.ImplicitColumnType.json

It's very possible that my changes actually broke that scenario, since as part of adding support for parsing the Adaptive Card I had to ensure it requires the "type": "AdaptiveCard" to be present, and I simply made the "type" property required in the shared Element class.
I'll check it out

All works properly.


STOP DELETING MY ISSUES I HAVE ERROR 401 HELPPPPPPP

@zacharee I understand it's not on your side, but can you give a comment about this?

command line samloader actually works at the same time


Crashes when using X Forwarding

Issue Description
First off I am aware that X Forwarding is not officially supported, but given issues I am encountering when trying to connect with a client to a server on a different machine I am using this as a workaround. Will try to debug the other issues more and potentially open an issue for them too.
This issue can be worked around too if being careful so it is mostly just annoying.
Reproduction Steps

Start King Phisher on Server
Login to machine with SSH X Forwarding (ssh kp-host -X or in my case vagrant ssh -- -X)
Start the King Phisher Client on that host, the window should appear on the X Server of the machine that connected to the KP Host
In any field, for example the host/sshuser/sshpass in the connection dialog, press backspace when there are no letters left to remove, or move the cursor to the left/right when already at the left/right end of the field

Environment Details

Host OS: Ubuntu 18.04 LTS (ubuntu/bionic64 from vagrant)
KingPhisherServer Version: 1.12.0-beta (rev: cd3f42f3a545)
The machine that is originating the SSH connection and rendering the actual window is a current Arch Linux
Error Details / Stack Trace

The client runs with -L DEBUG but because it crashes instantly it cant log anything and the only thing that is shown on stdout after trigger the crash is:
(KingPhisher:3259): Gdk-ERROR **: 13:28:36.975: The program 'KingPhisher' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadAccess (attempt to access private resource denied)'.
  (Details: serial 1736 error_code 10 request_code 104 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Trace/breakpoint trap (core dumped)

Sorry but we don't support X11 forwarding. You need to install the King Phisher client on your system. We offer a Windows Build and there's a version for OS X via docker.

Fair enough, ran into some connection issues with that setup so I will write up an issue for those soon. The thing that confused me is that X forwarding should just work and that this is a pretty hard crash so maybe this issue lies outside of king phisher.


Documentation on libdexterity.so

I know it's been a while since this project has been touched but while it's being a side result of the code: Is it possible to get something like a usage example or API documentation on libdexterity?
I was looking for a Dex-Parser in C and it was the closest I got, but I am having a hard time trying to use the lib for a project.
Thanks in advance!

I believe your best option is to get the examples form python code. The mapping from C to python is 1:1.  The file dx/dxlib.py gives you the mapping from C to python, so you can check there how the python code is being converted to C. The port should be straight forward.
Let me know if you need help with that. It's been a while since I last worked on this, I may need to refresh my memory... ;)

Thanks, after spending a few more hours on the Dex-Format I noticed that the code is pretty self-explanatory as soon as one knows what it does.
I guess the Macros threw me off a bit ^^"


[Candidate 1v1 Winding River Revised ZH v1] Houses cannot shoot in certain directions and/or damage themselves

Observed behavior
Houses cannot shoot in certain directions and/or damage themselves. I have not tested each house. But at first sight there is a lot wrong and room to optimize.
Expected behavior
Houses are well setup soldiers can shoot in all directions. They never damage the house when shooting out of it.
Screenshots
1. House was destroyed when shooting north west

2. Only one of 10 soldiers shoots in this direction

3. No soldier can shoot in this direction (on terrain)

4. No soldier can shoot in this direction (on terrain)

5. Rockets can hit terrain when shooting in this direction

6. No soldier can shoot in this direction (on terrain)

7. No soldier can shoot in this direction (on terrain)

8. Only one of 10 soldiers shoots in this direction

9. Only one of 10 soldiers shoots in this direction

10. This house can damage itself when shooting north east

11. This house has troubles shooting south (on terrain) over the elevated tracks

12. This house has troubles shooting east (on terrain) over the elevated tracks

13. This house is destroyed when shooting north east (on terrain)

Houses near train tracks work good now.
There still is one hut that can self destruct:

The removed houses at all the beaches leave a void. Beaches look odd now. Perhaps do not remove huts and houses, but just make them not usable?

Making unusable confuses players.
I'll make it something else and make them look better


What to do if the node on which the fluentd runs is down?

A new pod will not be able to start on another node due to the fact that  PV is not available
How to get around this situation?

If the Node will come up soon you can simply wait for it and the fluentbits will buffer until.  However the logs in the buffer will stay there until a Node comes up with proper zone to be able to remount the PVC.


Separate port config options

Summary

New configuration options - port and ssl_port
Port is no longer specified as part of host
Configuration wizard prompts for port after asking for host IP and ssl_port only if SSL is enabled
Running a plain (non-ssl) server uses port while SSL mode uses ssl_port

Testing Steps

Run start in a directory with no config file
Specify host IP (no port)
Specify non-ssl port when prompted
Select "y" when asked to enable SSL
Specify ssl port when prompted
Run proxy in ssl mode, confirm that SSL port is in use
Run proxy in non-ssl mode, confirm that non-ssl port is in use
Note: I have not tested configure with a config that does not contain port or ssl_port already, but it should work

Fixes #18

The configuration sequence always loads the settings from the defaults file before overriding them with config file settings, so leaving entries out of the config file just uses the default values for those settings.  So you are right there's no need to worry about missing entries in a config file.  Going to merge without further testing.


use ANY operator instead of IN internally

to support more than 1k elements.
And extended usage of the ANY operator to query for array literal ( column = ANY ([1,2,3]) ).

otherwise ack


InputChip form reset behaviour

Current Behavior
When you have an InputChip component with a required property and for example add the tag 'strawberry' to it and then submit the form, the input will be cleared but the strawberry tag remains. This in and of itself isn't an issue but then when you try to submit the form again (with the strawberry tag already added from before last submit) the form wil not submit because we haven't filled anything in the inputchip yet because we have a 'required' tag on it. To fix this currently you need to remove the tag and add it again.
Reproduction / Steps To Reproduce

Import a InputChip component in your html
Surround it with a form that can be submitted
Add use:enhance to the form (no callback needed for repro)
Add the required tag to the InputChip component
Add the name atrribute to the InputChip (what name is irrelevant)
Add any chip like 'strawberry' to the InputChip component
Submit the form
Observe the input chip stays even though other inputs like text, number, etc would reset normally
Try to submit again, it will fail due to the InputChip not having a value even though it does

Picture:

Anything else?
I suggest you have an event listener that listens to its parent form with this: https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset_event when that event fires you should clear the tags from the InputChip internally so that not only the input but also the tags get cleared on a form submission

https://www.skeleton.dev/blog/component-form-handling -> Resetting defaults
Currently, it's not a bug, it's working as intended.
We might be able to come up with a reset that sets it to the preferred default, but our current way is to leave this in the hands of the developer.

https://www.skeleton.dev/blog/component-form-handling -> Resetting defaults Currently, it's not a bug, it's working as intended. We might be able to come up with a reset that sets it to the preferred default, but our current way is to leave this in the hands of the developer.

Surely its not intended behaviour to clear value's inside the html selects but keep them in the tags, that just creates an invalidate state, I suggest either keep both or remove both

Clearing the html input is sadly a default that I don't know how to override.
I haven't thought much about it, but I currently don't have a clear picture on how to figure out the (correct) parent Form element to attach the listener to, either.
Happy for suggestions if you have them!

thanks for the info, I'll look into a solution/suggestion myself


2 sensors for the grid

Hi, in my setup i have 2 different sensors that define the grid:

sensor.power_consumption
sensor.power_production

how would i use this card with the 2 sensors?

Hey @Cereal2nd 👋
So i assume that the first one is for the power pulled from the grid and the later ist for power supplied to the grid. Atm there unfortunately isn't a option for this to solve it with one item. I could look into on what would be agood way to implement it but i have quite alot to do atm regarding the visual editor.
One option for you might be setting up 2 different items:
entities:
  - grid:
      entity: sensor.power_consumption
  - consumer:
      entity: sensor.power_production
      invert-value: true
      icon: mdi:transmission-tower
      name: grid

If however power consumption is the power consumption of the house, then it would just be:
entities:
  - grid:
      entity: sensor.power_production
  - home:
      entity: sensor.power_consumption
      invert-value: true

If you can give me more specific info i could look into a better way.

This solution i used for the last couple of days, but thats not the real solution.
sensor.power_consumption = the value we pull from the grid, if the house is using grid power, in this case sensor.power_production will always be 0
if we deliver to the grid
sensor.power_consumption will always be 0
sensor.power_production will the value we deliver to the grid
so the value used for th grid would be:
sensor.power_production - sensor.power_consumption

Good Evening @Cereal2nd ,
Just to give you a update. I thought about it and it kinda is a edge case and i don't have the time to implement it for now. If more people raise this issue, i will of course reconsider this.
I can however offer you a quick fix using template_sensors
sensor:
  - platform: template
    sensors:
      power_home:
        unit_of_measurement: 'W'
        value_template: >-
          {% set consumption = states('sensor.power_consumption') |int %}
          {% if consumption > 0 %} {{ consumption * -1 }}
          {% else %} {{ states('sensor.power_production') }}
          {% endif %}

Take Care! 👍

Thanks, that indeed solves it, thanks for the sugestion :)
some small fixes in the templates (for reference later)
{% if states('sensor.power_consumption')|float > 0 %}   {{ states('sensor.power_consumption')|float * -1 }} {% else %}   {{ states('sensor.power_production')|float }} {% endif %}


bug in slick dots

hey when we switch swiping from slick dots to slick list or vice versa, it shows 2 slick dots activated ( black color )

In autoplay mode, if one dot is clicked by the user then it's showing as active always. So it will show two active dots.

I'm experiencing the same problem.

Duplicate of #1432


import type isn't valid in my typescript set up

https://github.com/Vizzuality/front-end-scaffold/blob/9f69501e9c6b1417693a548608ce597c334768d2/pages/_app.tsx#L2

@davidsingal ☝

It's not related to your Typescript setup. It seems a conflict with the Prettier plugin in your Visual Code. @pablopareja Do you think makes sense to add a prettier config file??

@davidsingal Oh I see 👍
That'd be useful at least for me :)


Show all slides in back office

Questions
Answers

Description?
In back office we should show all slides, even those without images

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes https://github.com/PrestaShop/PrestaShop/issues/35704

Sponsor company
Your company or customer's name goes here (if applicable).

How to test?
Follow instructions from the issue.

@florine2623 change the language, if you don't add an image for w given language, slide is hidden not to show broken image


Update migration guide for v13

There were some more reports regarding breaking changes in subscription related configuration, so I added them to the guide.

Thank you @tobias-tengler


Update Annotation for Mice

This is the Updated Annotation for m33

Thi merge combines the annotation for the mice to the main one.


Fix the proto Include paths

The generated code needs to be in the uprotocol namespace folder structure for clarity however the protos root was the uprotocol folder so generated code was missing the uprotocol folder. This change fixes the protos and cleans up the build to still work and validate the build/changes.
#161

This has been combined with the existing PR #161


ADC cannot read from a Pin object.

Hello, this is a great project. When trying to perform the Adc.read method on a Pin<Analog>  object, I receive the following error:
the trait bound `arduino_uno::atmega328p_hal::port::Pin<arduino_uno::atmega328p_hal::port::mode::Analog>: embedded_hal::adc::Channel<arduino_uno::adc::Adc>` is not satisfied
required because of the requirements on the impl of `arduino_uno::prelude::_embedded_hal_adc_OneShot<arduino_uno::adc::Adc, _, arduino_uno::atmega328p_hal::port::Pin<arduino_uno::atmega328p_hal::port::mode::Analog>>` for `arduino_uno::adc::Adc` rustc(E0277)

which cleaned up for you benefit becomes:
the trait bound `Pin<Analog>: Channel<Adc>` is not satisfied
required because of the requirements on the impl of `OneShot<Adc, _, Pin<Analog>>` for `Adc` rustc(E0277)

I believe that this just means that the downgraded/generic Pin<Analog> object  needs this OneShot trait implemented? It's a little hard to figure out what is and isn't implemented with all of the procedural macros.

Here is a minimal reproducible example:
#![no_std]
#![no_main]
extern crate panic_halt;
use arduino_uno::prelude::*;
use nb;

#[arduino_uno::entry]
fn main() -> ! {
    let peripherals = arduino_uno::Peripherals::take().unwrap();
    let mut pins = arduino_uno::Pins::new(
        peripherals.PORTB, peripherals.PORTC, peripherals.PORTD
    );

    let mut adc = arduino_uno::adc::Adc::new(
        peripherals.ADC, arduino_uno::adc::AdcSettings::default()
    );
    let analog_pin = pins.a0.into_analog_input(&mut adc).downgrade();
    let val: u16 = nb::block!(adc.read(&mut analog_pin)).void_unwrap();
    loop {}
}

From what I can tell, this is not possible to implement due to limitations in embedded-hal.  The OneShot trait itself would be easy enough (just delegate to the correct port variant), but OneShot has a bound on Channel, which isn't implementable for the generic Pin, see: https://github.com/rust-embedded/embedded-hal/issues/110.  It looks like there was buy-in a year and a half ago to change that API, but there's been no movement since then.

Correction: there has been movement in the API, but not in a direction that supports the usage.  Ahead of an imminent 1.0 release, the channel() associated function has been removed entirely in favor of an associated constant.

We will address this issue when https://github.com/rust-embedded/embedded-hal/pull/242 is merged and this project migrates to embedded-hal version 1.0.0.

On the next branch we now have a "solution" to this.  Check the mega2560-adc example: https://github.com/Rahix/avr-hal/blob/next/examples/arduino-mega2560/src/bin/mega2560-adc.rs

Is there any workaround for this until the next branch becomes more stable?

@davystrong: I would consider the next branch just as stable (or unstable) as master at this point.  So if you need this right now, I would suggest just switching to the next branch already.  But of course you'll need to refactor your code quite a bit to work with the new design.

Ok, thanks, I'll try that.


Metrics values are cached/Persisted

HI,
I am trying to tap Hystrix metrics data using servo and publish into a queue for further processing.
However there is weird behavior observed ie: after the call via hystrix stopped despite of that HystrixMetrixServoPublisher publishes the data and PollRunnable polls and finds the metrics  [inside update(List lst) of BaseMetricObserver class)] (though no update/call being made via hystrix). For me it looks like data is being cached/persisted somewhere.
Any help would be deeply appreciated.
@mattrjacobs

I don't think I follow.  For commands, the HystrixCommandMetrics object is passed to your metrics handler.  That object has 2 flavors of method: rolling metrics and cumulative metrics.  Rolling metrics track counters/latency over a rolling window of time and cumulative metrics track counters since the JVM start.
What's the specific behavior you're seeing, and what do you expect to see?

@mattrjacobs : We are using Hystrix_servo_metrics publisher and persisting those metrices to a backend. What we observed that even though we stopped making calls to backends via Hystrix, we continue to receive same set of metrices in Update method of MetricObserver( present in servo-core) with different time stamps.
Ie: Same data is being pushed over and over again with each poller run.

What is the specific metrics that you're pushing out?  For cumulative values, those never lose data, so I would expect them to stay the same even with no traffic.  I would expect rolling metrics to drop to 0 some period of time (the window size) after traffic dissipates.

@mattrjacobs : I am pulling out following metrics. Its a mixture of both rolling and cumulative. However, May I know the reason behind cumulative data to be present even after call drops to zero.
For command:
propertyValue_circuitBreakerRequestVolumeThreshold": 4,
"latencyExecute_percentile_25": 0,
"countExceptionsThrown": 0,
"countEmit": 0,
"countResponsesFromCache": 0,
"propertyValue_metricsRollingPercentileEnabled": true,
"countCollapsedRequests": 0,
"rollingCountBadRequests": 0,
"propertyValue_executionIsolationStrategy": "THREAD",
"rollingCountFailure": 0,
"countTimeout": 0,
"countShortCircuited": 0,
"rollingCountSemaphoreRejected": 0,
"propertyValue_rollingStatisticalWindowInMilliseconds": 10000,
"rollingCountCollapsedRequests": 0,
"rollingCountShortCircuited": 0,
"latencyExecute_percentile_75": 0,
"rollingCountEmit": 0,
"countFallbackRejection": 0,
"latencyTotal_percentile_5": 0,
"propertyValue_executionIsolationSemaphoreMaxConcurrentRequests": 10,
"errorPercentage": 0,
"countFailure": 0,
"executionSemaphorePermitsInUse": 0,
"latencyTotal_percentile_75": 0,
"propertyValue_requestCacheEnabled": true,
"rollingCountFallbackRejection": 0,
"propertyValue_requestLogEnabled": true,
"currentTime":<PHONE_NUMBER>215,
"rollingCountFallbackEmit": 0,
"commandGroup": "",
"rollingCountSuccess": 10,
"propertyValue_circuitBreakerErrorThresholdPercentage": 51,
"propertyValue_circuitBreakerForceClosed": false,
"countThreadPoolRejected": 0,
"propertyValue_executionTimeoutInMilliseconds": 4000,
"countSuccess": 10,
"rollingCountFallbackFailure": 0,
"rollingCountFallbackSuccess": 0,
"latencyTotal_percentile_25": 0,
"countSemaphoreRejected": 0,
"latencyExecute_percentile_5": 0,
"propertyValue_circuitBreakerForceOpen": false,
"latencyTotal_mean": 0,
"rollingCountResponsesFromCache": 0,
"rollingCountTimeout": 0,
"latencyExecute_percentile_995": 0,
"rollingCountExceptionsThrown": 0,
"countFallbackEmit": 0,
"countFallbackFailure": 0,
"latencyExecute_mean": 0,
"isCircuitBreakerOpen": false,
"latencyExecute_percentile_99": 0,
"latencyTotal_percentile_995": 0,
"propertyValue_circuitBreakerSleepWindowInMilliseconds": 2000,
"latencyTotal_percentile_99": 0,
"latencyTotal_percentile_50": 0,
"rollingCountThreadPoolRejected": 0,
"latencyExecute_percentile_90": 0,
"latencyTotal_percentile_90": 0,
"countFallbackSuccess": 0,
"latencyExecute_percentile_50": 0,
"propertyValue_fallbackIsolationSemaphoreMaxConcurrentRequests": 10,
"countBadRequests": 0,
"propertyValue_executionIsolationThreadTimeoutInMilliseconds":
For threadpool:
"queueSize": 0,
"largestPoolSize": ,
"propertyValue_maxQueueSize": ,
"currentTime":,
"propertyValue_keepAliveTimeInMinutes": ,
"threadActiveCount": ,
"rollingMaxActiveThreads": ,
"propertyValue_corePoolSize": ,
"name": "",
"rollingCountCommandsRejected": ,
"totalTaskCount": 10,
"completedTaskCount": 10,
"propertyValue_queueSizeRejectionThreshold": 70,
"countThreadsExecuted": 10,
"rollingCountThreadsExecuted": 10

The window for rolling is a bounded amount of time (60s is the default).  The window for cumulative is infinite - it starts when the JVM starts and goes until the JVM stops.  Therefore, traffic leaving will not increase cumulative metrics anymore, just leave them at their current values.  Cumulative counters cannot go down.

Can't we reduce window for cumulative count as well? @mattrjacobs

Some metric systems use cumulative metrics and then back out what the rolling values are when displaying time-series.  If you don't want cumulative metrics, then you should use rolling metrics and set the window to your satisfaction.


[Search] Highlight search input in results

Current behavior
The search results are displayed plainly
Expected behavior
Within the search results, highlight the text which the user entered as a search

:+1:

@pierbrisson it will be implemented in v3.x.x on focus, in focus-search lib.
it should be possible to use this lib in your project.
https://github.com/get-focus/focus-search/issues/31

This issue was moved to get-focus/focus-search#45

will be done in v3 http://github.com/get-focus/focus-search


Looking for HELP!

I really love this plugin! However, I'm now facing a big problem.
I have already installed the extension (Auto-PS-SD-Plugin) by URL, but after I opened my PS2023, I got this:

I am very sure that I have already Install it, and I have already restarted the WEBUI:

Because of this, I'm not able to use inpaint and outpaint, making me suffer. If any hero has any suggestions or solutions, I cannot be more grateful.

Edit the "webui-user.bat" in automatic1111 change this line,“set COMMANDLINE_ARGS= --api”,Did you forget to revise it?

This issue seems to be affecting some users from China. The reason is that when you install the plugin from the Automation extension tab, it installs from a mirror website called GitCode. This site has a non-official version of the plugin that is 10 months out date.”
Try these steps to install the extension manually from outside Auto1111 webui:

navigate to the extension folder in Automatic1111
delete Auto-Photoshop-StableDiffusion-Plugin folder
open command line from the extension folder

https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin/assets/7842232/fd78dec8-cd76-444d-a291-faa7fa540639

copy and paste the following:
git clone https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin.git

5) restart automatic1111 webui


Referenced Template is not in store

There's no Power Automate template named "When a dataflow refresh completes, output status into CDS entity".. as referenced by the document.
Not sure if the Template needs to be restored or the document needs to remove the reference to it.

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

ID: 664fcb9a-1542-c9f1-a76a-fe57a3afbbdd
Version Independent ID: 0c37c598-889a-4c2f-0da9-b638006b0d1f
Content: Load data into a Dataverse table and build a dataflows monitoring report with Power BI
Content Source: powerquery-docs/dataflows/load-dataflow-metadata-into-dataverse-table.md
Service: powerquery
GitHub Login: @miquelladeboer
Microsoft Alias: mideboer

Hi @mscottsewell -
Thanks for your feedback. The documentation has been fixed and updated.


Dead link in Support section of README

In the Support section of the README, the text "in the Explorers Hub" is linked with the following URL:
https://discuss.newrelic.com/t/new-relic-lambda-extension/111715
When I visit this URL, despite being logged in, I get the following error:

Sorry, you don't have access to that topic!

I am however able to access other threads, such as this one.
https://discuss.newrelic.com/t/problems-setting-up-serverless-monitoring-lambda-layer/122424
Is it possible the thread linked in the README no longer exists?

Thanks, @elazar! That's an oversight on our part. We created that topic as internal only before we released, and it looks like we forgot to make it public. I'll make sure that gets taken care of.

Thanks, @elazar! That's an oversight on our part. We created that topic as internal only before we released, and it looks like we forgot to make it public. I'll make sure that gets taken care of.

Ok, that should be fixed now. That topic is no longer internal-only.

Ok, that should be fixed now. That topic is no longer internal-only.


ssl certificate unknown

Environment

OS:  centos7
Erlang/OTP:
EMQ: 2.2.0

Description
[error] SSL: certify: ssl_alert.erl:88:Fatal error: certificate unknown

@bihackers Please provide your ssl configuration and client connection code.


Update icons for views (everywhere)

Since we have updated the icons for views in the left sidebar, we should also make sure we're consistently using those icons everywhere in the app.
Places I'm aware of that will need to be updated (but we should grep to see if there are more):

Top bar

Help center

@karlstolley Are you the right owner for this? I don't think it's urgent, but we should make sure it gets done for 8.0.

Yes, I'll take responsibility for this. Hopefully the icon replacements will lend themselves to alignment tuning and layout modernization, too, where it's necessary (and not requiring a massive rewrite).

@drrosa Could you check whether the help center icons need to be fixed up, or if this issue has been resolved?

The top-bar components of this were fixed in #27773; but the help center work remains.

@alya @karlstolley I think we already updated the help center icons in #27339.

I double-checked, but didn't find any help docs where the icons for views need to be updated.
(I noticed other icons needed to be updated though so I put up #28007)