Globalnet enabled, but GN Pods running on one cluster only

On Submariner 0.7 deployed on Cluster A (AWS) and Cluster B (OSP) - with globalnet enabled - the GN pods were started only on Cluster B, but not on A.

$ subctl deploy-broker  --service-discovery --kubecontext nmanos-cluster-a --globalnet

 • Deploying broker  ...
 ✓ Deploying broker
 • Creating broker-info.subm file  ...
 ✓ Creating broker-info.subm file
 ✓ Backed up previous broker-info.subm to broker-info.subm.2020-10-08T17_04_36+03_00
 ⚠ Reusing IPsec PSK from existing broker-info.subm

$ subctl join   ./broker-info.subm    --ikeport 501 --nattport 4501 --version devel --enable-pod-debugging --ipsec-debug

https://api.nmanos-cluster-a.devcluster.openshift.com:6443
* There are 1 labeled nodes in the cluster:
  - ip-10-166-45-241.us-west-1.compute.internal
 • Discovering network details  ...
    Discovered network details:
        Network plugin:  OpenShiftSDN
        Service CIDRs:   [<IP_ADDRESS>/16]
        Cluster CIDRs:   [<IP_ADDRESS>/14]
 ✓ Discovering network details
 • Discovering multi cluster details  ...
 • Validating Globalnet configurations  ...
 ✓ Validating Globalnet configurations
 • Assigning Globalnet IPs  ...
 ✓ Assigning Globalnet IPs
 ✓ Allocated GlobalCIDR: <IP_ADDRESS>/19
 ✓ Discovering multi cluster details
 • Deploying the Submariner operator  ...
 ✓ Deploying the Submariner operator
 ✓ Created operator CRDs
 ✓ Created operator namespace: submariner-operator
 ✓ Created operator service account and role
 ✓ Created lighthouse service account and role
 ✓ Created Lighthouse service accounts and roles
 ✓ Deployed the operator successfully
 • Creating SA for cluster  ...
 ✓ Creating SA for cluster
 • Deploying Submariner  ...
 ✓ Deploying Submariner
 ✓ Submariner is up and running

$ subctl join   ./broker-info.subm    --ikeport 501 --nattport 4501 --version devel --enable-pod-debugging --ipsec-debug

https://api.nmanos-cluster-a.devcluster.openshift.com:6443
* There are 1 labeled nodes in the cluster:
  - default-cl1-k7hcq-worker-g2cnf
 • Discovering network details  ...
    Discovered network details:
        Network plugin:  OpenShiftSDN
        Service CIDRs:   [<IP_ADDRESS>/16]
        Cluster CIDRs:   [<IP_ADDRESS>/14]
 ✓ Discovering network details
 • Discovering multi cluster details  ...
 • Validating Globalnet configurations  ...
 ✓ Validating Globalnet configurations
 • Assigning Globalnet IPs  ...
 ✓ Assigning Globalnet IPs
 ✓ Allocated GlobalCIDR: <IP_ADDRESS>/19
 ✓ Discovering multi cluster details
 • Deploying the Submariner operator  ...
 ✓ Deploying the Submariner operator
 ✓ Created operator CRDs
 ✓ Created operator namespace: submariner-operator
 ✓ Created operator service account and role
 ✓ Created lighthouse service account and role
 ✓ Created Lighthouse service accounts and roles
 ✓ Deployed the operator successfully
 • Creating SA for cluster  ...
 ✓ Creating SA for cluster
 • Deploying Submariner  ...
 ✓ Deploying Submariner
 ✓ Submariner is up and running

############################## Printing Submariner logs on nmanos-cluster-a ##############################
(conda-test) /mnt/skynet-data/ocp-install/GOBIN/oc get all -n submariner-operator
NAME                                                 READY   STATUS    RESTARTS   AGE
pod/submariner-gateway-75tk4                         1/1     Running   0          2m36s
pod/submariner-lighthouse-agent-67d8547799-9npmp     1/1     Running   0          2m35s
pod/submariner-lighthouse-coredns-69b9d5b46f-654md   1/1     Running   0          2m34s
pod/submariner-lighthouse-coredns-69b9d5b46f-vlv9m   1/1     Running   0          2m34s
pod/submariner-operator-cfc8f4555-gcdm9              1/1     Running   1          3m15s
pod/submariner-routeagent-fbg2b                      1/1     Running   0          2m35s
pod/submariner-routeagent-jjm7d                      1/1     Running   0          2m35s
pod/submariner-routeagent-n6zkm                      1/1     Running   0          2m35s
pod/submariner-routeagent-nmh2b                      1/1     Running   0          2m35s
pod/submariner-routeagent-sgszb                      1/1     Running   0          2m35s
pod/submariner-routeagent-t9569                      1/1     Running   0          2m35s
pod/submariner-routeagent-wwtsh                      1/1     Running   0          2m35s

NAME                                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
service/submariner-lighthouse-coredns   ClusterIP   <IP_ADDRESS>    <none>        53/UDP              2m34s
service/submariner-operator-metrics     ClusterIP   <IP_ADDRESS>   <none>        8383/TCP,8686/TCP   2m57s

NAME                                   DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                AGE
daemonset.apps/submariner-gateway      1         1         1       1            1           submariner.io/gateway=true   2m36s
daemonset.apps/submariner-globalnet    0         0         0       0            0           submariner.io/gateway=true   2m35s
daemonset.apps/submariner-routeagent   7         7         7       7            7           <none>                       2m35s

NAME                                            READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/submariner-lighthouse-agent     1/1     1            1           2m35s
deployment.apps/submariner-lighthouse-coredns   2/2     2            2           2m35s
deployment.apps/submariner-operator             1/1     1            1           3m16s

NAME                                                       DESIRED   CURRENT   READY   AGE
replicaset.apps/submariner-lighthouse-agent-67d8547799     1         1         1       2m35s
replicaset.apps/submariner-lighthouse-coredns-69b9d5b46f   2         2         2       2m35s
replicaset.apps/submariner-operator-cfc8f4555              1         1         1       3m16s
(conda-test) /mnt/skynet-data/ocp-install/GOBIN/oc describe cm -n openshift-dns
Name:         dns-default
Namespace:    openshift-dns
Labels:       dns.operator.openshift.io/owning-dns=default
Annotations:  <none>

Data
====
Corefile:
----
# lighthouse
clusterset.local:5353 {
    forward . <IP_ADDRESS>
}
.:5353 {
    errors
    health
    kubernetes cluster.local in-addr.arpa ip6.arpa {
        pods insecure
        upstream
        fallthrough in-addr.arpa ip6.arpa
    }
    prometheus :9153
    forward . /etc/resolv.conf {
        policy sequential
    }
    cache 30
    reload
}

Events:  <none>
(conda-test) /mnt/skynet-data/ocp-install/GOBIN/oc get pods -n submariner-operator --show-labels
NAME                                             READY   STATUS    RESTARTS   AGE     LABELS
submariner-gateway-75tk4                         1/1     Running   0          2m39s   app=submariner-engine,controller-revision-hash=d74b458f5,pod-template-generation=1
submariner-lighthouse-agent-67d8547799-9npmp     1/1     Running   0          2m38s   app=submariner-lighthouse-agent,component=submariner-lighthouse,pod-template-hash=67d8547799
submariner-lighthouse-coredns-69b9d5b46f-654md   1/1     Running   0          2m37s   app=submariner-lighthouse-coredns,component=submariner-lighthouse,pod-template-hash=69b9d5b46f
submariner-lighthouse-coredns-69b9d5b46f-vlv9m   1/1     Running   0          2m37s   app=submariner-lighthouse-coredns,component=submariner-lighthouse,pod-template-hash=69b9d5b46f
submariner-operator-cfc8f4555-gcdm9              1/1     Running   1          3m18s   name=submariner-operator,pod-template-hash=cfc8f4555
submariner-routeagent-fbg2b                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
submariner-routeagent-jjm7d                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
submariner-routeagent-n6zkm                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
submariner-routeagent-nmh2b                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
submariner-routeagent-sgszb                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
submariner-routeagent-t9569                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
submariner-routeagent-wwtsh                      1/1     Running   0          2m38s   app=submariner-routeagent,component=routeagent,controller-revision-hash=56d76b4db7,pod-template-generation=1
(conda-test) /mnt/skynet-data/ocp-install/GOBIN/oc get clusters -n submariner-operator -o wide
NAME               AGE
default-cl1        2m8s
nmanos-cluster-a   2m31s
(conda-test) /mnt/skynet-data/ocp-install/GOBIN/oc get Submariner -o yaml -n submariner-operator
apiVersion: v1
items:
- apiVersion: submariner.io/v1alpha1
  kind: Submariner
  metadata:
    creationTimestamp: "2020-10-08T14:05:04Z"
    generation: 1
    managedFields:
    - apiVersion: submariner.io/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        f:spec:
          .: {}
          f:broker: {}
          f:brokerK8sApiServer: {}
          f:brokerK8sApiServerToken: {}
          f:brokerK8sCA: {}
          f:brokerK8sRemoteNamespace: {}
          f:ceIPSecDebug: {}
          f:ceIPSecIKEPort: {}
          f:ceIPSecNATTPort: {}
          f:ceIPSecPSK: {}
          f:clusterCIDR: {}
          f:clusterID: {}
          f:colorCodes: {}
          f:debug: {}
          f:globalCIDR: {}
          f:namespace: {}
          f:natEnabled: {}
          f:repository: {}
          f:serviceCIDR: {}
          f:serviceDiscoveryEnabled: {}
          f:version: {}
      manager: subctl
      operation: Update
      time: "2020-10-08T14:05:04Z"
    - apiVersion: submariner.io/v1alpha1
      fieldsType: FieldsV1
      fieldsV1:
        f:status:
          .: {}
          f:clusterCIDR: {}
          f:clusterID: {}
          f:colorCodes: {}
          f:engineDaemonSetStatus:
            .: {}
            f:lastResourceVersion: {}
            f:mismatchedContainerImages: {}
            f:nonReadyContainerStates: {}
            f:status:
              .: {}
              f:currentNumberScheduled: {}
              f:desiredNumberScheduled: {}
              f:numberAvailable: {}
              f:numberMisscheduled: {}
              f:numberReady: {}
              f:observedGeneration: {}
              f:updatedNumberScheduled: {}
          f:gateways: {}
          f:globalCIDR: {}
          f:globalnetDaemonSetStatus:
            .: {}
            f:lastResourceVersion: {}
            f:mismatchedContainerImages: {}
            f:nonReadyContainerStates: {}
            f:status:
              .: {}
              f:currentNumberScheduled: {}
              f:desiredNumberScheduled: {}
              f:numberMisscheduled: {}
              f:numberReady: {}
              f:observedGeneration: {}
          f:natEnabled: {}
          f:routeAgentDaemonSetStatus:
            .: {}
            f:lastResourceVersion: {}
            f:mismatchedContainerImages: {}
            f:nonReadyContainerStates: {}
            f:status:
              .: {}
              f:currentNumberScheduled: {}
              f:desiredNumberScheduled: {}
              f:numberAvailable: {}
              f:numberMisscheduled: {}
              f:numberReady: {}
              f:observedGeneration: {}
              f:updatedNumberScheduled: {}
          f:serviceCIDR: {}
      manager: submariner-operator
      operation: Update
      time: "2020-10-08T14:08:12Z"
    name: submariner
    namespace: submariner-operator
    resourceVersion: "206293"
    selfLink: /apis/submariner.io/v1alpha1/namespaces/submariner-operator/submariners/submariner
    uid: 16164881-b9aa-4e7d-9b79-66a103d33837
  spec:
    broker: k8s
    brokerK8sApiServer: api.nmanos-cluster-a.devcluster.openshift.com:6443

##################### Pods descriptions and logs by label: app=submariner-lighthouse-agent, in cluster: nmanos-cluster-a, namespace: submariner-operator #####################
### Pod submariner-lighthouse-agent-67d8547799-9npmp in Namespace submariner-operator ###

Name:         submariner-lighthouse-agent-67d8547799-9npmp
Namespace:    submariner-operator
Priority:     0
Node:         ip-10-166-185-115.us-west-1.compute.internal/<IP_ADDRESS>
Start Time:   Thu, 08 Oct 2020 17:05:35 +0300
Labels:       app=submariner-lighthouse-agent
              component=submariner-lighthouse
              pod-template-hash=67d8547799
Annotations:  k8s.v1.cni.cncf.io/network-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "default": true,
                    "dns": {}
                }]
              k8s.v1.cni.cncf.io/networks-status:
                [{
                    "name": "openshift-sdn",
                    "interface": "eth0",
                    "ips": [
                        "<IP_ADDRESS>"
                    ],
                    "default": true,
                    "dns": {}
                }]
              openshift.io/scc: restricted
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  ReplicaSet/submariner-lighthouse-agent-67d8547799
Containers:
  submariner-lighthouse-agent:
    Container ID:   cri-o://bba5fb3f6e5fc1e27ae498dabf41b3c5b673934e8e98009ce5b621ae396096e5
    Image:          quay.io/submariner/lighthouse-agent:devel
    Image ID:       quay.io/submariner/lighthouse-agent@sha256:1dbecc4760d06cf80fe14eba64d7bd52c284ebd99130ec801f03d4a586245933
    Port:           <none>
    Host Port:      <none>
    State:          Running
      Started:      Thu, 08 Oct 2020 17:05:41 +0300
    Ready:          True
    Restart Count:  0
    Environment:
      SUBMARINER_NAMESPACE:          submariner-operator
      SUBMARINER_CLUSTERID:          nmanos-cluster-a
      SUBMARINER_EXCLUDENS:          submariner,kube-system,operators
      SUBMARINER_DEBUG:              true
      SUBMARINER_GLOBALNET_ENABLED:  true
      BROKER_K8S_APISERVER:          api.nmanos-cluster-a.devcluster.openshift.com:6443

############################## Printing Submariner logs on nmanos-cluster-b ##############################
(conda-test) /mnt/skynet-data/ocp-install/GOBIN/oc get all -n submariner-operator
NAME                                               READY   STATUS    RESTARTS   AGE
pod/submariner-gateway-wrt59                       1/1     Running   0          3m16s
pod/submariner-globalnet-kpjtw                     1/1     Running   0          3m15s
pod/submariner-lighthouse-agent-596b79f4f7-czn6l   1/1     Running   0          3m14s
pod/submariner-lighthouse-coredns-c88f64f5-4h5fr   1/1     Running   0          3m14s
pod/submariner-lighthouse-coredns-c88f64f5-tth26   1/1     Running   0          3m14s
pod/submariner-operator-dcbdf5669-jvfwl            1/1     Running   1          3m59s
pod/submariner-routeagent-2xztv                    1/1     Running   0          3m16s
pod/submariner-routeagent-k4v4p                    1/1     Running   0          3m16s
pod/submariner-routeagent-k6ntt                    1/1     Running   0          3m16s
pod/submariner-routeagent-swlbc                    1/1     Running   0          3m16s
pod/submariner-routeagent-v9jhr                    1/1     Running   0          3m16s

NAME                                    TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)             AGE
service/submariner-lighthouse-coredns   ClusterIP   <IP_ADDRESS>     <none>        53/UDP              3m14s
service/submariner-operator-metrics     ClusterIP   <IP_ADDRESS>   <none>        8383/TCP,8686/TCP   3m38s

NAME                                   DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                AGE
daemonset.apps/submariner-gateway      1         1         1       1            1           submariner.io/gateway=true   3m16s
daemonset.apps/submariner-globalnet    1         1         1       1            1           submariner.io/gateway=true   3m15s
daemonset.apps/submariner-routeagent   5         5         5       5            5           <none>                       3m16s

NAME                                            READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/submariner-lighthouse-agent     1/1     1            1           3m14s
deployment.apps/submariner-lighthouse-coredns   2/2     2            2           3m14s
deployment.apps/submariner-operator             1/1     1            1           4m

NAME                                                     DESIRED   CURRENT   READY   AGE
replicaset.apps/submariner-lighthouse-agent-596b79f4f7   1         1         1       3m14s
replicaset.apps/submariner-lighthouse-coredns-c88f64f5   2         2         2       3m14s
replicaset.apps/submariner-operator-dcbdf5669            1         1         1       3m59s

Environment:

subctl version: v0.7.0-pre1-32-g2fdc8ab
AWS cluster A (OCP Version 4.5.13)
OSP cluster B (OCP Version 4.4.3)

Full test report:
https://qe-jenkins-csb-skynet.cloud.paas.psi.redhat.com/job/debug_job/534/Test-Report/
(look under "Collecting Submariner pods")

@manosnoam I tried to access cluster-a, but its down.
From the above logs, I see the following
NAME                                   DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                AGE
daemonset.apps/submariner-gateway      1         1         1       1            1           submariner.io/gateway=true   2m36s
daemonset.apps/submariner-globalnet    0         0         0       0            0           submariner.io/gateway=true   2m35s
daemonset.apps/submariner-routeagent   7         7         7       7            7
On ClusterA for the Globalnet DaemonSet the desired pod count is marked as 0. Hence globalnet pods are not scheduled on that cluster. We need to understand why the desired count is 0.
Can you share the output of the following command when the problem is reproduced?
kubectl describe ds submariner-globalnet -n submariner-operator

The issue is reproduced. Here's demaon-sets details:
oc describe ds -n submariner-operator

Name:           submariner-gateway
Selector:       app=submariner-engine
Node-Selector:  submariner.io/gateway=true
Labels:         app=submariner-engine
                component=engine
Annotations:    deprecated.daemonset.template.generation: 1
Desired Number of Nodes Scheduled: 1
Current Number of Nodes Scheduled: 1
Number of Nodes Scheduled with Up-to-date Pods: 1
Number of Nodes Scheduled with Available Pods: 1
Number of Nodes Misscheduled: 0
Pods Status:  1 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=submariner-engine
  Service Account:  submariner-operator
  Containers:
   submariner:
    Image:      quay.io/submariner/submariner:devel
    Port:       <none>
    Host Port:  <none>
    Command:
      submariner.sh
    Environment:
      SUBMARINER_NAMESPACE:        submariner-operator
      SUBMARINER_CLUSTERCIDR:      <IP_ADDRESS>/14
      SUBMARINER_SERVICECIDR:      <IP_ADDRESS>/16
      SUBMARINER_GLOBALCIDR:       <IP_ADDRESS>/19
      SUBMARINER_CLUSTERID:        nmanos-cluster-a
      SUBMARINER_COLORCODES:       blue
      SUBMARINER_DEBUG:            true
      SUBMARINER_NATENABLED:       true
      SUBMARINER_BROKER:           k8s
      SUBMARINER_CABLEDRIVER:
      BROKER_K8S_APISERVER:        api.nmanos-cluster-a.devcluster.openshift.com:6443
      BROKER_K8S_APISERVERTOKEN:   ...
      BROKER_K8S_REMOTENAMESPACE:  submariner-k8s-broker
      BROKER_K8S_CA:               ...
      CE_IPSEC_PSK:                ...
      CE_IPSEC_DEBUG:              true
      CE_IPSEC_IKEPORT:            501
      CE_IPSEC_NATTPORT:           4501
    Mounts:
      /host from host-slash (ro)
  Volumes:
   host-slash:
    Type:          HostPath (bare host directory volume)
    Path:          /
    HostPathType:
Events:
  Type    Reason            Age   From                  Message
  ----    ------            ----  ----                  -------
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-gateway-vhgnq

Name:           submariner-globalnet
Selector:       app=submariner-globalnet
Node-Selector:  submariner.io/gateway=true
Labels:         app=submariner-globalnet
                component=globalnet
Annotations:    deprecated.daemonset.template.generation: 1
Desired Number of Nodes Scheduled: 0
Current Number of Nodes Scheduled: 0
Number of Nodes Scheduled with Up-to-date Pods: 0
Number of Nodes Scheduled with Available Pods: 0
Number of Nodes Misscheduled: 0
Pods Status:  0 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=submariner-globalnet
                    component=globalnet
  Service Account:  submariner-operator
  Containers:
   submariner-globalnet:
    Image:      quay.io/submariner/submariner-globalnet:devel
    Port:       <none>
    Host Port:  <none>
    Environment:
      SUBMARINER_NAMESPACE:  submariner-operator
      SUBMARINER_CLUSTERID:  nmanos-cluster-a
      SUBMARINER_EXCLUDENS:  submariner-operator,kube-system,operators
    Mounts:
      /host from host-slash (ro)
  Volumes:
   host-slash:
    Type:          HostPath (bare host directory volume)
    Path:          /
    HostPathType:
Events:            <none>

Name:           submariner-routeagent
Selector:       app=submariner-routeagent
Node-Selector:  <none>
Labels:         app=submariner-routeagent
                component=routeagent
Annotations:    deprecated.daemonset.template.generation: 1
Desired Number of Nodes Scheduled: 7
Current Number of Nodes Scheduled: 7
Number of Nodes Scheduled with Up-to-date Pods: 7
Number of Nodes Scheduled with Available Pods: 7
Number of Nodes Misscheduled: 0
Pods Status:  7 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
  Labels:           app=submariner-routeagent
                    component=routeagent
  Service Account:  submariner-operator
  Containers:
   submariner-routeagent:
    Image:      quay.io/submariner/submariner-route-agent:devel
    Port:       <none>
    Host Port:  <none>
    Command:
      submariner-route-agent.sh
    Environment:
      SUBMARINER_NAMESPACE:    submariner-operator
      SUBMARINER_CLUSTERID:    nmanos-cluster-a
      SUBMARINER_DEBUG:        true
      SUBMARINER_CLUSTERCIDR:  <IP_ADDRESS>/14
      SUBMARINER_SERVICECIDR:  <IP_ADDRESS>/16
      SUBMARINER_GLOBALCIDR:   <IP_ADDRESS>/19
    Mounts:
      /host from host-slash (ro)
  Volumes:
   host-slash:
    Type:          HostPath (bare host directory volume)
    Path:          /
    HostPathType:
Events:
  Type    Reason            Age   From                  Message
  ----    ------            ----  ----                  -------
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-ztj25
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-bv4g8
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-2t8g5
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-8fw5l
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-k882n
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-f5c7z
  Normal  SuccessfulCreate  91m   daemonset-controller  Created pod: submariner-routeagent-5tfxl

Thanks for reporting this issue @manosnoam
The problem is that recently we started to add a taint on the AWS nodes to allow Scheduling of Submariner Gateway Pods on such nodes. However, the corresponding toleration was missed for Globalnet Pod, hence the Globalnet DS was not scheduling any Globalnet Pods in the AWS Cluster.
I pushed the following PR to address it - https://github.com/submariner-io/submariner-operator/pull/744

#744 seems to resolve the issue. Tests have passed now:
https://qe-jenkins-csb-skynet.cloud.paas.psi.redhat.com/job/Submariner-OSP-AWS/845/Test-Report/


GCI fails to parse imports that are not in an import block

What version of GCI are you using?

gci version 0.8.2

Reproduce Steps
Running gci against the attached file with imports individually specified.

❯ gci write bad.go
Error: 12:148: expected ')', found 'EOF'

Reformat the import lines and gci is able to parse the file.
good.go

➜ diff bad.go good.go
3,5c3,7
< import _ "source.vivint.com/pl/messagetypes/objectid"
< import _ "source.vivint.com/pl/messagetypes/time"
< import _ "source.vivint.com/pl/messagetypes/nullable"
---
> import (
> 	_ "source.vivint.com/pl/messagetypes/nullable"
> 	_ "source.vivint.com/pl/messagetypes/objectid"
> 	_ "source.vivint.com/pl/messagetypes/time"
> )

You can use master HEAD to fix this issue.

Fixed by #120

Sorry for the duplicate ticket. I reviewed open tickets, but not closed ones. Thanks for the fix.


Deprecate required_score attribute and make it a parameter instead

Make it an optional parameter of the ReCaptchaV3 widget constructor.
We still accept it as an attribute for backwards compatibility.
Motivation: anything passed to attrs ends up rendered in HTML. required_score is not a valid HTML attribute and is often flagged by HTML validators. By deprecating and removing required_score as an attribute, we can avoid this issue entirely.
See also https://github.com/django-recaptcha/django-recaptcha/issues/212

Thanks @alanverresen!


_get_prototype_size returning width x width not width x height

Finding this has caused me immense pain of troubleshooting. Please fix for others.

https://github.com/peter-kish/gloot/blob/b786c88c4008bf2ab3d2363b28131fdbb31c3b1c/addons/gloot/core/constraints/grid_constraint.gd#L126-L131

https://github.com/peter-kish/gloot/blob/b786c88c4008bf2ab3d2363b28131fdbb31c3b1c/addons/gloot/core/constraints/grid_constraint.gd#L126-L131


just: 1.30.1 -> 1.31.0

Description of changes

Just 1.31.0 finally stabilizes the long-experimental modules feature.
Diff: https://github.com/casey/just/compare/refs/tags/1.30.1...1.31.0
Changelog: https://github.com/casey/just/blob/1.31.0/CHANGELOG.md
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 327346 run on aarch64-darwin 1

9 packages built:

aba
celeste
dogdns
dogdns.man
just
just.doc
just.man
ssh-openpgp-auth
sshd-openpgp-auth


Auto analyst on colab

Hi, i have tried to implement this application on colab as a demo but i keep getting this same error from planner agent

i have tried two ways to passing dataset

But i keep getting the same error
Settings.embed_model = HuggingFaceEmbedding(
model_name="BAAI/bge-small-en-v1.5"
)
this is the embedding I have used for llama index

What is the query you're feeding and LLM you're using

model:

query:

Try with a model with longer context window.
Llama 3 has short context. So that is causing the problem.

I tried llama3.1 and llama-gradient with 128k context window but it seems the error still persists

Hi I think dspy by default restricts LLMs to 300 tokens.
In your line where you initialize the LLM add max_tokens =10000

Yes default was 150 tokens for ollama

but running into another issue:

this i think involves model's accuracy ,openai seems the only good model for this task

HI you should go to the agent definitions and use an LLM to summarize the prompts. They were designed for long context models like ChatGPT 4o. Also change from ChainOfThought to Predict.
It will help you. Also try using llama3-70B using Groq

Because the answer is correct the Model is just not outputting the structure accurately. By changing from ChainOfThought to dspy.Predict() you won't have the rationale output anymore

Closing


[aes] Add separate SW LFSR for key masking

This requires the AES target binaries to be updated as well. I'll publish a PR for the changes to aes_serial.c upstream and then add the updated binaries to this PR as well.

Here is the corresponding OT PR: https://github.com/lowRISC/opentitan/pull/17987

Update: the upstream PR has been merged a long time ago and I've finally managed to re-generate and test all AES bitstreams and binaries. I've now added this to this PR and will merge it once CI passes.


ckeditor_uploader, search doesn't work!

ckeditor_uploader.views.get_files_browse_urls returns NoneType in visible_filename... I've fixed it :) Will PR today...

Hmmm soo strange, issue is already fixed on current release. I was using pip's version yesterday... sorry for inconvenience


Return kyuubi instance when opening interactive session via SessionsResource

Why are the changes needed?

Because we do not support multiple node HA now for SessionsResource.
It is difficult to use if load balancer is used for kyuubi gateway.
In this pr, we return the actual kyuubi instance so that user can call the instance directly for follow operations.
It should be a temporary workaround to support multiple kyuubi instances use case.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

thanks, merged to master


fix: Fix Tooltip positioning

Summary
Updates the code used to position the Tooltip component to reflect USWDS 2.11.2 Tooltip source code. This seems to resolve the positioning bug.
Related Issues or PRs
Fixes #1877
How To Test
View the Tooltip component in Storybook at various screen sizes and verify the tooltip is always visible and positioned as expected.
Screenshots (optional)

While trying this branch out on my project, I realized that there were more issues with positioning - the code to loop through the various positions wasn’t working as expected. I think it was because the code to set the new CSS and check if the element was visible or not were all happening in the same useEffect hook, but to accurately detect whether or not the element is visible it needs to wait for the re-render. So I did some more refactoring and pushed up an update that I think solves this once and for all!
The new way this works is: when the tooltip gets shown, it sets the position to whatever was intended. in a second useEffect hook that specifically looks for changes in the position, it checks whether the tooltip is visible. If it is, it turns on the is-visible class and that’s that. if it’s not, it starts the loop to go through each position (and also try wrapping text if needed).
It is possible that it won’t find a position that works… this might happen if the tooltip contents is very long and/or the window is SO small that there’s no room. I checked and this can come up in the USWDS implementation as well. I put a console.warn in this case to surface the issue
Finally… while working on this I also discovered what I think is a USWDS bug so I filed https://github.com/uswds/uswds/issues/4458
but to fix in the meantime, I just added that line of CSS to our lib.. hopefully it can be removed when the bug is fixed.

Something I just noticed (not for us to fix here): Looks like the tooltip takes the component's margin into account causing top not to be centered on the element, for example:

But its the same way in the USWDS example, so we're good!!


<EMAIL_ADDRESS>download via aria2 failed

Scoop Configuration

//# Your configuration here

Sorry, I didn't look at it, click directly, please disregard

No problem


CWE and CPE Information

Hello !
Is it possible to add CWE and CPE data that already exists in NIST's NVD ?
Or you would have to create Software Objects first, for CPEs for example, and then reference it ?
Is it something you may add sometime in the future ?
Thanks in advance for your time :)

Hi @SteliosZ,
Thanks for your interest.
We considered using CPE (or SWID) data as the basis of common STIX objects, but there are over 600,000 entries.  It might make sense to select some of the more common software products - as you mentioned, sometime in the future.
As for CWEs, there is currently no STIX object type for weaknesses.  There is an ongoing discussion within the CWE community how CWEs might be represented in STIX, but no conclusions yet.


[Exposure request] Publisher Event "OnBeforeCalculateSalesTax" for Report 1304 / 1305 / 1306 / 1307 same like 204 /205 / 296 /207

Microsoft has marked reports (204, 205, 206, 207) as "Obsolete" with  Obsolete status "Pending" and Reason "Replaced with the report below Standard.
Report 204 will be replaced by Report 1304.
Report 205 will be replaced by Report 1305.
Report 206 will be replaced by Report 1306.
Report 207 will be replaced by Report 1307
As reports will be replaced and we do have integration earlier Report.
Requesting the "OnBeforeCalculateSalesTax" Events here as Publisher Events to cater to the same feature/customization.

Current "OnBeforeCalculateSalesTax" events available only for below two reports.

Versions:
AL Language: 5.0.219300
Business Central: Version: US Business Central 16.0 (Platform 15.0.39761.0 + Application 16.0.10855.0)

Hi @chavansachin20,
Please provide the signature of the events along with the fragments of code that could define location of the event call unambiguously.
The best way is to copy the actual AL code you would implement. It will speed up the process of implementation.

@StanPesotskiy  , sorry for the delay in response, herewith sending Native object .al file along with modified object .al file, this will give you exact details for signature of the events along with the fragments of code
The below list shows details of the report object with base and modified al file name. this file contains Event signature of event and fragments of code

Object Type
Object ID
Native Object file name
Modified Object file name

report
1304
report 1304 Standard Sales - Quote.al
report 1304report 1304 Standard Sales - Quote - Modified.al

report
1305
report 1306 Standard Sales - Invoice.al
report 1306report 204 Sales - Quote - Modified.al

report
1306
report 204 Sales - Quote.al
report 204 Sales - Quote - Modified.al

report
1307
report 206 Sales - Invoice.al
report 206 Sales - Invoice - Modified.al

report
204
Sales - Quote.al
Sales - Quote - Modified.al

report
205
Order Confirmation.al
Order Confirmation - Modified.al

report
206
Sales - Invoice.al
Sales - Invoice - Modified.al

report
207
Sales - Credit Memo.al
Sales - Credit Memo - Modified.al

Attached zip contains all base and modified files:

Zip file :
Modified AL Reports.zip
Thanks
Sachin Chavan
<EMAIL_ADDRESS>

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Fix Capybara.using_session (so you don't need to change to Capybara.using_session_with_screenshot)

Fixes #254

Also fixes 2 omissions in the tests:

They were testing using_session from the DSL but not that the Capybara.using_session class method worked in the same way

The test wasn't specific enough here:
   expect('tmp/screenshot.html').to have_file_content(/is/)

, which passes even when the behavior is wrong (when the file contains 'This is the root page').
Changed to:
   expect('tmp/screenshot.html').to have_file_content(/This is a different page/)

This is ready to merge. Let me know if I missed anything...

Awesome work @TylerRick. I am so rubbish lately keeping up with things.  Sorry this took so long. I will merge and do an update shortly.

Thanks!! :clap:
Oh no worries! It's hard to keep up with everything. Believe me, I am just as bad or worse. :)

Believe me, I am just as bad or worse. :)

Hopefully worse, makes me feel marginally better 😉


Not able to build RxStartscream with Carthage

Getting this error while doing carthage update
*** Skipped building RxStarscream due to the error:
Dependency "RxStarscream" has no shared framework schemes for any of the platforms: iOS
If you believe this to be an error, please file an issue with the maintainers at https://github.com/RxSwiftCommunity/RxStarscream/issues/new

Resolved this by downgrading the versions. It worked. But it must be resolved for later versions also.
Downgrade versions of Rx In Cartfile as:

github "ReactiveX/RxSwift" ~> 4.3
github "RxSwiftCommunity/RxStarscream" ~> 0.10.0


Windows: Add support for Debug and Release builds

The CMAKE_BUILD_TYPE configuration variable seems to be empty under Visual Studio.

Done: https://github.com/aisouard/libwebrtc/commit/95384c655e35485fbff730de2d6a57bd929d0a25#diff-727d930b0931263e0b497e9f64b3129dR118


Example: write Polars Dataframe to Excel

Sample code
Here is a simple example of writing a Polars rust dataframe to Excel using rust_xlsxwriter >= 0.40.0:

And here is the code:
use chrono::prelude::*;
use polars::export::arrow::temporal_conversions::*;
use polars::prelude::*;
use rust_xlsxwriter::{Format, Table, TableColumn, Workbook, XlsxError};

fn main() {
    let df: DataFrame = df!(
        "String" => &["North", "South", "East", "West", "All"],
        "Integer" => &[1, 2, 3, 4, 5],
        "Datetime" => &[
            NaiveDate::from_ymd_opt(2022, 1, 1).unwrap().and_hms_opt(1, 0, 0).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 2).unwrap().and_hms_opt(2, 0, 0).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 3).unwrap().and_hms_opt(3, 0, 0).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 4).unwrap().and_hms_opt(4, 0, 0).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 5).unwrap().and_hms_opt(5, 0, 0).unwrap(),
        ],
        "Date" => &[
            NaiveDate::from_ymd_opt(2022, 1, 1).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 2).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 3).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 4).unwrap(),
            NaiveDate::from_ymd_opt(2022, 1, 5).unwrap(),
        ],
        "Time" => &[
            NaiveTime::from_hms_milli_opt(2, 59, 3, 456).unwrap(),
            NaiveTime::from_hms_milli_opt(2, 59, 3, 456).unwrap(),
            NaiveTime::from_hms_milli_opt(2, 59, 3, 456).unwrap(),
            NaiveTime::from_hms_milli_opt(2, 59, 3, 456).unwrap(),
            NaiveTime::from_hms_milli_opt(2, 59, 3, 456).unwrap(),
        ],
        "Float" => &[4.0, 5.0, 6.0, 7.0, 8.0],
    )
    .expect("should not fail");

    write_xlsx(df, "dataframe.xlsx").unwrap();
}

// Simplified Polars dataframe to Excel file converter. See the actual
// `write_xlsx()` method in Polars for a much more complete and flexible
// interface.
//
// https://pola-rs.github.io/polars/py-polars/html/reference/api/polars.DataFrame.write_excel.html#polars.DataFrame.write_excel
//
fn write_xlsx(df: DataFrame, filename: &str) -> Result<(), XlsxError> {
    // Create a new Excel file object.
    let mut workbook = Workbook::new();
    let mut headers = vec![];

    // Create some formats for the dataframe.
    let datetime_format = Format::new().set_num_format("yyyy\\-mm\\-dd\\ hh:mm:ss");
    let date_format = Format::new().set_num_format("yyyy\\-mm\\-dd;@");
    let time_format = Format::new().set_num_format("hh:mm:ss;@");

    // Add a worksheet to the workbook.
    let worksheet = workbook.add_worksheet();

    // Iterate through the dataframe column by column.
    for (col_num, column) in df.get_columns().iter().enumerate() {
        let col_num = col_num as u16;

        // Store the column names for use as table headers.
        headers.push(column.name().to_string());

        // Write the row data for each column/type.
        for (row_num, data) in column.iter().enumerate() {
            let row_num = 1 + row_num as u32;

            // Map the Polars Series AnyValue types to Excel/rust_xlsxwriter
            // types.
            match data {
                AnyValue::Int8(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::UInt8(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::Int16(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::UInt16(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::Int32(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::UInt32(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::Float32(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::Float64(value) => {
                    worksheet.write_number(row_num, col_num, value)?;
                }
                AnyValue::Utf8(value) => {
                    worksheet.write_string(row_num, col_num, value)?;
                }
                AnyValue::Boolean(value) => {
                    worksheet.write_boolean(row_num, col_num, value)?;
                }
                AnyValue::Null => {
                    // Treat Null as blank for now.
                }
                AnyValue::Datetime(value, time_units, _) => {
                    let datetime = match time_units {
                        TimeUnit::Nanoseconds => timestamp_ns_to_datetime(value),
                        TimeUnit::Microseconds => timestamp_us_to_datetime(value),
                        TimeUnit::Milliseconds => timestamp_ms_to_datetime(value),
                    };
                    worksheet.write_datetime(row_num, col_num, &datetime, &datetime_format)?;
                    worksheet.set_column_width(col_num, 18)?;
                }
                AnyValue::Date(value) => {
                    let date = date32_to_date(value);
                    worksheet.write_date(row_num, col_num, &date, &date_format)?;
                    worksheet.set_column_width(col_num, 10)?;
                }
                AnyValue::Time(value) => {
                    let time = time64ns_to_time(value);
                    worksheet.write_time(row_num, col_num, &time, &time_format)?;
                }
                _ => {
                    println!(
                        "WARNING: AnyValue data type '{}' is not supported",
                        data.dtype()
                    );
                    break;
                }
            }
        }
    }

    // Create a table for the dataframe range.
    let (max_row, max_col) = df.shape();
    let mut table = Table::new();
    let columns: Vec<TableColumn> = headers
        .into_iter()
        .map(|x| TableColumn::new().set_header(x))
        .collect();
    table.set_columns(&columns);

    // Add the table to the worksheet.
    worksheet.add_table(0, 0, max_row as u32, max_col as u16 - 1, &table)?;

    // Autofit the columns.
    worksheet.autofit();

    // Save the file to disk.
    workbook.save(filename)?;

    Ok(())
}

The Cargo.toml file for this is:
[package]
name = "dataframe_test"
version = "0.1.0"
edition = "2021"

[dependencies]
chrono = "0.4.24"
polars = { version = "0.29.0", features = ["lazy"] }
rust_xlsxwriter = "0.40.0"

Which was set up as follows:
cargo add polars -F lazy
cargo add chrono
cargo add rust_xlsxwriter

Note, this is for demonstration/testing purposes only. Polars already has a really nice and very configurable dataframe.write_excel() API that uses the Python based XlsxWriter. I even wrote some docs on Working with Polars and XlsxWriter.

For comparison I used the following Polars/Pandas write_xlsx benchmark from @alexander-beedie at https://github.com/pola-rs/polars/issues/5568#issuecomment-1526316286
from codetiming import Timer
from datetime import date
import polars as pl

# quickly spin-up a 1,000,000 element DataFrame
df = pl.DataFrame({
    "idx": range(250_000),
    "x": 123.456789,
    "y": date.today(),
    "z":"testing,<IP_ADDRESS>."}
)

# export to Excel from polars
with Timer():
    df.write_excel( "dataframe_pl.xlsx" )

# export to Excel from pandas
pf = df.to_pandas()
with Timer():
    pf.to_excel( "dataframe_pd.xlsx", index=False )

And simulated it in Rust as close as possible with this:
use chrono::prelude::*;
use polars::export::arrow::temporal_conversions::*;
use polars::prelude::*;
use rust_xlsxwriter::{Format, FormatBorder, Workbook, XlsxError};

use std::time::Instant;

const DATA_SIZE: usize = 250_000;

fn main() {
    let df: DataFrame = df!(
        "idx" => &[1; DATA_SIZE],
        "x" => &[123.456789; DATA_SIZE],
        "y" => &[NaiveDate::from_ymd_opt(2023, 1, 1).unwrap(); DATA_SIZE],
        "z" => &["testing,<IP_ADDRESS>."; DATA_SIZE],
    )
    .expect("should not fail");

    let before = Instant::now();
    write_xlsx(df, "dataframe.xlsx").unwrap();
    println!("Elapsed time: {:.2?}", before.elapsed());
}

// `write_xlsx()` function same as above.
// fn write_xlsx(df: DataFrame, filename: &str) -> Result<(), XlsxError> {...}

My test machine is slower than the other benchmark machine but these are the results I got:

library
time taken (s)

polars
8.6

pandas
15.2

rust_xlsxwriter
1.2

This probably isn't a completely fair comparison since Polars is doing more checking/work but it is a reasonable ballpark indicator. Also, I'll restate my note from above that the dataframe.write_xlsx() API is much more fully featured and you should continue to use that. The code above is for example purposes only.

This method is no longer required.
I've uploaded a new crate called polars_excel_writer for serializing Polars dataframes into Excel Xlsx files using rust_xlsxwriter as a backend engine.
It provides two interfaces for writing a dataframe to an Excel Xlsx file:

ExcelWriter a simple Excel serializer that implements the Polars
SerWriter trait to write a dataframe to an Excel Xlsx file. This is similar to the CsvWriter interface.

PolarsXlsxWriter a more configurable Excel serializer that more closely
resembles the interface options provided by the Polars Python write_excel()
dataframe method. There is still work in progress for this interface.

Was thinking about this again the other day; it occurs to me that it might be something we can integrate into the Polars CLI, where we are a little less sensitive about dependencies and it could make for a useful addition 🤔

@alexander-beedie Thanks for considering this, that would be great. I still need to do some work to add more configurability and hopefully get some more real world testing. I'll circle back in a month or so when it is a bit further on.

This method is no longer required.
I've uploaded a new crate called polars_excel_writer for serializing Polars dataframes into Excel Xlsx files using rust_xlsxwriter as a backend engine.
It provides two interfaces for writing a dataframe to an Excel Xlsx file:

ExcelWriter a simple Excel serializer that implements the Polars
SerWriter trait to write a dataframe to an Excel Xlsx file. This is similar to the CsvWriter interface.
PolarsXlsxWriter a more configurable Excel serializer that more closely
resembles the interface options provided by the Polars Python write_excel()
dataframe method. There is still work in progress for this interface.

@jmcnamara and @alexander-beedie, how to use polars_excel_writer with polars.DataFrame.write_excel function in Python?
I have some very large exports to xlsx with 200k+ rows and cca 290 columns, which produces ~90MB xlsx file in pandas xlsx export (exporting time is greater than 10 minutes).
I noticed that just fetching data takes 80-85 seconds in pandas v1.5.3. With polars v0.20.10 it takes only 23-25 seconds, which is amazing.
However, using polars.DataFrame.write_excel function is not much faster - around 20-25%, but output file is much larger (around 190MB).
Based on this time measurements, I think that speedup limitation is "original" XlsxWriter.
I also do not understand why xlsx file produced by polars is so much larger than pandas, even if the same engine (XlsxWriter) is used.
Thank you for explanations.

I also do not understand why xlsx file produced by polars is so much larger than pandas, even if the same engine (XlsxWriter) is used.

The Polars implementation uses some additional cell formats for floats and integers that the Pandas implementation doesn't. This adds an additional 6 byte xml attribute per-cell of data written which for a large dataframe can turn into a larger file size. This in turn probably adds a (probably small) performance overhead in compression and zipping the file into the target xlsx file.
However, the increase in size and the extra compression overhead would probably be unnoticed/insignificant for most users. The counter advantage is that the Excel output from Polars is more formatted and consistent.

Thank you @jmcnamara for your great explanation regarding xlsx file size! 👍
What about polars_excel_writer (using rust_xlsxwriter) implementation of original XlsxWriter? How can I replace engine implementation, which should be used inside polars.DataFrame.write_excel in Python?
Currently, I don't need any specific functionality for exports from database do xlsx, but I would like to get additional enormous performance benefit while creating xlsx file (information provided here).

How can I replace engine implementation, which should be used inside polars.DataFrame.write_excel in Python?

There isn't any way to do that currently. That would required a Python wrapper around rust_xlsxwriter.

Thank you @jmcnamara? As far as I understand, there should also be support in polars.DataFrame.write_excel to define other engines (like in pandas.to_excel() method)?

As far as I understand, there should also be support in polars.DataFrame.write_excel to define other engines (like in pandas.to_excel() method)?

No. As far as I know that won’t be part of the interface.


New lines in multi-line literal strings trimmed incorrectly

The library is incorrectly parsing/generating code from multi-line literal strings by condensing multiple new lines in the string into a single one.
Example:
EXPECTED:
import toml
toml.loads("a = '''\nhello\nworld\n\n\nbye'''")
{u'a': u'hello\nworld\n\nbye'}

ACTUAL:
import toml
toml.loads("a = '''\nhello\nworld\n\n\nbye'''")
{u'a': u'hello\nworld\nbye'}

We expect two new lines between world and bye, but we get one. According to the specification (emphasis mine):

Multi-line literal strings are surrounded by three single quotes on each side and allow newlines. Like literal strings, there is no escaping whatsoever. A newline immediately following the opening delimiter will be trimmed. All other content between the delimiters is interpreted as-is without modification.

I'll take a look at the code and propose a fix.

It looks like there's a test that contradicts the specification in @BurntSushi's tests. In particular, this test with this expected result. @avakar doesn't have a test case for this. I've fixed this issue in the Python script and will submit a PR. I believe @BurntSushi's test case is incorrect.

From the spec:

For writing long strings without introducing extraneous whitespace, use a "line ending backslash". When the last non-whitespace character on a line is a \, it will be trimmed along with all whitespace (including newlines) up to the next non-whitespace character or closing delimiter.

Closing as WONTFIX due to compliance with the spec.

@uiri That line of the spec is entirely irrelevant to this issue.

@uiri I totally aggree with @SergioBenitez

I'm sorry. You're right; it is relevant to the associated PR(s) but not to this issue.


Removing Python 2 support from 0.13

This is the integration branch for python 2 removal. Please submit pull requests against this branch and discuss the entire process here.

Since Bottle-0.12 will be the last release supporting Python 2 (2.5+ actually) and very old versions of Python 3 (3.2+), it will become an LTS release and will be maintained (security patches only) for a bit longer than usual. This allows us to drop support for old python versions without hurting existing users too much.
I'm thinking about skipping 0.13 and move forward to 0.14 in a single step to make it more clear that there are breaking changes this time. Spamming all 0.12/Py2 users with a deprecation warning is a bit too much I think. Some people can't update, even if they want to.

@defnull  this is very welcome. According to your own roadmap the aren't many blocking issues for 0.13. but it's been so long since the first map was written I'm not sure it's even relevant.
It's a good sign for people to get a new release out. Please go ahead and do this ASAP.

@defnull also, please remove the classification from setup.py
https://github.com/bottlepy/bottle/blob/8561ffbc2ed2b16b4f7f90520d148e37e251d107/setup.py#L34.
You should also drop python 3.4. it's no longer maintained.

Also remember to remove unsupported targets from the root Makefile

The release-0.12 branch has its own Makefile and test suite. We can remove any trace of 2.7 or 3.4 support from the master branch.

It has been a year...  Conflicts.

Yes, it probably wasn't the best idea to start with this before 2.7 is actually EOL and expect that there are no conflicts.

Yes, it probably wasn't the best idea to start with this before 2.7 is actually EOL and expect that there are no conflicts.

All declarations like
class A(object):

may be reduced to
class A:

All declarations like
class A(object):

may be reduced to
class A:

@SergBobrovsky That is an optional change but can be automated via tools like https://github.com/asottile/pyupgrade

@SergBobrovsky That is an optional change but can be automated via tools like https://github.com/asottile/pyupgrade

remove
from __future__ import print_function

remove
from __future__ import print_function

Also automated by pyupgrade.  Give it a try to see the changes that it would make.

Also automated by pyupgrade.  Give it a try to see the changes that it would make.

Hey @defnull what's the status on this work? I'm happy to contribute but I saw your comment elsewhere stating you'd prefer this be done in smaller pieces?


Scroll restarting after about 10 channels

I have an XMLTV file with about 20 channels of listings. Every time I run the simulator, it gets about 10 channels down, and then restarts the scrolling from the top. It is sudden. It does not simply finish at channel 10 and then scroll away to the beginning again. About half way through channel 10 appearing, the scroll abruptly restarts with the first channel again.
I am uncertain where to look. I could imagine it has something to do with my listings. But, there are no errors or logs generated to indicate what the problem could be.

If you could simply point me to where in the code it decides to restart the scrolling, I can probably figure out how to fix it on my own. ;)

I figured it out. In the GenerateGridTexture() function, there is a test to determine if the scroll needs to restart (roughly line 763). Because the scroll is slowed down by half, the amount of time until it restarts must be multiplied by 2. Additionally, the time must add enough time for the last channel to scroll off screen.
Here is the updated code...
            // Quick guess. 110 frames for a full grid push @ 112 (2x) / 56 (1x) height.
            // That means roughly 2 frames per pixel going up.
            _scrollingTest += 1;
            if (_scrollingTest >= (StandardRowHeight * _channelsAdded * _scale * 2) + (_rowsVisible * 112))
                _scrollingTest = 0;
            var testingOffset = (_scrollingTest / 2);

I have an XMLTV file with about 20 channels of listings. Every time I run the simulator, it gets about 10 channels down, and then restarts the scrolling from the top. It is sudden. It does not simply finish at channel 10 and then scroll away to the beginning again. About half way through channel 10 appearing, the scroll abruptly restarts with the first channel again.
I am uncertain where to look. I could imagine it has something to do with my listings. But, there are no errors or logs generated to indicate what the problem could be.

The 10 channel limit is imposed on this line. Realistically, you can bump that to whatever number you want (even int.MaxValue) and it'll keep scrolling far past the 10 channels. That number in there was/is arbitrary and just for testing small line-ups with frequent changes.
I'm not sure if the math is right or wrong because it's been almost a year now since i've spent more than a few minutes looking at it, but i honestly wouldn't be surprised if something is off.
You'll probably notice the actual loop of scrolling is still very sudden, even with the high channel values. It remains on my list of things to fix when I get more time to fix this project up, which I really should drop the known problems as issues (the date doesn't rollover when the time crosses the next 30 minute mark, the looping is bad, no title banner is shown at the beginning of the guide loop, multi-line content like movies don't display and aren't red/blue/etc.)


[CARBONDATA-3906] Optimize sort performance in writting file

Why is this PR needed?
Only after sorting temp, the write(sortTemp file) operation can run.
For better performance, we want to do the  writeDataToFile and SortDataRows operations in parallel.
What changes were proposed in this PR?
In (Unsafe)SortDataRows, we add new threads to run write the file operation.
About 10% time is reduced with parallel operation in one case.
Does this PR introduce any user interface change?

No
Yes. (please explain the change and update document)

Is any new testcase added?

No
Yes

Can one of the admins verify this patch?

Add to whitelist

retest this please

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3402/

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1661/

please check the build failure info

retest this please

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1693/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3435/

retest this please

Build Failed  with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1695/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3437/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3447/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1705/

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1718/

Build Failed  with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3460/

retest this please

Build Success with Spark 2.4.5, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbon_PR_Builder_2.4.5/1722/

Build Success with Spark 2.3.4, Please check CI http://<IP_ADDRESS>:12545/job/ApacheCarbonPRBuilder2.3/3464/

@shunlean : please handle the comments given by @Zhangshunyu


Added support for subdomains in one zone file.

Hi Dominik,
I implemented the subdomain support in one zone file without break your use case I thought (the approach you meantioned in my last pull request) . The design is tested offline and with several wildcard certificates online.
I'm not shure if it is possible to have in the hetzner dns console zones for subdomains. I tried to create a subdomain with the following response from the dns console api:
..."error":{"message":"422 : invalid TLD","code":422}...
I checked the hetzner documentation at https://docs.hetzner.com/dns-console/dns/general/zone-file-example
and find the following Note in the Chpater "Delegation of a subdomain to a new zone"

Delegation of a subdomain to a new zone
As an alternative to the procedure described under Sub domain, a delegation of subdomains to another DNS server is possible.

Note: In the DNS Console, it is not possible to create DNS zones for subdomains! Here subdomains can only be defined as described in the section Sub domain.

See #6


Improved initial Outlines experience

There's a few areas where the initial experience of using Outlines is a little clunky.
Installing Outlines
For one, none of the inference backends are dependencies, which means people are usually confronted by a series of "please install X", "please install Y", etc.
Eric Ma has a Gist about this, which highlights a series of mild irritations as the user's very first interactions with Outlines. Ideally, there should be a set of install options that provide canned or default options for users.
My proposal is to add llama_cpp as a default install, and provide a series of optional dependencies by inference engine
# prepackaged with llamacpp
pip install outlines

# One for each engine
pip install 'outlines[vllm]'
pip install 'outlines[transformers]'
pip install 'outlines[all]' # gives you everything

EDIT: we already support the serve extra, so it should be relatively straightforward to include other methods.
Docs
The docs should also be updated to include examples for a handful of different backends in tabs, so that people can enter their preferred inference mode and have all the docs reflect their choice.
It may also be able to allow users to select a model and preferred quantization method so they can always copy/paste the code in whatever mode they're working in.
Models to use and quantization
There's lots of annoying little edge cases with models. Some of the docs still refer to gated models. These are generally pretty reliable, but it requires you to set an HF token which many users may not have already done.
We should make it very clear what models are recommended as intro tools, and show clearly how to quantize them for resource-constrained users.
Any other things I missed?

I agree on all points. You can split this in smaller issues, and people can keep sharing their grievances here :)

Good issue, I've run into all of these problems.
I disagree about llama.cpp though, there's no reason to by default include llama-cpp-python in downstream dependents such as vLLM. Additionally, llama-cpp-python is the Outlines-supported model I've run into the most issues installing / building.
We should prominently document that users can install outlines[llamacpp], outlines[transformers], etc, rather than recommending pip install outlines

I disagree about llama.cpp though, there's no reason to by default include llama-cpp-python in downstream dependents such as vLLM.

We should prominently document that users can install outlines[llamacpp], outlines[transformers], etc, rather than recommending pip install outlines

This is fine with me!

Additionally, llama-cpp-python is the Outlines-supported model I've run into the most issues installing / building.

I've had this happen as well. Lots of tiny issues with llamacpp. This is a bigger issue IMO -- llamacpp support should definitely be more robust to support the various hardware-constrained Outlines users.

As long as major inference libraries import outlines we shouldn't include any library by default. However when the structured generation logic is in a separate library I am ready to consider having llama.cpp as a default.

Coming from pure pip install outlines (it didn't prompt me to install anything else) it took 1hr+ to generate 512 tokens constrained to a r"```latex(.*?|\n)```" regex. The FSM compiled to 100% fairly fast though. This was a 2B-4bit model on a 3090, of which all 24GB of VRAM were filled during generation (my prompt is like 20 tokens).
I had a similar experience in the past, which I "solved" by using HuggingFace's TGI for structured generation. It was a lot faster, which is weird because I thought they used Outlines under the hood.
Should I have went with an inference engine like pip install outlines[vllm]?

@ahmed-moubtahij Yes, outlines only becomes the bottleneck after ~1,000 tokens/s, and vllm is substantially faster than transformers
However, are you sure you set device_map="cuda"? Sounds like you might have been generating on CPU.

@lapp0 Yeah I already had device_map set to cuda. Its entire VRAM was occupied.
I'll re-try with pip install outlines[vllm]

Do you mind moving the resolution of this problem to a new issue? 🙂

Do you mind moving the resolution of this problem to a new issue? 🙂

Sure, how do I accomplish that? I thought of referencing my messages in a new issue and deleting from here but I think that would cancel the reference.

You don't have to delete the messages, we'll just hide them here!

Done: https://github.com/dottxt-ai/outlines/issues/1167


issue 216/add mw gw to titles

Pull Request
Description
Started working on adding gw and mw to the titles using a span to add MW or GW within the div for each title. Would be open to knowing if there are other ways to setting this up.
It currently looks like this:

It should look like this:

Works on #216
How Has This Been Tested?
Tested visually by running locally.

[x] Yes

Checklist:

[x] My code follows OCF's coding style guidelines
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked my code and corrected any misspellings

@all-contributors please add @rachel-labri-tipton for code


public access links

The test server now has this PR on it. We've experienced some unexpected behavior that I think points to issues here:

[ ] Public Access Link URLs redirect perpetually to login. (e.g. https://test.central.getodk.org/_/single/eSZhqJdMc0VcLje3YHNzxoefESK2DqL?st=uN!woSo!XROUNj7I204gN4RUCjSJt1v74TR1cOQ3DaYmYeJkso$s5BWpVbmWY7T4)
[ ] Private survey links can successfully be loaded in a browser that knows about a Central session. However, if they're opened in a browser that doesn't have a Central session, the same perpetual redirect to login occurs (e.g. https://test.central.getodk.org/_/single/eSZhqJdMc0VcLje3YHNzxoefESK2DqL)
[ ] Private survey links can successfully be loaded in a browser that knows about a Central session. However, submissions fail according to a pattern I don't yet understand.


Job description should be same in actions list page and view page

Feature Description
https://gitea.com/gitea/gitea-docusaurus/actions

https://gitea.com/gitea/gitea-docusaurus/actions/runs/1401

Screenshots
No response

Not sure I follow. Which one of the two would you change, and how?

I will do this. 😄


Running Protocol with a subset of locations from the 96 Well default, cycles between location 1 and 2

Because location 1 cannot be deleted, a 9 location Protocol  just cycles, Protocol file sent to Anna

I believe these are two different problems. Location 1 can now be deleted. Cycling from step 1 to 2 and not going further is most likely a result of your capture period being shorter than the amount of time it takes to complete a full scan. When the next scan is reached before the previous has finished, it simply drops that action and starts the next round. Need to discuss preferred action as we cannot tell in advance how long a single scan takes.


Cover up bare trait objects with a dyn

What does this change do? What is dyn? Could you explain a bit to me?

The older syntax for trait object types was just the bare trait name, e.g. Box<std::any::Any>, vs the newer one which prefixes the trait name with the dyn keyword (Box<dyn std::any::Any>). They have the same meaning, but bare trait objects are already deprecated on nightly (with just a warning) so I figured I'd switch our uses to the new version.


Fix empty request.httpBody causing PulseUI to not show it on the summary view

What's changed
Minor change that sets the httpBodyStreamData if httpBody is nil to the NetworkLoggerRequestSummary.
Note
Wasn't sure if I should even make this PR or not, but ye here it is.
And if anyone has a better solution, or I was doing something wrong, since I was not seeing request body in the PulseUI, please let me know.

Thank you, I appreciate the PR!


Integer doesn't work properly

here is the testing code
class Test(Scene):
    def construct(self):
        text=Integer(114514)
        self.add(text)
        self.play(text.animate.set_value(23333))
        self.play(text.animate.set_value(1919810))
        self.play(text.animate.set_value(666666))
        self.play(text.animate.set_value(20210230))
        self.wait()

turns out that some numbers of it fail to be displayed
https://user-images.githubusercontent.com/26384746/112486579-e9e84180-8d73-11eb-898c-87a681ce214b.mp4

Seems to be an error with the animate.set_value syntax, this is working:
class Test(Scene):
    def construct(self):
        self.add(Integer(114514).shift(DOWN*0.5))
        self.add(Integer(23333).shift(DOWN*1))
        self.add(Integer(1919810).shift(DOWN*1.5))
        self.add(Integer(666666).shift(DOWN*2))
        self.add(Integer(20210230).shift(DOWN*2.5))

Seems to be an error with the animate.set_value syntax, this is working:
class Test(Scene):
    def construct(self):
        self.add(Integer(114514).shift(DOWN*0.5))
        self.add(Integer(23333).shift(DOWN*1))
        self.add(Integer(1919810).shift(DOWN*1.5))
        self.add(Integer(666666).shift(DOWN*2))
        self.add(Integer(20210230).shift(DOWN*2.5))

Ok...but what if I want to animate that transform a number to another number?

a=Integer(114514)
self.wait()
a.become(Integer(22245))
self.wait()

There seems to be an issue with the opacity of some numbers. I've pinned it down to match_styles() with family set to True. When family is True it will recursively match each "new" submobject's style to the "old" submobject. One of the things it will match, is fill_opacity. I'm not sure why yet, but it seems that some times the get_fill_opacities() function returns 0 on some of the numbers, making them not show up. The opacity is grabbed from the Alpha value of the RGBA values of the mobject, which are returned by get_fill_rgbas(). I currently do not know why this happens, but I'm looking into it.
I've added some print statements in vectorized_mobject.py to see what the values of things are. You can see that the strings that don't show up have an opacity of 0. This is true for all cases, except the first 9(that doesn't show up but seems to have opacity 1) so I'm really confused about that:
(mce) PS C:\Users\jero0\OneDrive\Documentos\Jero\Programación\Python\Manim> manim -p bug3.py Test
Manim Community v0.6.0

String: 2 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 2 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 3 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 3 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 3 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 3 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
[05/29/21 20:01:03] INFO     Animation 0 : Partial movie file written in {'C:\\Users\\jero0\\OneDrive\\Documentos\\Jero\\Programación\\Python\\Manim\\media\\videos\\bug3\\1080p scene_file_writer.py:401                             60\\partial_movie_files\\Test\\450974505_4119951202_993979061.mp4'}
String: 1 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 9 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 1 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 9 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 8 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 1 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 0 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
Animation 1: _MethodAnimation(Integer):  20%|########################6                                                                                | 12/60 [00:00<00:01, 25.55it/s]
(process:7896): GLib-GIO-WARNING **: 20:01:04.504: Unexpectedly, UWP app `3138AweZip.AweZip_<IP_ADDRESS>_x86__ffd303wmbhcjt' (AUMId `3138AweZip.AweZip_ffd303wmbhcjt!App') supports 167 extensions but has no
verbs
[05/29/21 20:01:05] INFO     Animation 1 : Partial movie file written in {'C:\\Users\\jero0\\OneDrive\\Documentos\\Jero\\Programación\\Python\\Manim\\media\\videos\\bug3\\1080p scene_file_writer.py:401                             60\\partial_movie_files\\Test\\2788726626_3396817513_993979061.mp4'}
String: 6 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 6 | RGBAS: [[1. 1. 1. 0.]] OPACITY [0.]
String: 6 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 6 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 0.]] OPACITY [0.]
String: 6 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 6 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 6 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
RGBAS: [[1. 1. 1. 0.]] OPACITY [0.]
RGBAS: [[1. 1. 1. 0.]] OPACITY [0.]
[05/29/21 20:01:08] INFO     Animation 2 : Partial movie file written in {'C:\\Users\\jero0\\OneDrive\\Documentos\\Jero\\Programación\\Python\\Manim\\media\\videos\\bug3\\1080p scene_file_writer.py:401                             60\\partial_movie_files\\Test\\2788726626_1432049237_1413979930.mp4'}
String: 2 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 0 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 0.]] OPACITY [0.]
String: 2 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 1 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 0 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: , | RGBAS: [[1. 1. 1. 0.]] OPACITY [0.]
String: 2 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 3 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]
String: 0 | RGBAS: [[1. 1. 1. 1.]] OPACITY [1.]

I don't really know where to go from here, so I'll leave the facts I've gathered in case someone else wants to take a look:

As expected, this issue is also present with DecimalNumber, since its the parent class of Integer.
Digits starts to disappear when the number of digits changes, but it doesn't happen every time. Seems to happen both when the n° of digits increases or decreases, but again, it doesn't happen 100% of the time.
Setting family=False in match_style() in set_value() would solve it, but said change makes the styling to be essentially lost when changing the value.
I think it has something to do with the make_even() function. Fiddling around makes some numbers to reappear but some others to disappear. I tried replacing make_even() with make_even_by_cycling() or just removing it but it didn't solve the issue, it just changed the output.

@Kiran-Raj-Dev reports that this issue has been fixed at some point (v0.14.0). Closing.


Document update

Change in the sentence from "The value are in seconds and the default is 5 seconds." to "The values are in seconds and the default value is 5 seconds."
[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] If you're unsure, you can format the pull request title like [CAMEL-XXX] Fixes bug in camel-file component, where you replace CAMEL-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install -Psourcecheck in your module with source check enabled to make sure basic checks pass and there are no checkstyle violations. A more thorough check will be performed on your pull request automatically.
Below are the contribution guidelines:
https://github.com/apache/camel/blob/master/CONTRIBUTING.md

Changes made in code section of the below link and created a PR #4200, I don't had an option of building the solution file, so that it can generate the desired output.
https://github.com/apache/camel/blob/master/core/camel-core-engine/src/main/java/org/apache/camel/model/FaultToleranceConfigurationCommon.java#L88
Please suggest, if I can do from my end.

Should I close this request ? as the same changes is done #4200

Yes, please


keep sticky thing's height in original container

Currently when the sticky thing becomes fixed the page jumps up the height of the sticky thing (and vice versa when becoming 'unfixed'). I would say this is a bug.
I am currently doing something like this:
  stickyChange(isSticky) {
    const parent = document.getElementById('way-header');
    if (isSticky) {
      const sticky = document.getElementById('sticky-nav-way');
      const clientRect = sticky.getBoundingClientRect();
      parent.setAttribute('style', 'margin-top:' + clientRect.height + 'px;');
    } else {
      parent.setAttribute('style', 'margin-top:0px;');
    }
  }

Something like this should be part of the module, I think.

I think your mind is in the right place, however, when you start modifying the parent, it seems like it breaks the component convention. A higher level component or some CSS living elsewhere should apply this fix, not this library.
I think the safer solution would be to implement this on an individualized, as-needed basis

I have proposed an alternate fix for this without modifying the parent. Can you please take a look at #36

Fixed in 4.0.0


[Feature Request] Ability to show different units to what is configured in HA settings

Is your feature request related to a problem? Please describe.
I need to use US units in HA because I live in the US and all my sensors and AC controls are in Fahrenheit but I come from a country that uses Metric units so when I look at outside weather I want to have temperature in Celsius.
Describe the solution you'd like
I would like a setting to be added to be able to set the Temperature values in this Weather Card to show in Celsius even though my HA config is in Fahrenheit. Essentially decoupling the display units from the HA units.
Describe alternatives you've considered
There are none.
Additional context
Add any other context or screenshots about the feature request here.

I have a similar issue.  I live in the US, but my wife prefers temperatures in Celsius.  I already have sensors that do the conversion, so all I need in the card is to use the unit of measurement from the sensor in the display.  Right now it shows all the temperatures in Celsius, but still follows the temperatures with "F" instead of "C".  So we don't need the card to do any conversions, just display the unit of measure that's configured for the sensor.  Years ago, I did this once with a previous incarnation of this card when it was maintained by another user, but I never submitted it as a pull request.  What I did then was have what you would call a "global setting" that would force a particular temperature unit of measure, but since it's available with the sensor itself, I think it's better to just use that.

I am also experiencing some issues with this. Even official integrations that are from metric using countries (I live in Canada) that do not output their sensors in anything else than metric are being shown in F in the card. No matter if its a weather entity temperature sensor that has been specifically coded to be in C or any other alternative method for it to show in C, it just shows temp in F.


Fix a bug that repository admin page rendering is broken if one of the config contains "". #214

We need to escape "</script>" to avoid terminating <script> tag unintentionally.
"escapejs" filter escapes it to "\u003C/script\u003E\u0022".
Also moved the constants outside the function to avoid parsing it for every function call.

LGTM. Thanks for the fix :)

Thanks for the review. Merged.


Wrong colors in .vimrc

Hi,
Is there a way to get the same colors in new vim, below one from Ubuntu 20.10 groovy:

and second from  Ubuntu 21.04 hirsute:

Precisely I'm asking about "Plug 'vim-scripts/AutoComplPop'"
In the older version, word Plug was 'vimIsCommand' and string was as 'vimString'
in the newest, both are 'vimUsrCmd'
and I'm 99,9999% :) sure that is the matter of vim version.

Type:

[x] Bug
[ ] Enhancement
[ ] Feature Request
[ ] Question

OS:

[ ] All/Other
[x] Linux
[ ] OS X
[ ] Windows

Vim:

[x] Terminal Vim
[ ] GVim
[ ] Neovim

I can't reproduce the problem on the latest version of Vim. Please leave a comment if you still have the problem.


Add token refresh support

Simplify code by using features in oauthenticator
Add token refresh method

i'm getting this error now
[C 2020-07-14 10:00:31.450 JupyterHub application:91] The 'authenticator_class' trait of <jupyterhub.app.JupyterHub object at 0x7f845f17a940> instance must be a type, but 'oauthenticator.egicheckin.EGICheckinAuthenticator' could not be imported
has the name of the class changed?

i'm getting this error now
[C 2020-07-14 10:00:31.450 JupyterHub application:91] The 'authenticator_class' trait of <jupyterhub.app.JupyterHub object at 0x7f845f17a940> instance must be a type, but 'oauthenticator.egicheckin.EGICheckinAuthenticator' could not be imported
has the name of the class changed?

Yes, different python package: egiauthenticator.egicheckin.EGICheckinAuthenticator

ok, now i see this error
[I 2020-07-14 10:36:12.864 JupyterHub log:174] 302 GET /hub/spawn -> /hub/login?next=%2Fhub%2Fspawn (@<IP_ADDRESS>) 284.93ms
[E 2020-07-14 10:36:13.403 JupyterHub base:431] Error getting current user
    Traceback (most recent call last):
      File "/usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py", line 426, in get_current_user
        user = await self.refresh_auth(user)
      File "/usr/local/lib/python3.6/dist-packages/jupyterhub/handlers/base.py", line 331, in refresh_auth
        auth_info = await self.authenticator.refresh_user(user, self)
      File "/usr/local/lib/python3.6/dist-packages/egiauthenticator/egicheckin.py", line 170, in refresh_user
        resp = await http_client.fetch(req)
    tornado.httpclient.HTTPClientError: HTTP 401: Unauthorized

i don't know if something else on the conf has to be updated

not needed anymore


Website update for beta 2 release

I think we should replace the prose editor with the notepad example on the front page. We can use the todo items as a feature list.

Good idea?

I think we should build out our notepad example a bit, (since it's there to impress on the substance.io website).
I want support things like we had for the B1 notepad like due dates in todos and text macros like @mention. Will schedule this for beta 3 though.

Done.


Support for setting TenantInfo without using a store

Hi,
I have a use-case where I have different use-cases for injecting tenant information as follows:

For one strategy I need to access the remote store to get tenant information and this works fine
For other strategy's I want to resolve tenant information locally (by setting the tenantInfo object based on identifier received), Ideally I don't even need a store for it and would like to just set the identifier information as received in the the tenantInfo object, because I just need to pass it on and not validate it for my use-case. I would like to avoid calling any remote stores or keeping a local info object as it will create an overhead of syncing, or doing extra calls which are not needed.

Is there a way to solve the second issue? I am pretty new to using finbuckle so I might be missing something here.
Thanks
Priyanka

You can write your own middleware and call TrySetTenantInfo() function attachted to HttpConntext to manually set TenantInfo or you could manually attach TenantInfo to your DbContext if you have reference to TenantInfo in your DbContext.

Hi turkysha,
I am using below below modules in FinBuckle

Strategy - Delegate Strategy - To get tenant identifier from the request URL
Store - Http Remote Store - To get tenant details via API of an another service

While implementation I have noticed that for every incoming requests API call was initiated to get tenant details. But I am expecting as, once tenant details was retrieved it needs to be reused for upcoming requests, instead of initiating another API call for getting same tenant details.
Can you confirm,

do we need to implement custom logic to attain this provision or
whether this scenario can be achieved using FinBuckle?

Please share your suggestion on this requirement. Thanks in advance.

@kesavan-m-19 and @priyankasyal
Check out PR #805 if contains an echo store which is kind of a dummy store that returns a tenant info with the identifier set and no db or api calls.


[FEAT] useCustomMutation should be able to modify headers for each individual call.

Is your feature request related to a problem? Please describe.
The following Providers are currently setting default headers, which results in the same headers being included in all subsequent API calls. Data providers should have the capability to modify headers for each individual call.

altogic
medusa
nestjsx-crud
strapi
strapi-v4

We can implement this feature like this:
https://github.com/refinedev/refine/pull/5036

If no one's working on it, I would like to. 😃

If no one's working on it, I would like to. 😃

Cool, happy hacking!


Migrate happa and fe-docs helm charts to use app-build-suite

In order to implement chart tests for happa (towards https://github.com/giantswarm/giantswarm/issues/20068), we should first migrate to using app-build-suite. Without successfully running app-build-suite, we are unable to run app-test-suite locally (afaik). Generally app-build-suite seems to be better and more modern.
To do that we will need to adapt our helm chart, as app-build-suite runs some checks that currently would not pass.
E.g. add application.giantswarm.io/team: team-rainbow to Chart.yml and add values.schema.json for validation.

Parameter persist_chart_archive can be also used with architect based chart builds.

Parameter persist_chart_archive can be also used with architect based chart builds.

Thanks for pointing that out. I will unblock the other issue.


Happy Hacktober project not working[SSOC]

Describe the bug

Happy Hacktober project (number 95 in the project list) is not functioning. [SSOC]

Screenshots

The issue is due to simple typo in the code file, you can see in the images that the message.html file is not loading

the file name should be message.html  not Message.html the letter "m" should be lower-case.

-please assign this issue so which it can be solved
To Reproduce
Steps to reproduce the behavior:

Go to 'https://zerooctave.github.io/ZeroOctave-Javascript-Projects/Public/happy_hacktober/happyhactober.html'
Enter your name
Click on 'submit'
See error

Expected behavior

after entering your name and clicking on submit a new page should open which will wish you happy hacktober

Desktop (please complete the following information):

OS: Windows
Browser : Chrome

Smartphone (please complete the following information):

Device: Poco X2
chrome

Steps Followed✅
Check the box with [x] If you followed all the steps.

[x] Describe the bug
[x] To Reproduce
[x] Expected behavior
[x] Screenshots
[ ] Additional context

Code of Conduct✅

[x] I agree to follow this project's Code of Conduct.
[x] I checked the current issues for duplicate problems.
[x] I have gone through project README.

Hello @Manish5121 I am already working on this issue.

Ohh sorry i didn't see that..

i can resolve this issue. Assign it to me


Use standard process for the title and description of all methods

What it does now:
Changes between
What it should do:
Ventilation Factor
BR187:2014 | Chapter 1 | Equation 1 (edited)

Addressed in fcc003814197d15cabe76dba0c269eb6e1e80b20


Meteor-kitchen on raspberry

Can be compiled the program in order to use on raspberry ?

The processor is not supported by the standard Meteor builds, but have a look here
https://meteor-universal.tumblr.com/
On 9/10/2016 10:11 AM, mttstt wrote:
Can be compiled the program in order to use on raspberry ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/perak/kitchen-site/issues/337, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACWoTzFfe5teX57CK6-bj__kXHbKkg4cks5qyCMOgaJpZM4KR2eZ.

Thanks for the reply but I knew this.
I installed "Meteor universal fork - Meteor 1.3.4" and it is working properly.
The problem is "meteor-kitchen" on raspberry with the following error:  "./meteor-kitchen: cannot execute binary file: Formato eseguibile non valido".

My apologies, and of course that makes sense, you wouldn't have had this
problem unless you were already there :)
Petar will need to provide a build of the kitchen to support the
architecture. I'm not sure how hard that is, we'll have to wait for him
to answer
On 10/10/2016 3:34 am, mttstt wrote:

Thanks for the reply but I knew this.
I installed "Meteor universal fork - Meteor 1.3.4" and it is working
properly.
The problem is "meteor-kitchen" on raspberry with the following error:
"./meteor-kitchen: cannot execute binary file: Formato eseguibile non
valido".
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/perak/kitchen-site/issues/337#issuecomment-252496785,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACWoT2RZDAxD_tRKmGLpuqyxlEwJ-yIlks5qyReXgaJpZM4KR2eZ.

@mttstt @mikkelking I already compiled meteor kitchen on ARM architecture before, but I didn't know anyone will ever need that :) That's why I didn't provided distribution for ARM.
I will try to compile it again (need to install toolchain again etc...).
Until then, I am curious, please let me know what are you doing with "kitchen" running on embedded computer?

perak, it is just for fun. But I think if the executable was available there could be other users concerned. If some instructions were available I could try autonomously to recompile the program. Thank you

I tried to create a meteor-kitchen site on windows environment with the latest version of meteor 1.4. Then I copied the site on raspberry but raspberry has an old version of Meteor (Meteor universal fork - Meteor 1.3.4). Having found many packages out of date on rasperry, the meteor project did not work!

You can try to build the app with kitchen's --meteor-release 1.3.4 option, but I guess you need that version of meteor installed under windows (not sure would meteor automatically download and install older version the same as it does under linux amd mac).

I had tried before this solution but without success, as I am not able to find an old Windows version of  meteor. In any case I'm not sure it's the correct solution, because the Windows version of meteor-kitchen uses the latest versions of packages (such as mongo), while the meteor raspeberry version uses  older packages.

@mttstt maybe you can downgrade app.
After it is built with latest meteor version, do following:

Remove .meteor/local directory
Remove .meteor/versions file
Edit .meteor/release and enter desired version 1.3.4
Edit .meteor/packages file: remove version info from all packages, for example:

Original file:
<EMAIL_ADDRESS>           # Packages every Meteor app needs to have
<EMAIL_ADDRESS>     # Packages for a great mobile UX
<EMAIL_ADDRESS>                 # The database Meteor supports right now
<EMAIL_ADDRESS>  # Compile .html files into Meteor Blaze views
<EMAIL_ADDRESS>          # Reactive variable for tracker
<EMAIL_ADDRESS>                # Helpful client-side library
<EMAIL_ADDRESS>               # Meteor's client-side reactive programming library

You need to remove @ symbol and version number after it, so your file should look like this:
meteor-base             # Packages every Meteor app needs to have
mobile-experience       # Packages for a great mobile UX
mongo                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
reactive-var            # Reactive variable for tracker
jquery                  # Helpful client-side library
tracker                 # Meteor's client-side reactive programming library

Now, try to execute app on Raspberry (and let me know if it explodes :D ).

(all paths/files are inside your application directory)

One more thing... to save your time (as I believe meteor takes a time to start on Raspberry), you can test this "manual & forced downgrade" by running the app on your computer (with whatever version of meteor) - if it starts, then this should work on your device too (but you need to repeat removing & editing files and then run the app on your device).

Thank you for your suggestion. I'm trying right now. I'll let you know.

👍

Only one error:
=> Running Meteor from a checkout -- overrides project version (Meteor <IP_ADDRESS>
[[[[[ ~/newDom ]]]]]
=> Started proxy.
=> Started MongoDB.
=> Errors prevented startup:
While selecting package versions:
error: Conflict: Constraint<EMAIL_ADDRESS>is not satisfied by ecmascript 0.4.6_1.
Constraints on package "ecmascript":

<EMAIL_ADDRESS><- top level
<EMAIL_ADDRESS><- shell-server 0.1.1
=> Your application has errors. Waiting for file change.

@mttstt I'm just curious: did you solved that last error and executed app finally?

I am working on it. I have a question : is "shell-server" package mandatory for the site created with meteor-kitchen ? It give me some problem, can I remove it ?

With your instructions and without the package "shell-server", it works on Raspberry !
Thanks

👯


Way to use Plyr premium and price of it

Hi there, we want o use advanced video player in our web and mobile app by using Plyr services, but we cannot find any relevant information about the prices and the service itself. Could anyone provide relevant information about it...
Thanks beforehand!
Best regards,
Nijat

@sampotts
I am a fan of the project.  I am not a heavy video user with ads and all of that stuff however, I do require a modern video player. Other players seem very dated and on top they have this weird "views" based revenue model which is so bad that I have never used a premium player.
I wonder if there is a way you could enter that space to provide passive income somehow.


ui: website: Bandwidth Timeseries doesn't pull device names

I've noticed that the 'Bandwidth timeseries' UI only pulls the device's name if you click on the 'Data' button but not otherwise.

Thanks! Fixed in dev & will be avail in next release.

Cool this works! I did noticed something that might not be expected - FYI I do see one device whose IP can't be pulled and it matches the IP of the router itself (the IP where the web administration is at).