Docker Desktop k8s: AccessDeniedException /usr/share/elasticsearch/data/nodes

Chart version:
?
Kubernetes version:
Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-18T14:36:53Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:02:12Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes provider: E.g. GKE (Google Kubernetes Engine)
Helm Version:
Client: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.16.1", GitCommit:"bbdfe5e7803a12bbdf97e94cd847859890cf4050", GitTreeState:"clean"}

helm get release output
?

Describe the bug:
Can't run ES using helm on Docker Desktop (x64 Windows 10 Pro).
Tried solutions mentioned in #258 and #137 to no avail.
Steps to reproduce:

install Docker Desktop
Enable kubernetes mode
install helm 2.16
enable tiller
run helm repo add elastic https://helm.elastic.co
run helm install --name elasticsearch elastic/elasticsearch

Expected behavior:
running ES
Provide logs and/or server output (if relevant):
>kubectl get all

NAME                         READY   STATUS    RESTARTS   AGE
pod/elasticsearch-master-0   0/1     Error     1          21s
pod/elasticsearch-master-1   0/1     Pending   0          21s
pod/elasticsearch-master-2   0/1     Pending   0          21s

NAME                                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
service/elasticsearch-master            ClusterIP   <IP_ADDRESS>   <none>        9200/TCP,9300/TCP   21s
service/elasticsearch-master-headless   ClusterIP   None            <none>        9200/TCP,9300/TCP   21s
service/kubernetes                      ClusterIP   <IP_ADDRESS>       <none>        443/TCP             3d1h

NAME                                    READY   AGE
statefulset.apps/elasticsearch-master   0/3     21s

>kubectl logs pod/elasticsearch-master-0

OpenJDK 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
{"type": "server", "timestamp": "2019-11-29T12:48:56,326Z", "level": "WARN", "component": "o.e.b.ElasticsearchUncaughtExceptionHandler", "cluster.name": "elasticsearch", "node.name": "elasticsearch-master-0", "message": "uncaught exception in thread [main]",
"stacktrace": ["org.elasticsearch.bootstrap.StartupException: ElasticsearchException[failed to bind service]; nested: AccessDeniedException[/usr/share/elasticsearch/data/nodes];",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:163) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:150) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:86) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:125) ~[elasticsearch-cli-7.4.1.jar:7.4.1]",
"at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-cli-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:115) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:92) ~[elasticsearch-7.4.1.jar:7.4.1]",
"Caused by: org.elasticsearch.ElasticsearchException: failed to bind service",
"at org.elasticsearch.node.Node.<init>(Node.java:614) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.node.Node.<init>(Node.java:255) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:221) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:221) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.4.1.jar:7.4.1]",
"... 6 more",
"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes",
"at sun.nio.fs.UnixException.translateToIOException(UnixException.java:90) ~[?:?]",
"at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111) ~[?:?]",
"at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116) ~[?:?]",
"at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:389) ~[?:?]",
"at java.nio.file.Files.createDirectory(Files.java:693) ~[?:?]",
"at java.nio.file.Files.createAndCheckIsDirectory(Files.java:800) ~[?:?]",
"at java.nio.file.Files.createDirectories(Files.java:786) ~[?:?]",
"at org.elasticsearch.env.NodeEnvironment.lambda$new$0(NodeEnvironment.java:272) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.env.NodeEnvironment$NodeLock.<init>(NodeEnvironment.java:209) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.env.NodeEnvironment.<init>(NodeEnvironment.java:269) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.node.Node.<init>(Node.java:275) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.node.Node.<init>(Node.java:255) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Bootstrap$5.<init>(Bootstrap.java:221) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:221) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:349) ~[elasticsearch-7.4.1.jar:7.4.1]",
"at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:159) ~[elasticsearch-7.4.1.jar:7.4.1]",

>kubectl describe pod/elasticsearch-master-0

Name:           elasticsearch-master-0
Namespace:      default
Priority:       0
Node:           docker-desktop/<IP_ADDRESS>
Start Time:     Fri, 29 Nov 2019 14:48:43 +0200
Labels:         app=elasticsearch-master
                chart=elasticsearch
                controller-revision-hash=elasticsearch-master-56cf946ddc
                heritage=Tiller
                release=elasticsearch
                statefulset.kubernetes.io/pod-name=elasticsearch-master-0
Annotations:    <none>
Status:         Running
IP:             <IP_ADDRESS>
IPs:            <none>
Controlled By:  StatefulSet/elasticsearch-master
Init Containers:
  configure-sysctl:
    Container ID:  docker://cc7dc88de5a0a3bb782d81e1c0a817c34c41b261255369caaee6311fce9b484e
    Image:         docker.elastic.co/elasticsearch/elasticsearch:7.4.1
    Image ID:      docker-pullable://docker.elastic.co/elasticsearch/elasticsearch@sha256:88c2ee30115f378b8f7e66662ec26bca0c8778c69096bee6b161128ce833585f
    Port:          <none>
    Host Port:     <none>
    Command:
      sysctl
      -w
      vm.max_map_count=262144
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Fri, 29 Nov 2019 14:48:46 +0200
      Finished:     Fri, 29 Nov 2019 14:48:46 +0200
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-9d5l2 (ro)
Containers:
  elasticsearch:
    Container ID:   docker://1f637eee1efe3dc170556fb03184ed04776e2ab8b3506e03b1a62b6e3598412c
    Image:          docker.elastic.co/elasticsearch/elasticsearch:7.4.1
    Image ID:       docker-pullable://docker.elastic.co/elasticsearch/elasticsearch@sha256:88c2ee30115f378b8f7e66662ec26bca0c8778c69096bee6b161128ce833585f
    Ports:          9200/TCP, 9300/TCP
    Host Ports:     0/TCP, 0/TCP
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    1
      Started:      Fri, 29 Nov 2019 14:50:34 +0200
      Finished:     Fri, 29 Nov 2019 14:50:38 +0200
    Ready:          False
    Restart Count:  4
    Limits:
      cpu:     1
      memory:  2Gi
    Requests:
      cpu:      100m
      memory:   2Gi
    Readiness:  exec [sh -c #!/usr/bin/env bash -e
# If the node is starting up wait for the cluster to be ready (request params: 'wait_for_status=green&timeout=1s' )
# Once it has started only check that the node itself is responding
START_FILE=/tmp/.es_start_file

http () {
    local path="${1}"
    if [ -n "${ELASTIC_USERNAME}" ] && [ -n "${ELASTIC_PASSWORD}" ]; then
      BASIC_AUTH="-u ${ELASTIC_USERNAME}:${ELASTIC_PASSWORD}"
    else
      BASIC_AUTH=''
    fi
    curl -XGET -s -k --fail ${BASIC_AUTH} http://<IP_ADDRESS>:9200${path}
}

if [ -f "${START_FILE}" ]; then
    echo 'Elasticsearch is already running, lets check the node is healthy'
    http "/"
else
    echo 'Waiting for elasticsearch cluster to become cluster to be ready (request params: "wait_for_status=green&timeout=1s" )'
    if http "/_cluster/health?wait_for_status=green&timeout=1s" ; then
        touch ${START_FILE}
        exit 0
    else
        echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )'
        exit 1
    fi
fi
] delay=10s timeout=5s period=10s #success=3 #failure=3
    Environment:
      node.name:                     elasticsearch-master-0 (v1:metadata.name)
      cluster.initial_master_nodes:  elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2,
      discovery.seed_hosts:          elasticsearch-master-headless
      cluster.name:                  elasticsearch
      network.host:                  <IP_ADDRESS>
      ES_JAVA_OPTS:                  -Xmx1g -Xms1g
      node.data:                     true
      node.ingest:                   true
      node.master:                   true
    Mounts:
      /usr/share/elasticsearch/data from elasticsearch-master (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-9d5l2 (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  elasticsearch-master:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  elasticsearch-master-elasticsearch-master-0
    ReadOnly:   false
  default-token-9d5l2:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-9d5l2
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                    From                     Message
  ----     ------            ----                   ----                     -------
  Warning  FailedScheduling  2m56s (x2 over 2m56s)  default-scheduler        pod has unbound immediate PersistentVolumeClaims
  Normal   Scheduled         2m54s                  default-scheduler        Successfully assigned default/elasticsearch-master-0 to docker-desktop
  Normal   Pulled            2m52s                  kubelet, docker-desktop  Container image "docker.elastic.co/elasticsearch/elasticsearch:7.4.1" already present on machine
  Normal   Created           2m51s                  kubelet, docker-desktop  Created container configure-sysctl
  Normal   Started           2m51s                  kubelet, docker-desktop  Started container configure-sysctl
  Normal   Pulled            64s (x5 over 2m51s)    kubelet, docker-desktop  Container image "docker.elastic.co/elasticsearch/elasticsearch:7.4.1" already present on machine
  Normal   Created           64s (x5 over 2m51s)    kubelet, docker-desktop  Created container elasticsearch
  Normal   Started           63s (x5 over 2m50s)    kubelet, docker-desktop  Started container elasticsearch
  Warning  BackOff           58s (x7 over 2m41s)    kubelet, docker-desktop  Back-off restarting failed container

>kubectl get pv

NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                                                 STORAGECLASS   REASON   AGE
pvc-9254b47b-12a6-11ea-8ba5-00155d005f16   30Gi       RWO            Delete           Bound    default/elasticsearch-master-elasticsearch-master-0   hostpath                9m52s
pvc-9259df87-12a6-11ea-8ba5-00155d005f16   30Gi       RWO            Delete           Bound    default/elasticsearch-master-elasticsearch-master-1   hostpath                9m38s
pvc-925f6b4e-12a6-11ea-8ba5-00155d005f16   30Gi       RWO            Delete           Bound    default/elasticsearch-master-elasticsearch-master-2   hostpath                9m38s

>kubectl get pvc

NAME                                          STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
elasticsearch-master-elasticsearch-master-0   Bound    pvc-9254b47b-12a6-11ea-8ba5-00155d005f16   30Gi       RWO            hostpath       9m58s
elasticsearch-master-elasticsearch-master-1   Bound    pvc-9259df87-12a6-11ea-8ba5-00155d005f16   30Gi       RWO            hostpath       9m58s
elasticsearch-master-elasticsearch-master-2   Bound    pvc-925f6b4e-12a6-11ea-8ba5-00155d005f16   30Gi       RWO            hostpath       9m58s

Any additional context:

Hi @aleksas,
We need to have your whole configuration to be able to help you.
Can you post the result of helm get elasticsearch command?

REVISION: 1
RELEASED: Fri Nov 29 17:55:47 2019
CHART: elasticsearch-7.4.1
USER-SUPPLIED VALUES:
{}

COMPUTED VALUES:
antiAffinity: hard
antiAffinityTopologyKey: kubernetes.io/hostname
clusterHealthCheckParams: wait_for_status=green&timeout=1s
clusterName: elasticsearch
esConfig: {}
esJavaOpts: -Xmx1g -Xms1g
esMajorVersion: ""
extraEnvs: []
extraInitContainers: ""
extraVolumeMounts: ""
extraVolumes: ""
fsGroup: ""
fullnameOverride: ""
httpPort: 9200
image: docker.elastic.co/elasticsearch/elasticsearch
imagePullPolicy: IfNotPresent
imagePullSecrets: []
imageTag: 7.4.1
ingress:
  annotations: {}
  enabled: false
  hosts:
  - chart-example.local
  path: /
  tls: []
initResources: {}
keystore: []
labels: {}
lifecycle: {}
masterService: ""
masterTerminationFix: false
maxUnavailable: 1
minimumMasterNodes: 2
nameOverride: ""
networkHost: <IP_ADDRESS>
nodeAffinity: {}
nodeGroup: master
nodeSelector: {}
persistence:
  annotations: {}
  enabled: true
podAnnotations: {}
podManagementPolicy: Parallel
podSecurityContext:
  fsGroup: 1000
  runAsUser: 1000
podSecurityPolicy:
  create: false
  name: ""
  spec:
    fsGroup:
      rule: RunAsAny
    privileged: true
    runAsUser:
      rule: RunAsAny
    seLinux:
      rule: RunAsAny
    supplementalGroups:
      rule: RunAsAny
    volumes:
    - secret
    - configMap
    - persistentVolumeClaim
priorityClassName: ""
protocol: http
rbac:
  create: false
  serviceAccountName: ""
readinessProbe:
  failureThreshold: 3
  initialDelaySeconds: 10
  periodSeconds: 10
  successThreshold: 3
  timeoutSeconds: 5
replicas: 3
resources:
  limits:
    cpu: 1000m
    memory: 2Gi
  requests:
    cpu: 100m
    memory: 2Gi
roles:
  data: "true"
  ingest: "true"
  master: "true"
schedulerName: ""
secretMounts: []
securityContext:
  capabilities:
    drop:
    - ALL
  runAsNonRoot: true
  runAsUser: 1000
service:
  annotations: {}
  httpPortName: http
  nodePort: ""
  transportPortName: transport
  type: ClusterIP
sidecarResources: {}
sysctlInitContainer:
  enabled: true
sysctlVmMaxMapCount: 262144
terminationGracePeriod: 120
tolerations: []
transportPort: 9300
updateStrategy: RollingUpdate
volumeClaimTemplate:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi

HOOKS:
---
# elasticsearch-acmfe-test
apiVersion: v1
kind: Pod
metadata:
  name: "elasticsearch-acmfe-test"
  annotations:
    "helm.sh/hook": test-success
spec:
  containers:
  - name: "elasticsearch-ydbfw-test"
    image: "docker.elastic.co/elasticsearch/elasticsearch:7.4.1"
    command:
      - "sh"
      - "-c"
      - |
        #!/usr/bin/env bash -e
        curl -XGET --fail 'elasticsearch-master:9200/_cluster/health?wait_for_status=green&timeout=1s'
  restartPolicy: Never
MANIFEST:

---
# Source: elasticsearch/templates/poddisruptionbudget.yaml
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
  name: "elasticsearch-master-pdb"
spec:
  maxUnavailable: 1
  selector:
    matchLabels:
      app: "elasticsearch-master"
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    {}

spec:
  type: ClusterIP
  selector:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  ports:
  - name: http
    protocol: TCP
    port: 9200
  - name: transport
    protocol: TCP
    port: 9300
---
# Source: elasticsearch/templates/service.yaml
kind: Service
apiVersion: v1
metadata:
  name: elasticsearch-master-headless
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    service.alpha.kubernetes.io/tolerate-unready-endpoints: "true"
spec:
  clusterIP: None # This is needed for statefulset hostnames like elasticsearch-0 to resolve
  # Create endpoints also if the related pod isn't ready
  publishNotReadyAddresses: true
  selector:
    app: "elasticsearch-master"
  ports:
  - name: http
    port: 9200
  - name: transport
    port: 9300
---
# Source: elasticsearch/templates/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: elasticsearch-master
  labels:
    heritage: "Tiller"
    release: "elasticsearch"
    chart: "elasticsearch"
    app: "elasticsearch-master"
  annotations:
    esMajorVersion: "7"
spec:
  serviceName: elasticsearch-master-headless
  selector:
    matchLabels:
      app: "elasticsearch-master"
  replicas: 3
  podManagementPolicy: Parallel
  updateStrategy:
    type: RollingUpdate
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-master
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 30Gi

  template:
    metadata:
      name: "elasticsearch-master"
      labels:
        heritage: "Tiller"
        release: "elasticsearch"
        chart: "elasticsearch"
        app: "elasticsearch-master"
      annotations:

    spec:
      securityContext:
        fsGroup: 1000
        runAsUser: 1000

      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - "elasticsearch-master"
            topologyKey: kubernetes.io/hostname
      terminationGracePeriodSeconds: 120
      volumes:
      initContainers:
      - name: configure-sysctl
        securityContext:
          runAsUser: 0
          privileged: true
        image: "docker.elastic.co/elasticsearch/elasticsearch:7.4.1"
        command: ["sysctl", "-w", "vm.max_map_count=262144"]
        resources:
          {}

      containers:
      - name: "elasticsearch"
        securityContext:
          capabilities:
            drop:
            - ALL
          runAsNonRoot: true
          runAsUser: 1000

        image: "docker.elastic.co/elasticsearch/elasticsearch:7.4.1"
        imagePullPolicy: "IfNotPresent"
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 3
          timeoutSeconds: 5

          exec:
            command:
              - sh
              - -c
              - |
                #!/usr/bin/env bash -e
                # If the node is starting up wait for the cluster to be ready (request params: 'wait_for_status=green&timeout=1s' )
                # Once it has started only check that the node itself is responding
                START_FILE=/tmp/.es_start_file

                http () {
                    local path="${1}"
                    if [ -n "${ELASTIC_USERNAME}" ] && [ -n "${ELASTIC_PASSWORD}" ]; then
                      BASIC_AUTH="-u ${ELASTIC_USERNAME}:${ELASTIC_PASSWORD}"
                    else
                      BASIC_AUTH=''
                    fi
                    curl -XGET -s -k --fail ${BASIC_AUTH} http://<IP_ADDRESS>:9200${path}
                }

                if [ -f "${START_FILE}" ]; then
                    echo 'Elasticsearch is already running, lets check the node is healthy'
                    http "/"
                else
                    echo 'Waiting for elasticsearch cluster to become cluster to be ready (request params: "wait_for_status=green&timeout=1s" )'
                    if http "/_cluster/health?wait_for_status=green&timeout=1s" ; then
                        touch ${START_FILE}
                        exit 0
                    else
                        echo 'Cluster is not yet ready (request params: "wait_for_status=green&timeout=1s" )'
                        exit 1
                    fi
                fi
        ports:
        - name: http
          containerPort: 9200
        - name: transport
          containerPort: 9300
        resources:
          limits:
            cpu: 1000m
            memory: 2Gi
          requests:
            cpu: 100m
            memory: 2Gi

        env:
          - name: node.name
            valueFrom:
              fieldRef:
                fieldPath: metadata.name
          - name: cluster.initial_master_nodes
            value: "elasticsearch-master-0,elasticsearch-master-1,elasticsearch-master-2,"
          - name: discovery.seed_hosts
            value: "elasticsearch-master-headless"
          - name: cluster.name
            value: "elasticsearch"
          - name: network.host
            value: "<IP_ADDRESS>"
          - name: ES_JAVA_OPTS
            value: "-Xmx1g -Xms1g"
          - name: node.data
            value: "true"
          - name: node.ingest
            value: "true"
          - name: node.master
            value: "true"
        volumeMounts:
          - name: "elasticsearch-master"
            mountPath: /usr/share/elasticsearch/data

I can confirm that this is still failing in Kubernetes KIND as well

Hi @aleksas,
Regarding your config, it seems you didn't use the required values for Docker Desktop mentionned in the README.md.
Despite this part is named Docker for mac because we had no Windows user feedback before, this should also be needed on Docker for windows.
Can you test-it and confirm us if it's OK?
You can also make a PR to rename Docker for mac mentions to Docker-Desktop in the repo so it's more explicit that these values are also working for Docker for Windows.

Hi @salaboy,
In the same way, I would suggest you to follow specific KIND instructions in the README.

Swithced to minikube for now. I'll keep in mind to check the suggested changes when on Docker Desktop.

@jmirt I've contributed with the KIND README :) but it is now again failing with the latest charts. Not sure why.. did something changed in the docker images?

@salaboy, sorry I didn't checked that.
We only have automated tests on GKE and while we have manual tests on Docker for mac, we don't have any tests on KIND.
As your issue is totally different from this one's, can you open a new issue and post your logs, config, commands, ... so at least we have some inputs to analyze even if we don't reproduce it?

@aleksas I'm closing this issue, don't hesitate to reopen it when you try again Docker Desktop

Facing the same issue on KIND, I have used the recommended values for KIND. could be related to https://github.com/kubernetes-sigs/kind/issues/830

@chattarajoy thanks to your link to kubernetes-sigs/kind#830, I was able to test a workaround using Rancher Local Path Provisioner while waiting for the fix on kubernetes-sigs/kind side in their next release.
More details in https://github.com/elastic/helm-charts/issues/429#issuecomment-571969666.

This seems to occur if you stop and restart your minikube after installing elastic... I'm running into this issue now and is consistently reproducible on my local box. Seems elastic can't handle a cluster reboot. Any solution for this?

This seems to occur if you stop and restart your minikube after installing elastic... I'm running into this issue now and is consistently reproducible on my local box. Seems elastic can't handle a cluster reboot. Any solution for this?

Hi @brandoncollins7, as mentionned in https://github.com/elastic/helm-charts/issues/644 this seem to be an issue related to Minikube.


Dev branch CI pass

Changes Unknown when pulling d73a7b08ec6006fee8cbe55ec3c23094169439a8 on dev into ** on master**.

Changes Unknown when pulling 88f7f5ba27bec669277a5fac9012e84e56ac799d on dev into ** on master**.


Build ribasim_cli and libribasim on Linux

At some point, people will want to run Ribasim on Linux clusters.
Luckily, all the puzzle pieces to build it on TeamCity are there.
We just need to assemble them.

#878 ensures that julia is installed via pixi, so we don't need to rely on the julia version that is installed on the agents.

Putting this ticket back to In Progress, as we are waiting for the Teamcity Support Team to make our linux servers larger so we can run pixi run install on them. We now get an out-of-disk-space error


Recursive load of out of place custom config files

I found the out-of-place folder for custom configuration quite interesting (BASH_IT_CUSTOM ), as I would be able to load my current setup maintained in a separated repository. However, I think the current approach that only load *.bash files directly under the specified folder is too restrictive. With this addition, scripts could be organized in sub-directories.
In order to maintain compatibility with bash before version 4, it just adds an additional file pattern nstead of using **/*.bash pattern and globstar bash option.

Looks good to me. Could you please update the documentation in the README.md file to show that the custom folder supports nested directories as well?

Sure, done!

Thanks - looks good! Once I've merged some of my other changes (see #944), we should look into adding unit tests for the loading of custom code. I've greatly increased the test coverage of the Bash-it code, just need to find the time to merge all of the changes.


somehow express that indexed view cannot select sum of table column

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

@dzmitry-lahoda - thanks for the feedback.
This section provides information about valid SQL statements including aggregates: https://docs.microsoft.com/sql/relational-databases/views/create-indexed-views?#additional-requirements
Thanks
#please-close


Validation Improvements

Misc improvements found when benchmarking XLR validations
Improperly resolving Exlcudes keyword when converting to XLR
Currently, types that use the Excludes keywords results in a mapped type getting produced that may or may not resolve well at runtime. Since this is a keyword that we can parse at compile time like Omit or Pick we should be handling this directly.
Precompute and Cache Types
When we access a type from the SDK, we do some computations to figure out what the effective object is once extends and generics are filled in. We don't need to do that work every time if the types in the SDK have not changed so we can cache those results and return them instead.
Instantiate LSP Once When Validating Content
Previously, an LSP was instantiated per file being validated, this lead to a lot of overhead when validating multiple files and, given the amount of XLR data being loaded, proved to be a bottleneck. Using a single LSP shared in every file validation process showed a ~3x performance increase in initial testing.
Change Type (required)
Indicate the type of change your pull request is:

[x] patch
[ ] minor
[ ] major

Release Notes
Properly parse Excludes keyword when compiling XLRs

📦 Published PR as canary version: 0.4.2--canary.63.1238

Try this version out locally by upgrading relevant packages to 0.4.2--canary.63.1238

/canary

/canary


feat(cli): add slow argument to wait until contract is deployed

I noticed that gas estimate is incorrect since the it was taken before previous contracts are deployed. This ensures contracts are deloyed one after the other.

do you need this because your contracts depend on each other in some way?

@dk1a we were trying to deploy world to our substrate based EVM chain and it was failing because the gas estimations for all the contracts deployed are fetched even before contracts are deployed. In our EVM, gas estimations are coming out initially and after some contracts are deployed.
Hence, the change to ensure the estimations are correct by ensuring the contracts are deployed synchronously.

For more context see this discord conversation.

I think we figured out the issues we were having with gas estimations. The first issue we fixed on our side and this took care of the exceeds block gas limit error. However, we were still getting failures with deploy-v2 because the gas estimate was coming back 21,700 when it should have been 3.5 millionish. This was because the call to estimateGas was happening before the contract had actually been deployed. I believe you need to await deployed() after calling deploy() here: https://github.com/latticexyz/mud/blob/main/packages/cli/src/utils/deploy-v2.ts#L333-L339

@dk1a any thoughts on this so far? Would be great to get this change in some form or other :)

@alvrs PTAL

I just tried this locally with --disableTxWait and there is one more change we need in line 462 in utils/deploy-v2.ts:
 .then((tx: any) => (confirmations === 0 ? tx : tx.wait(confirmations)));

(ethers errors when calling tx.wait(0))

@alvrs do you have a solution for it? Else I'm leaning to set it back to confirmations=1

the solution is to change like 462 in utils/deploy-v2.ts from
 .then((tx: any) => tx.wait(confirmations));

to
 .then((tx: any) => (confirmations === 0 ? tx : tx.wait(confirmations)));


Log updated packages commits titles.

Hello,
First of all thank you very much for this project, I've choose to use it cause I was beginning in Lua and thought paq so simple and interesting. After a long time using it I missed a feature. I would like to see what was updated when run PaqUpdate. So I tried to implement it myself.
So I've add one more parameter into call_proc that sets stderr as sub-process stdout. Made this so when I call the git command that list updates ( titles of commities since last update).  call_proc("git", { "log", "--pretty=format:* %s", prev_hash .. ".." .. cur_hash }, pkg.dir, function(ok) end, true).
To not break anything I passed empty function.
I also created a log function for print package name follow by "updating..." before listing each package update.
Hope you like it.

hi @wviana,
I guess it's reasonable to put the git log in the log file, hadn't thought of that 😄. It might be worthwhile to do a refactor so the file is opened just once, but for now it's good enough as it is. Thank you.

Just notice everything getting out of order. Maybe cause multiple open of same file as you said. Will try to fix it later.

@wviana Thanks for this feature, I have only been using Paq a week, and I always look at the log after an update. Today I did an update, and went to open the log and there is an empty file, it says [No Name] at the bottom of the screen. This is a bug as the log is there at /.cache/nvim/paq.log.
Maybe the error is related to the out of order bug? Would be great to get it fixed :)

Hey @David-Else
Just re-implemented this feature.
Do you have this bug as a issue or steps to reproduce it?

@wviana Great you are doing a re-implementation! This bug never came back, it might have been me messing about with my config folders.
The bugs that are persistent are: https://github.com/savq/paq-nvim/issues/115 and https://github.com/savq/paq-nvim/issues/112 , I don't know if these apply to what you are doing.


a bug about funciton empty

if the param is Date, the function returns true;
eg: console.log(empty(new Date()));  //will print true;

:+1:

fast and furious

It seems this was fixed in the PR. Closing this : )


Updated the service icon

Using the OpenShift Streams for Apache Kafka one instead of RHOAS

Apologies! I somehow missed that guy


Feature Proposal: Intents

We need a way to allow an App to communicate with another app.
This is because a good User Experience requires the ability for the User to see two windows at once.
But its also a good pattern of modularity, and also allows you to send things to Application outside of your Apps.
Url-scheme is a pretty good way to model this, because you can add an action and the data to the URL.
Use Cases:
Calling external Apps.
For example if you have a google maps URL in your app, when the user clicks it you want it to open Google Maps (if its installed) OR open the google maps web page.
Calling your own Apps.
Likewise, if a user is sent an email with a link, you want them pressing the link to either open your application (if its installed) or fallback to open the your web site.
If the called App is already open, it should it open a new Window ? Not sure..
All Golang based frameworks can use this. QT, WebViews, Shiny on Desktops and Mobiles.
I think it should be written as a package, so other golang GUI frameworks can leverage it.
I started to write IOS code for this here:
https://github.com/gu-io/gu-x/tree/master/_examples/gui-intents/osx
Writing implementations for Windows, IOS, Android, etc should not be too hard.
For a developer, it can be agnostic to OS and just work.
Is this something we want to use in murlok ?

I have the feeling you could you use https://golang.org/pkg/os/exec/#Command with open as first param and the url as second one.
func TestOther(t *testing.T) {
	cmd := exec.Command("open", "github-mac://openRepo/https://github.com/murlokswarm/app")
	if err := cmd.Start(); err != nil {
		t.Error(err)
	}
}

I also found this package which seems to wrap the thing to have it in one line:
https://github.com/skratchdot/open-golang

@maxence-charriere
very true.
i am not worried about elegance write now.
I am more about just wanting to get a standard pattern going, and examples for each OS to know we can do it.
I saw the other discussion and i agree with you - this should be all at the window level.
This is also how its designed on ios and android too, so we shoudl follow their pattern and no reinvent anti patterns.
I woudl like to consolidate work here.
I use therecipe/QT, and Murlok. Both can use this code for sure.
Gu-x is only for risky experiments i and collabs do.
So what repo to put this code in ? Have a think about it.

Hey @joeblew99, now apps can be opened by url scheme.

I close this one. Feel free to reopen if you have other concerns

just saw it. Nice one @maxence-charriere

I just heard back from the guy in charge of this at Google.
Everyone has apparently agreed that the way forward is this:
https://developers.google.com/web/updates/2016/10/navigator-share
It's in chrome but i need to check WebKit and edge


[1.3.x] JBPM-6238: NPE error thrown when switching the number of items per page

reset currentPage to the first one when the page size is changed

jenkins please retest this

jenkins please retest this


feat: Display all notifications in Activity rail and add preview image

This PR resolves ONYX-660
Description
This PR removes the activity type filter for the home screen's Activity rail and adds logic to get a preview image for all notification types. The missing preview images were the reason why we introduced the filter initially.
The logic to get a preview image could also be implemented in Metaphysics or Gravity, but I thought it might be more complex because we need data from additional associations, such as 'article'.
In case an image cannot be loaded (because of some missing data or if we introduce a new notification type, we display a gray box, which should be ok since it's an edge case.
PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Display images for all Activity types in the home screens Latest Activity rail - ole
Remove activity type filter from  Latest Activity rail  to display all activities - ole

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Warnings

:warning:

❌ An error occurred while validating your changelog, please make sure you provided a valid changelog.

  Generated by :no_entry_sign: dangerJS against 89e5cac6a23bdd47ebcb37e6385cb418482a2ad6

My point was less about handling this in UI and more about us knowing that we are returning an image from the artworksConnection and not a custom one. I was thinking of Sentry as a tool to tell about it in case we forget about updating this.

My point was less about handling this in UI and more about us knowing that we are returning an image from the artworksConnection and not a custom one. I was thinking of Sentry as a tool to tell about it in case we forget about updating this.

Not completely sure if I can follow. Do you mean we should send an event to Sentry in case we introduce a new notification type where we have not explicitly defined how to find the image? Something like:
if (type = "XY) { return ..... }
else if (type = "YZ" { return .... }
else { throw throw new Error('Notification preview image not supported!') }

Something like this but without throwing an error to make sure we don't break the UI.  Btw, this is a nitpick, no need to follow up on it probably

Something like this but without throwing an error to make sure we don't break the UI. Btw, this is a nitpick, no need to follow up on it probably

@MounirDhahri I'll merge it like it is right now and then try to move the logic to Metaphysics.


How to Use for arm64 Targets

Hi,
I am trying to build docker images on an amd64 host where the images built are for arm64 targets (raspberry pi)  and so I have come across this github project.
With my current configs, although the build/push to docker process works, the running of the docker image on an arm64 target itself fails.
The Dockerfile for the project I have written as follows:
FROM atsigncompany/buildimage:automated AS build
WORKDIR /app
COPY pubspec.yaml .
COPY lib lib/
COPY bin/main.dart bin/
RUN dart pub get
RUN dart compile exe /app/bin/main.dart -o /app/main.exe

FROM atsigncompany/runimage
COPY --from=build /runtime/ /
COPY --from=0 /app/main.exe /app/main.exe
ENTRYPOINT ["/app/main.exe"]

And the docker build and push part from an amd64 host to a docker registry I am doing like this:
$ docker build . -t registry:50005/projectGroup/projectName:1.0.0-BUILD-x-arm
$ docker push registry:50005/projectGroup/projectName:1.0.0-BUILD-x-arm

But then, in an arm64 target, when I run:
$ docker run -it registry:50005/projectGroup/projectName:1.0.0-BUILD-x-arm

I get:
Status: Downloaded newer image for registry:50005/projectGroup/projectName:1.0.0-BUILD-x-arm
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
standard_init_linux.go:219: exec user process caused: exec format error
What am I missing in order to successfully build an arm64 image for arm64 targets from within an amd64 host? Do I need to specify that the target is arm64 somewhere?
I should point out that docker itself is very new to me so not familiar with its ins and outs...
Thanks in advance,
PM

Hi, I'm glad you're finding this useful.
Firstly I'd note that atsigncompany/runimage is deprecated. So the second part of your Dockerfile should look something like:
FROM scratch
COPY --from=build /runtime/ /
COPY --from=build /app/main.exe /app/main.exe
ENTRYPOINT ["/app/main.exe"]

Then when it comes to the actual building it's necessary to use buildx and tell it to build for the linux/arm64/v8 platform. Regular docker build doesn't know how to build for multiple architectures, but buildx does that by using QEMU under the hood. I've never actually done this by hand. So if I tried to construct the command line here, chances are I'd get it wrong. I've been using GitHub Actions to run buildx e.g. at_dockerfiles/.github/workflows/dartshowplatform.yml.
Or... do the build on your arm64 target (we've been doing this for armv7, because it's broken on QEMU). Docker will pull down the right arm64 image and then use it to create an arm64 Dart binary that will then be packaged up with the arm64 runtime libraries.
If you're after a broader overview of how this stuff fits together I did a presentation at the Flutter Bangalore Meetup last weekend Dart on Arm (or just the slides).

Hi @cpswan, thanks for the quick response.
I will update the Dockerfile and have a look at buildx to see if I can use that for the builds. Failing that, I will do the builds on an arm64 host itself as a last resort (But I've been trying to avoid having to do this as the raspberry pis are already busy bees).
Will have a look at the video too as I am currently learning all this stuff anyway and I'm sure there'll be plenty useful info in there.

Hi @cpswan, as suggested by you using buildx to build arm64 images from an amd64 host worked great. Thanks for the good help and for making the atsigncompany/buildimage image available for general use.


Add Snapcraft build metadata

Snaps (https://snapcraft.io/) are a Linux application distribution format.
This adds the requisite metadata to build a GPMDP snap from the repository.
The major features work - MPRIS integration, desktop indicators/systray, music hotkeys and so on.
The desktop file icon doesn't work, and you will get an all-white window unless you manually connect the “process-control” snap interface.
With this metadata in the repository we can get Launchpad (http://launchpad.net/) to do daily builds of the GPMDP snap and publish them to “edge” channel of the snap store.

Coverage remained the same at 92.162% when pulling cc96bf5afa8c4d63c09f5bdae12f8161f9ee717b on RAOF:feature/snap into e65bd6168a2d8da871ca3f04dd05fcaac09925ce on MarshallOfSound:master.

To get this building and deploying I can add a Launchpad import of the github repository; that will pull the branch four times a day and build + publish the snap (to the “edge” channel) if there are any changes.
If you'd prefer to do a build per commit, the snapcraft enable-ci travis command is supposed to be able to do the necessary changes to add a snapcraft build to Travis.
Launchpad has the advantage that it won't slow down CI and we'll be able to extend this (after a couple of snapcraft bugs have been fixed) to build packages for arm, arm64, i386, and (for the truly weird) PowerPC. It's got the disadvantage that changes which break the snap build won't be noticed by CI.
Once the builds are in the edge channel, you can promote them to the beta/candidate/stable channels from the developer page on the snap store (or, at least, you'll be able to once I've set that up 😏). There are other possibilities, like setting the git-tag to build from in the snapcraft.yaml file, or manually building locally and uploading, if you'd prefer.

If you delete the PNG and rebase we can try get this going for 4.2.0

Coverage decreased (-4.7%) to 87.481% when pulling b6a7f7b7e91cad2aec2ecfb12110a9c0a2a1bf4c on RAOF:feature/snap into d28a7cda618d5d6b95d5a9b6f71129a0870a1962 on MarshallOfSound:master.

Coverage decreased (-4.7%) to 87.481% when pulling d8e81f064bc6ab00915d01cc0e40b597222b53a3 on RAOF:feature/snap into d28a7cda618d5d6b95d5a9b6f71129a0870a1962 on MarshallOfSound:master.

Coverage decreased (-4.7%) to 87.481% when pulling 9a4eee9b8a0a2f21831ccfd14f776db15860940b on RAOF:feature/snap into d28a7cda618d5d6b95d5a9b6f71129a0870a1962 on MarshallOfSound:master.

Ah sorry I filed an issue before checking closed issues/PRs, silly me, @RAOF how's setting up the developer page on the Snap store for @MarshallOfSound to use? They're adding a feature which will allow you to add additional contributors to a Snap which I think might help, but as far as I know that's still in the works...


Redis URL not start with redis:// after update to 2.14.1

Expected behavior
Run successfully
Actual behavior

Steps to reproduce or test case
Redis version
Redisson version
2.14.1
Redisson configuration

Fixed in https://github.com/redisson/redisson/commit/21ac3d81c17c0488ee33cb87e5e46b3fb893ec93#diff-d983d2e81971a8befbc9bbb7b631610d


Enable back button functionality, clear url on load

See discussion before merge in #84
This makes two changes:

Query parameters are cleared on load, rather than on first edit. This "godbolt.org style" is my preference in the design space, but it also technically made item 2 much easier:
Clicking the back button into a history item with the query parameters present leads to them actually loading in the UI

This also made it so the reducer no longer needs a callback to clear the URL on edit, since it will be done during load.

I still prefer keeping the url intact as long as possible, and I'd like to propose a solution to this in the future. But because this is a simplification, I would be in favor of merging at this point.


Helping out with Open Food Facts

I've noticed quite a bunch of your fast-food related extractors, and I was wondering if you would consider helping out with Open Food Facts (https://github.com/openfoodfacts/)
We aim to build the first worldwide opensource database of food (including ingredients, nutrition facts, labels, barcode…).
We have a website (http://world.openfoodfacts.org) and mobile apps to crowdsource data collection.
We have quite a momentum in France and Spain, and we're carefully considering including outside data from outside sources using extractors like yours.

Thank you for the invite!
All our data repos are free, libre and open source.
We hope we can help.
-- The Pffy Authors


SanityChecker rejects certain valid UNION plans

Describe the bug
There is a regression that was added that in a very very specific circumstance with sorted data and constant predicates and UNION queries where the query will now error with a SanityCheckPlan error when it should complete.
To Reproduce
@wiedld  found a reproducer as part of https://github.com/apache/datafusion/pull/12414
https://github.com/apache/datafusion/commit/c2e652e48c82aedb20c289cbf5e7a7e279aa436e
# Test: inputs into union with different orderings
query TT
explain select * from (select b, c, a, NULL::int as a0 from ordered_table order by a, c) t1
union all
select * from (select b, c, NULL::int as a, a0 from ordered_table order by a0, c) t2
order by d, c, a, a0, b
limit 2;
----
logical_plan
01)Projection: t1.b, t1.c, t1.a, t1.a0
02)--Sort: t1.d ASC NULLS LAST, t1.c ASC NULLS LAST, t1.a ASC NULLS LAST, t1.a0 ASC NULLS LAST, t1.b ASC NULLS LAST, fetch=2
03)----Union
04)------SubqueryAlias: t1
05)--------Projection: ordered_table.b, ordered_table.c, ordered_table.a, Int32(NULL) AS a0, ordered_table.d
06)----------TableScan: ordered_table projection=[a, b, c, d]
07)------SubqueryAlias: t2
08)--------Projection: ordered_table.b, ordered_table.c, Int32(NULL) AS a, ordered_table.a0, ordered_table.d
09)----------TableScan: ordered_table projection=[a0, b, c, d]

# Test: run the query from above
# TODO: query fails since the constant columns t1.a0 and t2.a are not in the ORDER BY subquery,
# and SanityCheckPlan does not allow this.
statement error DataFusion error: SanityCheckPlan
select * from (select b, c, a, NULL::int as a0 from ordered_table order by a, c) t1
union all
select * from (select b, c, NULL::int as a, a0 from ordered_table order by a0, c) t2
order by d, c, a, a0, b
limit 2;

statement ok
drop table ordered_table;

Expected behavior
Query should run
Additional context
We believe this was uncovered by https://github.com/apache/datafusion/pull/11196 . The error in the sort order calculation has existed for awhile but https://github.com/apache/datafusion/pull/11196 now uncovered the issue
This was released in 40.0.0 https://github.com/apache/datafusion/blob/main/dev/changelog/40.0.0.md

I spent some time finding a smaller standalone reproducer
create table t(a0 int, a int, b int, c int) as values (1, 2, 3, 4), (5, 6, 7, 8);

select * from (select c, a, NULL::int as a0 from t order by a, c) t1
union all
select * from (select c, NULL::int as a, a0 from t order by a0, c) t2
order by c, a, a0, b
limit 2;

When run
> select * from (select c, a, NULL::int as a0 from t order by a, c) t1
union all
select * from (select c, NULL::int as a, a0 from t order by a0, c) t2
order by c, a, a0, b
limit 2;
SanityCheckPlan
caused by
Error during planning: Plan: ["SortPreservingMergeExec: [c@0 ASC NULLS LAST,a@1 ASC NULLS LAST,a0@2 ASC NULLS LAST,b@3 ASC NULLS LAST], fetch=2", "  UnionExec", "    SortExec: TopK(fetch=2), expr=[c@0 ASC NULLS LAST,a@1 ASC NULLS LAST,b@3 ASC NULLS LAST], preserve_partitioning=[false]", "      ProjectionExec: expr=[c@2 as c, a@0 as a, NULL as a0, b@1 as b]", "        MemoryExec: partitions=1, partition_sizes=[1]", "    SortExec: TopK(fetch=2), expr=[c@0 ASC NULLS LAST,a0@2 ASC NULLS LAST,b@3 ASC NULLS LAST], preserve_partitioning=[false]", "      ProjectionExec: expr=[c@2 as c, NULL as a, a0@0 as a0, b@1 as b]", "        MemoryExec: partitions=1, partition_sizes=[1]"] does not satisfy order requirements: [PhysicalSortRequirement { expr: Column { name: "c", index: 0 }, options: Some(SortOptions { descending: false, nulls_first: false }) }, PhysicalSortRequirement { expr: Column { name: "a", index: 1 }, options: Some(SortOptions { descending: false, nulls_first: false }) }, PhysicalSortRequirement { expr: Column { name: "a0", index: 2 }, options: Some(SortOptions { descending: false, nulls_first: false }) }, PhysicalSortRequirement { expr: Column { name: "b", index: 3 }, options: Some(SortOptions { descending: false, nulls_first: false }) }]. Child-0 order: OrderingEquivalenceClass { orderings: [[PhysicalSortExpr { expr: Column { name: "c", index: 0 }, options: SortOptions { descending: false, nulls_first: false } }, PhysicalSortExpr { expr: Column { name: "a", index: 1 }, options: SortOptions { descending: false, nulls_first: false } }], [PhysicalSortExpr { expr: Column { name: "c", index: 0 }, options: SortOptions { descending: false, nulls_first: false } }, PhysicalSortExpr { expr: Column { name: "a0", index: 2 }, options: SortOptions { descending: false, nulls_first: false } }]] }

Even simpler:
select * from (select c, a, NULL::int as a0 from t order by a, c) t1
union all
select * from (select c, NULL::int as a, a0 from t order by a0, c) t2
order by a, a0, c
limit 2;

DataFusion error: SanityCheckPlan
caused by
Error during planning: Plan: ["SortPreservingMergeExec: [a@1 ASC NULLS LAST,a0@2 ASC NULLS LAST,c@0 ASC NULLS LAST], fetch=2", "  UnionExec", "    SortExec: TopK(fetch=2), expr=[a@1 ASC NULLS LAST,c@0 ASC NULLS LAST], preserve_partitioning=[false]", "      ProjectionExec: expr=[c@1 as c, a@0 as a, NULL as a0]", "        MemoryExec: partitions=1, partition_sizes=[1]", "    SortExec: TopK(fetch=2), expr=[a0@2 ASC NULLS LAST,c@0 ASC NULLS LAST], preserve_partitioning=[false]", "      ProjectionExec: expr=[c@1 as c, NULL as a, a0@0 as a0]", "        MemoryExec: partitions=1, partition_sizes=[1]"] does not satisfy order requirements: [PhysicalSortRequirement { expr: Column { name: "a", index: 1 }, options: Some(SortOptions { descending: false, nulls_first: false }) }, PhysicalSortRequirement { expr: Column { name: "a0", index: 2 }, options: Some(SortOptions { descending: false, nulls_first: false }) }, PhysicalSortRequirement { expr: Column { name: "c", index: 0 }, options: Some(SortOptions { descending: false, nulls_first: false }) }]. Child-0 order: OrderingEquivalenceClass { orderings: [[PhysicalSortExpr { expr: Column { name: "a", index: 1 }, options: SortOptions { descending: false, nulls_first: false } }], [PhysicalSortExpr { expr: Column { name: "a0", index: 2 }, options: SortOptions { descending: false, nulls_first: false } }]] }

I am trying to figure out where the bug is (is it in the union equivalence properties calculation). I am not sure it is.
I added some debugging information to my small reproducer from https://github.com/apache/datafusion/issues/12446#issuecomment-2361896831 to try and figure out what the code should be doing
The debugging (full output below) shows the input equivalence properties are:
input1: [[a, c]], constants: [a0]
input2: [[a0, c]], constants: [a]

The current code computes the output equivalence properties as
result: [a, a0], constants: []

However, this seems correct to me. I worked an example to show this 🤔
Worked example
If input1 is (sorted on a, c, constant a0):

a
c
a0

1
1
N

1
2
N

1
3
N

2
1
N

And input2 is (sorted on a0, c, constant a):

a
c
a0

N
10
10

N
20
10

N
30
10

N
10
20

There are at least two possible outputs
Possible output 1: (sorted on a and a0)

a
c
a0

1
1
N

1
2
N

1
3
N

2
1
N

N
10
10

N
20
10

N
30
10

N
10
20

Possible output 2: ( also sorted on a and a0)

a
c
a0

N
10
10

N
20
10

N
30
10

N
10
20

1
1
N

1
2
N

1
3
N

2
1
N

Details

Here is the full output
Calculating union of 2 equivalence properties
---------------
EquivalenceProperties {
    eq_group: EquivalenceGroup {
        classes: [],
    },
    oeq_class: OrderingEquivalenceClass {
        orderings: [
            [
                PhysicalSortExpr {
                    expr: Column {
                        name: "a",
                        index: 1,
                    },
                    options: SortOptions {
                        descending: false,
                        nulls_first: false,
                    },
                },
                PhysicalSortExpr {
                    expr: Column {
                        name: "c",
                        index: 0,
                    },
                    options: SortOptions {
                        descending: false,
                        nulls_first: false,
                    },
                },
            ],
        ],
    },
    constants: [
        ConstExpr {
            expr: Column {
                name: "a0",
                index: 2,
            },
            across_partitions: true,
        },
    ],
    schema: Schema {
        fields: [
            Field {
                name: "c",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
            Field {
                name: "a",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
            Field {
                name: "a0",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
        ],
        metadata: {},
    },
}
---------------
EquivalenceProperties {
    eq_group: EquivalenceGroup {
        classes: [],
    },
    oeq_class: OrderingEquivalenceClass {
        orderings: [
            [
                PhysicalSortExpr {
                    expr: Column {
                        name: "a0",
                        index: 2,
                    },
                    options: SortOptions {
                        descending: false,
                        nulls_first: false,
                    },
                },
                PhysicalSortExpr {
                    expr: Column {
                        name: "c",
                        index: 0,
                    },
                    options: SortOptions {
                        descending: false,
                        nulls_first: false,
                    },
                },
            ],
        ],
    },
    constants: [
        ConstExpr {
            expr: Column {
                name: "a",
                index: 1,
            },
            across_partitions: true,
        },
    ],
    schema: Schema {
        fields: [
            Field {
                name: "c",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
            Field {
                name: "a",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
            Field {
                name: "a0",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
        ],
        metadata: {},
    },
}
Result:
---------------
EquivalenceProperties {
    eq_group: EquivalenceGroup {
        classes: [],
    },
    oeq_class: OrderingEquivalenceClass {
        orderings: [
            [
                PhysicalSortExpr {
                    expr: Column {
                        name: "a",
                        index: 1,
                    },
                    options: SortOptions {
                        descending: false,
                        nulls_first: false,
                    },
                },
            ],
            [
                PhysicalSortExpr {
                    expr: Column {
                        name: "a0",
                        index: 2,
                    },
                    options: SortOptions {
                        descending: false,
                        nulls_first: false,
                    },
                },
            ],
        ],
    },
    constants: [],
    schema: Schema {
        fields: [
            Field {
                name: "c",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
            Field {
                name: "a",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
            Field {
                name: "a0",
                data_type: Int32,
                nullable: true,
                dict_id: 0,
                dict_is_ordered: false,
                metadata: {},
            },
        ],
        metadata: {},
    },
}

input1: [[a, c]], constants: [a0]
input2: [[a0, c]], constants: [a]
The current code computes the output equivalence properties as
result: [a, a0], constants: []
However, this seems correct to me. I worked an example to show this 🤔

Actually IMO the result should be [[a, a0, c], [a0, a, c]]. To do that, input orderings should be adjusted such that:
input1: [[a, c]], constants: [a0] => [[a0, a, c], [a, a0, c], [a, c, a0]]
input2: [[a0, c]], constants: [a] => [[a, a0, c], [a0, a, c], [a0, c, a]]
I could show what is in my mind in a draft if you think my proposal can fix the problem.

I could show what is in my mind in a draft if you think my proposal can fix the problem.

That would be amazing -- thank you @berkaysynnada  -- I would be happy to try and help make it happen / productionize it

Actually IMO the result should be [[a, a0, c], [a0, a, c]]. To do that, input orderings should be adjusted such that:

Ah, yes that makes sense -- that c can be at the end of either order.

I could show what is in my mind in a draft if you think my proposal can fix the problem.

~That would be amazing -- thank you @berkaysynnada  -- I would be happy to try and help make it happen / productionize it~
Update: let me give it a try this afternoon and report back here. If I can't make it work, perhaps a draft would help

I made progress and started a PR here: https://github.com/apache/datafusion/pull/12562. It is all tests at the moment, but I think I now have a better handle on what is needed. I'll try and write more tests and finish the code fix soon

An update here is I have a WIP PR with tests, etc.  https://github.com/apache/datafusion/pull/12562
I am now trying to figure out an appropriate algorithm to implement the adjustment that @berkaysynnada  suggests in https://github.com/apache/datafusion/issues/12446#issuecomment-2363159349

Actually IMO the result should be [[a, a0, c], [a0, a, c]]. To do that, input orderings should be adjusted such that:
input1: [[a, c]], constants: [a0] => [[a0, a, c], [a, a0, c], [a, c, a0]]
input2: [[a0, c]], constants: [a] => [[a, a0, c], [a0, a, c], [a0, c, a]]

I worry that if we are not careful, such an expansion will be some sort of expontential blow up. Maybe I can just hard code a limit of orderings to try 🤔

An update here is I have a WIP PR with tests, etc. https://github.com/apache/datafusion/pull/12562

I will share my thoughts on it tomorrow

I worry that if we are not careful, such an expansion will be some sort of expontential blow up.

I have the same concern. We need to provide comprehensive tests. It would also be better if we observe the equivalence properties in the plans that include any UnionExec.
Thank you for your effort

I have the same concern. We need to provide comprehensive tests. It would also be better if we observe the equivalence properties in the plans that include any UnionExec.

I will do so. I think I have a solution that we can start discussing tomorrow

An update here is that I think I have a reasonable algorithm in https://github.com/apache/datafusion/pull/12562 and have it working for many unit tests. I need to debug one last issue  and then polish the PR up for review

I debugged the issue, and it appers to be a stack overflow unrelated to this particular issue: https://github.com/apache/datafusion/issues/12700

Update here is that with these two PRs

[ ] https://github.com/apache/datafusion/pull/12759
[ ] https://github.com/apache/datafusion/pull/12562

The end to end tests (added in https://github.com/apache/datafusion/pull/12721) now pass successfully without error. 😅  So now it will be a matter of working through those PRs


cleanup arrays if the last value, which is not undefined, gets removed from it

This fixes an error where you can get to an invalid error state if you remove an array field which has a corresponding error.
Here is a basic example of the original problem: https://codesandbox.io/s/formik-example-forked-gi0kc?file=/index.js
If the empty field gets removed the form will not turn valid because the array is not "empty" and therefore gets not removed from the parent object.
An other way to to fix this might be to rewrite the isEmptyArray assertion to also consider arrays with only undefined values as empty.

@jaredpalmer @johnrom any chance to get this process going?


typo

A couple of comments on the documentation.
Could we get some documentation or clarification for what self actually refers to or does? To me it's not that clear.
Also using @dynamo with dispatch kinda seems a bit magical at this point to me. It would be good if there were some further explanation/examples of how it works?
Otherwise thanks for this package.

This is meant to be we ... let dispatch ..., in which case it would be correct (but I see why you might have read it differently).
self just refers to the function/dynamo you're currently working with. After you've returned it, it gets replaced with %1 or whatever argument represents that function.
A @dynamo is nothing but a normal method (the same as a generated function as well). If you call foo(f, x), dispatch decides whether you hit the dynamo method or a different method that runs normal code.
Does that clear things up? Happy to keep discussing and we can hopefully work out how the docs can be clearer.

Ah sorry for the noise, you are right.
Thank you for the clarification. I would appreciate it if self was described in the docs, which would help other readers.


Update service for better use in Symfony2

Solves "Attempted to load class "TwitterOAuth" from the global namespace.
Did you forget a "use" statement for "Abraham\TwitterOAuth\TwitterOAuth"?" error

thanks!

You're welcome, thanks for this wonderful tool !


[Bug] [0.35~0.40] The right-click menu in Apple device displays abnormally (no background)

Reproducible in vscode.dev or in VS Code Desktop?

[X] Not reproducible in vscode.dev or VS Code Desktop

Reproducible in the monaco editor playground?

[X] Not reproducible in the monaco editor playground

Monaco Editor Playground Link
No response
Monaco Editor Playground Code
No response
Reproduction Steps
No response
Actual (Problematic) Behavior
No response
Expected Behavior
No response
Additional Context
No response

Some style variables are not defined

Please fill out the bug report form completely and provide screenshots. Thanks!

Please fill out the bug report form completely and provide screenshots. Thanks!

Unfortunately, I cannot reproduce. Can you look into what causes this?

~Unfortunately, I cannot reproduce. Can you look into what causes this?~
I can reproduce on the iPad.

Sorry. I can't help you analyze the code. I just report a bug. Maybe you can open this issue to get more help from community developers.

@haeguri Any update for this issue? This bug still exists on 0.39 and 0.40-dev.
This happened since 0.35, and 0.34.1 is fine.
We are looking forward to fixing it so that it can work on iOS, thanks!

Here is the screenshot of iOS Safari developer tools.

And here is the screenshot of desktop Chrome developer tools.

We can see that all CSS variables prefixed with --vscode are not applied on iOS. That causes the background color var(--vscode-menu-background) of the menu container on iOS to be transparent rgba(0,0,0,0).

Here is the screenshot of iOS Safari developer tools.
And here is the screenshot of desktop Chrome developer tools.
We can see that all CSS variables prefixed with --vscode are not applied on iOS. That causes the background color var(--vscode-menu-background) of the menu container on iOS to be transparent rgba(0,0,0,0).

Yes, I found that CSS variables have become undefined. I did not find any relevant codes in this repo.

Here is the screenshot of iOS Safari developer tools.
And here is the screenshot of desktop Chrome developer tools.
We can see that all CSS variables prefixed with --vscode are not applied on iOS. That causes the background color var(--vscode-menu-background) of the menu container on iOS to be transparent rgba(0,0,0,0).

Yes, I found that CSS variables have become undefined. I did not find any relevant codes in this repo.

The relevant codes are here:
https://github.com/microsoft/vscode/blob/35573c42a59946d4ea0c5b533055f86a5585abbf/src/vs/platform/theme/common/colorRegistry.ts#L488

It reproduces in your own examples. Get it fixed.

It reproduces in your own examples. Get it fixed.

At present, official seems to be quite passive in addressing the issues occurring on mobile devices.

Please fill out the bug report form completely and provide screenshots. Thanks!

Lazy. Just go to https://microsoft.github.io/monaco-editor/playground.html?source=v0.45.0#example-extending-language-services-configure-javascript-defaults on your iPad, or with Chrome emulating an iPad:

At present, official seems to be quite passive in addressing the issues occurring on mobile devices.

I added a quickfix to our editor component which we use to wrap a Monaco instance:
            // Workaround for https://github.com/microsoft/monaco-editor/issues/3602
            // Hoist the menu background var up one level because the context menu is placed outside of the editor.
            this.element.style.setProperty('--vscode-menu-background', getComputedStyle(this.element.querySelector('.monaco-editor')).getPropertyValue('--vscode-menu-background'));

目前，官方在解决移动设备上发生的问题方面似乎相当被动。

我为我们的编辑器组件添加了一个快速修复程序，我们用它来包装一个摩纳哥实例：
// Workaround for https://github.com/microsoft/monaco-editor/issues/3602
// Hoist the menu background var up one level because the context menu is placed outside of the editor.
this.element.style.setProperty('--vscode-menu-background', getComputedStyle(this.element.querySelector('.monaco-editor')).getPropertyValue('--vscode-menu-background'));

My project has scenarios for mobile use. Do you know why the monaco editor cannot long press the screen on the mobile end to summon system copy pop ups? In addition to this issue, it is also impossible to achieve cursor movement by long pressing the system keyboard space. I don't understand why the official doesn't optimize the experience of such a powerful editor on mobile devices

@hediet
This issue has been fixed since 0.48.0-dev-20240329. However, the 0.48.0-rc has the problem again, but 0.49.0-dev-20240423 is working.
Is it about the building problem?


MaterialUI with Styled components

I use Styled-components in my app and it's way of theming. I don't wan't to change anything, because styled-components is simple for me and i like it. Material on the other hand give me headache, but they have components that i want to use. After two days of striggling i found (yeee) a way to dynamically change Material components theme based on my Styled-components App theme. This is example how it's work's, it's simple and small for me and i like it. I just want to understand how it's works and why i need const root = 'DialogPaper'
import styled from 'styled-components'
import Select from '@material-ui/core/Select'

const root = 'DialogPaper'
export const SelectM = styled(Select).attrs({
  classes: { root }
})`
  .${root} {
    color: ${p => p.theme.primaryColor};
    font-family: ${p => p.theme.fontFamily};
    font-size: ${p => p.theme.fontSize}px;
  }
`

And one more question, how do i change multiple components?
const root = 'DialogPaper'
const icon = 'DialogPaper'

export const SelectM = styled(Select).attrs({
  classes: { root, icon }
})`
  .${root} {
    color: ${p => p.theme.textColor};
    font-family: ${p => p.theme.fontFamily};
    font-size: ${p => p.theme.fontSize}px;
  }
  .${icon} {
    color: ${p => p.theme.textColor};
  }
`

export const TextFieldM = styled(TextField).attrs({
  classes: { root }
})`
  .${root} {
    font-size: 55px;
  }
`

Found a guide here: https://material-ui.com/guides/interoperability/#styled-components


Fix sleepy demo README link for flashing binaries

@bertoldi-silabs The change looks good but I see you are trying to merge to main.  We do not push to siliconlabs/ot-efr32 main as it is an exact clone of whats in openthread/ot-efr32 main.  Instead we create a staging branch and open a PR against the staging branch for review then when approved merge to the staging branch and then open subsequent PR to openthread/ot-efr32.

@romacdon this can be merged directly to openthread/ot-efr32:main

@romacdon this can be merged directly to openthread/ot-efr32:main. We only do staging branches for larger PRs. I agree though, this PR needs to target openthread/ot-efr32:main

@lmnotran openthread/ot-efr32 main but not not siliconlabs/ot-efr32 main. Am I missing something?  We never merge directly to siliconlabs/ot-efr32 main. That would have our main have a fix that is not in openthread/ot-efr32 main and we don't want that.

@romacdon this can be merged directly to openthread/ot-efr32:main. We only do staging branches for larger PRs. I agree though, this PR needs to target openthread/ot-efr32:main

@lmnotran openthread/ot-efr32 main but not not siliconlabs/ot-efr32 main. Am I missing something? We never merge directly to siliconlabs/ot-efr32 main. That would have our main have a fix that is not in openthread/ot-efr32 main and we don't want that.

I think I just made a mistake about which main to merge with. When pushing to siliconlabs/ot-efr32, I just expected that the target of the pull request would also be siliconlabs/ot-efr32 when I was told that the target branch was main. I just didn't consider that it would be for openthread/ot-efr32:main instead. My bad, I'll get that changed over...

@romacdon - You're correct. We never target SiliconLabs/ot-efr32:main and we only target openthread/ot-efr32:main. I was just meaning to say that using a staging branch would be unnecessary as this was such a small change.

This PR should target openthread/ot-efr32:main instead of SiliconLabs/ot-efr32:main.
A new PR has been opened at https://github.com/openthread/ot-efr32/pull/365 to merge these changes in to the appropriate target.

@romacdon - You're correct. We never target SiliconLabs/ot-efr32:main and we only target openthread/ot-efr32:main. I was just meaning to say that using a staging branch would be unnecessary as this was such a small change.

Yup, completely agree.


[BUG] Period (.) at the beginning or end of a trigger name resets trigger conditions when editing monitor

Describe the bug
Having a . at the beginning or end of a trigger name causes the trigger condition values to reset when editing the monitor in the UX.
To Reproduce
Steps to reproduce the behavior:

Go to Create monitor
Define a Per query monitor
Create a trigger with a name that includes a . as the first or last character; e.g., .trigger or trigger.
Create the monitor
Go to the edit monitor page
The trigger condition will reset to the default values of IS ABOVE 10000

Expected behavior
The UX should display the configured trigger condition; not the defaults.
Plugins
Alerting and alertingDashboards.
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

OS: IOS
Version 10.15.7

Additional context
Related issues from the ODFE alerting plugin repo:
https://github.com/opendistro-for-elasticsearch/alerting-kibana-plugin/issues/152
https://github.com/opendistro-for-elasticsearch/alerting-kibana-plugin/issues/199
https://github.com/opendistro-for-elasticsearch/alerting-kibana-plugin/issues/207

Per bucket monitors do not seem to have this same issue.

Tracked the issue to formikToTrigger::formikToTriggerUiMetadataand triggerToFormik::queryLevelTriggerToFormik.
The _set() call on line 153 in formikToTriggerUiMetadata was removing the .s at the ends of the trigger name in the uiMetadata. In addition, the _.get() calls starting at line 49 in queryLevelTriggerToFormik were not factoring the . into their logic. This is likely due to the dot notation used for the path parameter of the _.get() and _.set() functions.
Implemented a fix that passes testing using trigger names like .trigger, trigger., ..trigger.., and .trigger.name..

Is this fixed @AWSHurneyt, still 2.0?

Is this fixed @AWSHurneyt, still 2.0?

Yes, just merged the fix in today. I'll close this issue.


Extra json

Reference Issue
No issue.
What does this implement/fix? Explain your changes.
Adds quadruple and dative bonds to the JSON.
Bumps version number to 11, but attempts to allow backwards compatibility to 10.
Any other comments?
Very little testing has been done.

I believe these changes were included in #6038, so this PR is no longer necessary


Duplicate detection preparation and execution logic improvements

This issue outlines the (potential) identified issues. Discuss them and create separate tickets for the ones we agree on addressing.
Meta

[ ] https://github.com/cortezaproject/corteza/blob/2023.3.x/server/compose/service/record.go#L753 -- why is the error here checked so late?
[ ] https://github.com/cortezaproject/corteza/blob/2023.3.x/server/compose/service/record.go#L1053 -- why is the error here checked so late?
[ ] https://github.com/cortezaproject/corteza/blob/2023.3.x/server/compose/service/record.go#L297 -- why are we checking dup errors on lookup (and not handling errors)

Dedup logic
DupDetection fnc grabs all of the records which are then passed into the dup checker.
Identified issues:

DupDetection grabs all of the records for each call which will be problematic for bulk operations.
Fetching all records can kill the server.
The Find fnc might default the limit to 500 (this is what we did in the past); needs to be confirmed. If the limit defaults, this won't include all records.
The Find fnc runs access control on fetched records which might filter potential duplicated. Is this expected?

This firstly needs to be further investigated; what needs to happen, the amount of effort required, ...
After that, we'll (break it down) and start working on this.
We'll address it sometime after the 2023.3.0 release


No module named 'sfast.utils.xformers_attention

    from sfast.utils.xformers_attention import (
ModuleNotFoundError: No module named 'sfast.utils.xformers_attention'

Prompt executed in 2.32 seconds

its  in   adding 'sfast/libs/xformers/xformers_attention.py'

Left with stablefast,  right without. seems to be 30% faster

I fixed import in main.
These outputs are fine for the current stable fast.


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

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

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


Is gallium not being actively worked on - as of 2017

Hey @alexflint
First off, I think this is an awesome project!!
I'd really love to see this one continue, checked out the Activity graph for this project and the dev seems to be slowing down. Could you please let me know what are your plans for gallium's future?

Definitely still under active development. I am working on linux and windows support, which involves some large non-incremental changes, hence the lack of activity.

Great to know :+1:


Range as array

First of all, your plugin is so small and awesome. Thank You.
Is there any ability to add steps(or range) as array?
This is for price filter.
When have 10 products with  price: 158, 241, 322, 355 etc

Hi oslyak, I was looking for the same, you could add range as array?


IOS Implementation

Any Idea of how to implement this plugin for IOS?

I haven't used Swift/Objective-C before. Don't have much idea. I am open to a discussion and PRs if anyone can take that up.

@drenther Any updates on iOS front?

I personally don't work with iOS as of now. Would be happy to take a PR if anyone is willing to?

I can do iOS programming. So far did not find any documentation on an iOS mechanism similar to Android intents though.

https://razorpay.com/docs/payment-gateway/payment-methods/upi-intent/ios/
There is an iOS intent flow in RazorPay SDK. It doesn't look there is a spec (even roughly so like in android) for it though. Even, they seem to be supporting only three apps as of now.
Also not sure if we can emulate something similar on Flutter or not.

Great. I found these key custom schemes from above:
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>tez</string>
    <string>phonepe</string>
    <string>paytmmp</string>
</array>

Was struggling as could not find these details of the apps published anywhere e.g. comgooglemaps for Google Maps is documented by Google and was able to launch Google Maps using this custom scheme using url_launcher package's launch() call to comgooglemaps://``. Was trying with upi://``` as per the spec but no apps bothered to respond to it.
Will experiment and document.

All these custom schemes work and with code like this on iOS you can launch the corresponding apps. Will see if the UPI parameters work.
          final urlString = 'paytmmp://';
          final bool check = await canLaunch(urlString);
          try {
            await launch(urlString);
          } catch(error) {
            print(error.toString());
          }

Great findings, looks like we can support iOS to some extent. Any edge cases you can think of? @pepsighan @reeteshranjan

I think they should work fine for each individual app. The work will be to find custom schemes for each individual app for all to be supported. I don't have an iPhone but google pay's custom schemes are given here: https://internal-absorbed-celsius.glitch.me/. You may try if these work.

I found custom schemes implemented several apps using the method described here: https://www.amerhukic.com/finding-the-custom-url-scheme-of-an-ios-app.
I looked at these apps I have evaluated on Android (37) plus few more:  Airtel Pay, Amazon Pay, Axis Pay, Bandhan Bank, Baroda Pay, BHIM, BOI UPI, Cent UPI, Cointab, CORP UPI, CSB Pay, DCB UPI, Freecharge, Google Pay, ICICI Mobile, IDFC UPI, IndianBank UPI, IndusPay, KBL UPI, KVB Upay, LVB Upaay, MahaUPI, Mi Pay, Mobikwik, Oriental Pay, PayTM, Paywiz, Phone Pe, PSB, RBL UPI, SBI Pay, SyndUPI, Truecaller, UCO UPI, UltraCash, Vijaya UPI, Yes Pay
Found these apps to implement custom schemes on iOS (16): PayTM, PhonePe, Amazon, iMobile, MobiKwik, Freecharge, KVB Upay, UBI UPI, UCO UPI, Vijaya UPI, BharatPe, SyndUPI, LOTZA Pay, Airtel, BHIM, Cent UPI
These apps have upi as one of their custom schemes implemented: Google Pay, Mobikwik, PayTM, PhonePe, Freecharge, Lotza Pay, UBI UPI
These apps have only upi as their custom scheme: KVB Upay, SyndUPI, Vijaya UPI
These apps do not have upi scheme but some generic app name based schemes implemented: Amazon, iMobile, Airtel, BharatPe, BHIM, Cent UPI, UCO UPI
I experimented with few using url_launcher to see if I can get to a success payment and some kind of callback.

What the URL is going to be?

At this point, at least I do not see a way to figure out what query string structure is actually expected and parsed by these apps, beyond this finding of custom schemes. Though one can guess that if UPI "listening" has been implemented by these apps, the parameters should be standard and as per the UPI specs. However; there is no clarity about the URL path e.g. is it phonepe://upi?, phonepe://pay?, phonepe://upi/pay? or something else. The link https://internal-absorbed-celsius.glitch.me/ shared earlier helped me with this. The logical patterns seem to be: upi://pay? for upi custom schemes, and <non-upi-scheme>://upi/pay? for other custom schemes. And the few apps I tried, it worked out that way.

Does the pre-filled payment form opens up?

It did. For Google Pay and Phone Pe.

Does the payment go through?

Yes, it did go through with Google Pay.

Did the callback URL work?

I put in a working URL to one of my servers as the callback URL. But it was not called.
The twist, which I discovered a bit later, is that I was testing on my iPhone 6. Most of the apps get installed but do not even proceed once they detect it's iPhone 6 (as per NPCI guidelines). I did not want to continue this research/debugging any further because I'm not sure if few apps did not respond properly due to this etc.

One of my ideas was that to implement a custom scheme in my app and pass a callback URL using that custom scheme (once the callback is verified to work for regular https URLs); but the UPI spec says that the callback URL must have http/https scheme. Had the URL with custom scheme worked, we would have had an experience of the whole workflow getting executed inside one's mobile, similar to how it works in Android.
At this point, not exploring any further till I get an iPhone version that is free of NCPI non-support worries.

Hey @reeteshranjan that is some exceptional dive deep points. Thanks for all the effort and time you have put in. I will try and explore along the same lines in  iPhone X and see if we can get anything up that will be decent enough to be packaged in a lib. But, the callback bit seems like a deal breaker so far to me.
@pepsighan it will be great if you could share your thoughts whenever you can.

Hey @reeteshranjan that is some exceptional dive deep points. Thanks for all the effort and time you have put in.

Thank you @drenther! Happy to help. I love contributing to open source. Do check out my github and my organizations based repositories. Hopefully, you can find something that is useful.

I have captured the results of testing on iPhone 7 here:
https://docs.google.com/spreadsheets/d/1y8m2zrrhM7yZnvYJYgTUtueCatP76j6_WSJYFE6JmvQ/edit?usp=sharing
This is ongoing work. I'm stopped for today as my bank account(s) either exhausted daily transaction limits (owing to this testing 🙂) or some other issues.
Since many apps support upi custom scheme (and some support only that), to test each of them without any ambiguity for iOS, I offloaded all but the one I wanted to test, and then launching a URL of the form upi://pay?pa=... did launch the solo app.

Some apps demanded iOS 13.5+. All the tests have been done on iOS 14.

Have started a communication with Google Pay about the callback not working. Hopefully it will point an error in my integration method such as anything being wrong with value of the url parameter. I did try 2 versions: URL encoded and unencoded and both failed.  But no luck.

Summary of experiments so far
Apps researched
These apps were chosen as they supported custom schemes including/excluding upi: Airtel, Amazon, BHIM Cent UPI, BHIM JK Bank UPI, BHIM@SyndUPI, BHIM UCO UPI, Cointab, Freecharge, iMobile, Google Pay, Mobikwik, Paytm, Phonepe, Truecaller, WhatsApp
Custom Schemes

Airtel: myairtel
Amazon: com.amazon.mobile.shopping, com.amazon.mobile.shopping.web, amazonToAlipay, com.amazon.mobile.sso
BHIM Cent UPI: CentUPI
BHIM JK Bank UPI: upi
BHIM@SyndUPI: upi
BHIM UCO UPI: ucoupi
Cointab: upi
Freecharge: upi, freecharge, com.freecharge.ios, freechargeapp, fc
iMobile: ICICI, iMobileNative, icicibank, imobileapp, Imblgc
Google Pay: upi, comgooglepaisa, tez, gpay
Mobikwik: upi, mobikwik
Paytm: upi, paytm, paytmmp, com.one97.paytm
PhonePe: upi, phonepe, com.phonepe.PhonePeApp
Truecaller: truecaller, truesdk
WhatsApp: upi, whatsapp, whatsapp-consumer

Behaviour around custom schemes other than upi
The point of looking at these was that an app can unambiguously invoke a payment app of its user's choice. However; invoking URLs made using these custom schemes does not lead to a complete payment process. No pre-filled payment form view is shown on invocation in most cases barring few exceptions.
Exceptions

Google Pay: Performs successful payments including pre-filled forms for tez://upi/pay? and gpay://upi/pay? URLs
Paytm: Performs successful payments including pre-filled forms for paytmmp://upi/pay? URLs

Special Mentions

WhatsApp: For whatsapp://pay? URLs the WhatsApp payments page gets opened

Behaviour around upi custom scheme
Ambiguity resolution

If there is only 1 app on iOS that implements upi custom scheme, it gets successfully launched
In case of multiple apps being present, iOS choses one and it seems the one that was installed first is picked (more experiments needed to confirm). In any case, there is no way for an app to specify a choice among those installed

Apps that perform payment process
Few apps exhibited the following behaviour for upi custom scheme URLs:

App gets launched
Pre-filled payment form is presented
Payment gets through successfully
Callback url is not invoked

The apps are: BHIM JK Bank UPI, Cointab, Freecharge, Google Pay, Paytm, PhonePe, WhatsApp
Apps that did not respond well

BHIM@SyndUPI, BHIM UCO UPI: No payment form is presented
Mobikwik: It seems to have a bug where for me it keeps losing the bank accounts configured and keeps saying add them and while adding says already added and then payment does not move forward

Notes on behaviour around callback URL
None of the apps invoked the callback URL specified in url parameter.
Paytm is the one app that showed that it's trying to at least parse the URL. And it has some structural requirement on the callback URL that's not met with but it's not clearly notified by Paytm, and it gives a generic error "ref-url invalid length" for different values of url parameter.
Hacky methods of using refUrl (from earlier version of UPI linking spec) and callbackUrl (from Paytm payment API documentation) along with url parameter were tried; but were futile.
Discovery implementation

An app needs to specify the URL schemes it wishes to invoke in its project's Info.plist as shown above.
Discovery can be implemented by then calling canOpenUrl, as documented here https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl for each of these to see if these apps are installed. A simple tutorial here: https://useyourloaf.com/blog/querying-url-schemes-with-canopenurl/.
Limitations
This method does not return package bundleId of apps discovered, so while it's easy to figure out if these apps are available: Freecharge, Google Pay, Mobikwik, Paytm, PhonePe, and WhatsApp; it's impossible to figure out if these apps are the ones that implement and listen for upi custom scheme: BHIM JK Bank UPI, Cointab.
Hence, discovery needs to properly notify the user around this.

In their latest release, Jio has added support. On iOS, they have implemented custom schemes myJio and prefs. Did try it out and payment form did not open up.

closing this since #17 merged and published on pub.dev as v0.3.0

Is https://github.com/drenther/upi_pay/issues/38 relevant and important for you?
If yes, could you please respond to my twitter thread with UPI and NPCI handles included in your response asking how these must be solved and how it helps you? https://twitter.com/reeteshr08/status/1488746633068089345
@viveknimkarde @ngaurav


Use axios for requests, UI tweaks, and more...

Test URL: https://nbtx.github.io/postwoman-vue/

Resolves #61 by using the Nuxt.js axios module to handle requests instead of browser XHR library.
Adds progress bar when requests are made.

Adds metro-style slider component and changes checkboxes to sliders.

Shows response body on error, thus allowing you to preview error pages, etc.

Fixes the disabled state on key events and button presses.
Fixes the disabled style on key events and button presses.

Hey @NBTX,
Your changes look good to me!
View build log
TravisBuddy Request Identifier: e150ba10-cabb-11e9-8574-4b7115d53811

@NBTX I'm getting error on console:

Refused to set unsafe header "Content-Length"

On methods: PUT, POST, PATCH

Weird... weren't they set befor

I'm running an older version and can confirm the same thing happens before this merge (it was set here)
It looks like this is the behavior of most browsers rather than the code.

So that' probably a browser specific bug then.

Perhaps we just weren't testing POST requests because I read up that browsers block Content-Length as a security feature and it's handled for us by the browser.

Think it can be solved by proxy middleware?

Yes


metal device operating_system should only be forcenew when reinstall is not enabled

Part of #158

Codecov Report

Merging #244 (771aee5) into master (df8a3ed) will increase coverage by 0.11%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #244      +/-   ##
==========================================
+ Coverage   59.93%   60.05%   +0.11%
==========================================
  Files          73       73
  Lines       12576    12576
==========================================
+ Hits         7538     7552      +14
+ Misses       4748     4731      -17
- Partials      290      293       +3

Impacted Files
Coverage Δ

equinix/resource_metal_device.go
68.75% <100.00%> (ø)

equinix/port_helpers.go
66.03% <0.00%> (-1.15%)
:arrow_down:

equinix/data_source_metal_spot_market_request.go
86.45% <0.00%> (+3.12%)
:arrow_up:

equinix/resource_metal_spot_market_request.go
56.53% <0.00%> (+5.38%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


something wnt wrong bug

Microsoft PowerToys version
<IP_ADDRESS>
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
logged in to my overnight idle running pc
2024-07-13.txt
✔ Expected Behavior
unknown
❌ Actual Behavior
unknown
Other Software
No response

here is a  snapshot of the message on my computer screen

/dup https://github.com/microsoft/PowerToys/issues/30507


Keybase install error on OSX Mojave 10.14.6 (18G1012

Tried rebooting and re-installing, same error
"Keybase install error
We were unable to load KBFS (Fuse kext). This may be due to a limitation in MacOS where there aren't any device slots available. Device slots can be taken up by apps such as VMWare, VirtualBox, anti-virus programs, VPN programs and Intel HAXM.

Please run `keybase log send` to report the error."

Logs sent in app

Similar problem on Mojave 10.14.6, with Keybase 5.7.0.
Unlike "Keybase Install Error #19012" which is closed, the current version doesn't fix matters on my Mojave 10.14.6 Macbook Pro.
On my 2012 Macbook Pro Fuse doesn't install correct (after multiple Keybase uninstall/reinstalls, after going back to a High Sierra vintage version [which actually fixed the problem on my High Sierra Mac], after trying most the workarounds, including manually adding Keybase to the "full disk access" pane under Preferences>Security...). The Fuse installation puts an alias in the Finder sidebar, but when I click on it, I get an error message:
'The folder "Keybase (LB)" can't be opened because you don't have permission to see its contents'
The Enable Finder Integration remains active but impotent.

Issue resolved: was unable to get the finder integration (via the Fuse extension) to work (and I tried about everything I could find, including a dozen uninstallations, etc.).
Finally, I reinstalled Mojave 10.14.6 from an external USB (but not a "clean install" that would involve wiping the hard drive first)... after that, without any other changes, I opened Keybase (5.7.0) and the finder integration was working.


docs(rbac): updates rbac's docs in DB-less mode.

Description

Testing instructions
Preview link:
Checklist

[x] Review label added
[ ] Conditional version tags added, if applicable.

KM-463

Waiting for this PR to be merged. https://github.com/Kong/kong-ee/pull/10183


Implement hash copy behavior on member details drawer

 Add drawer to show full hash and other information when clicking truncated hashes


Implement 'set' via table just like how 'replace' works

* def cat = { name: '', age: null }
* set cat
| path   | value |
| name   | 'Bob' |
| age    | 5     |
* match cat == { name: 'Bob', age: 5 }
```cucumber

oops commit above was for 162 not this one.


handle waypoints

ref https://github.com/Project-OSRM/osrm-text-instructions/blob/f1d966c1589926e84f36c79e6d62682f3d8510ea/index.js#L38

Reason for implementing this is that we used to issue the following arrive instructions, in cases of multiple legs on a route.

You have arrived at your second destination, on the right
You have arrived at your final destination, on the right

I don't feel that counting strongly that this is a useful feature. I think instead the implementing application needs to figure out, how several legs are displayed to the outside of text instructions.

Fixed in #111.


Validate config before running deploy

Deploys can take a long time, so it's frustrating to realize your config
is invalid after your build finshes. This now fails faster.
Fixes CLI-24

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #125

PR #126

PR #127

PR #128

PR #129

PR #130

PR #131

PR #132   👈

This stack of pull requests is managed by Graphite.


Combined LocalNeuralNet code with interface/implementation separation…

Relates to #2617
Adds LocalNeuralNet class which builds on TensorOneD and TensorTwoD to do neural net json parsing and feed-forward inference, and is used by the Feed Forward agent
Addresses #2693
Replaces #2618
Replaces #2628
…, tensors moved to inner classes, and JSON11 constructors replaced with STL-based interface.

Thanks for the review @avilcheslopez! I've written responses to a couple -- I'll address the others and send an update.


Fix image and make it a bit more configurable

The current version of the image is broken, because it is configured to use local storage but still contains druid-s3-extensions which insists of talking to s3.
The first commit fixes this, making it work locally as probably intended.
The second commit fully activates S3, as local storage will probably not be a viable option.
The third commit allows to swap mysql and postgresql by using the suitable extension.
There is probably a more sophisticated way to configure things, but I tried to make the changes as minimal as possible.
It should still work fine with the current helm chart. (But I already prepared another pull request for the chart to use the new possibilities.)

@michas2
Thank you for your commit. As work on official Druid Docker image is almost done I'd like to move to official one. WDYT ?

An "official" docker image would probably the best solution.

Please check this
https://github.com/apache/incubator-druid/tree/master/distribution/docker


Update app-service-plan-manage.md

Add comment documenting existing limitation that VNET integration feature must be disabled in order to change app's App Service Plan.  There is a clear error with this information in the Portal UX when trying this, but no documentation of the limitation.

@msangapu-msft  FYI this PR for App Service

#sign-off


MacOS color issues

[x] I am on the latest Hyper.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: MacOS 10.13

Hyper.app version: 2.0.4 (Stable)

Link of a Gist with the contents of your .hyper.js: https://gist.github.com/oscarmorrison/570cb3c739f5e948f617eccdad2c87cc

Issue
Colors are incorrect using Powerline and in Vim
Hyper Term:

In iTerm2

@oscarmorrison We are aware that Hyper has some problems related to colors but we are working to fix that error 😸

@albinekb label it as a bug please 😄

Thankyou @MAPESO 🙌

Hey there, to verify if this is indeed a Hyper issue or upstream at https://github.com/xtermjs/xterm.js/ could you please test if another xterm.js powered terminal shows the same problem you are experiencing? I suggest using https://github.com/Microsoft/vscode for testing. Thanks!


Update h2 to 0.3.26

Description
Fix to:
error[vulnerability] Degradation of service in h2 servers with CONTINUATION Flood

Test Plan
cargo deny check advisories must pass

I merely followed a similar fix for a similar problem solved in https://github.com/MystenLabs/sui/pull/15762 (fingers crossed! and @rvantonder approved as well :-) )


Report of september -> hjaltland not working

This was caused because the sign for j:hits_wm in the westminster switch actually j:hits_cw
I fixed my mistake now.