DAG exit-handler stuck when workflow with image pull failure is stopped.

Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened? What did you expect to happen?
Stopping a workflow with its step in ErrImagePull/ErrImageNeverPull state causes a DAG format exit handler to be stuck. The exit-handler step may or may not be invoked (as in whether the main-container is run or not), in the end the exit-handler is left either in Pending or in Running state. Garbage collecting of Pods does not happen either as workflow does not seem to end its execution, although its state is indicated as Failed.
Invoking a plain template or a steps format template as exit-handler seems to not have this issue, problem is reproducible when a DAG format exit handler is used. To be noted is that similar symptoms have been occasionally observed with DAG exit-handler when stopping a workflow where steps have been normally running with container images available, where stopping may lead to exit-handler also be stuck in Running state. That has not been reproducible consistently with a test workflow but the symptoms have been similar to this case. Reporting this also in hoping that maybe such issues get also resolved if there is a possible fix for this problem.
Attached minimal workflow demonstrates the problem with DAG exit handler template. The "say-hello" step invokes a template with a non-existing image tag parameter and the template has imagePullPolicy: Never to create ErrImageNeverPull status for the main-container. Stopping the workflow at this state produces the described situation. Having "alpine:latest" image in container cache should be sufficient to run this workflow.
The workflow example has also other options made available for invoking different strategy exit-handlers that can demonstrate that both plain template and a steps template work OK as exit-handler in described situation. In the real-world use case the DAG format is needed due to the complexity of the exit-handler logic needed.
Expectation is that when a workflow is stopped by user, a DAG exit-handler is run and it can be completed successfully. This should happen regardless at which state the workflow steps are at that moment.
From workflow instance data it can be seen that exit-handler steps are in Failed state, and the last step is stuck as Running when expectation is that all exit-handler steps should complete with Succeeded status.
  nodes:
    test-exit-handler-workflow:
      children:
      - test-exit-handler-workflow-2006132045
      displayName: test-exit-handler-workflow
      finishedAt: "2024-07-29T15:35:39Z"
      id: test-exit-handler-workflow
      name: test-exit-handler-workflow
      outboundNodes:
      - test-exit-handler-workflow-2006132045
      phase: Failed
      progress: 0/1
      startedAt: "2024-07-29T15:35:30Z"
      templateName: workflow-startup
      templateScope: local/test-exit-handler-workflow
      type: DAG
    test-exit-handler-workflow-316667194:
      boundaryID: test-exit-handler-workflow-3293460608
      children:
      - test-exit-handler-workflow-4122663166
      displayName: exit-handler-step
      finishedAt: "2024-07-29T15:35:39Z"
      id: test-exit-handler-workflow-316667194
      inputs:
        parameters:
        - name: time-value
          value: "1"
      name: test-exit-handler-workflow.onExit[0].exit-handler-step
      outboundNodes:
      - test-exit-handler-workflow-4122663166
      phase: Failed
      progress: 0/1
      startedAt: "2024-07-29T15:35:39Z"
      templateName: handle-exit-dag
      templateScope: local/test-exit-handler-workflow
      type: DAG
    test-exit-handler-workflow-1323598490:
      boundaryID: test-exit-handler-workflow-3293460608
      children:
      - test-exit-handler-workflow-316667194
      displayName: '[0]'
      finishedAt: "2024-07-29T15:35:39Z"
      id: test-exit-handler-workflow-1323598490
      message: child 'test-exit-handler-workflow-316667194' failed
      name: test-exit-handler-workflow.onExit[0]
      nodeFlag: {}
      phase: Failed
      progress: 0/1
      startedAt: "2024-07-29T15:35:39Z"
      templateScope: local/test-exit-handler-workflow
      type: StepGroup
    test-exit-handler-workflow-2006132045:
      boundaryID: test-exit-handler-workflow
      displayName: say-hello
      finishedAt: "2024-07-29T15:35:39Z"
      hostNodeName: node1
      id: test-exit-handler-workflow-2006132045
      inputs:
        parameters:
        - name: message
          value: Hi!
        - default: alpine:latest
          name: image
          value: alpine:notexist
      message: 'workflow shutdown with strategy:  Stop'
      name: test-exit-handler-workflow.say-hello
      phase: Failed
      progress: 0/1
      startedAt: "2024-07-29T15:35:30Z"
      templateName: echo-template
      templateScope: local/test-exit-handler-workflow
      type: Pod
    test-exit-handler-workflow-3293460608:
      children:
      - test-exit-handler-workflow-1323598490
      displayName: test-exit-handler-workflow.onExit
      finishedAt: "2024-07-29T15:35:39Z"
      id: test-exit-handler-workflow-3293460608
      message: child 'test-exit-handler-workflow-316667194' failed
      name: test-exit-handler-workflow.onExit
      nodeFlag:
        hooked: true
      outboundNodes:
      - test-exit-handler-workflow-4122663166
      phase: Failed
      progress: 0/1
      startedAt: "2024-07-29T15:35:39Z"
      templateName: exit-handler
      templateScope: local/test-exit-handler-workflow
      type: Steps
    test-exit-handler-workflow-4122663166:
      boundaryID: test-exit-handler-workflow-316667194
      displayName: sleep-and-exit
      finishedAt: null
      hostNodeName: node1
      id: test-exit-handler-workflow-4122663166
      inputs:
        parameters:
        - name: time-value
          value: "1"
      name: test-exit-handler-workflow.onExit[0].exit-handler-step.sleep-and-exit
      outputs:
        artifacts:
        - name: main-logs
          s3:
            key: test-exit-handler-workflow/test-exit-handler-workflow-handle-exit-template-4122663166/main.log
        exitCode: "0"
      phase: Running
      progress: 0/1
      startedAt: "2024-07-29T15:35:39Z"
      templateName: handle-exit-template
      templateScope: local/test-exit-handler-workflow
      type: Pod
  phase: Failed
  progress: 0/2
  startedAt: "2024-07-29T15:35:30Z"
  taskResultsCompletionStatus:
    test-exit-handler-workflow-2006132045: true
    test-exit-handler-workflow-4122663166: true

Version(s)
v3.5.8
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
  name: test-exit-handler-workflow
  annotations:
    description: 'Test workflow'
spec:
  podGC:
    strategy: OnPodCompletion
  entrypoint: workflow-startup
  onExit: exit-handler

  templates:
  - name: workflow-startup
    dag:
      tasks:
      - name: say-hello
        template: echo-template
        arguments:
          parameters:
            - name: message
              value: Hi!
            - name: image
              value: "alpine:notexist"

  - name: handle-exit-dag
    inputs:
      parameters:
        - name: time-value
    dag:
      tasks:
      - name: sleep-and-exit
        template: handle-exit-template
        arguments:
          parameters:
            - name: time-value
              value: "{{inputs.parameters.time-value}}"

  - name: handle-exit-steps
    inputs:
      parameters:
        - name: time-value
    steps:
      - - name: sleep-and-exit
          template: handle-exit-template
          arguments:
            parameters:
              - name: time-value
                value: "{{inputs.parameters.time-value}}"

  - name: handle-exit-template
    inputs:
      parameters:
        - name: time-value
    container:
      image: alpine:latest
      imagePullPolicy: Never
      command: [sh, -c]
      args: ["sleep {{inputs.parameters.time-value}}; echo Done!"]

  - name: echo-template
    inputs:
      parameters:
      - name: message
      - name: image
        default: "alpine:latest"
    script:
      image: "{{inputs.parameters.image}}"
      imagePullPolicy: Never
      command: [sh, -c]
      args: ["echo {{inputs.parameters.message}}"]

  - name: exit-handler
    steps:
      - - arguments:
            parameters:
              - name: time-value
                value: "1"
          name: exit-handler-step
          template: handle-exit-dag
          # template: handle-exit-template
          # template: handle-exit-steps

Logs from the workflow controller
time="2024-07-29T15:35:30.384Z" level=info msg="Processing workflow" Phase= ResourceVersion=124371 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=warning msg="Non-transient error: configmaps \"artifact-repositories\" not found"
time="2024-07-29T15:35:30.389Z" level=info msg="resolved artifact repository" artifactRepositoryRef=default-artifact-repository
time="2024-07-29T15:35:30.389Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=0 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=info msg="Updated phase  -> Running" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=info msg="DAG node test-exit-handler-workflow initialized Running" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=warning msg="was unable to obtain the node for test-exit-handler-workflow-2006132045, taskName say-hello"
time="2024-07-29T15:35:30.389Z" level=warning msg="was unable to obtain the node for test-exit-handler-workflow-2006132045, taskName say-hello"
time="2024-07-29T15:35:30.389Z" level=info msg="All of node test-exit-handler-workflow.say-hello dependencies [] completed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.389Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.390Z" level=info msg="Pod node test-exit-handler-workflow-2006132045 initialized Pending" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.390Z" level=warning msg="'script.source' is empty, suggest change template into 'container'" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.400Z" level=info msg="Created pod: test-exit-handler-workflow.say-hello (test-exit-handler-workflow-echo-template-2006132045)" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.400Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.400Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:30.400Z" level=info msg="Workflow to be dehydrated" Workflow Size=3915
time="2024-07-29T15:35:30.411Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124376 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:31.479Z" level=info msg="cleaning up pod" action=killContainers key=neat-workflows/test-exit-handler-workflow-handle-exit-template-3165937232/killContainers
time="2024-07-29T15:35:32.400Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124376 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.401Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.401Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.401Z" level=info msg="node changed" namespace=neat-workflows new.message=PodInitializing new.phase=Pending new.progress=0/1 nodeID=test-exit-handler-workflow-2006132045 old.message= old.phase=Pending old.progress=0/1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.402Z" level=warning msg="'script.source' is empty, suggest change template into 'container'" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.402Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.402Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:32.402Z" level=info msg="Workflow to be dehydrated" Workflow Size=4270
time="2024-07-29T15:35:32.409Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124394 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.411Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124394 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.411Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.412Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.412Z" level=info msg="node changed" namespace=neat-workflows new.message="ErrImageNeverPull: Container image \"alpine:notexist\" is not present with pull policy of Never" new.phase=Pending new.progress=0/1 nodeID=test-exit-handler-workflow-2006132045 old.message=PodInitializing old.phase=Pending old.progress=0/1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.412Z" level=warning msg="'script.source' is empty, suggest change template into 'container'" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.412Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.412Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:34.412Z" level=info msg="Workflow to be dehydrated" Workflow Size=4348
time="2024-07-29T15:35:34.419Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124405 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.421Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124405 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.422Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.422Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.422Z" level=info msg="node unchanged" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.423Z" level=warning msg="'script.source' is empty, suggest change template into 'container'" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.423Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.423Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:36.423Z" level=info msg="Workflow to be dehydrated" Workflow Size=4348
time="2024-07-29T15:35:36.429Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124405 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.843Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124411 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="node unchanged" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="Terminating pod as part of workflow shutdown" namespace=neat-workflows podName=test-exit-handler-workflow-echo-template-2006132045 shutdownStrategy=Stop workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="node test-exit-handler-workflow-2006132045 phase Pending -> Failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="node test-exit-handler-workflow-2006132045 message: workflow shutdown with strategy:  Stop" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.844Z" level=info msg="node test-exit-handler-workflow-2006132045 finished: 2024-07-29 15:35:39.844819925 +0000 UTC" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="Outbound nodes of test-exit-handler-workflow set to [test-exit-handler-workflow-2006132045]" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="node test-exit-handler-workflow phase Running -> Failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="node test-exit-handler-workflow finished: 2024-07-29 15:35:39.84532146 +0000 UTC" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="Running OnExit handler: exit-handler" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="Steps node test-exit-handler-workflow-3293460608 initialized Running" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="StepGroup node test-exit-handler-workflow-1323598490 initialized Running" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=info msg="DAG node test-exit-handler-workflow-316667194 initialized Running" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.845Z" level=warning msg="was unable to obtain the node for test-exit-handler-workflow-4122663166, taskName sleep-and-exit"
time="2024-07-29T15:35:39.845Z" level=warning msg="was unable to obtain the node for test-exit-handler-workflow-4122663166, taskName sleep-and-exit"
time="2024-07-29T15:35:39.845Z" level=info msg="All of node test-exit-handler-workflow.onExit[0].exit-handler-step.sleep-and-exit dependencies [] completed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.846Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.846Z" level=info msg="Pod node test-exit-handler-workflow-4122663166 initialized Pending" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.850Z" level=info msg="cleaning up pod" action=terminateContainers key=neat-workflows/test-exit-handler-workflow-echo-template-2006132045/terminateContainers
time="2024-07-29T15:35:39.855Z" level=info msg="Created pod: test-exit-handler-workflow.onExit[0].exit-handler-step.sleep-and-exit (test-exit-handler-workflow-handle-exit-template-4122663166)" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="Outbound nodes of test-exit-handler-workflow-316667194 set to [test-exit-handler-workflow-4122663166]" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-316667194 phase Running -> Failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-316667194 finished: 2024-07-29 15:35:39.85553501 +0000 UTC" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="Step group node test-exit-handler-workflow-1323598490 deemed failed: child 'test-exit-handler-workflow-316667194' failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-1323598490 phase Running -> Failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-1323598490 message: child 'test-exit-handler-workflow-316667194' failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-1323598490 finished: 2024-07-29 15:35:39.855610079 +0000 UTC" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="step group test-exit-handler-workflow-1323598490 was unsuccessful: child 'test-exit-handler-workflow-316667194' failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="Outbound nodes of test-exit-handler-workflow-316667194 is [test-exit-handler-workflow-4122663166]" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="Outbound nodes of test-exit-handler-workflow-3293460608 is [test-exit-handler-workflow-4122663166]" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-3293460608 phase Running -> Failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-3293460608 message: child 'test-exit-handler-workflow-316667194' failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="node test-exit-handler-workflow-3293460608 finished: 2024-07-29 15:35:39.855692882 +0000 UTC" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:39.855Z" level=info msg="cleaning up pod" action=deletePod key=neat-workflows/test-exit-handler-workflow-echo-template-2006132045/deletePod
time="2024-07-29T15:35:39.856Z" level=info msg="Workflow to be dehydrated" Workflow Size=5893
time="2024-07-29T15:35:39.866Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124418 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.860Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124418 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.861Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=2 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.861Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.861Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-4122663166 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.862Z" level=info msg="node changed" namespace=neat-workflows new.message=PodInitializing new.phase=Pending new.progress=0/1 nodeID=test-exit-handler-workflow-4122663166 old.message= old.phase=Pending old.progress=0/1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.862Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.862Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.862Z" level=info msg="Running OnExit handler: exit-handler" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:41.862Z" level=info msg="Workflow to be dehydrated" Workflow Size=5957
time="2024-07-29T15:35:41.870Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124460 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.648Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124460 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.649Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=2 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-4122663166 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg="node changed" namespace=neat-workflows new.message= new.phase=Running new.progress=0/1 nodeID=test-exit-handler-workflow-4122663166 old.message=PodInitializing old.phase=Pending old.progress=0/1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg="Running OnExit handler: exit-handler" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.650Z" level=info msg="Workflow to be dehydrated" Workflow Size=5941
time="2024-07-29T15:35:44.658Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Running resourceVersion=124470 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:44.868Z" level=info msg="cleaning up pod" action=deletePod key=neat-workflows/test-exit-handler-workflow-echo-template-2006132045/deletePod
time="2024-07-29T15:35:46.665Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=124470 namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg="Task-result reconciliation" namespace=neat-workflows numObjs=2 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-2006132045 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg="task-result changed" namespace=neat-workflows nodeID=test-exit-handler-workflow-4122663166 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg="node changed" namespace=neat-workflows new.message= new.phase=Running new.progress=0/1 nodeID=test-exit-handler-workflow-4122663166 old.message= old.phase=Running old.progress=0/1 workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg="TaskSet Reconciliation" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg=reconcileAgentPod namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.666Z" level=info msg="Running OnExit handler: exit-handler" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.667Z" level=info msg="Updated phase Running -> Failed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.667Z" level=info msg="Updated message  -> Stopped with strategy 'Stop'" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.667Z" level=info msg="Marking workflow completed" namespace=neat-workflows workflow=test-exit-handler-workflow
time="2024-07-29T15:35:46.667Z" level=info msg="Workflow to be dehydrated" Workflow Size=6143
time="2024-07-29T15:35:46.671Z" level=info msg="cleaning up pod" action=terminateContainers key=neat-workflows/test-exit-handler-workflow-handle-exit-template-4122663166/terminateContainers
time="2024-07-29T15:35:46.672Z" level=info msg="cleaning up pod" action=deletePod key=neat-workflows/test-exit-handler-workflow-1340600742-agent/deletePod
time="2024-07-29T15:35:46.675Z" level=info msg="Workflow update successful" namespace=neat-workflows phase=Failed resourceVersion=124480 workflow=test-exit-handler-workflow
time="2024-07-29T15:36:16.672Z" level=info msg="cleaning up pod" action=killContainers key=neat-workflows/test-exit-handler-workflow-handle-exit-template-4122663166/killContainers

Logs from in your workflow's wait container
time="2024-07-29T15:35:44.790Z" level=info msg="No output parameters"
time="2024-07-29T15:35:44.790Z" level=info msg="No output artifacts"
time="2024-07-29T15:35:44.791Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: test-exit-handler-workflow/test-exit-handler-workflow-handle-exit-template-4122663166/main.log"
time="2024-07-29T15:35:44.791Z" level=info msg="Creating minio client using static credentials" endpoint="neat-minio:9000"
time="2024-07-29T15:35:44.791Z" level=info msg="Saving file to s3" bucket=argo-artifacts endpoint="neat-minio:9000" key=test-exit-handler-workflow/test-exit-handler-workflow-handle-exit-template-4122663166/main.log path=/tmp/argo/outputs/logs/main.log
time="2024-07-29T15:35:44.797Z" level=info msg="Save artifact" artifactName=main-logs duration=6.595055ms error="<nil>" key=test-exit-handler-workflow/test-exit-handler-workflow-handle-exit-template-4122663166/main.log
time="2024-07-29T15:35:44.797Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2024-07-29T15:35:44.797Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2024-07-29T15:35:44.807Z" level=info msg="Alloc=8107 TotalAlloc=14020 Sys=25189 NumGC=4 Goroutines=10"
time="2024-07-29T15:35:44.812Z" level=info msg="Deadline monitor stopped"

I have reproduced this issue and will try to find the root cause later.

Can you try it with the latest version? I have tried it many times with this version and this problem does not occur. @svenetjok

Hi @shuangkun, can you clarify which exact latest version you are referring to? We are currently using latest published v3.5.11 version of argo-workflows and would like to clarify if this version has the issue corrected (and not the images in latest release candidate)?
Another thing that I've been wondering a bit is the behavior of exit-handler in retries, is it intended behavior that the exit-handler run after a failed workflow is kept in the Workflow instance when retry is attempted for a failed workflow? It seems odd that the steps the exit-handler performed seem to be removed, but the initial previous run exit-handler step is kept and its state seems to be running.
Would like to understand if there is any reason to keep exit-handler instance at all after a retry has been triggered, or if the whole execution of the exit handler per try should be kept available e.g. to check for step specific logs and another instance of exit-handler should be created to the Workflow instance.

@svenetjok are u still getting the issue in v3.5.11  ?

@tooptoop4 @shuangkun in my tests with v3.5.11 the same problem still reproduces with that test workflow. Exit-handler shows as failed, with execution step as "pending" and GC does not happen as workflow Pod does not complete its execution.
I am using the latest version of the main branch. It is possible that this fix has not yet been merged into release v3.5.11, because I did not reproduce the problem using this branch. Can you reproduce this scenario stably?

Yes, it seemed to happen consistently with v3.5.11.


script not starting

Describe the bug
iwr : Richiesta annullata: Impossibile creare un canale sicuro SSL/TLS..
In riga:1 car:1

iwr -useb https://christitus.com/win | iex

  + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], W
 eption
  + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Duplicate of #88

Fixed in PR #94


Add plugin for CIFv3

Create init.py
Create setup.py
Create message_mapping.py
use blocking .get()
fix varname
correct some minor mistakes
build out indicator for supported types
eliminate unused datetime import
fix queue stall-out
Create README.md
add author, acknowledgment
add confuse .get with data types
add adjustments from python black formatting
fix lack of comma in setup

Hi @mdavis332
I'll have a look at this the next couple of days. Currently I'm quite busy but I really appreciate your contribution and will try to soon give you a review.

Hi @mdavis332
Sorry that this review took me so long. I provided explanations for most of the suggested changes. Also, please update the Makefile for installing / building / developing with the new plugin.
I tried to use a dockerized version of CIFv3 but could not get it running with weird authorization errors. Could you give me a helping hand? I would really like to try out the plugin end-to-end.

Give this one a shot: https://github.com/sfinlon/cif-docker
That's what I used to do my testing. It's not in the project's official repo yet, but that user is one of the maintainers on the CIFv3 open source project.
I think I've answered/committed your suggestions inline (thanks so much for your time spent) where I could. I've never done that within GH's framework before, so if something doesn't look right, I apologize.

Thanks for your contribution @mdavis332. I was able to test the plugin with the docker image you referenced :). I'm merging this, though there are some minor things to polish. We'll probably get to add some tests + refinements in the next couple of weeks.

Sounds good, and would like to continue to help where I'm able (I feel there's more here I could learn).
Thanks again!


boards: snps: Add nSIM RISC-V platform support

Add basic support for Synopsys nSIM RISC-V platforms. RMX500 board was added as an instance of such platform.

@evgeniy-paltsev, @abrodkin, @ruuddw, Here is one more attempt to add nsim_riscv platform. Add your feedback please.

Dublicate with https://github.com/zephyrproject-rtos/zephyr/pull/74171


[BUG-12361] complement data by serial execution, after a failed proce…

closed by #12361

Please submit the code to 2.0.8-prepare

Please submit the code to 2.0.8-prepare

Please submit the code to 2.0.8-prepare

Please submit the code to 2.0.8-prepare

done


feat: Create deployment script

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

Please upload report for BASE (main@d497707). Learn more about missing BASE report.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #15   +/-   ##
=======================================
  Coverage        ?   95.00%
=======================================
  Files           ?        1
  Lines           ?       40
  Branches        ?       16
=======================================
  Hits            ?       38
  Misses          ?        1
  Partials        ?        1

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


Govee H6008 Can not control these bulbs in HA

Govee Device SKU
H6008
Govee2MQTT Version
2024.01.24-ea3cd430
Describe the issue
I see that the H6008 Govee bulbs were added to the MQTT integration, but I am not able to control them. I only see Request Platform API State and status.

Startup Diagnostics
config_entry-mqtt-89eaae96c99df235c21f497adb7c97fd.json.txt
Additional Logs
No response
Home Assistant Logs
No response
Anything else?
No response

i've got 4 H6008 bulbs and they are showing up for me, but not sure they support LAN control. It doesn't show up as an option on my Govee app. Also they have a delay that is perhaps even more than with the Govee Cloud integration, so iut may not be worth it for these bulbs. When I power them on via HA via Govee2MQTT device they take about 1.5 seconds and the switch on the dashboard goes back and forth one extra time in the process, no idea what's happening there.

@trovador I am not seeing the Controls sections and I only see two entities for the bulb.

I fixed the issue above by deleting the MQTT integration and reconfiguring it. Now the issue I have is when the bulbs show unavailable (the socket has no power), they show ON in HA, and I cannot turn them OFF (press the off toggle but it toggle back on after a second). Can we update them so that when the bulbs are unavailable, they show off?

Is there the lan api on H6008 ?

Aljmb,
When you say you deleted the MQTT integration... Are you saying the whole thing, or are you saying the individual device that you were trying to add?  I'm having the same issue as you described - but not sure what steps you took to correct it.

I fixed the issue above by deleting the MQTT integration and reconfiguring it. Now the issue I have is when the bulbs show unavailable (the socket has no power), they show ON in HA, and I cannot turn them OFF (press the off toggle but it toggle back on after a second). Can we update them so that when the bulbs are unavailable, they show off?

I have the same problem, can you elaborate on how you resolved the entity issue? Thanks


spring.io docs still stuck on 2.2.0.BUILD-SNAPSHOT

Hello there,
we had some confusion as we were missing a property in the official Spring docs. As it turns out the Spring doc for Spring Cloud Stream Binder Rabbit is still stuck on 2.2.0.BUILD-SNAPSHOT.
I'm not sure if this is the right place to report,but it would be great if somebody could have a look at it.

Where are you getting the link from?
https://spring.io/projects/spring-cloud-stream#learn
then
https://docs.spring.io/spring-cloud-stream/docs/3.0.10.RELEASE/reference/html/
then
https://docs.spring.io/spring-cloud-stream-binder-rabbit/docs/3.0.10.RELEASE/reference/html/spring-cloud-stream-binder-rabbit.html

Ah sorry yeah the link would have been handy I guess.
I came from the google search spring-cloud-stream-binder-rabbit docswhich points me to https://cloud.spring.io/spring-cloud-stream-binder-rabbit/spring-cloud-stream-binder-rabbit.html

That's unfortunate; the docs were moved.
It's always best to start at https://spring.io/projects
@sabbyanandan @olegz Maybe Trevor could set up some redirects?

Yep, I am on it. I will get the redirects added with @trevormarshall's help.

The docs issues have been addressed. Closing the issue.


Issue809

Don't access 'self' pointer from SDWebImageCombinedOperation.cancel when cancelBlock has been called

Race condition fix:
a) self.cancelBlock is nil;
b) SDWebImageCombinedOperation.setCancelBlock called and isCancelled is NO
c) another thread calls cancel before _cancelBlock = [cancelBlock copy];
d) SDWebImageCombinedOperation.cancel called but cancelBlock is still nil => no cancelBlock is called
e)  _cancelBlock = [cancelBlock copy]; set, but never called, operation has already been cancelled

Hmm, I think that cancel needs to be synchronized also with all operation's completion blocks


Conflicts when parsing tables

Hi,
I use badges and tables in my documentation:
|badge_name|value|class_name|

| 🔗 | information (count) | grouping |
| - | ------------------- | :------: |
| [🔗](#foo) | server |

When the site builds, the above results in the following warnings:
WARNING -  [badges] [a.md:1] Parsing error: Unknown attribute: ' grouping '
WARNING -  [badges] [a:2] Parsing error: Unknown attribute: ' :------: '

Is there any way to make parsing more robust, and avoid producing those false negatives?
Note that the same warnings show up when the table has more than 3 columns, which is an easier case to handle in my opinion.
Further: handling badges in tables.
Thanks!

Hi,
thanks for the bug report! I will look into the issue.
I know that tables were tricky, which is why I added a test table to one of the test pages (source/rendered). My guess is, that my table detection logic does not recognize your table header row:
| - | ------------------- | :------: |

Sadly I can not rely on a set maximum length, since you can define badges like this one:
|with properties 1|test|c:text to copy|l:https://example.com|.html-class|class:html-class2|

Personally I always use at least three dashes and have not yet needed to the alignment settings (like :---:). I will try to make the parsing more robust and add an option to disable warnings from the plugin.

The problem was the single dash. I was under the assumption, that three or more dashes were needed for every field in the row between table header and body. The regex has been adjusted, and your problematic table now works for me (see latest tests). Can you please update the plugin to version 0.4.2 and tell me if you have any more broken tables?
By the way: By adding disable_warnings: True to the plugin config in your mkdocs.yml, you can also disable warnings. But I would not recommend it, since it can hide real issues. In your case the warnings were actually useful, since the third line (with the link and server text) was actually parsed as a badge before this fix.


Local/custom refactorings

Great extension, thanks for sharing!
As I understand it, if I want to implement a new refactoring right now I would have to re-package the extension, right? Are there any plans to allow local or custom refactorings?

Hi and thanks!
No, I do not plan this as a framework for custom refactorings. But instead of re-packaging, an option would be to include it in refactorix directly. I'm open for new stuff and contributions are welcome! What feature(s) do you have in mind?

Yeah, integrating into the main package makes sense most of the time. I had a couple of refactorings in mind:

Extract/move to file - move the current selection, or the declaration directly under the cursor, to its own file and import it to the current file
Reverse if - invert boolean expression and swap then/else blocks
Extract method/function - move selected statements into new method/function


Backporting support for oracle database to 3.0.2

Backporting support for oracle database to 3.0.2

@arunmahadevan can you please review this pull request asap?

+1. Changes looks good. Will merge after doing some basic tests.


Support for mediafire.com

Any possibility to add mediafire.com support in rclone? :)

There is already an issue about this here #1465  can you add your support to that please?
Thanks


elm make does not recompile all modules that need to be recompiled

Quick Summary: elm make often does not correctly determine which files need to be recompiled when a module is changed that is used by multiple entrypoints.
SSCCE

Create an elm.json with elm init

create src/M1.elm:

module M1 exposing (A1)

type alias A1 =
    Int

create src/M3.elm:

module M3 exposing (A2)

import M1

type alias A2 =
    M1.A1

create src/Main1.elm:

module Main1 exposing (x)

import M3

x : M3.A2
x =
    0

create src/Main2.elm:

module Main2 exposing (unused)

import M1

unused =
    ()

remove elm-stuff if it already exists with rm -Rf ./elm-stuff
compile Main1 with elm make src/Main1.elm --output /dev/null
make the following changes to the files (change Int to String in M1, and 0 to "" in Main1):

--- a/src/M1.elm
+++ b/src/M1.elm
@@ -5 +5 @@ type alias A1 =
-    Int
+    String
--- a/src/Main1.elm
+++ b/src/Main1.elm
@@ -8 +8 @@ x =
-    0
+    ""

compile Main2 with elm make src/Main2.elm --output /dev/null
try to compile Main1 with elm make src/Main1.elm --output /dev/null

This results in the following incorrect error:
$ elm make src/Main1.elm --output /dev/null
Detected problems in 1 module.
-- TYPE MISMATCH ------------------------------------------------- src/Main1.elm

Something is off with the body of the `x` definition:

8|     ""
       ^^
The body is a string of type:

    String

But the type annotation on `x` says it should be:

    M3.A2

Note that deleting elm-stuff causes both files to then compile successfully.

Elm: 0.19.1-alpha-3, 0.19.1-alpha-2, 0.19.1-alpha-1, 0.19.0
Browser: N/A
Operating System: MacOS 10.13.6

Additional info
If you don't change Main1 when changing M1, then following the rest of the steps will result in Main1 incorrectly compiling successfully (deleting elm-stuff will make it give the correct compilation error).

Thank you for the excellent SSCCE. This made it really easy to understand the problem and test fixes!
The fix is spread across three commits:

https://github.com/elm/compiler/commit/a74201c5944c057a20ce5f3de08903c3cd7dd094
https://github.com/elm/compiler/commit/884ea201f2c2f6f478df3b311904acb8c02d538a
https://github.com/elm/compiler/commit/fa1971bf72b4798111e67a66dd56cbade6bbb19a

The danger here is that there is some logic mistake that leads to compiling modules more than is necessary, so it will be important to have people look at the Success! Compiled 1 module. message to make sure that "modifying a file without changing the public API" always triggers just one recompile. It should never cascade, even across different builds with different entrypoints!
Anyway, thanks again for the great SSCCE!

This appears to be fixed for the SSCCE in alpha-4.  I'll try to confirm it against the original large test case...

Confirmed that the originally observed reproducible issue on our large codebase is fixed with alpha-4 🎉


[WIP] Meloweh's Extra Features

Has a ton of features that would be great to have.
But this won't merged yet, because it introduces some special conventions/classes that already exist (ex. Blacklist.java, there already is a blacklist system using BlockTracker's blacklistBlockUnreachable). This was probably done because either the original system was too confusing or not powerful enough. This means the original systems should be improved/fixed and then replace the "new" systems.

Isnt command chaining in now?

Isnt command chaining in now?

Yeah, this introduces a lot more than just that though. It has a build task that I think works for non massive/inventory overflowing builds. Probably too much to merge in at this rate though...


Consider a Helm-specific Provider(Config) resource

Currently this provider takes a dependency on crossplane/crossplane for its Kubernetes Provider type. I believe that type was originally introduced for use by the Rook provider. We're repositioning these types as ProviderConfig, i.e. "provider configurations". In this case that would be a configuration for the Helm provider.
I suggest we have this provider define its own Helm-specific ProviderConfig, which would in practice be identical to the Kubernetes ProviderConfig.

Related: https://github.com/crossplane/crossplane/issues/1704


Ctrl+j mapping incorrectly

I cannot map Ctrl+j in a normal way. I found this because at some point my mapping for ALE stopped working.
nmap <silent> <C-j> <Plug>(ale_next_wrap)
" or
nmap <silent> <C-j> :ALENextWrap<CR>

However, the following line WILL map to Ctrl+j
nmap <silent> <C-m> <Plug>(ale_next_wrap)

To Reproduce

Install mccvim via homebrew
Install ALE (or change the line to map do a non-ale command)
Add the line above to the vimdc

Expected behavior
Ctrl-j maps to the command
Environment (please complete the following information):

Vim version

VIM - Vi IMproved 8.1 (2018 May 18, compiled Feb 18 2019 23:51:40)
macOS version
Included patches: 1-950
Compiled by<EMAIL_ADDRESS>Huge version with MacVim GUI.  Features included (+) or not (-):
+acl               -farsi             +mouse_sgr         -tag_any_white
+arabic            +file_in_path      -mouse_sysmouse    -tcl
+autocmd           +find_in_path      +mouse_urxvt       +termguicolors
+autochdir         +float             +mouse_xterm       +terminal
-autoservername    +folding           +multi_byte        +terminfo
+balloon_eval      -footer            +multi_lang        +termresponse
+balloon_eval_term +fork()            -mzscheme          +textobjects
+browse            +fullscreen        +netbeans_intg     +textprop
++builtin_terms    -gettext           +num64             +timers
+byte_offset       -hangul_input      +odbeditor         +title
+channel           +iconv             +packages          +toolbar
+cindent           +insert_expand     +path_extra        +transparency
+clientserver      +job               +perl/dyn          +user_commands
+clipboard         +jumplist          +persistent_undo   +vartabs
+cmdline_compl     +keymap            +postscript        +vertsplit
+cmdline_hist      +lambda            +printer           +virtualedit
+cmdline_info      +langmap           +profile           +visual
+comments          +libcall           +python/dyn        +visualextra
+conceal           +linebreak         +python3/dyn       +viminfo
+cryptv            +lispindent        +quickfix          +vreplace
+cscope            +listcmds          +reltime           +wildignore
+cursorbind        +localmap          +rightleft         +wildmenu
+cursorshape       +lua/dyn           +ruby/dyn          +windows
+dialog_con_gui    +menu              +scrollbind        +writebackup
+diff              +mksession         +signs             -X11
+digraphs          +modify_fname      +smartindent       -xfontset
+dnd               +mouse             +startuptime       +xim
-ebcdic            +mouseshape        +statusline        -xpm
+emacs_tags        +mouse_dec         -sun_workshop      -xsmp
+eval              -mouse_gpm         +syntax            -xterm_clipboard
+ex_extra          -mouse_jsbterm     +tag_binary        -xterm_save
+extra_search      +mouse_netterm     +tag_old_static
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
  system gvimrc file: "$VIM/gvimrc"
    user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
    system menu file: "$VIMRUNTIME/menu.vim"
  fall-back for $VIM: "/Applications/MacVim.app/Contents/Resources/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_MACVIM -Wall -Wno-unknown-pragmas -pipe  -DMACOS_X -DMACOS_X_DARWIN  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib -L. -fstack-protector-strong -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o Vim -framework Cocoa -framework Carbon       -lm  -lncurses -liconv -framework AppKit   -fstack-protector  -L/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE

OS: macOS 10.14.3
Terminal: iTerm2 or GUI

@Gidgidonihah Could you reproduce it in the build 156 which is recently out? better, both home-brew and from GitHub

I can't reproduce bindings error with following bindings. Probably you've upgraded plugin or it stops working by other reason.
:nmap <C-j> iHello<ESC>
:nmap <C-j> iHAHAHAHA<ESC>

I couldn't quite reproduce this either. @Gidgidonihah Just to make sure I understand are you using this in GUI or terminal?

I made sure to remove all plugins and test with everything vanilla. I'll pull down the latest build and verify.
I get the same result both with GUI and in terminal.

 Are you sure that your plugin works correctly?

@eirnym Sorry, I was unclear. I noticed this issue because of a plugin binding I had been using, but simplified it and tested with the simple bindings above without any plugins installed and an empty vimconfig.

Ok, after further testing it seems my initial testing was flawed. I thought I had completely isolated vanilla, but that may not have been the case.
I'm going to go ahead and close this issue. If I'm able to recreate with a fully isolated vim, I'll reopen.

You're welcome

Ok, I finally carved out some time to do some more thorough testing. Turns out this is in fact, not an issue, and my tests were tainted. When I thought I had removed all installed plugins, I was wrong.
My vim was still infected with pathogen. This is what was causing the issue. Removing the pathogen plugin (which was installed differently that all the others for obvious reasons) cleared up the issue.
After reinstalling all the original plugins (besides pathogen) using vim's native package loading everything was working as expected.
My apologies for the inaccurate bug report, and thank you for the quick responses.

I recommend to use VimPlug to eliminate such side effects in the future.


Don't use Rake v11 with older rubies

It doesn't work with Ruby 1.8.7 and 1.9.2.
The latest master build has 8 jobs failing because of the new release of Rake. And it’s hard to work on pull requests when you can’t get a green build :-)

See how we've done this on rspec/rspec-core#2200

Thank you @JonRowe. I’ve updated the code.

Seems the root cause is due to rake 11 last_comment rename to last_description, so why can not change master of rspec-core similar to PR 2202?

This gem doesn’t use last_comment, nor last_description.

@bquorning Sorry miss leading, I just found the exactly PR of rspec-core, I means since the rspec-core master will support rake 11, so no need here to constraint to using rake 10 only.

Rake v11 doesn’t work with Ruby 1.8.7 and 1.9.2. This PR allows newer versions of Ruby to use the new Rake, while these two older Rubies are limited to the older, compatible version of Rake.

@bquorning you are right, I miss leading again :smile:

No problem :-)

Ready to review/merge.


add gt etc comparisons

Quick Summary

[x] Feature addition
[ ] Bug fix
[ ] Documentation fix
[ ] Refactoring current code
[ ] Other

Related issues

Extended summary
Only "==" comparison was implemented before, this allows for >/</>=/<=.
Pull Request Checklist

[ ] Code Follows PEP8 guidelines (explain any exceptions)
[ ] Code is appropriately type hinted
[x] Code has associated unit tests where appropriate

Everything looks fine here. I haven't implemented these because I haven't had a use case for them, but since it appears that you do I'm happy to add them.


Reconsider destructive encoding form for AES instructions

The Concern
The Public Review raised the concern that

opcode space was being wasted unnecessarily
encoding did not directly support the preferred and customary use of the instructions.

The Public Review frozen specification has three 5 bits fields: destination, rd; source 1, rs1; and source 2, rs2
Thus any of the 32 general purpose X registers can be independently used as destination and either source.
Recommendation:
The AES instructions encoding specify only 2 X registers.
The destination register rd will also define the rs1 source register. This is termed a destructive encoding.
The remaining source register field is defined as in the frozen spec.
This encoding provides a factor of 32 reduction in opcode use for each of the AES instructions.
It also directly supports the preferred and recommended concise instruction sequence of the RISCV crypto design.

I have reviewed the publicly available discussions on rt format and destructive format in particular.
Arguments against the "rt" encoding appear sound, although I don't fully follow the #75 waste issue. Using rd=0 as a trigger/signal that rs1 is both source and destination presents legitimate issues, not unexpected, as the encoding appeared to be using tricks to reduce encoding size.
However, discussion on the merit of saving/wasting  32bit opcode space is particular sparse.
No substantiated justification is given that an encoding that retained rd as destination and was used as a source was problematic. Andrew specifically said the muxing is not an issue.
Further, Andrew's guidance, to use a standard R format with hardware enforced rd = rs1, was not followed.  No discussion on why it was not acceptable/obeyed/implemented.
I believe these last two failings should be addressed. Certainly justification should be documented as it is absent from the public narrative.
Additionally, I maintain that the issue is not just retaining 32bit opcode space, although that is an appropriate objective.
Rather, the current unnecessary degrees of freedom create a increased validation/analysis burden that is inappropriate for a security oriented extension. Side-channel concerns may previously have been out of scope when these issues were discussed; it is good that they have recently been embraced. So it is understandable/forgivable/defensible/excusable that such scrutiny was not previously afforded this issue. Further, nothing will make an implementation errata proof, but reducing degrees of freedom will be a better defence against them than a multitude of unnecessary options.

This issue is related to Scalar Crypto and was decided as a part of the review and ratification process. There is nothing else to be done and therefore this is being closed.


vdots: Simplify color states across UI.

This expresses the colors for vdots icons in just three variations, all as CSS variables. The colors are all derived from the existing design, and the dots colors in the streams/topics area was used as as reference. The only visual change here, then, is to the global filters area, whose vdots were the outliers prior to this change.
The three variations are:

hint: for touchscreens where a :hover state is not available
visible: for all screens when a parent element is highlighted
hover: for when the vdots themselves are hovered

The hint is a new color variation, which makes the always-visible dots considerably less distracting on touch screens, as the iPad screenshots below show.
Of course, now that those are expressed as variables--and any opacity shifts are part of the color definition, rather than a freestanding opacity value--it will be easier than ever to tune the colors as part of reviewing this PR.
The selectors have been streamlined to use attribute selectors, and the hover-within-a-hover color on vdots is expressed more simply, eliminating the need for selector-specificity busting via !important.
If the use of attribute selectors is not acceptable, it would be easy enough to rewrite them as a new class--but then that would clutter up the templates with yet another class.
This goes a bit beyond the issue as noted in #20600 by also applying the simplified states and colors to the right sidebar. There are no visual changes there, though, as you can see in the screenshots. So the right sidebar fix is purely to code quality and parity with the left sidebar code.
Fixes: #20600

Screenshots and screen captures:

Global Filters, Before
Global Filters, After

Streams/Topics, Before
Streams/Topics, After

User List, Before
User List, After

Always-visible Touchscreen Dots, Before
Always-visible Touchscreen Dots, After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

lgtm aside from the one comment above. Thanks for doing this cleanup work!

I think this is now ready for integration review. I've thanked the contributors and closed the open PRs that were still attached to #20600.

Merged, thanks for fixing this @karlstolley!


keep the cursor after NayvyImports

could you make the cursor keep at its original place after ran NayvyImports ?
// seems would be more convenient if so.

cause ALE fixer works so well in almost all situations

yea, i was thinking others lsp client, but no clue to impl it, vs nayvyimports seems a more easy option, but cursor place is a concern.

let it be..


Minor: Disable spinner in debugging mode

Spinner is a bit annoying when debugging is enabled.
$ aiidalab-launch -vv start
[Verbose logging is enabled. (LEVEL=20)
INFO:aiidalab_launch:Configuration file path: /home/hollas/.config/org.aiidalab.aiidalab_launch/config.toml
INFO:aiidalab_launch:Using profile: test
INFO:aiidalab_launch:Starting container 'aiidalab_test'...
Starting container... |INFO:aiidalab_launch:Started container: aiidalab_test (42e544244d4d254b1db30e6806f2756d2ae3167ca3d74e118a1bc5cb1816726a).
done.
Waiting for AiiDAlab instance to get ready... -INFO:aiidalab_launch:Waiting for services to come up (42e544244d4d254b1db30e6806f2756d2ae3167ca3d74e118a1bc5cb1816726a)..

I very briefly looked at the code but it wasn't immediately clear how to disable it.

I like the idea to either disable or replace the spinner in cases where the log-level threshold has been reduced.
Have you looked at the spinner context manage, that is used to display it? https://github.com/aiidalab/aiidalab-launch/blob/d01762338f32ad7dcdd06ad7dd76090321426409/aiidalab_launch/util.py#L38
Maybe we could wrap this function in a separate progress_indicator() context manager that only displays the spinner in case that the log-level is higher than logging.INFO? The progress indicator would either not display anything or simply print dots (.). What do you think of that idea?


Test oracle 19c TAC got error ORA-25412: transaction replay disabled by call to OCITransStart

To verify the TAC(Transparent Application Continuity), I wrote a process that acquires the transaction, executes insert, waits 5 seconds, and commit repeatedly.
At this time, when I kill the session, ORA-25412: transaction replay disabled by call to OCITransStart occurs.
If TAC is installed, I think it will be replayed automatically, but how can I solve this problem?
I wrote like this:
....
for i := 1; i < 20; i++ {
    tx, err := db.BeginTx(ctx, nil)
    if err != nil {
        ....
    }
    defer func() {
        if err != nil {
            tx.Rollback()
            return
        }
    }()
    insertSql := "insert into test_table (id, text) values (" + strconv.Itoa(i) + ", 'text') "
    _, err = tx.ExecContext(ctx, insertSql)
    if err != nil {
        ...
    }
    // 5s sleep
    time.Sleep(time.Second * 5)

    // commit
    if err = tx.Commit(); err != nil {
        fmt.Println("Commit error:", err)
        return
    }
}
...

And I kill the session at Oracle as
alter system kill session '111, 11111, @1' immediate;

I got error as
Commit error: ORA-25412: transaction replay disabled by call to OCITransStart

for i := 1; i < 20; i++ {
    tx, err := db.BeginTx(ctx, nil)
    if err != nil {
        ....
    }
    defer func() {
        if err != nil {
            tx.Rollback()
            return
        }
    }()

Is this your expected? This defer will not called for each loops.

@mattn
Thank you for your reply.
Sorry but I made a mistake.
I changed as
for i := 1; i < 20; i++ {
    tx, err := db.BeginTx(ctx, nil)
    if err != nil {
        ....
    }

    insertSql := "insert into test_table (id, text) values (" + strconv.Itoa(i) + ", 'text') "
    _, err = tx.ExecContext(ctx, insertSql)
    if err != nil {
        if err = tx.Rollback(); err != nil {
            return
        }
        return
    }

    // 5s sleep
    time.Sleep(time.Second * 5)

    // commit
    if err = tx.Commit(); err != nil {
        fmt.Println("Commit error:", err)
        return
    }
}

But the error remain the same.
Commit error: ORA-25412: transaction replay disabled by call to OCITransStart


Evaluate automated testing for color contrast / deficiencies

Task Description
Ensuring high color contrast (WCAG AA) was previously mentioned as a requirement.
How can we do this in an automated fashion?

Given that we already have @storybook/addon-a11y added to our storybook setup, which among other things test for contrast, could we perhaps use this in some way? Can you run Storybook headless-ly for just the tests?

I think so. There‘s https://www.npmjs.com/package/@storybook/addon-storyshots-puppeteer that allows running aXe against storybook stories
Also interesting: https://docs.percy.io/docs/storybook. I think Marcin experimented with that in #4145

Interestingly aXe support there was added specifically because of Gutenberg, but Gutenberg has since stopped using it:
https://github.com/WordPress/gutenberg/issues/21485
https://github.com/WordPress/gutenberg/pull/21626
Perhaps easier to just use #4778 for this?
@storybook/addon-a11y is based on aXe too anyway
Not sure how to test for things like color blindness though. Maybe we just do that manually for now?

I think it's easier to do this in the karma tests instead of adding yet another test suite that just uses aXe under the hood anyway.
I'll try to cover this in #4020.


Fix/navbar active menu fix

fix: navbar menu is working correctly when selecting menus and clicking on the logo

yo, it looks like uptime is not parsed in a good way...

 yo, it looks like uptime is not parsed in a good way...

Can't repeat it on my side. I didn't change anything there :)


Topic 1 graphics

heera extracts paper ID, Sander to screen

Fig_1.5.pdf

1.1 Nr of main valuation methods
Fig_1.1.pdf


feat(other): add refresh and logout scenarios to e2e login feature

🍰 Pullrequest
Add scenarios to Login feature

[X] Refresh and stay logged in
[X] Successful Logout

Issues

relates #713

This is part of #1011


Add VS Code Debug configs for the SDKs

Currently, Storage SDKs have two configs to debug the tests.
https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/storage/storage-blob/.vscode/launch.json#L22-L57
It'd be nice if the other SDKs can replicate the same.

``sed -i '' -e "s/$1/$2/g" README.md

Sorry bro saya baru belajar


Use std::clamp

Subject of the issue
There are some places where std::min and std::max are used to emulate C++17's std::clamp and at least one place where a custom clamp function is implemented. Replace all of these with std::clamp. See these files:

Island.cpp
Joystick.cpp
Vulkan.cpp
SFOpenGLView+mouse.mm

I actually checked

Island.cpp
Joystick.cpp
SFOpenGLView+mouse.mm

But did not found out std::min and std::max used to replace std::clang , mentioning the code parts below
Island.cpp Includes these

elevation      = std::min(std::max(elevation, 0.0f), 1.0f);

float factor = std::min((elevation - 0.4f) / 0.1f, 1.f);

float factor = std::min((elevation - snowcapHeight) / 0.05f, 1.f);

unsigned int rowEnd   = std::min(rowStart + rowBlockSize, resolutionY);

std::min(std::max(elevation, 0.0f), 1.0f);

In Joystick.cpp
there is no use of std::min , std::max or self defined clang

In SFOpenGLView+mouse.mm

rawPos.x       = std::min(std::max(origin.x, rawPos.x), origin.x + size.width - 1);
rawPos.y       = std::min(std::max(origin.y + 1, rawPos.y), origin.y + size.height);


[BUG] Displaying the content of each tab.

Hello Henry,
I can't find how to display the content of each tab.
Based on the sample all it is displayed in the label text "content" for all tabs. I have the content of each tab on three separate xml pages. I am sure I am missing something. Could you clarify for me? Thanks.
Here is the code.
<Page xmlns="http://schemas.nativescript.org/tns.xsd"
  xmlns:mdc="nativescript-bottom-navigation"
  loaded="pageLoaded"
  class="page">
<GridLayout rows="*, auto">
    <StackLayout row="0">

    </StackLayout>
    <mdc:BottomNavigationBar
      activeColor="green"
      inactiveColor="red"
      backgroundColor="black"
      tabSelected="tabSelected"
      row="1">
      <mdc:BottomNavigationTab title="Home" icon="res://home" />
      <mdc:BottomNavigationTab title="Search" icon="res://search" />
      <mdc:BottomNavigationTab title="Profile" icon="res://user" />
    </mdc:BottomNavigationBar>
</GridLayout>

Hi @alexisconsuegra
you can use a nested frame to accomplish this here in the lin kyu can find more information
https://docs.nativescript.org/core-concepts/nested-navigation

Thanks @henrychavez

@alexisconsuegra did you figure this out? I've read and reread the documentation and googled to death but I simply don't understand how to display content in the selected tab.
The "official" NativeScript element has a XML tag TabContentItem but no such luck here.
And although I greatly appreciate the link from @henrychavez that page explains a bunch of abstract concepts that doesn't help me.

@eugenevdm sorry I need to update the demo but this code will help u
<GridLayout rows="*, auto">
  <GridLayout>
    <BottomNavigation #bottomNavigation>
      <TabContentItem>
        <HomeScreen></HomeScreen>
      </TabContentItem>

      <TabContentItem>
        <StackLayout>

        </StackLayout>
      </TabContentItem>

      <TabContentItem>
        <StackLayout>

        </StackLayout>
      </TabContentItem>

      <TabContentItem>
        <StackLayout>

        </StackLayout>
      </TabContentItem>
    </BottomNavigation>
  </GridLayout>

  <BottomNavigationBar
    row="1"
    [tabs]="navigationBarTabs"
    (tabSelected)="onTabSelected($event)"
  ></BottomNavigationBar>
</GridLayout>

Basically  with the new BottomNavigation component u can use a custom bottom navigation bar, so that's what I'm doing in the code I let you.
Now if you want nested navigation on each tab that btw I don't recommend u will need to follow the article about nested frames, but the code that I shared with you is an example of how you can use a custom bottom bar with the new component from nativescript to display different content for each tab, that is better approach that the one I recommended long time ago

Hi @henrychavez thanks I eventually realised why I am so confused. I'm using Vue and the Vue sample lacked any of the Tab Content Item stuff. In it's place were commented Angular code. I managed to get a basic Vue sample working by:
<StackLayout class="page" row="0">
        <GridLayout class="p-20" **v-if="currentTab === 0"**> -->

        </GridLayout> -->
        <GridLayout class="p-20" **v-if="currentTab === 2"**>

        </GridLayout>
      </StackLayout>

data() {
        return {
            ...
            **currentTab: 0**
        };
    },

onBottomNavigationTabSelected(args: TabSelectedEventData): void {
      ...
      ...
      **this.currentTab = args.newIndex**
    },

I also created a pull request to include this in the Vue.js example.

GReat that should do the work but, I recommend you to use the new bottom navigation component and this bottom navigation bar so you can remove those v-if, basically the example code I left you is for angular but follow the same format for vue


Fix persistence of renamed categories on defocus

Hello,
This minor fix should address #250.
I also added a test case which should cover the steps to reproduce the problem in the first place.
Happy to adjust things as needed.

Great first PR!

@all-contributors please add @miqh for code, bugs


Add new version 2018-04-02 for Microsoft.StorageSync Resource Provider

Copy Preview folder to new api version
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-go

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-libraries-for-java

Automation for azure-sdk-for-node

Hi @marstr - for some context, this PR has had some prior reviews:

https://github.com/Azure/azure-rest-api-specs-pr/pull/109 for ARM sign off
https://github.com/Azure/azure-rest-api-specs/pull/3211 for preview spec review

Seeing as this is just a copy of an existing API Version, with a small operation added I do not believe ARM  review is warranted. Let me know when you're ready for me to merge, @ankushbindlish2.

Please merge

Automation for azure-sdk-for-java


Broken app label: obs

What's wrong with the app label?
The app label's downloadURL is coming up blank
I checked version 10.6 with our version and I noticed that the downloadURL was changed for obs. A fix is mentioned here https://github.com/Installomator/Installomator/pull/1344 but is not giving any results when I use it. The fix mentioned here: https://github.com/Installomator/Installomator/pull/1581 (which is from a later date) does return the good results.
Installomator version
What version are you running? (Ex: Installomator v. 10.7beta, date 2024-08-31)
10.6
Additional context
Could it be that the 2 pull requests mentioned above were mixed up?
Installomator log
At the bottom of this report, provide a log, either by running Installomator in Terminal and saving the output, or by downloading the result log from your MDM. Debug logging level is not needed for easily identified issues, like a downloadURL is blank or an appNewVersion is incorrect. PLEASE format the log using a code block!
When running:
name="OBS"
type="dmg"
if [[ $(arch) == "arm64" ]]; then
	SUFeedURL="https://obsproject.com/osx_update/updates_arm64_v2.xml"
elif [[ $(arch) == "i386" ]]; then
	SUFeedURL="https://obsproject.com/osx_update/updates_x86_64_v2.xml"
fi
appNewVersion=$(curl -fs "$SUFeedURL" | xpath '(//rss/channel/item[sparkle:channel="stable"]/sparkle:shortVersionString/text())[1]' 2>/dev/null)
downloadURL=$(curl -fs "$SUFeedURL" | xpath 'string(//rss/channel/item[sparkle:channel="stable"]/enclosure/@url[1])' 2>/dev/null)
archiveName=$(basename "$downloadURL")
versionKey="CFBundleShortVersionString"
blockingProcesses=( "OBS Studio" )
expectedTeamID="2MMRE5MTB8"

$appNewVersion returns blank
When running:
name="OBS"
type="dmg"
if [[ $(arch) == "arm64" ]]; then
	archiveName="obs-studio-[0-9.]*-macos-Apple.dmg"
elif [[ $(arch) == "i386" ]]; then
	archiveName="obs-studio-[0-9.]*-macos-Intel.dmg"
fi
downloadURL=$(downloadURLFromGit obsproject obs-studio )
appNewVersion=$(versionFromGit obsproject obs-studio )
expectedTeamID="2MMRE5MTB8"

$appNewVersion returns: 30.2.3 (which is the latest version)

You can't copy and paste a variable into Terminal to see it's value if the variable is using xpath. It's a valid command but Installomator is actually running xpath -e .... Copy and pasting the variable as-is will cause it to appear blank.
When the label is run, Installomator determines this URL as the downloadURL: https://cdn-fastly.obsproject.com/downloads/obs-studio-30.2.3-macos-apple.dmg
And appNewVersion: 30.2.3
If Installomator is failing, you'll need to review the log of the Installomator run itself.

Hi @acodega, running the label with xpath -e is indeed giving back the right result, mea culpa. I did not know that this was different when running the script in its entirety. I always copy and paste the complete label in CodeRunner (plus a shebang) and the functions used in the label, and then do an echo $appNewVersion and a echo $downloadURL to see the results. I will probably need to be testing it with the complete script in the feature. Thanks for the feedback!

@timnottom There's a function in the full script that determines the xpath behavior based on the OS version. When something in the script uses xpath the function is called. Then the binary with the appropriate argument is called by the function.
Handling of differences in xpath between Catalina and Big Sur
xpath() {
# the xpath tool changes in Big Sur and now requires the -e option
if [[ $(sw_vers -buildVersion) > "20A" ]]; then
/usr/bin/xpath -e $@
# alternative: switch to xmllint (which is not perl)
#xmllint --xpath $@ -
else
/usr/bin/xpath $@
fi
}

Thanks @gilburns, I must have missed that one!


UI: Needs to hide the benchmark version rke-cis-1.6 and onwards for CIS v1

This is the UI ticket for the backend issue: https://github.com/rancher/rancher/issues/31242
steps to reproduce (least amount of steps as possible):
Create a new custom cluster, enabling Scheduled CIS scan with default profile RKE-CIS-1.6 ( RKE-CIS-1.6 Permissive and Hardened profiles affected)
Result:
Custom cluster creation fails with errors:
From UI error: Validation failed in API: cisScanHandler: error fetching benchmark version info rke-cis-1.6: cisbenchmarkversions.management.cattle.io "rke-cis-1.6" not found
From API: Bad response statusCode [422]. Status [422 Unprocessable Entity]. Body: [baseType=error, code=InvalidBodyContent, message=cisScanHandler: error fetching benchmark version info rke-cis-1.6: cisbenchmarkversions.management.cattle.io "rke-cis-1.6" not found] from [https://<RANCHER_URL>/v3/clusters]
Other details that may be helpful:
The default CIS scan profile rke-cis-1.6 doesn’t exist at api https://<RANCHER_URL>/v3/cisbenchmarkversions nor https://<RANCHER_URL>/v1/management.cattle.io.cisbenchmarkversions
Setting CIS scan profile to rke-cis-1.5 (permissive or hardened) makes the cluster be deployed successfully.
I do not see it added into KDM cis_config either. So Backend  for CIS v1 does not support rke-cis-1.6
From where does UI list this version? Can we hide the CIs-1.6 benchmark versions for CIS v1?

On 2.5-head - commit id: 3e96d7fb1

Deploy a custom cluster
From Ember UI, run CIS scans --> User is presented with following options:

Select RKE cis 1.6 permissive and click on run scan
Error seen: RunSecurityScan Error Validation failed in API: invalid override benchmark version specified is not a valid option

@prachidamle the options weren't based off of /v3/cisbenchmarkversions it was based off of /v3/cisConfig which still contains 1.6. I don't recall why that choice was made but it was made in conjunction with the backend. Can you remove the version from there on the backend?

I see @codyrancher I will fix that - it got added recently to KDM by mistake it seems.

This is now seen fixed in latest v2.5-head, marking to-test.

On Rancher v2.5-head a85f4d1.

Deploy a custom cluster.
From Ember UI, run CIS scans --> User is presented with following options which now has only CIS-1.5:

Select RKE cis 1.5 permissive and click on run scan. The scan pass.


release. wled

Review Comments:

Note: Do I see it correctly that you create an object if not existing just to extend it the line below? https://github.com/iobroker-community-adapters/ioBroker.wled/blob/master/main.js#L218 ... When I know correctly extend will also create the objects with all provided data when not existant ... in your case this might work well
Need-Fix: Tiumeout is not cleared in on-unload https://github.com/iobroker-community-adapters/ioBroker.wled/blob/master/main.js#L447 (evenr tested compactmode) ;-) ... also this one https://github.com/iobroker-community-adapters/ioBroker.wled/blob/master/main.js#L517
Note: info connection should be declared in io-package ... then you do not need to craete it ... but if you do, also create the info channel please ;-)

Review Comments:

Note: Do I see it correctly that you create an object if not existing just to extend it the line below? https://github.com/iobroker-community-adapters/ioBroker.wled/blob/master/main.js#L218 ... When I know correctly extend will also create the objects with all provided data when not existant ... in your case this might work well

eh.... yea that's just stupid :/
https://github.com/iobroker-community-adapters/ioBroker.wled/commit/9fbb2e89f441e2b8a6fd349449f6d318a57abe8d#diff-7a9076d6d94e62c13d641aa71f19ae8eL217-L226

Need-Fix: Tiumeout is not cleared in on-unload https://github.com/iobroker-community-adapters/ioBroker.wled/blob/master/main.js#L447 (evenr tested compactmode) ;-) ... also this one https://github.com/iobroker-community-adapters/ioBroker.wled/blob/master/main.js#L517

fixed timer cleared at unload : https://github.com/iobroker-community-adapters/ioBroker.wled/commit/9fbb2e89f441e2b8a6fd349449f6d318a57abe8d#diff-7a9076d6d94e62c13d641aa71f19ae8eR63-R67

Note: info connection should be declared in io-package ... then you do not need to craete it ... but if you do, also create the info channel please ;-)

fixed https://github.com/iobroker-community-adapters/ioBroker.wled/commit/9fbb2e89f441e2b8a6fd349449f6d318a57abe8d#diff-7a9076d6d94e62c13d641aa71f19ae8eR43-R53
But remark : we should adjust the template too as this one is not created in a channel here :)

But remark : we should adjust the template too as this one is not created in a channel here :)

The creator should create it with the relevant io-package objects including channel

For timeouts: What about scan_timer ?!

For timeouts: What about scan_timer ?!


Type hints

While trying to understand the smartnoise-sql code, I found that having Python type hints in place would have been useful. Given it's hacktoberfest, if I find the time, I might try adding some myself. It would be a good way to learn my way around the code too. @joshua-oss, would this be a welcome PR?

Definitely would be appreciated; thanks!


dApp: create UI for UbiquityPool

Depends on https://github.com/ubiquity/ubiquity-dollar/pull/832
There is the new UbiquityPool contract (facet) where users can mint and redeem Dollar tokens for collateral tokens.
Minting example:

User calls mintDollar() and sends 100 LUSD as collateral
User gets 100 Dollar tokens

Redeeming example:

User calls redeemDollar() and sends 100 Dollar tokens
User waits for 2 blocks to be mined
User calls collectRedemption() and gets 100 LUSD collateral back

We should create a new UI page for the UbiquityPool contract and make sure that it works with the local anvil deploy script.
Since the UbiquityPool contract is forked from the FraxPoolV3 contract we can take the Frax UI as an example:

mint page: https://old.app.frax.finance/mint
redeem page: https://old.app.frax.finance/redeem

Notice: the getDollarPriceUsd() method may revert (because TWAP is not part of the deployment script, will be fixed in https://github.com/ubiquity/ubiquity-dollar/issues/827) so you will have to mock it
P.S. All protocol contracts used in the UI can be found here
Mint:

Redeem:

Hi, I would like to contribute towards this issue

@rndquu I have a question, Should I create UI separately with this project or create new project for this faucet?

thanks, one more question. Your project running environment is Ubuntu not windows?

thanks, one more question. Your project running environment is Ubuntu not windows?

Yes, the project definitely works on macos/linux, not sure about windows though

I see thanks

thanks, one more question. Your project running environment is Ubuntu not windows?

the project basically is a node package + solidity smart contracts, so it's multi-platform,  and you should have no issues running on Windows, or any other OS, as the project is not OS dependent, just check your nodejs enviroment

@yeshealer Hey, how is it going?

not working anymore? @yeshealer

@rndquu you think theres a forkable version of this UI?

@rndquu you think theres a forkable version of this UI?

Perhaps, I haven't checked yet

Hei @rndquu I will take this on my side, is ok ?

Hei @rndquu I will take this on my side, is ok ?

Sorry, I'm already working on it https://github.com/ubiquity/ubiquity-dollar/pull/860

Hei @rndquu, if you need help on this, please let me know.

/stop

I think we simply need to take https://nextjs.org/ and rebuild the frontend for https://github.com/ubiquity/ubiquity-dollar/tree/development/packages/dapp in a separate repository

That's fine. The repo needs to be initialized and then a task can be created

Closing this in favor of https://github.com/ubiquity/uusd.ubq.fi/issues/1


Support and test all v1 Julia versions

This PR fixes the support for Julia 1.0, 1.1 and 1.2. The Zygote over ForwardDiff Hessian tests are failing for Zygote mutation-related reasons that seem to be fixed in Julia 1.3 and above. Since this is a Zygote issue for Julia < 1.3, I just avoid testing this case instead of fixing it. This issue fixes #18.

Codecov Report

Merging #24 (6b54ca2) into master (92bb905) will increase coverage by 1.38%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #24      +/-   ##
==========================================
+ Coverage   79.34%   80.73%   +1.38%
==========================================
  Files           2        2
  Lines         368      301      -67
==========================================
- Hits          292      243      -49
+ Misses         76       58      -18

Impacted Files
Coverage Δ

src/AbstractDifferentiation.jl
79.78% <100.00%> (+1.33%)
:arrow_up:

src/forwarddiff.jl
94.73% <0.00%> (-0.27%)
:arrow_down:

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 92bb905...6b54ca2. Read the comment docs.

In general, I think we only need to test the LTS and latest minor release. So just '1.0' and '1'. People on minor releases must update each release. If they don't like that, use the LTS instead.


Go back to the meloaudio software

Please, I need to know if there´s a way to factory reset and go back to the software that was originally in the midi commander, i´ll be very grateful

I have all meloaudio firmware backup. But I could not ensure if these firmwares will satisfy your need

I have all meloaudio firmware backup. But I could not ensure if these firmwares will satisfy your need
Could you please share those files and explain how to do it?


Various fixes

Fixes https://github.com/boostorg/compute/issues/683 - variable type is kept when using it in boost::compute::lambda. I decided that for now it's better not to change operator<< operators for detail::meta_kernel as was proposed in https://github.com/boostorg/compute/pull/684. Instead, I specialised void operator()(proto::tag::terminal, const T &x) in lambda::context.
Remove race conditions from test in test_async_wait_guard.cpp and from test destructor_callback in test_buffer.hpp

Coverage decreased (-0.04%) to 83.314% when pulling d0f3e50a32ab404c58e6f81f1f2ac78b28d647db on haahh:pr_fix into cc30762666aa9b20f62751cdf119f2cf1a103532 on boostorg:develop.

Awesome! Thanks for fixing these!


feat(button): added back to home button

PR Fixes:
Added a back to home button where user can redirect to home page.
Resolves #591

Checklist before requesting a review

[x] I have performed a self-review of my code
[x] I assure there is no similar/duplicate pull request regarding same issue

Though I think design can be improved but thank u sir

Thank you too sir 🤝. Beginner hun working on it sir 💪


ignore RUSTSEC-2020-0159 advisory

Ignore RUSTSEC-2020-0159 advisory till fixed #2541
Ignore RUSTSEC-2022-0008 advisory till fixed #2540
Cargo deny now checks for all features in CI

Which crates use these? I recall this vuln does result in a segfault (and possible use-after-free) in impacted code, so I'm worried about just ignoring it.

Which crates use these? I recall the chrono vuln does result in a segfault (and possible use-after-free) in impacted code, so I'm worried about just ignoring it.

ockam_transport_ble imports the chrono crates. We missed it recently as cargo deny was only checking default features. This has been updated.

I don't think we have much choice here. :-/
The chrono issue has been open for two years now and is only going to be fixed when (if?) localtime_r is fixed.
For the windows crate I've already submitted an upstream PR but they move slowly.
I've opened two issues locally to track these:

https://github.com/ockam-network/ockam/issues/2541
https://github.com/ockam-network/ockam/issues/2540

Can we move away from using chrono? There's tons of stuff in it completely broken under multithreaded use (https://github.com/chronotope/chrono/blob/3467172c31188006147585f6ed3727629d642fed/src/sys/unix.rs#L56-L78 for example).
I don't know of a great replacement, the new versions of the time crate seem to be improved, but not as fully featured.

Can we move away from using chrono?

Hrmmm… so it's an indirect dependency via:
chrono -> rtcc -> stm32f4xx-hal -> ockam_transport_ble
Which, funnily enough, means it's not affected by the advisory in this instance as it's running in a non-posix bare-metal environment.
So I think we're safe here.

Hm, yeah, it'd be nice to move on from it to avoid any risk of adding code that is vulnerable... But I suppose for now it's fine. It's worth keeping an eye on that we don't add new dependencies on chrono (or new direct usages) which are unsafe.


An ability to gracefully stop run_forever()

I am using this library in my project https://github.com/mao73a/rocket.icon and I would like to have possibility to stop run_forever()  gracefully. I have the app with tray icon and I need to spawn rocketchat-async in a separate thread.  I would like to be able to stop this thread somehow, but currently when I cancel the thread, I receive an error that "Task was destroyed but it is pending!."
I am new to python programming, but could run_forever have run_for_x_seconds version with a  timeout parameter? It would stop processing after a specified amount of time, making it possible to check in my thread main loop, if a stop event was set from outside, and to end the thread gracefully.

@mao73a I think you should be able to use Python's task cancelling. E.g. like this:
while True:
    task = asyncio.create_task(rc.run_forever())
    await asyncio.sleep(1)
    if external_event_arrived_in_the_meantime:
        task.cancel()
        break()

Or call task.cancel() directly in response to a callback tied to the event.
Let me know in case this doesn't solve your use case.

Hi,
thank you for your answer. I have tried your solution but it uses /await
/keywor which enforces me to put it inside /async /function and it seems
I can't do that, because I am using pystray library (windows tray). This
is old library using Threads instead asyncio approach.
Fortunatelly I have found workaroung with the help chat gpt, which
enables me to start asyncio process from inside old good Thread by doing
this:
asyncdefmonitor_subscriptions_websocket(address, username, password):
whilesome_stop_event:
try:
rc=monitor_subscriptions_websocket()
awaitrc.start(address, username, password)
#subscribe...
awaitrc.run_forever()
            ...
defmonitor_asyncio_subscriptions_websocket():
asyncio_loop=asyncio.new_event_loop()
asyncio.set_event_loop(asyncio_loop)
try:
asyncio_loop.run_until_complete(monitor_subscriptions_websocket())
threading.Thread(target=monitor_asyncio_subscriptions_websocket).start()
In the meantime...
In order to be able to stop /rc.run_forever() /function, I did some
modifications inside your library file: /dispatcher.py:
_process_incoming/ function and I modified infinite loop to be an event
listening loop. This is working fine so far. I am still developing my
little project and I am testing it. After I finish, I plan to create a
pull request to  rocketchat-async with my changes, in hope you will
aprove it.
I  hope I was clear enough and that my explanations make a sense for
you. I am not an expert python developer. I am Oracle DB developer for
living and I am doing this python project for my own educational
purposes mainly, plus I hate generic RocketChat tray icon as being too
distracting in my everyday work.
Best regards,
Marek
W dniu 12.07.2024 o 19:11, Hynek Urban pisze:

@mao73a https://github.com/mao73a I think you should be able to use
Python's task cancelling. E.g. like this:
|while True: task = asyncio.create_task(rc.run_forever()) await
asyncio.sleep(1) if external_event_arrived_in_the_meantime:
task.cancel() break() |
Or call |task.cancel()| directly in response to a callback tied to the
event.
Let me know in case this doesn't solve your use case.
—
Reply to this email directly, view it on GitHub
https://github.com/hynek-urban/rocketchat-async/issues/13#issuecomment-2225990795,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHG4GIDF7J5QLJSB6YAAOODZMAE4JAVCNFSM6AAAAABKPPGZXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRVHE4TANZZGU.
You are receiving this because you were mentioned.Message ID:
@.***>

Cześć :)
The formatting in your message seems to be a bit broken. In any case, if you're in a synchronous context, you can also adapt the example above simply like this:
task = asyncio.create_task(rc.run_forever())
while True:
    time.sleep(1)
    if external_event_arrived_in_the_meantime:
        task.cancel()
        break()

Hi Hynek,
thank you so much for this solution. It has solved my problem. My
previous changes to rocketchat-sync library are unnecesary now.
Works like charm!
Regards,
Marek
W dniu 12.07.2024 o 21:43, Hynek Urban pisze:

Cześć :)
The formatting in your message seems to be a bit broken. In any case,
if you're in a synchronous context, you can also adapt the example
above simply like this:
task  =  asyncio.create_task(rc.run_forever())
while  True:
time.sleep(1)
if  external_event_arrived_in_the_meantime:
task.cancel()
break()
—
Reply to this email directly, view it on GitHub
https://github.com/hynek-urban/rocketchat-async/issues/13#issuecomment-2226248428,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHG4GICTI4T2PZ22HUHHRBTZMAWXLAVCNFSM6AAAAABKPPGZXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWGI2DQNBSHA.
You are receiving this because you were mentioned.Message ID:
@.***>


Unchecked mode example documentation typo

In the documentation for the experimental unchecked mode feature, the given example has a typo.
The example is
https://<IP_ADDRESS>/mgmt/shared/appsvcs/declare?unchecked="true"
which failed when used with BIG-IP <IP_ADDRESS> and AS3 <IP_ADDRESS>
https://<IP_ADDRESS>/mgmt/shared/appsvcs/declare?unchecked=true
worked as expected

Thank you for pointing this out. I have added this to our internal product backlog as AUTOTOOL-2348 and getting it resolved now. The documentation update should go live as part of the next release.

This issue was resolved in the 3.27.0 release.


Socket Leak Issue

We have been seeing an issue where we are running into this:
17-Jan-2017: 08:33:50: [NioReceiver] ERROR org.apache.catalina.tribes.transport.nio.NioReceiver - Unable to process request in NioReceiverjava.io.IOException: Too many open filesat sun.nio.ch.ServerSocketChannelImpl.$$YJP$$accept0(Native Method)at sun.nio.ch.ServerSocketChannelImpl.accept0(ServerSocketChannelImpl.java)at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:241)at org.apache.catalina.tribes.transport.nio.NioReceiver.listen(NioReceiver.java:289)at org.apache.catalina.tribes.transport.nio.NioReceiver.run(NioReceiver.java:420)at java.lang.Thread.run(Thread.java:745)
Its basically identical to: https://github.com/jech/polipo/issues/34
We are eventually getting overwhelmed and Tomcat is hitting the LSOF Cap with these:
java      27343    tomcat 4095u     sock                0,6       0t0   38001420 can't identify protocol

I don't see anything in that stack trace related to LittleProxy, is there something that leads you to believe LP/Netty is not closing sockets properly?

I'll close this issue since there hasn't been any update, but feel free to reopen with more information.


New tab Issue Fixed

PR Description 📜
To fix the issue of opening a game in new tab I have added an attribute target = "_blank" in the anchor tag.
Fixes #2244

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE

Thank you @gobbledy-gook ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit This is my issue and @gobbledy-gook  is interfering in this i am also raisng the pr and also @gobbledy-gook is not assigned to this issue so please dont merge the pr of @gobbledy-gook it can cause merge conflict

Thank you  @gobbledy-gook , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀