non-ephemeral runner doesn't pick up the jobs, keeps restarting

Describe the bug
I have created RunnerDeployment for non-ephemeral runner with the following config:
spec:
  replicas: 1
  template:
    spec:
      ephemeral: false

in logs on the runner container I can see that it doesn't write anymore
--- Passing --ephemeral to config.sh to enable the ephemeral runner.

this line is gone.
Also at the bottom I can see "Listening for Jobs", So everything seems to be okay.
However, when I trigger the pipeline runner doesn't pickup the job, my jobs stays in:
"Waiting for a runner to pick up this job..." status and I can see that the runner remains Idle, but restarts every few seconds.
I couldn't get logs out of it, as it is gone very fast.
If apply the same RunnerDeployment configuration but without "ephemeral: false" flag, then everything works as expected.
Checks

[x] My actions-runner-controller version (v0.22.3) does support the feature (I have also tried with 0.22.2)

To Reproduce
Steps to reproduce the behavior:

Create a RunnerDeployment with "ephemeral: false" flag'
Set the relevant label of the runner in your job'
Trigger the job
See that the job is never picked up, runners remain in Idle state but restarting every several seconds.
However if the ephemeral: false flag is removed, then everything works fine.

Expected behavior
I expect it to work the same way as the runner with "--ephemeral" flag but without recreating runner pod after each job.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Controller Version [latest: 0.22.3]
Deployment Method  [ CRD - actions-runner-controller.yaml ]

Additional context
Add any other context about the problem here.

@ealasgarov Hey. Which runner image are you using? It would be great if you could share kubectl get po $RUNNER_POD -o yaml for any of your runner pods.

@mumoshu Thanks for the prompt response! I'm using custom image, which I've created "FROM summerwind/actions-runner:latest" by adding powershell and azure powershell modules, we need this for certain deployments. Here are the image details: https://hub.docker.com/layers/204021886/alasgarov/actions-runner/azps/images/sha256-f191534a8476c450a3fdaa677fd1c562fbe95912d3c971d0dfb00aa9db774bb1?context=repo
some az-powershell modules I had to add manually because they didn't get installed from the command (thus additional layers).
Just to mention, without "ephemeral: false" it is working correctly, the problem comes only when I add the flag to the specs. I need persistent runner only for 1 repo, on organization level we are better off with ephemeral ones.
Here is the output:
apiVersion: v1
kind: Pod
metadata:
  annotations:
    sync-time: "2022-04-21T07:29:00Z"
  creationTimestamp: "2022-04-21T07:29:01Z"
  finalizers:
  - actions.summerwind.dev/runner-pod
  labels:
    actions-runner-controller/inject-registration-token: "true"
    pod-template-hash: 5d8dd6b96c
    runner-deployment-name: platform-aks-runner-noneph
    runner-template-hash: 5b54787c98
    runnerset-name: platform-aks-runner-noneph-966bx-zdzsk
  name: platform-aks-runner-noneph-966bx-zdzsk
  namespace: actions-runner-system
  ownerReferences:
  - apiVersion: actions.summerwind.dev/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Runner
    name: platform-aks-runner-noneph-966bx-zdzsk
    uid: e47101d4-9253-4208-b191-d9419a66aafd
  resourceVersion: "6829015"
  uid: b6ce1f45-8f57-4f83-98ff-528eff54b0ce
spec:
  containers:
  - env:
    - name: RUNNER_ORG
    - name: RUNNER_REPO
      value: MyOrg/platform-aks
    - name: RUNNER_ENTERPRISE
    - name: RUNNER_LABELS
      value: platform-aks-runner-noneph
    - name: RUNNER_GROUP
      value: DL
    - name: DOCKER_ENABLED
      value: "true"
    - name: DOCKERD_IN_RUNNER
      value: "false"
    - name: GITHUB_URL
      value: https://github.com/
    - name: RUNNER_WORKDIR
      value: /runner/_work
    - name: RUNNER_EPHEMERAL
      value: "false"
    - name: DOCKER_HOST
      value: tcp://localhost:2376
    - name: DOCKER_TLS_VERIFY
      value: "1"
    - name: DOCKER_CERT_PATH
      value: /certs/client
    - name: RUNNER_FEATURE_FLAG_EPHEMERAL
      value: "true"
    - name: RUNNER_NAME
      value: platform-aks-runner-noneph-966bx-zdzsk
    - name: RUNNER_TOKEN
      value: AYTLUIY63JFGU2EFE57IYODCMEK43AVPNFXHG5DBNRWGC5DJN5XF62LEZYAXTWN6WFUW443UMFWGYYLUNFXW4X3UPFYGLN2JNZ2GKZ3SMF2GS33OJFXHG5DBNRWGC5DJN5XA
    image: alasgarov/actions-runner:azps
    imagePullPolicy: IfNotPresent
    name: runner
    resources:
      limits:
        cpu: "1"
        memory: 2Gi
      requests:
        cpu: 500m
        memory: 1Gi
    securityContext:
      privileged: false
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /runner
      name: runner
    - mountPath: /runner/_work
      name: work
    - mountPath: /certs/client
      name: certs-client
      readOnly: true
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-4rmgm
      readOnly: true
  - env:
    - name: DOCKER_TLS_CERTDIR
      value: /certs
    image: docker:dind
    imagePullPolicy: IfNotPresent
    name: docker
    resources: {}
    securityContext:
      privileged: true
    terminationMessagePath: /dev/termination-log
    terminationMessagePolicy: File
    volumeMounts:
    - mountPath: /runner
      name: runner
    - mountPath: /certs/client
      name: certs-client
    - mountPath: /runner/_work
      name: work
    - mountPath: /var/run/secrets/kubernetes.io/serviceaccount
      name: kube-api-access-4rmgm
      readOnly: true
  dnsPolicy: ClusterFirst
  enableServiceLinks: true
  nodeName: aks-linuxpool-15494509-vmss000003
  preemptionPolicy: PreemptLowerPriority
  priority: 0
  restartPolicy: OnFailure
  schedulerName: default-scheduler
  securityContext: {}
  serviceAccount: default
  serviceAccountName: default
  terminationGracePeriodSeconds: 30
  tolerations:
  - effect: NoSchedule
    key: kubernetes.azure.com/scalesetpriority
    operator: Equal
    value: spot
  - effect: NoSchedule
    key: os_type
    operator: Equal
    value: linux
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  volumes:
  - emptyDir: {}
    name: runner
  - emptyDir: {}
    name: work
  - emptyDir: {}
    name: certs-client
  - name: kube-api-access-4rmgm
    projected:
      defaultMode: 420
      sources:
      - serviceAccountToken:
          expirationSeconds: 3607
          path: token
      - configMap:
          items:
          - key: ca.crt
            path: ca.crt
          name: kube-root-ca.crt
      - downwardAPI:
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
            path: namespace
status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: "2022-04-21T07:29:01Z"
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: "2022-04-21T07:29:03Z"
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: "2022-04-21T07:29:03Z"
    status: "True"
    type: ContainersReady
  - lastProbeTime: null
    lastTransitionTime: "2022-04-21T07:29:01Z"
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: containerd://f820c77db97384ddf8632c1b3091c4809d75317244c9fbfe043d23139b2fa631
    image: docker.io/library/docker:dind
    imageID: docker.io/library/docker@sha256:210076c7772f47831afaf7ff200cf431c6cd191f0d0cb0805b1d9a996e99fb5e
    lastState: {}
    name: docker
    ready: true
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2022-04-21T07:29:02Z"
  - containerID: containerd://0a04e1747cfe4e8c1107d5f5b1db74375211dfa4919e11d84a006c53fd83d567
    image: docker.io/alasgarov/actions-runner:azps
    imageID: docker.io/alasgarov/actions-runner@sha256:f191534a8476c450a3fdaa677fd1c562fbe95912d3c971d0dfb00aa9db774bb1
    lastState: {}
    name: runner
    ready: true
    restartCount: 0
    started: true
    state:
      running:
        startedAt: "2022-04-21T07:29:02Z"
  hostIP: <IP_ADDRESS>
  phase: Running
  podIP: <IP_ADDRESS>
  podIPs:
  - ip: <IP_ADDRESS>
  qosClass: Burstable
  startTime: "2022-04-21T07:29:01Z"

@ealasgarov Can you use https://github.com/stern/stern to get the logs?

@ealasgarov I can't say for sure, this is just an idea, but anyway- I see you use v2.290.0. of actions/runner (not ARC) currently. What if you upgraded it to v0.290.1? I suspect it's being auto-upated thanks to actions/runner;s feature (again, not ARC) shortly after the startup. The upgrade process involves restarting the runner process. Perhaps it somehow failed to restart correctly and that's making the pod disappear? (Because ARC does have a logic that detects and cleans up a any runner pod whose runner container exited).
It happened to me for actions/runner before https://github.com/actions/runner/issues/1812#issuecomment-1093094504 and I have not yet dug deep for v2.290.x

@toast-gear apologies, that's a long output. The last 2 lines is when the new pod had been created:
platform-aks-runner-noneph-966bx-blp9j runner √ Connected to GitHub
platform-aks-runner-noneph-966bx-blp9j runner
platform-aks-runner-noneph-966bx-blp9j runner Current runner version: '2.290.0'
platform-aks-runner-noneph-966bx-blp9j runner 2022-04-21 08:15:15Z: Listening for Jobs
platform-aks-runner-noneph-966bx-blp9j runner Runner update in progress, do not shutdown runner.
platform-aks-runner-noneph-966bx-blp9j runner Downloading 2.290.1 runner
platform-aks-runner-noneph-966bx-blp9j runner Waiting for current job finish running.
platform-aks-runner-noneph-966bx-blp9j runner Generate and execute update script.
platform-aks-runner-noneph-966bx-blp9j runner Runner will exit shortly for update, should be back online within 10 seconds.
platform-aks-runner-noneph-966bx-blp9j runner Runner update process finished.
- platform-aks-runner-noneph-966bx-blp9j › runner
platform-aks-runner-noneph-966bx-blp9j docker time="2022-04-21T09:29:34.134202190Z" level=info msg="Processing signal 'terminated'"
platform-aks-runner-noneph-966bx-blp9j docker time="2022-04-21T09:29:34.135150398Z" level=info msg="Daemon shutdown complete"
platform-aks-runner-noneph-966bx-blp9j docker time="2022-04-21T09:29:34.135199498Z" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby
platform-aks-runner-noneph-966bx-blp9j docker time="2022-04-21T09:29:34.135262199Z" level=info msg="stopping healthcheck following graceful shutdown" module=libcontainerd
platform-aks-runner-noneph-966bx-blp9j docker time="2022-04-21T09:29:34.135306699Z" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=moby
platform-aks-runner-noneph-966bx-blp9j docker time="2022-04-21T09:29:35.136186921Z" level=warning msg="grpc: addrConn.createTransport failed to connect to {unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}. Err :connection error: desc = \"transport: Error while dialing dial unix:///var/run/docker/containerd/containerd.sock: timeout\". Reconnecting..." module=grpc
+ platform-aks-runner-noneph-966bx-ptkr5 › runner
+ platform-aks-runner-noneph-966bx-ptkr5 › docker
platform-aks-runner-noneph-966bx-ptkr5 runner PowerShell 7.2.2
platform-aks-runner-noneph-966bx-ptkr5 runner Copyright (c) Microsoft Corporation.
platform-aks-runner-noneph-966bx-ptkr5 runner
platform-aks-runner-noneph-966bx-ptkr5 runner https://aka.ms/powershell
platform-aks-runner-noneph-966bx-ptkr5 runner Type 'help' to get help.
platform-aks-runner-noneph-966bx-ptkr5 runner
platform-aks-runner-noneph-966bx-ptkr5 docker Generating RSA private key, 4096 bit long modulus (2 primes)
platform-aks-runner-noneph-966bx-ptkr5 docker .........................++++
platform-aks-runner-noneph-966bx-ptkr5 docker ...........................................................................++++
platform-aks-runner-noneph-966bx-ptkr5 docker e is 65537 (0x010001)
platform-aks-runner-noneph-966bx-ptkr5 docker Generating RSA private key, 4096 bit long modulus (2 primes)
platform-aks-runner-noneph-966bx-ptkr5 docker ..........................................++++
- platform-aks-runner-noneph-966bx-blp9j › docker
platform-aks-runner-noneph-966bx-ptkr5 docker ....................++++
platform-aks-runner-noneph-966bx-ptkr5 docker e is 65537 (0x010001)
platform-aks-runner-noneph-966bx-ptkr5 docker Signature ok
platform-aks-runner-noneph-966bx-ptkr5 docker subject=CN = docker:dind server
platform-aks-runner-noneph-966bx-ptkr5 docker Getting CA Private Key
platform-aks-runner-noneph-966bx-ptkr5 docker /certs/server/cert.pem: OK
platform-aks-runner-noneph-966bx-ptkr5 docker Generating RSA private key, 4096 bit long modulus (2 primes)
platform-aks-runner-noneph-966bx-ptkr5 docker ..................................................................................................................................++++
platform-aks-runner-noneph-966bx-ptkr5 docker ...............................++++
platform-aks-runner-noneph-966bx-ptkr5 docker e is 65537 (0x010001)
platform-aks-runner-noneph-966bx-ptkr5 docker Signature ok
platform-aks-runner-noneph-966bx-ptkr5 docker subject=CN = docker:dind client
platform-aks-runner-noneph-966bx-ptkr5 docker Getting CA Private Key
platform-aks-runner-noneph-966bx-ptkr5 docker /certs/client/cert.pem: OK
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.792312118Z" level=info msg="Starting up"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.793771711Z" level=warning msg="could not change group /var/run/docker.sock to docker: group docker not found"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.795857002Z" level=info msg="libcontainerd: started new containerd process" pid=60
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.795920102Z" level=info msg="parsed scheme: \"unix\"" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.795930702Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.795953801Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.795968601Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36Z" level=warning msg="deprecated version : `1`, please switch to version `2`"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.803832066Z" level=info msg="starting containerd" revision=3df54a852345ae127d1fa3092b95168e4a88e2f8 version=v1.5.11
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.821047488Z" level=info msg="loading plugin \"io.containerd.content.v1.content\"..." type=io.containerd.content.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.821236287Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.aufs\"..." type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.825592467Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.btrfs\"..." type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.825806266Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.btrfs\"..." error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.btrfs (ext4) must be a btrfs filesystem to be used with the btrfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.825829866Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.devmapper\"..." type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.825854066Z" level=warning msg="failed to load plugin io.containerd.snapshotter.v1.devmapper" error="devmapper not configured"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.825866866Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.native\"..." type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.825938865Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.overlayfs\"..." type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.826093365Z" level=info msg="loading plugin \"io.containerd.snapshotter.v1.zfs\"..." type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.826258064Z" level=info msg="skip loading plugin \"io.containerd.snapshotter.v1.zfs\"..." error="path /var/lib/docker/containerd/daemon/io.containerd.snapshotter.v1.zfs must be a zfs filesystem to be used with the zfs snapshotter: skip plugin" type=io.containerd.snapshotter.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.826278064Z" level=info msg="loading plugin \"io.containerd.metadata.v1.bolt\"..." type=io.containerd.metadata.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.826325664Z" level=warning msg="could not use snapshotter devmapper in metadata plugin" error="devmapper not configured"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.826339364Z" level=info msg="metadata content store policy set" policy=shared
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849203560Z" level=info msg="loading plugin \"io.containerd.differ.v1.walking\"..." type=io.containerd.differ.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849230960Z" level=info msg="loading plugin \"io.containerd.gc.v1.scheduler\"..." type=io.containerd.gc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849268160Z" level=info msg="loading plugin \"io.containerd.service.v1.introspection-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849303959Z" level=info msg="loading plugin \"io.containerd.service.v1.containers-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849325259Z" level=info msg="loading plugin \"io.containerd.service.v1.content-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849341259Z" level=info msg="loading plugin \"io.containerd.service.v1.diff-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849362359Z" level=info msg="loading plugin \"io.containerd.service.v1.images-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849378459Z" level=info msg="loading plugin \"io.containerd.service.v1.leases-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849394859Z" level=info msg="loading plugin \"io.containerd.service.v1.namespaces-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849411859Z" level=info msg="loading plugin \"io.containerd.service.v1.snapshots-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849429759Z" level=info msg="loading plugin \"io.containerd.runtime.v1.linux\"..." type=io.containerd.runtime.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849560658Z" level=info msg="loading plugin \"io.containerd.runtime.v2.task\"..." type=io.containerd.runtime.v2
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849681158Z" level=info msg="loading plugin \"io.containerd.monitor.v1.cgroups\"..." type=io.containerd.monitor.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849940157Z" level=info msg="loading plugin \"io.containerd.service.v1.tasks-service\"..." type=io.containerd.service.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.849966856Z" level=info msg="loading plugin \"io.containerd.internal.v1.restart\"..." type=io.containerd.internal.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850012656Z" level=info msg="loading plugin \"io.containerd.grpc.v1.containers\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850029756Z" level=info msg="loading plugin \"io.containerd.grpc.v1.content\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850045356Z" level=info msg="loading plugin \"io.containerd.grpc.v1.diff\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850061956Z" level=info msg="loading plugin \"io.containerd.grpc.v1.events\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850075956Z" level=info msg="loading plugin \"io.containerd.grpc.v1.healthcheck\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850090756Z" level=info msg="loading plugin \"io.containerd.grpc.v1.images\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850105956Z" level=info msg="loading plugin \"io.containerd.grpc.v1.leases\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850121356Z" level=info msg="loading plugin \"io.containerd.grpc.v1.namespaces\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850135156Z" level=info msg="loading plugin \"io.containerd.internal.v1.opt\"..." type=io.containerd.internal.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850287855Z" level=info msg="loading plugin \"io.containerd.grpc.v1.snapshots\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850312155Z" level=info msg="loading plugin \"io.containerd.grpc.v1.tasks\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850329155Z" level=info msg="loading plugin \"io.containerd.grpc.v1.version\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850344955Z" level=info msg="loading plugin \"io.containerd.grpc.v1.introspection\"..." type=io.containerd.grpc.v1
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850472454Z" level=info msg=serving... address=/var/run/docker/containerd/containerd-debug.sock
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850543154Z" level=info msg=serving... address=/var/run/docker/containerd/containerd.sock.ttrpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850598354Z" level=info msg=serving... address=/var/run/docker/containerd/containerd.sock
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.850621353Z" level=info msg="containerd successfully booted in 0.047704s"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.858619317Z" level=info msg="parsed scheme: \"unix\"" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.858680817Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.858844016Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.858898016Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.860108610Z" level=info msg="parsed scheme: \"unix\"" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.860127110Z" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.860218210Z" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock  <nil> 0 <nil>}] <nil> <nil>}" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.860237810Z" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.861546204Z" level=error msg="No zfs dataset found for root" backingFS=extfs root=/var/lib/docker storage-driver=zfs
- platform-aks-runner-noneph-966bx-ptkr5 › runner
platform-aks-runner-noneph-966bx-ptkr5 runner PS />
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.915934257Z" level=warning msg="Your kernel does not support swap memory limit"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.915952757Z" level=warning msg="Your kernel does not support CPU realtime scheduler"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.915960057Z" level=warning msg="Your kernel does not support cgroup blkio weight"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.915966657Z" level=warning msg="Your kernel does not support cgroup blkio weight_device"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.916119656Z" level=info msg="Loading containers: start."
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:36.976165184Z" level=info msg="Default bridge (docker0) is assigned with an IP address <IP_ADDRESS>/16. Daemon option --bip can be used to set a preferred IP address"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:37.014544410Z" level=info msg="Loading containers: done."
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:37.028076248Z" level=warning msg="Not using native diff for overlay2, this may cause degraded performance for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled" storage-driver=overlay2
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:37.028819245Z" level=info msg="Docker daemon" commit=87a90dc graphdriver(s)=overlay2 version=20.10.14
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:37.028920344Z" level=info msg="Daemon has completed initialization"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:37.066413974Z" level=info msg="API listen on /var/run/docker.sock"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:37.078192421Z" level=info msg="API listen on [::]:2376"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:38.891539593Z" level=info msg="Processing signal 'terminated'"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:38.892241290Z" level=info msg="stopping event stream following graceful shutdown" error="<nil>" module=libcontainerd namespace=moby
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:38.892546189Z" level=info msg="Daemon shutdown complete"
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:38.892555789Z" level=info msg="stopping healthcheck following graceful shutdown" module=libcontainerd
platform-aks-runner-noneph-966bx-ptkr5 docker time="2022-04-21T09:29:38.892571989Z" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby
+ platform-aks-runner-noneph-966bx-jf2mj › runner
+ platform-aks-runner-noneph-966bx-jf2mj › docker

As i can see, the issue appears due to this line in my dockerfile: "RUN sudo apt update -y"
something gets updated which breaks the image. What is yet to be understood: why does it work when ephemeral and doesn't when non-ephemeral...

using the the original image I can see in logs: Current runner version: '2.290.1'
after I add powershell and use that image I can see in logs: Current runner version: '2.290.0'
can't understand why is that, this causes the whole mess, because as @mumoshu correctly suggested it tries to upgrade it and then fails to restart correctly.
my dockerfile is:
FROM summerwind/actions-runner:latest
RUN sudo apt upgrade -y
RUN sudo wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN sudo dpkg -i packages-microsoft-prod.deb
RUN sudo apt update -y &&  sudo apt install  powershell -y
RUN sudo rm packages-microsoft-prod.deb

to be honest your best bet is to turn off auto update https://github.com/actions-runner-controller/actions-runner-controller#runner-entrypoint-features and subscribe to this issue https://github.com/actions/runner/issues/1812 and wait for GitHub to confirm it's all sorted and at what version it's all sorted


Refs #29517 -- Removed obsolete PositiveIntegerField test skip.

Obsolete since b9cf764be62e77b4777b3a75ec256f6209a57671.

@timgraham Thanks :+1:


[TensorBoard] load data from relative path with the projector plugin

This is a  problem similar with issue #7382 but it has been closed.
@dandelionmane
Another place that still has the similar problem in #7382 is the request of project plugin data in Embeddings panel, e.g.  /data/plugin/projector/runs still requests in a absolute path.
I found the code  here , there is a leading slash for the route-prefix property in vz-projector-dashboard.
If that is correct, I will submit a PR. Thanks!
Another question is when will the tensorboard be recompiled. As now in version 1.0 these features are not included.

I migrated this to the new TensorBoard repository. https://github.com/tensorflow/tensorboard/issues/37


Comment import

We're going to have to use the Disqus comment importer if we want to get the comments on the existing WordPress. This is something we'll have to try when there isn't a lot of activity on the existing blog.

Some nasty errors trying to import using the Disqus built in tool. Turning off the cache and basic troubleshooting isn't working. Going to try using their API to port in.

Going with an alternative approach here since attempts at importing Disqus really aren't working. Going to use the exported XML from WordPress to generate archive pages of older comments, then starting fresh with Disqus for new comments. We think that old posts shouldn't be getting new comments anyways, we just want them there to be read.

Finally got Disqus to respond. Expecting a turnaround tomorrow or the day after.

Okay Disqus is really shitty at getting back to us with support. Going to our plan B to create a static archive, and if we ever hear back from Disqus on getting imports later, great. We can't keep this from shipping any longer.


[Suggestion] Type retaining collections

I'd like to have type retaining versions of collections added.
These would be a good supplement for ordinary type erasure collections.
Some use cases include type checking and accepting unknown type lists

I don't exactly know what you mean (Java erases types) but we can't simply add new collection because we roughly align to Scala collections.

I don't exactly know what you mean (Java erases types) but we can't simply add new collection because we roughly align to Scala collections.

Collections that check incoming data for type and throw an exception if the check fails, and have a method to get their type.
The type is set using a constructor argument.

Performing runtime checks and throwing is unsafe. Types should be checked at compile time if possible.

Performing runtime checks and throwing is unsafe. Types should be checked at compile time if possible.

The possible use of type retention is serialization, which needs to know the actual type of elements to deserialize and serialize them properly.

Serialization is an orthogonal concern. You are able to write serializers/deserializers (that are aware of the concrete types) outside of Vavr. Take a look at vavr-jackson and vavr-gson.


Cookie support

Is there any kind of cookie support? I'd like to open a WebView and automatize the login using pre-saved cookies. Is it possible?

@vadd98  have you find any solution i have same problem

With this webview no, I had to switch to another one which stated the support for cookies


Add scheduler= keyword to compute and persist

As discussed in https://github.com/dask/dask/issues/3226#issuecomment-379937925 we should allow a more intuitive replacement for the current get= keyword, perhaps something like compute(..., scheduler='threads')
Some questions:

What are the appropriate names to use?  threads, processes, synchronous ?
How do we handle distributed?  Perhaps a client registers a name 'distributed' in some global registry of schedulers?
Do we keep the get= keyword around to be explicit?  Do we deprecate it?

I'm happy to do this work, though I suspect that @jcrist or @jakirkham might have strong thoughts and or want to do it directly.

Whatever we decide here, we should include that syntax in the single threaded scheduler debugging page as we don't currently.

This was implemented in #3448


Enable parameter selected pre-arm logging start for sdlog2

This patch fixes the following issues:

Pre-arm logging start for diagnosis of pre-arm issues can now be selected using the SDLOG2_START parameter. Addresses https://github.com/PX4/Firmware/issues/5790
Pre-arm logging is now guaranteed when ekf2 replay logging via the EKF2_REC_RPL parameter is selected, rather than being dependant on the startup script.

@bkueng Can you also add a parameter that starts logging on the new logger pre-arming?

@LorenzMeier We already have that (see SDLOG_MODE)

Can we consolidate them onto the same enum?

I think we can. @priseborough logger param definition is here: https://github.com/PX4/Firmware/blob/master/src/modules/logger/params.c#L69
It does it a bit differently, by setting startup parameters appropriately: https://github.com/PX4/Firmware/blob/master/ROMFS/px4fmu_common/init.d/rcS#L722

In-app is probably a lot easier to maintain than startup params

But the behavior is more as you would expect: if you use the logger directly on the console, it's confusing and unexpected if your CLI parameters just get overridden by the other parameters.

I get that argument but we have way too involved console handling. We should instead allow to choose on the console to load the mode from the param (e.g. like in PWM app: --mode p:SDLOG_ABC) or to use flags.
But defaulting to flags means we're complicating the normal system use for something (console options) that is only used for development. That's the wrong way around. The normal use has to have a n easy to understand code path and console options are ok during development to test.
We've had numerous complaints about our script complexity and I think we need to start to manage that complexity more actively. Its daunting for new developers and stops to scale.

obsoleted by subsequent to ulog2 logging.


fix Disable Jemalloc Hook and loading libjvm at runtime

What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

run buildall

run buildall

Building failed on my mac, it said can't find mallctl symbol. Because jemalloc's default prefix on macOS is "je_",  not "".
from doc:
By default, the prefix is "", except on OS X, where it is "je_". On OS X, jemalloc overlays the default malloc zone, but makes no attempt to actually replace the "malloc", "calloc", etc. symbols.

Building failed on my mac, it said can't find mallctl symbol. Because jemalloc's default prefix on macOS is "je_", not "". from doc:
By default, the prefix is "", except on OS X, where it is "je_". On OS X, jemalloc overlays the default malloc zone, but makes no attempt to actually replace the "malloc", "calloc", etc. symbols.

Hi, @coldWeather66260, I forgot to check Mac compilation.
I reverted this PR https://github.com/apache/doris/pull/45534, you can try USE_JEMALLOC=OFF ./build.sh --be to compile on Mac


Use into rather than explicitly using RepeatedField

What have you changed? (mandatory)
This means we can use Vecs and be compatible with both rust-protobuf (which
requires a RepeatedField) and Prost (which requires a Vec).
This is another step towards making support of both Prost and rust-proto easier. Again it does not introduce anything related to Prost, it only makes the existing code more flexible.
What are the type of the changes? (mandatory)

Engineering (engineering change which doesn't change any feature or fix any issue)

How has this PR been tested? (mandatory)
Passes tests
Does this PR affect documentation (docs) or release note? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No
Refer to a related PR or issue link (optional)
cc https://github.com/tikv/tikv/pull/5068

Clippy failed:
error: identical conversion

    --> src/server/debug.rs:1231:37

     |

1231 |             return Ok(Some((prefix, values.into())));

     |                                     ^^^^^^^^^^^^^ help: consider removing `.into()`: `values`

     |

     = note: `-D clippy::identity-conversion` implied by `-D warnings`

     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion

error: identical conversion

    --> src/server/debug.rs:1254:37

     |

1254 |             return Ok(Some((prefix, writes.into())));

     |                                     ^^^^^^^^^^^^^ help: consider removing `.into()`: `writes`

     |

     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion

error: aborting due to 2 previous errors

Looks like the change should also be made for release-3.0 and release-2.0. Otherwise it does not make any difference when we are cherry picking PR's later: corresponding parts needs to be changed when making cheery picks.

Looks like the change should also be made for release-3.0 and release-2.0.

Make sense.

Made changes as requested, should pass CI, and rebased to current master.
@siddontang @BusyJay PTAL


Error (Xcode): Framework 'SQLCipher' not found in iOS

I encountered a peculiar issue. Previously, my iOS project functioned properly, and I could run it without any trouble. However, after updating Xcode, I encountered the error: Error (Xcode): Framework 'SQLCipher' not found.
Interestingly, this configuration operates seamlessly on MacOS, allowing me to run my Flutter app without any issues.
Error:
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): Framework 'SQLCipher' not found

Error (Xcode): Linker command failed with exit code 1 (use -v to see invocation)

My Flutter info:
[✓] Flutter (Channel stable, 3.19.6, on macOS 14.4.1 23E224 darwin-arm64, locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)

pubspec.yaml:
environment:
  sdk: ">=3.0.0 <3.16.5"

dependencies:
  animated_text_kit: ^4.2.2
  app_tracking_transparency: ^2.0.4
  bloc: ^8.1.1
  connectivity_plus: ^5.0.2
  countries_utils: ^1.0.1
  country_icons: ^3.0.0
  desktop_window: ^0.4.0
  device_info_plus: ^9.1.1
  dio: ^5.4.0
  drift: ^2.14.1
  drift_db_viewer: ^2.0.0
  encrypt: ^5.0.3
  ffi: ^2.1.0
  firebase_analytics: ^10.8.0
  firebase_core: ^2.24.2
  firebase_database: ^10.4.0
  firebase_in_app_messaging: ^0.7.4+8
  firebase_messaging: ^14.7.10
  flutter:
    sdk: flutter
  flutter_bloc: ^8.1.2
  flutter_launcher_icons: ^0.13.1
  flutter_local_notifications: ^16.3.0
  flutter_localizations:
    sdk: flutter
  flutter_riverpod: ^2.4.9
  flutter_slidable: ^3.0.1
  flutter_spinkit: ^5.2.0
  flutter_svg: ^2.0.9
  font_awesome_flutter: ^10.6.0
  freezed: ^2.4.6
  get_time_ago: ^1.3.1
  google_fonts: ^6.1.0
  google_mobile_ads: ^4.0.0
  in_app_review: ^2.0.8
  installed_apps: ^1.4.0
  intl: ^0.18.1
  json_annotation: ^4.8.1
  logging: ^1.2.0
  mutex: ^3.1.0
  network_info_plus: ^4.1.0
  package_info_plus: ^5.0.1
  path: ^1.8.3
  path_provider: ^2.1.1
  proxy_manager: ^0.0.3
  qr_code_scanner: ^1.0.1
  qr_flutter: ^4.1.0
  riverpod_navigator: ^1.0.10
  rxdart: ^0.27.7
  sentry_flutter: ^7.14.0
  share_plus: ^7.2.2
  shared_preferences: ^2.2.2
  showcaseview: ^2.0.3
  simple_ripple_animation: ^0.0.9
  socks5_proxy: ^1.0.4
  sqlcipher_flutter_libs: ^0.6.0
  sqlite3: ^2.3.0
  url_launcher: ^6.2.2
  uuid: ^4.2.2

dev_dependencies:
  bloc_test: ^9.1.1
  build_runner: ^2.3.3
  drift_dev: ^2.14.1
  flutter_test:
    sdk: flutter
  json_serializable: ^6.7.1
  mocktail: ^1.0.2
  msix: ^3.16.7
  very_good_analysis: ^5.1.0

project.pbxproj:
.
.
.
		OTHER_LDFLAGS = (
					"-framework",
					SQLCipher,
				);
.
.
.

pod --version
1.14.3
$ pod install
Analyzing dependencies
firebase_analytics: Using Firebase SDK version '10.18.0' defined in 'firebase_core'
firebase_core: Using Firebase SDK version '10.18.0' defined in 'firebase_core'
firebase_database: Using Firebase SDK version '10.18.0' defined in 'firebase_core'
firebase_in_app_messaging: Using Firebase SDK version '10.18.0' defined in 'firebase_core'
firebase_messaging: Using Firebase SDK version '10.18.0' defined in 'firebase_core'
Downloading dependencies
Installing Firebase (10.18.0)
Installing FirebaseABTesting (10.25.0)
Installing FirebaseAnalytics (10.18.0)
Installing FirebaseAppCheckInterop (10.25.0)
Installing FirebaseCore (10.18.0)
Installing FirebaseCoreInternal (10.25.0)
Installing FirebaseDatabase (10.18.0)
Installing FirebaseInAppMessaging (10.18.0-beta)
Installing FirebaseInstallations (10.25.0)
Installing FirebaseMessaging (10.18.0)
Installing FirebaseSharedSwift (10.25.0)
Installing Flutter (1.0.0)
Installing Google-Mobile-Ads-SDK (10.11.0)
Installing GoogleAppMeasurement (10.18.0)
Installing GoogleDataTransport (9.4.1)
Installing GoogleUserMessagingPlatform (2.4.0)
Installing GoogleUtilities (7.13.2)
Installing MTBBarcodeScanner (5.0.11)
Installing PromisesObjC (2.4.0)
Installing ReachabilitySwift (5.2.2)
Installing SQLCipher (4.5.7)
Installing Sentry (8.17.2)
Installing SentryPrivate (8.17.2)
Installing app_tracking_transparency (0.0.1)
Installing connectivity_plus (0.0.1)
Installing device_info_plus (0.0.1)
Installing firebase_analytics (10.8.0)
Installing firebase_core (2.24.2)
Installing firebase_database (10.4.0)
Installing firebase_in_app_messaging (0.7.4-8)
Installing firebase_messaging (14.7.10)
Installing flutter_local_notifications (0.0.1)
Installing google_mobile_ads (1.0.0)
Installing in_app_review (0.2.0)
Installing leveldb-library (1.22.5)
Installing nanopb (2.30909.1)
Installing network_info_plus (0.0.1)
Installing package_info_plus (0.4.5)
Installing path_provider_foundation (0.0.1)
Installing qr_code_scanner (0.2.0)
Installing sentry_flutter (0.0.1)
Installing share_plus (0.0.1)
Installing shared_preferences_foundation (0.0.1)
Installing sqlcipher_flutter_libs (0.0.1)
Installing url_launcher_ios (0.0.1)
Installing webview_flutter_wkwebview (0.0.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 22 dependencies from the Podfile and 46 total pods installed.

I found out the issue, "-framework SQLCipher" is also added to another target in my ios app


presync hook not running with apply

Hi.
I am trying to use the presync hook, but it does not seem to run when using helmfile apply, and only with helmfile sync.
In the documentation it seems like it should run on both apply and sync.
"Hooks associated to presync events are triggered before each release is applied to the remote cluster. This is the ideal event to execute any commands that may mutate the cluster state as it will not be run for read-only operations like lint, diff or template."
Is this the expected behavior?

@mumoshu is this a bug or the expected behaviour?

@Sajfer It should work for apply as well. We do call presync hooks from within the apply code path which invokes the some logic that backs helmfile sync https://github.com/roboll/helmfile/blob/b1928e585d7ce00875b901ddb1b5f55395837205/pkg/app/app.go#L1376 which explicitly calls presync hooks https://github.com/roboll/helmfile/blob/d4a7b3bfffcf7ee88c1c94e1990cc7842a05c60d/pkg/state/state.go#L812

@mumoshu I'm not sure @Sajfer has the same issue as I'm facing but I'm currently not able to use apply (even though I really would like to!) as the recommended operation because in case there is no diff to the release then the hook will not execute. I.e. any potential behavior changes induced by the hook may go missing during an upgrade.

@gakesson In terms of Helmfile, sync means it runs helm upgrade --install on the release. That said, The presync hook not being run on releases with no changes seems a correct behavior. If you need something that works for every release regardless of it has any changes or not, how about prepare?

@mumoshu I don't object to the current behavior of presync hook only running when sync is in fact triggered on the release. It seems like a well-defined behavior, but it also means hooks become somewhat non-deterministic when using apply because the hook is entirely dependent on diffs in the release.
prepare could work but then we would need to have every hook script ignore further executions for non-mutating events/operations (repo, list, template etc.). In an ideal world I would like to have a preapply / postapply events so that specifying e.g. ["presync", "preapply"] would unconditionally run the hook once for the release before it being applied on the cluster.

@gakesson Thanks for the feedback. preapply that runs unconditionally sounds legit!

@Sajfer @gakesson Should we reuse this issue as a feature request for preapply?
Also, any of you willing to contribute a pull request to add that? Thanks!

That is fine for me.
I can see if I can figure out how to add that.

Just to clarify, what we want is a preapply command that runs everytime we apply, not just when there is changes?

@Sajfer Exactly!

Should I make the PR to this repo or helmfile/helmfile?


DESIGN.md: improve readability

In this document, symbols for functions are expressed as both Foo
and Foo(). Unify them to the latter way for readability.

Thank you!


Fix scrolling for SubmissionQRCodeInfoFragment (EXPOSUREAPP-3436) (closes #1607)

Description
Some text on the SubmissionQRCodeInfo Fragment was hidden by the action button. There was already a ScrollView but it did not get constraint against the button and therefore it was unscrollable.
Old behaviour

New behaviour

In addition I did a little refactoring (extract the ScrollView part into an extra layout file) to match the other layouts like SubmissionContactFragment and did some smaller adjustments to match_parent sizes in ConstraintLayout (which are not allowed even though they still work).
Steps to reproduce

Setup a small emulator (e.g. Nexus 5)
Go to "Learn more and help" -> Next -> Document with QR code -> Accept

Could I ask you to set the target branch to release/1.8.x, not main branch, please?

Ah yes of course :) Done.

@chris-cwa By the way, maybe it's worth mentioning that the topmost ImageView in this screen has no content description. Due to the request of not changing any localization stuff I did not further touch this part.


Social share buttons after "How to Volunteer" is clicked

Provide Facebook/Twitter share buttons after someone clicks on How to Volunteer.

Just merged https://github.com/c19-rnd-dashboard/covid-trials-dashboard/pull/180 where social icons are on the home page.  LMK if that is enough or if this is still important.

@liamrosen bump on question here ^

I think they're still needed after How to Volunteer is clicked.


"Who we are?" Section Alignment Improvement

The current design of this section is nice but it can be improved by making some alignment improvements. By working on the alignment of this content, I can make this section look even better.
Current Alignment Design

Expected Updated Alignment Design

Hello iamRabia-N, thanks for opening a issue, your contribution is valuable to us. The maintainers will review this issue and provide feedback as soon as possible.

Not Required


List all VMs API returning 500 server error

I get 500 server error when I run the (GET) /rest/vcenter/vm API on my company's vSphere client instance.
I notice that there are a few VMs that are inaccessible and a few that are orphaned. According to another (closed) thread, looks like this MIGHT be the issue. Is this a known bug?

vSphere version: <IP_ADDRESS>000

Steps or code snippet to reproduce
Run the (GET) /rest/vcenter/vm API
Actual behavior
Getting 500 server error with the below API response
{
"type": "com.vmware.vapi.std.errors.internal_server_error",
"value": {
"messages": [
{
"args": [
"null"
],
"default_message": "Provider method implementation threw unexpected exception: null",
"id": "vapi.bindings.method.impl.unexpected"
}
]
}
}
Expected behavior
200 OK with the successful retrieval of the VM list

I have the same issue with the same version.
Version 7.0 and above works just fine! :+1:
Would be nice to know if there is any progress for this issue :grin:
Thanks!

@Gallifreys11
Could you please share the logs (error logs/vc bundle), would like to investigate further.
Thanks!

@Gallifreys11
There is a known issue in 6.7 when VMs are in invalid(orphaned/inaccessible) or VM being cloned state, we hit this internal_server_error 500. This issue is fixed in 7.0.
A workaround here would be to remove these invalid VMs from inventory.

Thank You very much @jobingeo and @shwetapurohit :pray:
In fact we still had such machines because of a host failure in the cluster last week.
I cleaned everything  and now it works perfectly again! :tada:

closing the issue


Various improvements to prawnto

Improve SSL detection
Add Rails XSS support
Add support for using to generate attachments for ActionMailer
Remove empty rake tasks file

This pull request is over 7 years old, so I am closing it


goBack() and NavigationActions.back() behave differently

I use the following navigation structure:

Custom Navigator with Tab Router

First Screen
Stack Navigator

First In Stack
Second In Stack

Current Behavior
When I try to go back from Second In Stack using the goBack() function, the navigation system takes me back to First Screen.
When I try the same using the NavigationActions.back() function, the navigation system works correctly, and takes me back to First In Stack.
Expected Behavior
goBack() should pop the current screen off the stack, and go back to First In Stack.
Sample App
You can find a sample app reproducing the issue here:
https://github.com/evrimfeyyaz/custom-navigation-test/tree/go-back-issue
Environment

software
version

react-navigation
1.0.0-beta.22

react-native
0.51.0

node
v8.9.1

npm or yarn
1.3.2

Thanks for reporting, can I only ask you one thing? Out of curiosity, have you tried using goBack(null)?

@kelset I just gave it a try. goBack(null) works properly (the same as NavigationActions.back().

I just checked the documentation again, it has this explanation:

If the goal is to go back anywhere, without specifying what is getting closed, call .goBack(null);

I still have no idea what that means.

There was a PR around this behaviour, but it's kinda complex: https://github.com/react-community/react-navigation/pull/2759#issue-265600916

@kelset I am more confused now because the comment says:

The problem is that it [goBack()] doesn't work if we want to go back from a nested navigator to a parent navigator, but goBack(null) works.

But in my experience, goBack(null) takes me to the previous screen in the nested stack navigator, and goBack() takes me back in the parent navigator.


Make Aliases Easy by Following electron-redux's Lead?

https://www.useloom.com/share/d3e482bbc3354bd0b1c1b6fadb5f8fd6
https://github.com/tshaddix/react-chrome-redux/pull/131#issuecomment-381700100

@vhmth Agreed - this is a great idea!
I'm wondering what the best implementation structure would look like. Ideally we want this to be configured into a store so that we continue to same composability paradigm we've been using before (you can have multiple proxy or background stores without any complication).
Creating the alias action is easy, and the storage is easy (we can just store internally exactly how we are now). The question is how we attach to a store.
The middleware was nice because it was transparent in what it was doing and just used redux's store api.
I can see us doing it through the wrapStore call or the middleware method, potentially...

So the middleware way being turning something like this:
// background.js

import { applyMiddleware, createStore } from 'redux';
import { alias, wrapStore } from 'react-chrome-redux';

const aliases = {
  // this key is the name of the action to proxy, the value is the action
  // creator that gets executed when the proxied action is received in the
  // background
  'user-clicked-alias': () => {
    // this call can only be made in the background script
    chrome.notifications.create(...);

  };
};

const store = createStore(rootReducer,
  applyMiddleware(
    alias(aliases)
  )
);

Into something like this:
// background.js

import { applyMiddleware, createStore } from 'redux';
import { aliases, wrapStore } from 'react-chrome-redux';

aliases.createAlias("user-clicked-alias", () => {
  // this call can only be made in the background script
  chrome.notifications.create(...);
});

const store = createStore(rootReducer,
  applyMiddleware(
    aliases
  )
);

Somewhat. I was thinking we take it a step further and return an action creator that can be called either on the background or content script and will always execute in the background. Something like this:
// background.js

import { applyMiddleware, createStore } from 'redux';

// effectively initializes all aliases
import 'actions';

const store = createStore(rootReducer,
  applyMiddleware(
    aliases
  )
);

// actions/index.js

export const userClickedAlias = aliases.createAlias('user-clicked-alias', () => {
  // do whatever
});

export const userExit = () => {
  return { type: 'some_action' };
};

Now you can use userClickedAlias either on the content script or background page. When you use it in a content script, it will simply try to ferry the user-click-alias message to the background and will call the function passed in (granted it was initialized in the background of course). You can now keep all action creators in the same file and it will make sense that no matter where you call the alias functions, they'll get executed in the background.

While this might not be as much of  a problem in Chrome extensions, something worth considering is the potential issue of having action creators defined both in the background script and the content script(s). See https://github.com/hardchor/electron-redux/issues/92 for more detail. Essentially we need the ability to declare and define aliased actions separately somehow, but hopefully not with duplicated code.


invalid memory address or nil pointer dereference in tsdb.newChunkSeriesIterator

I got this crash on two different test servers scraping the same targets and having the same rules (but the two traces originate in different rules, one is a recording rule, the other is an alert, so I assume it's not a specific "query of death"). Both call traces following:
This is built from commit 8c483e27d3d53b39ee0211c28eeeff7626c9ac99 in prometheus/prometheus.
1
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x1626deb]

goroutine 24276602 [running]:
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.newChunkSeriesIterator(0xc54107e358, 0x1, 0x1, 0xc661317860)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:559 +0x3b
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*chunkSeries).Iterator(0xc6fd83ee70, 0x15ee512, 0xc4e8db21e0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:463 +0x41
github.com/prometheus/prometheus/storage/tsdb.series.Iterator(0x26a0940, 0xc6fd83ee70, 0x10, 0xc4e8db63c0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/storage/tsdb/tsdb.go:114 +0x31
github.com/prometheus/prometheus/storage/tsdb.(*series).Iterator(0xc54107e360, 0xc4e8db21e0, 0x493e0)
        <autogenerated>:15 +0x56
github.com/prometheus/prometheus/promql.(*Engine).populateIterators.func2(0x7fd8658e8e28, 0xc4924a0c00, 0xeee5679e69)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:497 +0x1bd
github.com/prometheus/prometheus/promql.inspector.Visit(0xc83071f6c0, 0x7fd8658e8e28, 0xc4924a0c00, 0x7fd8658e8e28, 0x18ba1a0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:306 +0x3a
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc83071f6c0, 0x7fd8658e8e28, 0xc4924a0c00)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:255 +0x58
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc83071f6c0, 0x269d0c0, 0xc83071f6e0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:275 +0x1d1
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc83071f6c0, 0x7fd8658e8e80, 0xc74d118d60)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:285 +0x6ab
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc83071f6c0, 0x7fd8658e8dd0, 0xc72d2c1c20)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:278 +0x510
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc83071f6c0, 0x7fd8658e8d20, 0xc87f43dbc0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:281 +0x90c
github.com/prometheus/prometheus/promql.Inspect(0x7fd8658e8d20, 0xc87f43dbc0, 0xc83071f6c0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:316 +0x4b
github.com/prometheus/prometheus/promql.(*Engine).populateIterators(0xc4f94df8c0, 0x7fd880377000, 0xc4924a0cc0, 0xc72d2c1c70, 0x48, 0x1a0ab60, 0x1
7d7c80, 0xc4924a0b40)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:513 +0x2f5
github.com/prometheus/prometheus/promql.(*Engine).execEvalStmt(0xc4f94df8c0, 0x7fd880377000, 0xc4924a0cc0, 0xc87f43dc00, 0xc72d2c1c70, 0x0, 0x0, 0
x0, 0x0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:348 +0x117
github.com/prometheus/prometheus/promql.(*Engine).exec(0xc4f94df8c0, 0x7fd880377000, 0xc4924a0cc0, 0xc87f43dc00, 0x0, 0x0, 0x0, 0x0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:328 +0x3a0
github.com/prometheus/prometheus/promql.(*query).Exec(0xc87f43dc00, 0x7fd8658e3000, 0xc466fde0c0, 0xed09fb730)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:171 +0x52
github.com/prometheus/prometheus/rules.RecordingRule.Eval(0xc4f07e766d, 0x23, 0x26a4440, 0xc4991cf680, 0x0, 0x0, 0x0, 0x7fd8658e3000, 0xc466fde0c0
, 0xed09fb730, ...)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/rules/recording.go:57 +0x109
github.com/prometheus/prometheus/rules.(*RecordingRule).Eval(0xc4991cf8c0, 0x7fd8658e3000, 0xc466fde0c0, 0xed09fb730, 0x17faa0e2, 0x275ad60, 0xc4f
94df8c0, 0xc4204df73f, 0x0, 0xc4fc08b900, ...)
        <autogenerated>:8 +0xe7
github.com/prometheus/prometheus/rules.(*Group).Eval.func1(0xc93696d020, 0x1b1a91f, 0x9, 0xc42064a9b0, 0xed09fb730, 0x17faa0e2, 0x275ad60, 0x26ac4
40, 0xc4991cf8c0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/rules/manager.go:273 +0x1b1
created by github.com/prometheus/prometheus/rules.(*Group).Eval
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/rules/manager.go:321 +0x174

2
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x38 pc=0x1626deb]

goroutine 27015751 [running]:
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.newChunkSeriesIterator(0xc7e5073288, 0x1, 0x1, 0xc8d5c71aa0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:559 +0x3b
github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb.(*chunkSeries).Iterator(0xc951d1f6b0, 0xc4221a9000, 0x455570)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/vendor/github.com/prometheus/tsdb/querier.go:463 +0x41
github.com/prometheus/prometheus/storage/tsdb.series.Iterator(0x26a0940, 0xc951d1f6b0, 0xc8d5c78e80, 0xc5f0b5e580)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/storage/tsdb/tsdb.go:114 +0x31
github.com/prometheus/prometheus/storage/tsdb.(*series).Iterator(0xc7e5073290, 0xc8d5c78e80, 0x493e0)
        <autogenerated>:15 +0x56
github.com/prometheus/prometheus/promql.(*Engine).populateIterators.func2(0x7f521f953950, 0xc4eafa2600, 0xeee5679e69)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:497 +0x1bd
github.com/prometheus/prometheus/promql.inspector.Visit(0xc6e6060400, 0x7f521f953950, 0xc4eafa2600, 0x7f521f953950, 0x10)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:306 +0x3a
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc6e6060400, 0x7f521f953950, 0xc4eafa2600)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:255 +0x58
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc6e6060400, 0x7f521f953848, 0xc6e60582c0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:281 +0x90c
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc6e6060400, 0x7f521f9538f8, 0xc73a114190)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:278 +0x510
github.com/prometheus/prometheus/promql.Walk(0x269d140, 0xc6e6060400, 0x7f521f953848, 0xc6e6058340)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:281 +0x90c
github.com/prometheus/prometheus/promql.Inspect(0x7f521f953848, 0xc6e6058340, 0xc6e6060400)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/ast.go:316 +0x4b
github.com/prometheus/prometheus/promql.(*Engine).populateIterators(0xc4203cb240, 0x7f521c113a30, 0xc4eafa26c0, 0xc73a1141e0, 0x48, 0x1a0ab60, 0x17d7c80, 0xc4eafa2540)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:513 +0x2f5
github.com/prometheus/prometheus/promql.(*Engine).execEvalStmt(0xc4203cb240, 0x7f521c113a30, 0xc4eafa26c0, 0xc6e6058380, 0xc73a1141e0, 0x0, 0x0, 0x0, 0x0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:348 +0x117
github.com/prometheus/prometheus/promql.(*Engine).exec(0xc4203cb240, 0x7f521c113a30, 0xc4eafa26c0, 0xc6e6058380, 0x0, 0x0, 0x0, 0x0)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:328 +0x3a0
github.com/prometheus/prometheus/promql.(*query).Exec(0xc6e6058380, 0x7f521f9dc4f8, 0xc420572c80, 0xed09fb76b)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/promql/engine.go:171 +0x52
github.com/prometheus/prometheus/rules.(*AlertingRule).Eval(0xc4201b6930, 0x7f521f9dc4f8, 0xc420572c80, 0xed09fb76b, 0xc5bcac8, 0x275ad60, 0xc4203cb240, 0xc42026fb5f, 0x0, 0x0, ...)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/rules/alerting.go:159 +0x145
github.com/prometheus/prometheus/rules.(*Group).Eval.func1(0xc832a9a810, 0x1b18bfe, 0x8, 0xc420536b90, 0xed09fb76b, 0xc5bcac8, 0x275ad60, 0x26ac400, 0xc4201b6930)
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/rules/manager.go:273 +0x1b1
created by github.com/prometheus/prometheus/rules.(*Group).Eval
        /home/bjoern/gocode/src/github.com/prometheus/prometheus/rules/manager.go:321 +0x174

Thanks. I also ran into this in the last few days. I think this is the one @Gouthamve fixed in #75. I ran a setup with the current master vendored and haven't hit it since.
Let's leave this open and close it once we have updated dev-2.0 and don't see it again.

Yep, pushed a fix for this recently. dev-2.0 has been updated right now to include this fix. Can you try now and see if this can be reproduced?

Deploying now…

Has run without problems for 20 hours.

Cool :)


Fix paginator last item calculation from given slice

Currently, the last number is showing as the actual total amount instead of the last item in a given page.
This fixes the calculation for it, to show actual last item number in a given page.

This seems to break the tests.

@driesvints well that's because paginator test itself isn't correct? https://github.com/laravel/framework/blob/8.x/tests/Pagination/PaginatorTest.php#L12-L31 $p can never be equal to $pageInfo if $p has 3 items and $pageInfo only 2.


Fixes RenderTransform's paint method when filterQuality is not null.

This PR fixes #95091.
Description:
This PR changes the behaviour of  the paint method of the RenderTransformwhen RenderTransform has a non-null filterQuality.
The following code is the paint method of RenderTransform :
@override
  void paint(PaintingContext context, Offset offset) {
    if (child != null) {
      final Matrix4 transform = _effectiveTransform!;
      if (filterQuality == null) {
        final Offset? childOffset = MatrixUtils.getAsTranslation(transform);
        if (childOffset == null) {
          layer = context.pushTransform(
            needsCompositing,
            offset,
            transform,
            super.paint,
            oldLayer: layer is TransformLayer ? layer as TransformLayer? : null,
          );
        } else {
          super.paint(context, offset + childOffset);
          layer = null;
        }
      } else {
        final ui.ImageFilter filter = ui.ImageFilter.matrix(
          transform.storage,
          filterQuality: filterQuality!,
        );
        if (layer is ImageFilterLayer) {
          final ImageFilterLayer filterLayer = layer! as ImageFilterLayer;
          filterLayer.imageFilter = filter;
        } else {
          layer = ImageFilterLayer(imageFilter: filter);
        }
        context.pushLayer(layer!, super.paint, offset);
      }
    }
  }

If filterQuality is not set, paint method uses the pushTransform and passes the offset that is passed to it to pushTransform.
pushTransform creates an effectiveTransform and it applies offset parameter.then effectiveTransform that is included the offset is passed to the pushLayer or canvas.
The following code is the pushTransform method of PaintingContext :
  TransformLayer? pushTransform(bool needsCompositing, Offset offset,
      Matrix4 transform, PaintingContextCallback painter,
      {TransformLayer? oldLayer}) {
    final Matrix4 effectiveTransform =
        Matrix4.translationValues(offset.dx, offset.dy, 0.0)
          ..multiply(transform)
          ..translate(-offset.dx, -offset.dy);
    if (needsCompositing) {
      final TransformLayer layer = oldLayer ?? TransformLayer();
      layer.transform = effectiveTransform;
      pushLayer(
        layer,
        painter,
        offset,
        childPaintBounds: MatrixUtils.inverseTransformRect(
            effectiveTransform, estimatedBounds),
      );
      return layer;
    } else {
      canvas
        ..save()
        ..transform(effectiveTransform.storage);
      painter(this, offset);
      canvas.restore();
      return null;
    }
  }

But if filterQuality is set, paint method uses the ImageFilterLayer, but in this case offset is not applied.
Therefore I changed the behaviour of paint method when filterQuality is set.
I defined a new effectiveFilterTransform variable and I applied offset to it like pushTransform method.
final Matrix4 effectiveFilterTransform =
            Matrix4.translationValues(offset.dx, offset.dy, 0.0)
              ..multiply(transform)
              ..translate(-offset.dx, -offset.dy);

@override
  void paint(PaintingContext context, Offset offset) {
    if (child != null) {
      final Matrix4 transform = _effectiveTransform!;
      if (filterQuality == null) {
        final Offset? childOffset = MatrixUtils.getAsTranslation(transform);
        if (childOffset == null) {
          layer = context.pushTransform(
            needsCompositing,
            offset,
            transform,
            super.paint,
            oldLayer: layer is TransformLayer ? layer as TransformLayer? : null,
          );
        } else {
          super.paint(context, offset + childOffset);
          layer = null;
        }
      } else {
        final Matrix4 effectiveFilterTransform =
            Matrix4.translationValues(offset.dx, offset.dy, 0.0)
              ..multiply(transform)
              ..translate(-offset.dx, -offset.dy);

        final ui.ImageFilter filter = ui.ImageFilter.matrix(
          effectiveFilterTransform.storage,
          filterQuality: filterQuality!,
        );
        if (layer is ImageFilterLayer) {
          final ImageFilterLayer filterLayer = layer! as ImageFilterLayer;
          filterLayer.imageFilter = filter;
        } else {
          layer = ImageFilterLayer(imageFilter: filter);
        }
        context.pushLayer(layer!, super.paint, offset);
      }
    }
  }

Example:
main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HomePage(),
    );
  }
}

class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: Center(
      child: Transform(
        // filterQuality: FilterQuality.medium,
        alignment: Alignment.center,
        transformHitTests: true,
        transform: Matrix4.diagonal3Values(2, 2, 0)..rotateZ(pi / 4),
        child: ConstrainedBox(
          constraints: BoxConstraints.tight(
            const Size(50, 75),
          ),
          child: const ColoredBox(
            color: Colors.orange,
          ),
        ),
      ),
    ));
  }
}

before bug fixing - without filterQuality
Before bug fixing - with filterQuality
after bug fixing - with filterQuality

OK
Not OK
OK

Pre-launch Checklist

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

@goderbauer
May I ask you to tell me how do I add a test?

You can look at some existing tests for RenderTransform and see if you could model a test case for this PR after those: https://github.com/flutter/flutter/blob/59fc92168a4596b4f523ba5774a8c5cfece6cc31/packages/flutter/test/rendering/transform_test.dart

@goderbauer
Thanks you.
I added some tests to transform_test.dart.
Please review this PR again.

I see that @flar created a similar patch for this https://github.com/flutter/flutter/pull/95432, which has landed, so I'm closing this one.
@mohammadtaherri thanks for the contribution!

Oh, sorry, I didn't see this other PR. I already had the fix coded when I looked through the Issues database for an issue so I didn't look if there was existing work being done on it. Another thanks to @mohammadtaherri


nitro-ios 4.2.1

What to do if the build fails?
At the moment contributors do not have access to the CI workflow triggered by StepLib PRs. In case of a failed build, we ask for your patience. Maintainers of Bitrise Steplib will sort it out for you or inform you if any further action is needed.
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I will not move an already shared step version's tag to another commit
[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

New Step
Thank you for the new Step share! The CI check might will fail due to our extended validation engine. Nothing to worry about yet, we will get back to you shortly.

This is the same as #3691 but for iOS.
Thanks in advance @ofalvai

Any update on this? @ofalvai

@gaguirre it seems like this is the first version of the iOS step. Are you sure you want to keep the version number in sync with the Android step? It's possible, but it's going to look a bit strange that the first version of the iOS step is 4.2.1, so I wanted to double-check.

Hi @ofalvai, thanks for the review.
As with the Android step, we've been using the step internally (unpublished) and versioning it, so I'd prefer to keep it as 4.2.1 if possible.
Thank you!

Got it, I'm merging this as-is then. Thank you for your contribution! 🚀

Thank you!


MongoDB "Legacy UUIDs"

Maybe I'm completely missing something, but I was wondering why UUIDs in Mongo are stored as "Legacy UUID"? I'm trying to display staff members through my website accessing my LuckPerms MongoDB. Since some of the names in the database are "null" (due to converting from GM?), I'm trying to use UUIDs. However, when attempting to access the UUIDs, the only thing I can get is strange symbols/characters to display. I noticed that when converting the LUUIDs to JUUIDs in Robomongo it completely changed the contents of the LUUID to proper Minecraft UUIDs, but I still have no clue on how to get "LUUID" from the Database to a String containing the proper Minecraft UUID (php5.6, mongodb driver | MC 1.8.8 Paperspigot, LuckPerms v3.3.13).

Is there a specific way to access the Minecraft UUID in the LuckPerms MongoDB? Sorry for the bad explanation & if I missed something in the Wiki, just very confused.

Honestly: I'm not sure.
LuckPerms just passes a Java UUID object to the MongoDB driver, and it does the rest.
https://github.com/lucko/LuckPerms/blob/master/common/src/main/java/me/lucko/luckperms/common/storage/dao/mongodb/MongoDao.java#L297
I'm sure there is a way for you to decode this value in PHP, but I don't know how. :/
You'd have to dig around a bit and see how the Java driver converts the data.
Sorry I couldn't be of any more help. :(


Different classes are generated for the same named attribute at a different JSONPath location

Hi,
I have the same attribute ("lastEdit") at different location in the JSON tree and POJO converter creates 2 different classes : LastEdit__1 and LastEdit.
Is there a way to declare that both of these attributes are the same and no need to create a dedicated new Class ? Could not find anything relevant in the "Reference" section.
Cheers,
Geo

Hi

Is there a way to declare that both of these attributes are the same and no need to create a dedicated new Class ?

In case source type is JSON and the structure is similar to defined here then at present it's not possible


samples: net: dhcpv4: Add net-shell and e1000 driver support

The dhcpv4-client is more usable if it has net-shell. For testing
with qemu_x86, the e1000 overlay config is very useful.
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

Codecov Report

Merging #14570 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #14570   +/-   ##
=======================================
  Coverage   51.96%   51.96%
=======================================
  Files         309      309
  Lines       45576    45576
  Branches    10554    10554
=======================================
  Hits        23683    23683
  Misses      17083    17083
  Partials     4810     4810

Continue to review full report at Codecov.

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


Try to fix flaky ApmServerReporterIntegrationTest#testTimeout

What does this PR do?
Try to fix a flaky test.
Checklist

[x] This is something else

[ ] I have updated CHANGELOG.asciidoc

:grey_exclamation: Build Aborted

The PR is not allowed to run in the CI yet

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Reason: The PR is not allowed to run in the CI yet

Start Time: 2022-01-17T11:45:32.463+0000

Duration: 3 min 30 sec

Commit: 41a0f0f800a41a528909b7aa90ff3b146069739d

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run benchmark tests : Run the benchmark test.

run compatibility tests : Run the JDK Compatibility test.

run integration tests : Run the APM-ITs.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

/test


Add Delphi programming language #140

Pull Request Type
What kind of change does this PR introduce?
[ ] Bugfix
[x ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:
What is the current behavior?
The website does not have Delphi Programming Language.
Issue Number: 140
What is the new behavior?
New Delphhi Component Added
Does this introduce a breaking change?
[ ] Yes
[x ] No

Pull request merged

This is an automated message from Fork, Commit, Merge - web [BOT].

Thank you for your contribution! Your pull request has been merged and your name has been added to the List of Contributors in README.md.
Please leave a star if you enjoyed working on this project.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects here.


Some of your stocks are no longer working

Your example AAPL is no longer registering. Been like this for a few days now.

See #38


Unable to Import Token from @solana/spl-token

I'm getting the following error
import {TOKEN_PROGRAM_ID, Token, AccountLayout} from '@solana/spl-token';
                          ^^^^^
SyntaxError: The requested module '@solana/spl-token' does not provide an export named 'Token'
    at ModuleJob._instantiate (node:internal/modules/esm/module_job:127:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:193:5)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:337:24)
    at async loadESM (node:internal/process/esm_loader:88:5)
    at async handleMainPromise (node:internal/modules/run_main:61:12)

Node.js v17.5.0

Lots of examples I see suggest that I should be able to import Token from this package (https://github.com/search?p=5&q=createinitaccountinstruction&type=Code). I see the newest package on npm is 0.2.0, and that is what I'm using. I also tried 0.1.8 to the same effect. When I remove Token from that import list, it works fine...until execution gets to Token.createInitAccountInstruction(TOKEN_PROGRAM_ID, ... in my program of course.
My package.json is pretty straightforward; I'm using the newest versions of these libraries:
{
    "name": "server",
    "version": "1.0.0",
    "description": "backend",
    "main": "/app/src/server.js",
    "type": "module",
    "scripts" : {
        "start": "node src/server.js"
    },
    "dependencies": {
<EMAIL_ADDRESS>: "1.35.1",
        "@solana/spl-token" : "0.2.0"
    },
    "devDependencies": {
    }
}

The new @solana/spl-token library at version 0.2.0 does not have the Token class. Instead the actions are split up and exported separately.
If you want to use the old version, make sure you install it with
npm install<EMAIL_ADDRESS>
Otherwise you can find documentation on how to use 0.2.0 on the SPL docs or solanacookbook.
Generally we do not do support in Github issues. If you want further support, please post the question on stackoverflow with the solana tag or visit us in #developer-support on discord

The new @solana/spl-token library at version 0.2.0 does not have the Token class. Instead the actions are split up and exported separately.

I see. Looking at the cookbook and the git repository, it was pretty easy to adapt the example I was working on to the newer 0.2.0, and my code is working now!

If you want further support, please ... visit us in #developer-support on discord

Thank you for the invitation! Unfortunately you banned me there a couple weeks ago. As a reminder, my offense was being disrespectful to other users seeking help. Someone said something like "Is anyone here" and I mouthed off with what I thought was a pat response: something like "I am here and will be your personal assistant". I'm used to IRC (https://sol.gfxile.net/dontask.html) where my response would fit right in. I now see the difference between Solana and IRC as professional vs. amateur; respectful vs. crass, civilization vs. the wild west, etc. I'm sorry for being disrespectful. I am very impressed at the quality of support that the Solana discord provides and would like you to reconsider the ban on lmat#1258.

The new @solana/spl-token library at version 0.2.0 does not have the Token class. Instead the actions are split up and exported separately.
If you want to use the old version, make sure you install it with
npm install<EMAIL_ADDRESS>
Otherwise you can find documentation on how to use 0.2.0 on the SPL docs or solanacookbook.
Generally we do not do support in Github issues. If you want further support, please post the question on stackoverflow with the solana tag or visit us in #developer-support on discord

This helped me after some digging. Thanks Jacob


Use NWB object inheritance

In NWB Widgets, we leverage object inheritance to improve coverage of NWB data types. For example, you may have a custom data type that inherits from ElectricalSeries, which inherits from TimeSeries, which inherits from NWBContainer. For each object, NWB Widgets will go back through the mro and find the class for which a visualization is defined. This technique provides pretty good coverage of types, even for extension we have never seen, or data types that do not have their own visualization. For example, just showing traces over time tends to be a pretty good visualization for just about any timeseries. It works really well for extensions. You may not have a visualizer for an extension, but if you know that extension inherits from a known type, you may be able to just fall back to the visualizer for that known type. This would work really well for example for RoiResponseSeries, which can be viewed the exact same way you are currently showing ElectricalSeries

@bendichter How can we know which neurodata types inherit from others?

Good question. In Python it's simply obj.__class__.__mro__ which returns something like:
(pynwb.ecephys.ElectricalSeries,
 pynwb.base.TimeSeries,
 pynwb.core.NWBDataInterface,
 pynwb.core.NWBContainer,
 pynwb.core.NWBMixin,
 hdmf.container.Container,
 hdmf.container.AbstractContainer,
 object)

I suppose since you have the schema locally you could determine this by parsing the schema. To get the parent of any class, you'd look for
neurodata_type_def: "[neurodata type]"
neurodata_type_inc: "[parent type]"

I suppose we could expose some sort of index for this so you don't have to compute it every time, but you still would need to parse the cached schema for any extensions

@bendichter A prelim version of this is now working.
For now, I generate the inheritance rules using Python, using an example nwb file:
https://github.com/flatironinstitute/neurosift/blob/main/devel/create_neurodata_type_inheritance.ipynb
That generates this which is hard-coded:
https://github.com/flatironinstitute/neurosift/blob/main/gui/src/pages/NwbPage/neurodataSpec.ts
Then I check for inheritance when determining which view to open:
https://github.com/flatironinstitute/neurosift/blob/e54ec13bd20ed35f60935d893599547cc63ce864/gui/src/pages/NwbPage/NeurodataItemView/NeurodataItemView.tsx#L17-L28
Ideally, we'd read the spec from the nwb file (because this would handle different versions, and extensions), but I think hard-coding is the right choice for this stage of development because reading the spec is somewhat complicated and adds to the latency of the initial load.
I am closing this issue, but later on we can open a similar issue when we are ready to implement the more advanced spec loading.


Refactor JSON writer for new data model

Similar to the parser, we need to adapt the writer for the new model as well.
Note: The legacy writer (see git history) can be used as a baseline, there is nothing inherently wrong with it. It will have to be adapted to the new data model, and it should definitely use composition instead of inheritance to combine the writer classes for the new data model.

fixed by #379


Keen Smart Vents

I'm curious if I can donate to someone who can write a plugin for my Keen Smart Vents hub.  I'd like to have the ability to open and close the vents and maybe even expose the pressure or temp sensors built into the units.  I would like to have the option of not exposing those sensors as well.  If anyone can help please let me know.

I asked them a while back and they said homekit support was in the plans.
Jeff
Sent from my iPhone

On Sep 22, 2017, at 8:04 PM, mikeyobryan<EMAIL_ADDRESS>wrote:
I'm curious if I can donate to someone who can write a plugin for my Keen Smart Vents hub. I'd like to have the ability to open and close the vents and maybe even expose the pressure or temp sensors built into the units. I would like to have the option of not exposing those sensors as well. If anyone can help please let me know.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

We added support for these to deCONZ, see https://github.com/dresden-elektronik/deconz-rest-plugin/issues/269.  homebridge-hue should already expose these to HomeKit, as a dimmable light for control and as a temperature and pressure sensor.  I could change the light to something more appropriate in homebridge-hue, please open an issue there.


Major release to the main branch

create and style home and detailed page section
create the redux store, action, thunks and reducers for the nba data api
create the search functionality on the home page
create unit and integration test

😄 Thank you @ShoiraTa  @Ismailco @MahmoudBakr23


Currency units

...as seen in other calculator languages, such as Frink. Need to store a local database of up-to-date currency values, and the ability to refresh it based on some online resource.

TODO:

Add a "cash" base unit.
Write a scraper to get currency info.
Load in units on startup.
Config option to set the default cash unit.
Expose interface to refresh the database.
Documentation.

Done.


datasets.zip in google drive is not updated

Hi,
First of all thank you for the awesome benchmark.
In the google drive datasets, it seems the datasets.zip is not updated. It dates from prior to the last update of the datasets /  classification folders, and is missing the train.json in the commercial dataset for instance.
I think it would be advisable to delete this archive as its possible to download the above directly from google drive, or update it.
Thank you

You are right, thank you for pointing this out. Already remove the zip file.


Fix version issues with Node and iojs

Newer ndoejs and iojs does not support passing a string to exec
where it expects an option. Older node does not allow passing
an option object. Therefore we now require 0.12.
0.12 shows a warning due to usage of deprecated API in mocha.
This updates mocha to a newer version and keeps chai in sync.

@domenic PTAL
@johnjbarton FYI

There's really no reason to use 0.12 over iojs... 0.10 has some argument for it, since it has wide deployment, but 0.12 is kind of a DOA release. http://hueniverse.com/2015/03/02/the-node-version-dilemma/
Otherwise LGTM.

You are right. Switching back to 0.10 since it is silly to limit the usage when it just this small thing.

@johnjbarton PTAL

LGTM I guess you tried the browser testRunner.html.

testRunner.html is not working for me. Something about global. Working on a fix.


feature request add mapAsyncIterator

add mapAsyncIterator functionality
example implementation:
https://github.com/graphql/graphql-js/blob/master/src/subscription/mapAsyncIterator.js

relates to
https://github.com/graphql/graphql-js/issues/1354

@leebyron what do you think?

This isn't the right place for this utility function.
See https://github.com/leebyron/iterall/blob/master/README.md#faq - "where are map, filter, reduce?"
GraphQL.js uses that function to keep byte weight and dependencies minimal, however if you're looking for a toolbelt of higher level functions for async iterators, I'd recommend taking a look at https://github.com/ReactiveX/IxJS


Add  R.E.L.I.V.E for Abe's Oddysee and Oddworld: Abe's Exoddus.

Feature Request
Add  R.E.L.I.V.E to Luxorpeda as it's a open source re-implementation engine for Abe's Oddysee and Oddworld: Abe's Exoddus which does a lot of fixes for the game and also  gives a native Linux version.
Solution
Add  R.E.L.I.V.E to Luxorpeda
https://github.com/AliveTeam/alive_reversing
Additional Context
No response

I moved this to the packages repo. I try to avoid projects with unclear licensing, in this case because it's a reverse engineering project instead of building a custom implementation like most open source projects.
Because of this I won't be implementing this one but think you for the request. If you think of any other projects feel free to make a request in the packages repo.

Ahh I see so is it because of the unclear licensing or the fact it's a re-implementation? because there is a lot of great re-implementation projects that would be great to add to this project.

@coreybruce Mainly about it being a reverse engineering project, but also the fact there is not a license. Some of the reverse engineering projects provide licenses for their code, but I've seen issues with projects like that in the past. re3 is a good example.

Yeah maybe if I asked them about the licencing than maybe that answer could change?

@coreybruce for this particular project I believe it's been asked already, a bit ago

Looks like they don't have a real licence yet but I'd they did it would be MIT

@coreybruce
Right that's one of the main issues there, this was discussed with them a while back (https://github.com/AliveTeam/alive_reversing/issues/1083).
The other issue is since it's a reverse engineering project, it's in a grey area. The other projects that I support are mainly related to re-creating the engine from scratch, or using source ports, with freely available source code. Because of experience with projects like re3, which were taken down, I am wary of those, but I appreciate the interest.
If you do have any ideas that have clear licenses and aren't reverse engineering projects, feel free to open an issue here for discussion.

Yeah that's understandable, it was sad to see them wrongfully take down and ruin re3 project


Bump to 1.7.0 for Nov release

Bumped Arc and Azure CLI to 1.7.0 for November release

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.01%) to 42.001%

Files with Coverage Reduction
New Missed Lines
%

extensions/notebook/src/jupyter/serverInstance.ts
4
75.5%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
28943

Relevant Lines:
64025

💛  - Coveralls


Pandora scrobbling is broken

The extension emits a single console.log at startup:
Web Scrobbler: Setting up observer

and the green 'scrobbling' icon displays; however, nothing is actually scrobbled.
Examining the background page, I'm seeing 403 errors when the extension tries to POST to ws.audioscrobbler.com; re-authenticating with last.fm doesn't seem to fix them.
Edit: Re-authenticating again and then restarting Chrome seems to have fixed the issue.

The console.log doesn't highlight a problem with the scrobbler. Are you able to check the extensions console?

navigate to chrome://extensions/
Find web-scrobbler and click on background page
Clear the log that is shown then revisit pandora and provide a dump of the output.

@david-sabata  perhaps we should update the debug wiki as it's a bit out of date. I'll create a ticket for it and someone or I could pick this up :+1:

@inverse I edited my message above -- restarting chrome after re-authenticating with last.fm fixed the issue (and it hasn't recurred since then).
So if there is an issue, it's not with pandora so much as last.fm re-authentication not working without restarting Chrome.
I would suggest we close this, since I have no idea how to reproduce the re-authentication problem.

Weird. There may be some issue with authentication indeen. I tried to investigate, but wasn't able to reproduce the issue in my environment.
@inverse please do :)

I'm getting this too.

@DaaOtt: please follow the instructions outlined by Inverse above about how to debug and then share your results here.

Tab 307: received empty state - resetting
-- loaded for the first time, injecting the scripts
	injecting vendor/jquery-2.1.0.min.js
	injecting vendor/underscore-min.js
	injecting core/content/reactor.js
	injecting core/content/connector.js
	injecting connectors/v2/pandora.js
	injecting core/content/starter.js
Tab 307: created controller for connector: {"label":"Pandora","matches":["*://www.pandora.com/*"],"js":["connectors/v2/pandora.js"],"version":2}
-- subsequent ajax navigation, the scripts are already injected
Tab 307: new track state: {"track":"Ruffneck","artist":"Navigator & Freestylers","album":"An England Story - From Dancehall To Grime - 25 Years Of Music In The Uk 1983-2008","uniqueID":null,"duration":425,"currentTime":0,"isPlaying":true,"trackArt":null}
Tab 307: new song detected: {"parsed":{"artist":"Navigator & Freestylers","track":"Ruffneck","album":"An England Story - From Dancehall To Grime - 25 Years Of Music In The Uk 1983-2008","uniqueID":null,"duration":425,"currentTime":null,"isPlaying":true,"trackArt":false},"processed":{"artist":"Navigator & Freestylers","track":"Ruffneck","album":"An England Story - From Dancehall To Grime - 25 Years Of Music In The Uk 1983-2008","duration":425},"metadata":{"userloved":false,"startTimestamp":1440830118},"flags":{"isProcessed":false,"isScrobbled":false,"isCorrectedByUser":false,"isLastfmValid":null,"isMarkedAsPlaying":false}}
GET https://ws.audioscrobbler.com/2.0/?method=auth.getsession&api_key=d9bb1870d…32205afd508239ea7447d&api_sig=8f3c53331fcdce3077c343b77f4c4b96&format=json 403 (Forbidden)
auth.getSession failed: Forbidden, error

lol, you're also getting an authentication error. As draaglom said, re-authenticating should fix your problem.  Have you tried to re-authenticate? If not, open your chrome extensions page (one method it to put chrome://extensions/ in your address bar and press enter); find "Last.fm Scrobbler" and click options; on the options page, open Options; scroll down to the bottom of the supported websites list and click the "Re-authenticate with Last.fm" button.

Things shouldn't just silently fail. It needs to notify you if there's a
problem.
On Aug 29, 2015 10:16 AM, "Paszt"<EMAIL_ADDRESS>wrote:

lol, you're also getting an authentication error. As draaglom said,
re-authenticating should fix your problem. Have you tried to
re-authenticate? If not, open your chrome extensions page (one method it to
put chrome://extensions/ in your address bar and press enter); find
"Last.fm Scrobbler" and click options; on the options page, open Options;
scroll down to the bottom of the supported websites list and click the
"Re-authenticate with Last.fm" button.
—
Reply to this email directly or view it on GitHub
https://github.com/david-sabata/web-scrobbler/issues/637#issuecomment-136010236
.

Things shouldn't just silently fail. It needs to notify you if there's a problem.

You're right, of course. We can launch a re-auth notification at auth.getSession failed: Forbidden, error. I'll post a PR for this later this weekend if someone doesn't get to it before me.


Fixed not to import cupyx.fallback_mode default when importing cupyx

Some initialization processes are triggered when importing cupy.fallback_mode, but these processes are not needed if fallback mode is not used.

I couldn't see any noticeable difference on how long import cupyx takes.

I think the motivation of this PR is more apparent in #2541.
I'll merge #2541 along with this fix.

Merged in #2541


Broken rule: Tortoiseshell SYSkit

On line 7 in the meta section, the field is using a colon as a separator instead of the required equal sign. Link to the line is below
https://github.com/advanced-threat-research/Yara-Rules/blob/6591646e8f5f00939a13c2155dbfa56e3d1aaaf0/APT/APT_Tortoiseshell_Syskit#L7

Thanks!
I made a PR and now the rule is fixed
https://github.com/advanced-threat-research/Yara-Rules/commit/e51c71ca64e8ee89fc0c2ed38361e401243ab800


delayTS formatting, performance dashboard

Description

make delayTS in history table show in a human readable format
add prod Performance Dashboard page
update home page text

this is just making it look better for the sprint demo.
mail merge stuff is still in the works.
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have checked that unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments

PR Deployed at: https://chess-dev.apps.silver.devops.gov.bc.ca/pr-4

PR Deployed at: https://chess-dev.apps.silver.devops.gov.bc.ca/pr-4