Broken cert expiration check for http_check with tls_verify disabled

===============
Agent (v6.33.0)
===============

  Status date: 2022-03-01 19:02:19.055 UTC<PHONE_NUMBER>055)
  Agent start: 2022-03-01 18:17:47.42 UTC<PHONE_NUMBER>420)
  Pid: 411
  Go Version: go1.16.7
  Python Version: 2.7.18
  Build arch: amd64
  Agent flavor: agent
  Check Runners: 5
  Log File: /mnt/log/agent.log
  Log Level: INFO

  Paths
  =====
    Config File: /etc/datadog-agent/datadog.yaml
    conf.d: /etc/datadog-agent/conf.d
    checks.d: /etc/datadog-agent/checks.d

  Clocks
  ======
    NTP offset: -116µs
    System time: 2022-03-01 19:02:19.055 UTC<PHONE_NUMBER>055)

  Host Info
  =========
    bootTime: 2021-05-24 13:16:00 UTC<PHONE_NUMBER>000)
    kernelArch: x86_64
    kernelVersion: 4.14.231-173.361.amzn2.x86_64
    os: linux
    platform: ubuntu
    platformFamily: debian
    platformVersion: 21.10
    procs: 167
    uptime: 6749h1m55s

  Hostnames
  =========
    cluster-name: k8s-test
    ec2-hostname: ip-10-3-38-250.us-west-2.compute.internal
    host_aliases: [ip-10-3-38-250.us-west-2.compute.internal-k8s-test]
    hostname: i-04c046d812156653x
    instance-id: i-04c046d812156653x
    socket-fqdn: ip-10-3-38-250.us-west-2.compute.internal.
    socket-hostname: ip-10-3-38-250.us-west-2.compute.internal
    host tags:
      cloud:AWS
      <redacted>
    hostname provider: aws
    unused hostname providers:
      azure: azure_hostname_style is set to 'os'
      configuration/environment: hostname is empty
      gce: unable to retrieve hostname from GCE: GCE metadata API error: status code 404 trying to GET http://<IP_ADDRESS>/computeMetadata/v1/instance/hostname

  Metadata
  ========
    agent_version: 6.33.0
    cloud_provider: AWS
    config_apm_dd_url:
    config_dd_url:
    config_logs_dd_url:
    config_logs_socks5_proxy_address:
    config_no_proxy: []
    config_process_dd_url:
    config_proxy_http:
    config_proxy_https:
    config_site:
    feature_apm_enabled: true
    feature_cspm_enabled: false
    feature_cws_enabled: false
    feature_logs_enabled: false
    feature_networks_enabled: false
    feature_process_enabled: true
    flavor: agent
    hostname_source: aws
    install_method_installer_version: docker
    install_method_tool: docker
    install_method_tool_version: docker

=========
Collector
=========

  Running Checks
  ==============

    container
    ---------
      Instance ID: container [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/container.d/conf.yaml.default
      Total Runs: 178
      Metric Samples: Last Run: 231, Total: 41,118
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 6ms
      Last Execution Date : 2022-03-01 19:02:11 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:11 UTC<PHONE_NUMBER>000)

    cpu
    ---
      Instance ID: cpu [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/cpu.d/conf.yaml.default
      Total Runs: 178
      Metric Samples: Last Run: 9, Total: 1,595
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:18 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:18 UTC<PHONE_NUMBER>000)

    disk (4.5.1)
    ------------
      Instance ID: disk:b2cf39b497091ec9 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/disk.d/disk.yaml
      Total Runs: 178
      Metric Samples: Last Run: 84, Total: 14,952
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 67ms
      Last Execution Date : 2022-03-01 19:02:10 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:10 UTC<PHONE_NUMBER>000)

    dns_check (2.1.0)
    -----------------
      Instance ID: dns_check:google-check-via-kube-dns:478dd776df194c16 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/dns_check.d/conf.yaml
      Total Runs: 178
      Metric Samples: Last Run: 1, Total: 178
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 178
      Average Execution Time : 1ms
      Last Execution Date : 2022-03-01 19:02:17 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:17 UTC<PHONE_NUMBER>000)

      Instance ID: dns_check:google-check-via-public-cloudflare-dns:7018628659fe2e44 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/dns_check.d/conf.yaml
      Total Runs: 178
      Metric Samples: Last Run: 1, Total: 178
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 178
      Average Execution Time : 9ms
      Last Execution Date : 2022-03-01 19:02:16 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:16 UTC<PHONE_NUMBER>000)

      Instance ID: dns_check:google-check-via-public-google-dns:f6b991be82834544 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/dns_check.d/conf.yaml
      Total Runs: 177
      Metric Samples: Last Run: 1, Total: 177
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 177
      Average Execution Time : 8ms
      Last Execution Date : 2022-03-01 19:02:08 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:08 UTC<PHONE_NUMBER>000)

      Instance ID: dns_check:k8s-default-via-kube-dns:51ca8513f09e2997 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/dns_check.d/conf.yaml
      Total Runs: 177
      Metric Samples: Last Run: 1, Total: 177
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 177
      Average Execution Time : 3ms
      Last Execution Date : 2022-03-01 19:02:09 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:09 UTC<PHONE_NUMBER>000)

    file_handle
    -----------
      Instance ID: file_handle [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/file_handle.d/conf.yaml.default
      Total Runs: 178
      Metric Samples: Last Run: 5, Total: 890
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:10 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:10 UTC<PHONE_NUMBER>000)

    filebeat (unversioned)
    ----------------------
      Instance ID: filebeat:594c29c48fdd43de [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/filebeat.d/conf.yaml
      Total Runs: 178
      Metric Samples: Last Run: 4, Total: 708
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 178
      Average Execution Time : 6ms
      Last Execution Date : 2022-03-01 19:02:15 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:15 UTC<PHONE_NUMBER>000)

    http_check (6.1.2-rc.1)
    -----------------------
      Instance ID: http_check:Kafka Api liveness:db74e3a9e13b30f0 [ERROR]
      Configuration Source: file:/etc/datadog-agent/conf.d/http_check.d/httpi.yaml
      Total Runs: 177
      Metric Samples: Last Run: 3, Total: 531
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 27ms
      Last Execution Date : 2022-03-01 19:02:07 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : Never
      Error: u'notAfter'
      Traceback (most recent call last):
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/base/checks/base.py", line 1017, in run
          self.check(instance)
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/http_check/http_check.py", line 240, in check
          status, days_left, seconds_left, msg = self.check_cert_expiration(instance, timeout, instance_ca_certs)
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/http_check/http_check.py", line 326, in check_cert_expiration
          exp_date = datetime.strptime(cert['notAfter'], "%b %d %H:%M:%S %Y %Z")
      KeyError: u'notAfter'
      Instance ID: http_check:kubeapi_server_health_check:a9578cd2db2bee0c [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/http_check.d/kubeapi-server.yaml
      Total Runs: 178
      Metric Samples: Last Run: 5, Total: 890
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 2, Total: 356
      Average Execution Time : 48ms
      Last Execution Date : 2022-03-01 19:02:14 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:14 UTC<PHONE_NUMBER>000)

    io
    --
      Instance ID: io [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/io.d/conf.yaml.default
      Total Runs: 178
      Metric Samples: Last Run: 39, Total: 6,915
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:17 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:17 UTC<PHONE_NUMBER>000)

    jmxfetch (unversioned)
    ----------------------
      Instance ID: jmxfetch:d884b5186b651429 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/jmxfetch.d/conf.yaml
      Total Runs: 177
      Metric Samples: Last Run: 2, Total: 354
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 177
      Average Execution Time : 265ms
      Last Execution Date : 2022-03-01 19:02:06 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:06 UTC<PHONE_NUMBER>000)

    kubelet (7.1.0)
    ---------------
      Instance ID: kubelet:5bbc63f3938c02f4 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/kubelet.d/conf.yaml.default
      Total Runs: 134
      Metric Samples: Last Run: 832, Total: 112,824
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 4, Total: 536
      Average Execution Time : 295ms
      Last Execution Date : 2022-03-01 19:02:15 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:15 UTC<PHONE_NUMBER>000)

    kubernetes_apiserver
    --------------------
      Instance ID: kubernetes_apiserver [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/kubernetes_apiserver.d/conf.yaml.default
      Total Runs: 177
      Metric Samples: Last Run: 0, Total: 0
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:09 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:09 UTC<PHONE_NUMBER>000)

    load
    ----
      Instance ID: load [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/load.d/conf.yaml.default
      Total Runs: 178
      Metric Samples: Last Run: 6, Total: 1,068
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:16 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:16 UTC<PHONE_NUMBER>000)

    memory
    ------
      Instance ID: memory [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/memory.d/conf.yaml.default
      Total Runs: 177
      Metric Samples: Last Run: 18, Total: 3,186
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:08 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:08 UTC<PHONE_NUMBER>000)

    network (2.4.0)
    ---------------
      Instance ID: network:d884b5186b651429 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/network.d/conf.yaml.default
      Total Runs: 178
      Metric Samples: Last Run: 73, Total: 12,994
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 3ms
      Last Execution Date : 2022-03-01 19:02:15 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:15 UTC<PHONE_NUMBER>000)

    ntp
    ---
      Instance ID: ntp:d884b5186b651429 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/ntp.d/conf.yaml.default
      Total Runs: 3
      Metric Samples: Last Run: 1, Total: 3
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 3
      Average Execution Time : 1ms
      Last Execution Date : 2022-03-01 18:47:55 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 18:47:55 UTC<PHONE_NUMBER>000)

    openmetrics (1.16.0)
    --------------------
      Instance ID: openmetrics:cc-cert-exporter:206dfb034ec9d8a1 [OK]
      Configuration Source: kubelet:docker://c3f28337d7a24bff036bc5a782790f1ff51d2f7227d6d82b12f1044171f60a44
      Total Runs: 177
      Metric Samples: Last Run: 3, Total: 531
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 177
      Average Execution Time : 26ms
      Last Execution Date : 2022-03-01 19:02:06 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:06 UTC<PHONE_NUMBER>000)

      Instance ID: openmetrics:cc-goldpinger:b8f5b76d5edd920d [OK]
      Configuration Source: kubelet:docker://bc51640f268d5fed014644b99c4c9acbe8e4cb54c335bc6e4b0b3acacc4a9b7b
      Total Runs: 177
      Metric Samples: Last Run: 7, Total: 1,239
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 177
      Average Execution Time : 63ms
      Last Execution Date : 2022-03-01 19:02:14 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:14 UTC<PHONE_NUMBER>000)

    process (2.1.1)
    ---------------
      Instance ID: process:kube-proxy:da726e50de09c3a5 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/process.d/conf.yaml
      Total Runs: 177
      Metric Samples: Last Run: 18, Total: 3,184
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 177
      Average Execution Time : 1ms
      Last Execution Date : 2022-03-01 19:02:05 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:05 UTC<PHONE_NUMBER>000)

      Instance ID: process:kubelet:f36c694c86c7b245 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/process.d/conf.yaml
      Total Runs: 178
      Metric Samples: Last Run: 18, Total: 3,202
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 178
      Average Execution Time : 1ms
      Last Execution Date : 2022-03-01 19:02:13 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:13 UTC<PHONE_NUMBER>000)

      Instance ID: process:systemd:f976e8edf3df59c7 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/process.d/conf.yaml
      Total Runs: 178
      Metric Samples: Last Run: 18, Total: 3,202
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 1, Total: 178
      Average Execution Time : 3ms
      Last Execution Date : 2022-03-01 19:02:12 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:12 UTC<PHONE_NUMBER>000)

    tls (2.6.0)
    -----------
      Instance ID: tls:public-cert-expiration-check:198d9e47b2956736 [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/tls.d/standard.yaml
      Total Runs: 177
      Metric Samples: Last Run: 2, Total: 354
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 4, Total: 708
      Average Execution Time : 7ms
      Last Execution Date : 2022-03-01 19:02:04 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:04 UTC<PHONE_NUMBER>000)

    uptime
    ------
      Instance ID: uptime [OK]
      Configuration Source: file:/etc/datadog-agent/conf.d/uptime.d/conf.yaml.default
      Total Runs: 177
      Metric Samples: Last Run: 1, Total: 177
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 0s
      Last Execution Date : 2022-03-01 19:02:07 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : 2022-03-01 19:02:07 UTC<PHONE_NUMBER>000)

========
JMXFetch
========

  Information
  ==================
    runtime_version : 11.0.13
    version : 0.44.6
  Initialized checks
  ==================
    jmx
      instance_name : http-<IP_ADDRESS>-7203
      message : <no value>
      metric_count : 72
      service_check_count : 0
      status : OK
  Failed checks
  =============
    no checks

=========
Forwarder
=========

  Transactions
  ============
    Cluster: 0
    ClusterRole: 0
    ClusterRoleBinding: 0
    CronJob: 0
    DaemonSet: 0
    Deployment: 0
    Dropped: 0
    HighPriorityQueueFull: 0
    Job: 0
    Node: 0
    PersistentVolume: 0
    PersistentVolumeClaim: 0
    Pod: 0
    ReplicaSet: 0
    Requeued: 0
    Retried: 0
    RetryQueueSize: 0
    Role: 0
    RoleBinding: 0
    Service: 0
    ServiceAccount: 0
    StatefulSet: 0

  Transaction Successes
  =====================
    Total number: 373
    Successes By Endpoint:
      check_run_v1: 177
      intake: 15
      metadata_v1: 4
      series_v1: 177

  On-disk storage
  ===============
    On-disk storage is disabled. Configure `forwarder_storage_max_size_in_bytes` to enable it.

  API Keys status
  ===============
    API key ending with <redacted>: API Key valid

==========
Endpoints
==========
  https://app.datadoghq.com - API Key ending with:
      - 62281

==========
Logs Agent
==========

  Logs Agent is not running

=========
APM Agent
=========
  Status: Running
  Pid: 414
  Uptime: 2671 seconds
  Mem alloc: 8,889,824 bytes
  Hostname: i-04c046d812156653x
  Receiver: <IP_ADDRESS>:8126
  Endpoints:
    https://trace.agent.datadoghq.com

  Receiver (previous minute)
  ==========================
    No traces received in the previous minute.
    Default priority sampling rate: 100.0%

  Writer (previous minute)
  ========================
    Traces: 0 payloads, 0 traces, 0 events, 0 bytes
    Stats: 0 payloads, 0 stats buckets, 0 bytes

=========
Aggregator
=========
  Checks Metric Sample: 219,423
  Dogstatsd Metric Sample: 34,379
  Event: 1
  Events Flushed: 1
  Number Of Flushes: 177
  Series Flushed: 216,047
  Service Check: 8,131
  Service Checks Flushed: 8,268
=========
DogStatsD
=========
  Event Packets: 0
  Event Parse Errors: 0
  Metric Packets: 34,378
  Metric Parse Errors: 0
  Service Check Packets: 178
  Service Check Parse Errors: 0
  Udp Bytes: 12,109,080
  Udp Packet Reading Errors: 0
  Udp Packets: 28,271
  Uds Bytes: 0
  Uds Origin Detection Errors: 0
  Uds Packet Reading Errors: 0
  Uds Packets: 0
  Unterminated Metric Errors: 0

=============
Autodiscovery
=============
  Enabled Features
  ================
    kubernetes

  Configuration Errors
  ====================
    kube-system/node-local-dns-kshnf
    --------------------------------
        annotation ad.datadoghq.com/kube2iam.check_names is invalid: kube2iam doesn't match a container identifier [node-cache]
        annotation ad.datadoghq.com/kube2iam.init_configs is invalid: kube2iam doesn't match a container identifier [node-cache]
        annotation ad.datadoghq.com/kube2iam.instances is invalid: kube2iam doesn't match a container identifier [node-cache]

Additional environment details (Operating System, Cloud provider, etc):
Using Docker image datadog/agent:6.33.0-jmx on EKS v1.18.20
Steps to reproduce the issue:

Run an https server in a k8s pod
Configure dd-agent to do http_check similar to this.

ad_identifiers:
    - http-server

init_config:

instances:
    - name: liveness
      url: "https://%%host%%:443/health"
      tls_verify: false

Run agent check http_check

Describe the results you received:
=========
Collector
=========

  Running Checks
  ==============

    http_check (6.1.2-rc.1)
    -----------------------
      Instance ID: http_check:Kafka Api liveness:f8fb566fee6d98c8 [ERROR]
      Configuration Source: file:/etc/datadog-agent/conf.d/http_check.d/http.yaml
      Total Runs: 1
      Metric Samples: Last Run: 3, Total: 3
      Events: Last Run: 0, Total: 0
      Service Checks: Last Run: 0, Total: 0
      Average Execution Time : 37ms
      Last Execution Date : 2022-03-01 16:55:21 UTC<PHONE_NUMBER>000)
      Last Successful Execution Date : Never
      Error: u'notAfter'
      Traceback (most recent call last):
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/base/checks/base.py", line 1017, in run
          self.check(instance)
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/http_check/http_check.py", line 240, in check
          status, days_left, seconds_left, msg = self.check_cert_expiration(instance, timeout, instance_ca_certs)
        File "/opt/datadog-agent/embedded/lib/python2.7/site-packages/datadog_checks/http_check/http_check.py", line 326, in check_cert_expiration
          exp_date = datetime.strptime(cert['notAfter'], "%b %d %H:%M:%S %Y %Z")
      KeyError: u'notAfter'

Describe the results you expected:
I expected dd-agent to be able to check the certificate expiration and populate the http.ssl.days_left metric
Additional information you deem important (e.g. issue happens only occasionally):
This PR that went into version 6.26/7.26 broke backward compatibility for this check in dd-agent.  Previously, the socket mode was hard coded to ssl.CERT_REQUIRED.  That PR switched to using the TlsContextWrapper which only sets that mode if full verification is enabled.  In ssl.CERT_NONE mode, the SSL Socket will not return a peer certificate leading to this error

Hi @theduderog, thank you for the detailed write-up, we will look into this change in behavior. Do you mind creating a support ticket for this issue so we can get more information and investigate further?

@sarah-witt Done.   Request #703748)

@hithwen why did you close the issue with no explanation?

Hi @theduderog I'm closing this issue because it needs to be raised with support as @sarah-witt mentioned. We need more information but we won't request it here because it might be sensitive and this is public.

@hithwen @sarah-witt There's no meaningful action on my support case.  Should we reopen this?  Unless I'm missing something, dd-agent should not break backward compatibility, especially in a minor version release and needs to be fixed ASAP for all DD customers.


Add caching to exec Kubernetes client

@guaraqe I've got an internal build of this working, but there are a few merge conflicts between 'auth-plugin' and 'main' that will need to be fixed up. I started trying to resolve them, but there are a few things I couldn't quite tell whether they were current or not, so thought best to leave for you to decide.

The conflicts are with a previous version of this one, this can basically be made the new master.

@guaraqe are you planning to merge this [or, as you say, force push it to 'master'?


Fix resolving of placeholders in tag modifiers (fixes #215)

It seems that it breaks tparam and treturn. :/


Stormblessed: Watch anydesk.com

Stormblessed requests the watch of the watch_keyword anydesk\.com. See the MS search here and the Stack Exchange search here.

anydesk\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Custom model based on codellama just outputs blank lines

Hi, super cool project, impressed how easy it was to get started!
I created a custom model based on codellama with a system message explaining its task, but when I run it with my input, the model just infinitely outputs blank lines.
I saw on a comment on Hacker News that this was a more general problem with codellama until you fixed it, so I wondered if you had any specific thoughts or advice on what might be causing this?
Thanks!

Hey @tomduncalf, we tried a few things. The model seems to be pretty sensitive to configuration.
What seemed to help the most with stability was setting the rope frequency base. Here is what that looks like in a Modelfile:
PARAMETER rope_frequency_base 1000000

It also seemed pretty sensitive to white-space at the end of the prompt. Here's an example Modelfile you can try working from that will get our configuration by default:
FROM codellama
TEMPLATE """
[INST] {{ if and .First .System }}<<SYS>>{{ .System }}<</SYS>>

{{ end }}{{ .Prompt }} [/INST]
"""
SYSTEM """
Provide answers in JavaScript
"""

Hey @BruceMacD, that seems to have helped! Thanks very much :)
Out of interest, where can I find the templates you use internally?
Thanks,
Tom

@tomduncalf
It will be in each library's description soon at https://ollama.ai/library
The other option (which works right now) is to download the model, and output the model info during an interactive session.
$ ollama run codellama
>>> /help
commands:
  /help
  /list
  /set
  ├── history
  ├── nohistory
  ├── verbose
  ├── quiet
  ├── mode
  ├────── vim
  ├────── emacs
  ├────── default
  /show
  ├── license
  ├── system
  ├── template
  /exit
  /bye

>>> /show template
[INST] {{ if and .First .System }}<<SYS>>{{ .System }}<</SYS>>

Hope that helps.

Ooh, nice. It does help! Thanks :)


ISSUE-933: SAM Processors/Sinks/Rules need to update when its upstream components are updated

Whenever an edge or an output stream is updated or deleted, the downstream processor/sink/rule to which it is connected will be marked for 'reconfiguration' by the backend. UI can use this field to prompt the user to reconfigure the component. Once the user takes some action and saves the updated component, UI should pass the updates with the flag reset.
During deployment if any component or rule has 'reconfigure' set, the deployment will fail.

The code change looks good. I'll pull and try out some tests.

If UI team could work on this soon, I would wait for that. That's easier to verify the change.

@arunmahadevan @HeartSaVioR  Yes, we have started working on it today, I'll update here if we face any issues while integrating this change.

@shahsank3t you can use below api for querying the status. It returns the component type and list of ids that needs reconfiguration.
GET api/v1/catalog/topologies/11/reconfigure
{"BRANCH":[],"PROCESSOR":[48,37,40,42],"SINK":[],"RULE":[26,27],"WINDOW":[6]}

@arunmahadevan @HeartSaVioR
Raised https://github.com/hortonworks/streamline/pull/945 for UI fixes


Laplace 3D

[x] create 3D hexahedral mesh
[ ] enter Laplace equation and impose boundary conditions
[ ] find reference solution from literature

Thank you very much for your comments and hints, Max. I will do that!


figure out the content-type requested, and spit out the appropriate data type

if the user wants json, they just request that they want json.
want xml, request xml
want jsonp, request jsonp
otherwise get html /o\
no need to write API endpoints, since every page is now an api endpoint

Added with 58034fd554cafde4dd4f640259331d08ccfeb312


Python with error odl.py:2: SyntaxWarning: invalid escape sequence '\A' and missing Crypto library

Python is complaining about 2 things:

Invalid escape sequence \A
%userprofile%\Downloads\odl.py:2: SyntaxWarning: invalid escape sequence '\A'
"""

No lib Crypto
Traceback (most recent call last):
File "%useprofile%\Downloads\odl.py", line 53, in
from Crypto.Cipher import AES
ModuleNotFoundError: No module named 'Crypto'

Iusing Oficial Python, not the Microsoft python in the store. Ive tested with Microsoft Store python version and the result is the same.

Sounds like the dependencies are not met. Did you install construct and pycryptodome?

Oh, my mistake, I didn`t installed pycryptodome.
But before doing it, the first error is shown as a SyntaxWarning:
%userprofile%\Downloads\odl.py:2: SyntaxWarning: invalid escape sequence '\A'
"""

A requirements.txt file has now been added to specify the required modules. Also fixed the syntax warning for python 3.12


ignore log when the level equals info

Before:

After:

Codecov Report
Base: 58.86% // Head: 58.92% // Increases project coverage by +0.05% :tada:

Coverage data is based on head (81e5b79) compared to base (c12c088).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2945      +/-   ##
==========================================
+ Coverage   58.86%   58.92%   +0.05%
==========================================
  Files         141      141
  Lines       24543    24545       +2
==========================================
+ Hits        14447    14462      +15
+ Misses       8219     8210       -9
+ Partials     1877     1873       -4

Impacted Files
Coverage Δ

cmd/main.go
45.50% <0.00%> (-0.52%)
:arrow_down:

pkg/vfs/reader.go
78.99% <0.00%> (-0.43%)
:arrow_down:

pkg/meta/sql.go
64.07% <0.00%> (+0.18%)
:arrow_up:

pkg/meta/tkv.go
75.00% <0.00%> (+0.56%)
:arrow_up:

pkg/chunk/utils_unix.go
91.66% <0.00%> (+25.00%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Message Reliability: Retransmissions

@kedars I plan to start with this. As part of it, I plan to do:

Some cleanup of the "Exchange" code, as after my async changes, the logic is all over the place, as we discussed some time ago
The Exchange API needs a slight change, as it is currently... unsafe. As in, you should NOT core::mem::forget a  future returned by Exchange::recv or Exchange::send and so on. But it is clear to me how to address :)

The thing is I want to make sure that the two changes from above ^^ do not get in the way of implementing message retransmission, hence why I would try to do it together with the cleanup.

(Might still be > 1 commit (and > 1 PR though.)


Expected string interpolation behavior?

Be aware that I'm using Twig within Symfony2. I don't know whether it's a bug, or that I'm expecting the wrong behavior.
This is my controller:
public function testAction()
{
  $data = array();
  $data["settings"] = array(
    "global.name" => "Test variable",
    "global.text" => "
This is a test string for '#{global.name}'.
",
  );
  return $this->render("DemoBundle::test.html.twig", $data);
}

And this is test.html.twig:
<!DOCTYPE html>

{{ settings['global.text'] | raw }}

I'm expecting now that This is a test string for 'Test variable'. is printed - with the correct non-escaped HTML tags. This is however not the case, what I get is: This is a test string for '#{global.name}'..
What is the problem here, am I expecting the wrong result, or is the dot inside the variable name (global.name) the problem?
I know Twig expects the dot to be a separator, therefore I'm using the bracket construct (settings['global.name'], instead of settings.global.name).

@stof @hvt it's possible, theoreticall, if you use the twig string loader in the chain loader.  Would be tricky though.

For the moment I'll just stick with a replace forehand in PHP. Although I'll keep my eyes open if anyone has interest in implementing this. Will be a really powerful construct, but at this point I seem the only one who's interested ;].

@damianb the string loader is a pain in the ass as it will accept any template name and try to parse it as a template content, making it really hard to use it with other loaders (you would have to ensure putting it at the end of the chain for instance) and to debug typos (as a typo in a template name would lead to loading it in the string loader as it accept any input)

@stof could make cook a new loader then that'll only handle template names, and otherwise pass
e.g. "template.twig.inline" would be handled, whereas anything without the .inline extension would be ignored.
* shrug *


What guarantees are there about Value structure on chain?

It appears that every Value on chain (i.e., in a UTXO, mint result, etc.) has an Ada field (whether there are Ada or not). Is it possible for any other asset classes to be present in a Value on chain with quantity 0?
Are there any guarantees about the order of asset classes within a Value on chain?

There are no guarantees about either of these things in general. Even if we did provide guarantees about the representation as it appears in the ScriptContext, the operations on Value that we provide do not attempt to maintain any particular representation, so long as it is semantically correct.

It appears that every Value on chain (i.e., in a UTXO, mint result, etc.) has an Ada field (whether there are Ada or not).

Yes, see #5039 for more context.

Is it possible for any other asset classes to be present in a Value on chain with quantity 0?

It seems this question was never answered. I asked the team.

Are there any guarantees about the order of asset classes within a Value on chain?

Michael already answered this question with "there are no guarantees", but I'd like to point out that there's an entire ticket dedicated to this discussion: #4509.

Is it possible for any other asset classes to be present in a Value on chain with quantity 0?

The answer is "no". From what I was able to gather (1, 2) you can put 0 there, but the ledger will simply treat it as a missing entry.
Closing, since these topics are better discussed in #5039 and #4509.


does not compile without warnings on Ubuntu

When compiling on Linux (Ubuntu), -Werror flag is set as part of AM_CXXFLAGS.
When there is a warning, compilation stops.
It would be great not to have any warnings.
To make it compile, I had to remove that compiler flag from Makefile.am

Fixed in v1.1


Add Elm Section

Thanks for you pull-request!
Please, make sure you've read CONTRIBUTING.md before submitting this PR.
Description
This adds support for Elm since #253 hasn't been touched in almost a year. I'm making a companion section for getting information for individual projects in #527.
I added some tests as well, but this is my first time doing tests for shell scripts, so let me know if I've done those correctly.
Screenshot
Please, attach a screenshot, if possible.

Is there any Elm version management systems, like nvm for Node.js?

No, I've been handling needing multiple versions by having differently named binaries. Similar to how Python has python3 vs python, I have elm vs elm18. That was my personal solution to working with both versions. As far as I know, there isn't an official recommended way to handle multiple versions of Elm.

Is the Elm version changes so often that it needs to be shown in prompt?

Historically, a new version of Elm has been released every 6-9 months. However, Elm still hasn't hit the first stable version, so each has had pretty significant backwards-incompatible changes.

Would it be useful for users and make the clutter in prompt?

I originally had this built into #527 (elm_project) because it seemed a little strange to me to show the project's needed Elm version without the installed Elm version. But after seeing #253 and because the configuration was getting out of hand, I decided to break this out into a separate thing. I can merge this back with elm_project if you think it fits better bundled as one.
@salmanulfarzy Thanks for scrutinizing new features to this. To me, that means I'll be able to keep using spaceship-prompt knowing that it's not going to get bloated with useless features.

Just noted the following from https://github.com/denysdovhan/spaceship-prompt/pull/527#issue-221968459

is the Elm version changes so often that it needs to be shown in prompt? Would it be useful for users and make the clutter in prompt?

Recently, Elm updated to 0.19.0, so I (and I'd expect many others) still have quite a few 0.18.0 projects and some 0.17.0 (or earlier) projects. Elm doesn't have an equivalent to nvm, so I've personally handled the different versions by just having differently named binaries. This would allow me to see at a glance which elm binary I need to run for a particular project.

This does look like good use case to display version information.

I can merge this back with elm_project if you think it fits better bundled as one.

I think they are better as separate sections. @denysdovhan prefers each section as atomic as possible -- https://github.com/denysdovhan/spaceship-prompt/pull/340#issuecomment-359608984

Thank you for contributing @ajlende :tada:


Read configuration only once from Consul/File.

Add loadbalancer system id (sid).
Make system overload flag a boolean.
pg1/439 approved.

841821e21690e4f812ab3d67ff7578cfbe1801a0

Merges as 1811fb29debe39a738851565623e2c631e29361c


Add Decision to VASE

any number of decision boxes with one input and two outputs, labelled yes and no.

TODO:  label outputs YES and NO

@lucasgsantos As you can see, I have begun modifying the VASE code as required for recipe.

It is possible to delete Start Point, system crashes after Run Recipe
Right-click adds a Decision box correctly
How to connect the boxes?

Selecting the origin

I don't know what that means.  How do you select the 'origin'?  The origin  of what?

I just made a comment about how to link 2 objects (origin and destination). It is not an issue

OK.
Note: if you make a comment and it is not an issue, then please make that clear.  Otherwise I will assume that it IS an issue.

In general, if something works, then you do not need to bother with a comment.  Just close the issue if it is assigned to you.


'DQNStrategy' object has no attribute 'clock'

Hello,
I am writing to inform you that there is a problem between the avalanche-rl and DQNStrategy.
Unfortunately, in avalanche-rl when a strategy uses EWC plugin, below error will be raise:
Error for Compute EWC penalty and add it to the loss.
exp_counter = strategy.clock.train_exp_counter
if exp_counter == 0:
return
'DQNStrategy' object has no attribute 'clock'.
It needs to add 'clock' attribute in 'DQNStrategy'. I will appreciate if you update this bug in the avalanhe-rl.
avalanche-lib==0.3.1

Hi @Ai360n, I'm having the same problem right now, but if you don't need the clock and you just need an alternative way to use the esperience_counter, then just use the training_exp_counter attribute of the RLBaseStrategy class, which has the same meaning of train_exp_counter.
So inside ewc.py of avalanche just change your line to exp_counter = strategy.training_exp_counter (in both before_backward and after_training_exp methods).
Of course in order to do this you should have installed avalanche 0.3.1 locally with pip install -e . option, in order to use your local modifies as the library.


[mpd] Add setting for the database root folder.

Which addon?
mpd
Is your feature request related to a problem? Please describe.
Specify an own folder for the mpd database root folder setting. Media and Share volumes are already mapped.
Currently the setting is fixed to /share/mpd/music
Describe the solution you'd like
An optional setting like:
media_folder: /media/music

see also #151

@Poeschl is #208 ok?


Cache babel source map.

When source is already cached and you reload,
the source map is lost which makes debugging
async functions difficult.

Thank you!

Off-topic, but: I really hope that bug 1247687 is fixed sooner rather than later, since that's the only thing preventing us from removing the last usage of SystemJS from the development viewer.

That would be nice! Unfortunately, last time I asked (month or two ago) no one was actively working on it.


"xo" need option to make JSON object wrapper

$ xo --wrap "a/b/c" --json --pretty "{:name}{:value}\n" one a
"a": {
  "b": {
    "c": {
      "name": "one",
      "value": "a"
    }
  }
}

which isn't a complete json object.  A "--object-wrapper" option should put the entire output inside a "{}" wrapper.  This should be true for "--open" and "--close" as well.

This is in the "develop" branch as "--top-wrap".
Thanks,
Phil


[WIP] Update futures-preview to 0.3.0-alpha.16

Description

await syntax was implemented in https://github.com/rust-lang/rust/pull/60586, and nightly-2019-05-09 has been released with the changes. Also, await! macro will be removed in the future.
Then, futures 0.3.0-alpha.16 was released.
Refs: migration tool
Motivation and Context

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

With this change, the minimum required version will go up to nightly-2019-05-09.

futures 0.3.0-alpha.16 was released, so I added a commit and updated this PR.

This PR is blocked on withoutboats/romio#87 and https://github.com/withoutboats/juliex/pull/18.

Oh oops, meant to hit merge on the Romio PR. Going to merge those first, and loop around to fixing this. Running the release train today!

Yay, fixed it and ran a full deploy for all crates! Thanks so much @taiki-e!! :tada:


Adding weight doesn't guarantee usage of trait element

In the following example for headwear layer with None element has 30% weight and remaining all have 10% each, see code.
      {
        name: "Headwear",
        elements: [
          {
            id: 0,
            name: "None",
            path: `${dir}/headwear/none.png`,
            weight: 100, //30%
          },
          {
            id: 1,
            name: "Headphones",
            path: `${dir}/headwear/headphones.png`,
            weight: 70, // 10%
          },
          {
            id: 2,
            name: "Beanie",
            path: `${dir}/headwear/beanie.png`,
            weight: 60, // 10%
          },
          {
            id: 3,
            name: "Brain",
            path: `${dir}/headwear/brain.png`,
            weight: 50, // 10%
          },
          {
            id: 4,
            name: "Birds",
            path: `${dir}/headwear/birds.png`,
            weight: 40, // 10%
          },
          {
            id: 5,
            name: "Tattoo",
            path: `${dir}/headwear/tattoo.png`,
            weight: 30, // 10%
          },
          {
            id: 6,
            name: "Zombie hat",
            path: `${dir}/headwear/zombie hat.png`,
            weight: 20,// 10%
          },
          {
            id: 7,
            name: "Alien headset",
            path: `${dir}/headwear/alien headset.png`,
            weight: 10, // 10%
          },
        ],
        position: { x: 0, y: 0 },
        size: { width: width, height: height },
      }

Expected:
With editionSize set to 100, Out of 100 output files, each of non-None elements(Headphones, Beanie. etc) should represent  10% of the headwears and 30% of files should have None headwear
Actually Happening:
Some headwear elements are not included in any outputted files.

Yeah these rarity weights are unbelievably confusing. In one of the videos he says to have them ordered from highest to lowest with no duplicate values, though even when I account for this, whatever element I put at the top gets vastly overrepresented. I am struggling for answers.


[BEAM-11807] Fix issue with sdk worker multi-threading and boto3 client

When using external worker and S3 storage you may got an KeyError('endpoint_resolver') error. That caused because Boto3 default session is not thread-safe.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @pabloem

thanks @ferryvg ! - LGTM
for the curious, here's some documentation regarding managing multiple clients: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/session.html

@pabloem Can i make cherry-pick PR for include that fix to 2.28.0?

you did the right thing by contacting the Release manager in dev@ - you would then open a PR to the release-2.28.0 branch.

@ferryvg @pabloem Tested 2.29.0rc1 and this worked for me! Great fix!


add --use_kv_cache to image-to-text pipeline

What does this PR do?

add --use_kv_cahe to image-to-text pipeline
add two new models to supported list
replace hard code prompt with transformers.prcessor

Fixes # (issue)
Before submitting

[ ] This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?

llava-hf/llama3-llava-next-8b-hf

llava-hf/llava-v1.6-34b-hf

@yafshar should me split this pr into 3 small one to speed up the merge process?

kv-cache
Processor
Profiling

@yafshar should me split this pr into 3 small one to speed up the merge process?
1. kv-cache

2. Processor

3. Profiling

No need to do that. If you need time to workout profiling, then remove it for now. The rest are working nicely. My comments above were just suggestions

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


fix: fixed an issue where the lastScanned and new scanned value are n…

Fixes #328

The complete refactor overrides this implementation.
No longer relevant. Closing.


[Batch mode] Write supplementary output file map. rdar://problem/38157859

When there are lots of supplementary outputs (only happens in batch mode, but the code is simpler if it does not care), use a filemap to communicate them from driver to frontend.
There are many changes here:

OutputFileMap.* and Types.h move from the driver into the frontEnd so that frontEnd can reuse the file map format and parsing logic.
OutputFileMap parsing reports more information about errors.
Some behavior about using various filelists and adding corresponding arguments moves to JobContext, where all the information already resides.
The driver gains a new kind of FileListInfo, SupplementaryOutput.
The existing driver code to repartition a batch if the command line is too big is kept as a recovery mechanism in case the heuristic used to decide whether to employ a supplementary output file map reports a false negative. In that case, a message is output to stderr in debug mode.
The invocation creation code for compile jobs is unified across single-, batch-, and standard-compiles.

@swift-ci please smoke test

@swift-ci please smoke test

Because I had to move OutputFileMap.h and Types.h a number of files where only changed in their include statements. But git-clang-format changed other lines in them, too. (Apparently, they weren't already processed by git-clang-format.) These changes put me in a quandary: on one hand, I could undo them, which would make this review easier. But on the other hand, any subsequent change that reformatted the files would be harder. (Or maybe there's a better way to run git-clang-format that I don't know.) I have taken the former course, but can go back and undo all spurious formatting changes if you like. I don't believe there any files which were completely unchanged, yet reformatted.

There were some routines in the driver that grew large enough with the addition this functionality that I felt it worthwhile to break them up. In addition, many of the pieces seemed to me to belong in the JobContext class, because they kept accessing the context instance variable of the ToolChain.
Embedding behavior in this class represents a shift from the prior state of the code, but sometimes I feel that the code shouts at me that what I thought a concept represented was not quite what it needs to represent to get the job done. See what you think.

@swift-ci please smoke test

@jrose-apple & @graydon Although I haven't smoked this change yet, I think it's in good enough shape to be reviewed at this point.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci  please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci  please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@jrose-apple @graydon OK, at this point, I think I've fixed all the test failures and addressed the prior suggestions, so it's likely ready for another pass. (I'll save any visitor-pattern-oidal work for the future.)

Thanks for looking at this again! I'll go through these, make fixes, and get back to you with any questions.

On Mar 14, 2018, at 10:57 AM, Jordan Rose<EMAIL_ADDRESS>wrote:
@jrose-apple commented on this pull request.
More comments, but it is converging.
In lib/Frontend/ArgsToFrontendOutputsConverter.cpp https://github.com/apple/swift/pull/15013#discussion_r174541031:

+}

+Optional<std::vector>
+SupplementaryOutputPathsComputer::readSupplementaryOutputFileMap() const {

if (Arg *A = Args.getLastArg(options::OPT_emit_objc_header_path,

                          options::OPT_emit_module_path,

                          options::OPT_emit_module_doc_path,

                          options::OPT_emit_dependencies_path,

                          options::OPT_emit_reference_dependencies_path,

                          options::OPT_serialize_diagnostics_path,

                          options::OPT_emit_loaded_module_trace_path,

                          options::OPT_emit_tbd_path)) {

Diags.diagnose(

   SourceLoc(),

   diag::

       error_cannot_have_supplementary_outputs_with_supplementary_ouputs_file_map,

Nitpick: I think you might as well shorten the name at this point. It's not buying us anything to repeat "supplementary outputs", for example. (Particularly with a typo in it ;-) )
In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174541320:

if (Args.hasArg(options::OPT_driver_use_filelists))

return true;
return getTopLevelInputFiles().size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUsePrimaryInputFileList() const {

// SingleCompile's must not return true because then all inputs erroneously
// end up in primary file list.
if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return InputActions.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldFilterInputsByType() const {

// SingleCompile's must not filter inputs by type in order for the
// playground (test) to work.
Still don't think this is a good idea, because it's not the real condition.

In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174541610:

return Inputs.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseLinkInputFileList() const {

if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return Inputs.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseMainOutputFileList() const {

if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return Output.getPrimaryOutputFilenames().size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseSupplementaryOutputFileList() const {
Should this say "map"? I know the enum is still called FilelistKind or whatever, but in this case we know what we're talking about.
In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174541707:

return OI.CompilerMode != OutputInfo::Mode::SingleCompile;
+}

+bool ToolChain::JobContext::shouldUseMergeModuleInputFileList() const {

if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return Inputs.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseLinkInputFileList() const {

if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return Inputs.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseMainOutputFileList() const {
This should have the word "frontend" in it somewhere.
In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174541804:

return Inputs.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseLinkInputFileList() const {

if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return Inputs.size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseMainOutputFileList() const {

if (Args.hasArg(options::OPT_driver_use_filelists))
return true;
return Output.getPrimaryOutputFilenames().size() > TOO_MANY_FILES;
+}

+bool ToolChain::JobContext::shouldUseSupplementaryOutputFileList() const {
This one should probably also have "frontend" in it for consistency.
In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174542355:

@@ -526,6 +353,186 @@ ToolChain::constructInvocation(const CompileJobAction &job,
return II;
}

+const char *ToolChain::JobContext::computeFrontendModeForCompile() const {
(We decided that it's okay to leave these on JobContext as long as they have "Frontend" in the name.)
In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174546639:

Arguments.push_back("-supplementary-output-file-map");

Arguments.push_back(getTemporaryFilePath("supplementaryOutputs", ""));
FilelistInfos.push_back({Arguments.back(), types::TY_INVALID,

                        FilelistInfo::WhichFiles::SupplementaryOutput});

} else {
addFrontendSupplementaryOutputArguments(Arguments);
}
+}

+void ToolChain::JobContext::addFrontendInputArguments(

const bool mayHavePrimaryInputs, const bool useFileList,
const bool usePrimaryFileList, const bool filterByType,
ArgStringList &arguments) const {
llvm::StringSet<> primaries;

if (mayHavePrimaryInputs)
Nitpick: please put braces around multi-line if-statements, even if it's only a single statement in the body.

In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174547006:

   arguments.push_back(inputName);

 }

}
}
+}

+bool ToolChain::canCompileInputArgumentBePrimary(const CommandOutput &Output,

                                            const llvm::opt::Arg &A) {

return Output.getPrimaryOutputType() != types::TY_IndexData ||

    A.getOption().getID() == options::OPT_index_file_path;

+}
+
+void ToolChain::JobContext::addFrontendSupplementaryOutputArguments(

ArgStringList &arguments) const {
// FIXME: get these and other argument strings from the same place for both
// driver and frontend
👍

In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174547079:

   arguments.push_back(inputName);

 }

}
}
+}

+bool ToolChain::canCompileInputArgumentBePrimary(const CommandOutput &Output,

                                            const llvm::opt::Arg &A) {

return Output.getPrimaryOutputType() != types::TY_IndexData ||

    A.getOption().getID() == options::OPT_index_file_path;

+}
+
+void ToolChain::JobContext::addFrontendSupplementaryOutputArguments(

ArgStringList &arguments) const {
// FIXME: get these and other argument strings from the same place for both
// driver and frontend
👍

In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174547223:

   arguments.push_back(inputName);

 }

}
}
+}

+bool ToolChain::canCompileInputArgumentBePrimary(const CommandOutput &Output,

                                            const llvm::opt::Arg &A) {

return Output.getPrimaryOutputType() != types::TY_IndexData ||

    A.getOption().getID() == options::OPT_index_file_path;

+}
+
+void ToolChain::JobContext::addFrontendSupplementaryOutputArguments(

ArgStringList &arguments) const {
// FIXME: get these and other argument strings from the same place for both
// driver and frontend
(Oh, but please follow proper comment style with the initial capital letter and the trailing period.)

In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174547539:

    A.getOption().getID() == options::OPT_index_file_path;

+}
+
+void ToolChain::JobContext::addFrontendSupplementaryOutputArguments(

ArgStringList &arguments) const {
// FIXME: get these and other argument strings from the same place for both
// driver and frontend
addOutputsOfType(arguments, Output, Args, types::ID::TY_SwiftModuleFile,

              "-emit-module-path");

addModuleDocPathArgIfNecessary(Output, Args, arguments);

addSerializeDiagnosticsPathArgIfNecessary(Output, Args, arguments);

if (addOutputsOfType(arguments, Output, Args, types::ID::TY_ObjCHeader,

                  "-emit-objc-header-path")) {

Why did you factor out addModuleDocPathArgIfNecessary but not -emit-objc-header-path?
In lib/Driver/ToolChains.cpp https://github.com/apple/swift/pull/15013#discussion_r174547618:

addSerializeDiagnosticsPathArgIfNecessary(Output, Args, arguments);

if (addOutputsOfType(arguments, Output, Args, types::ID::TY_ObjCHeader,

                  "-emit-objc-header-path")) {

assert(OI.CompilerMode == OutputInfo::Mode::SingleCompile &&

      "The Swift tool should only emit an Obj-C header in single compile"

      "mode!");

}

addOutputsOfType(arguments, Output, Args, types::TY_Dependencies,

              "-emit-dependencies-path");

addOutputsOfType(arguments, Output, Args, types::TY_SwiftDeps,

              "-emit-reference-dependencies-path");

addOutputsOfType(arguments, Output, Args, types::TY_ModuleTrace,

              "-emit-loaded-module-trace-path");

addOutputsOfType(arguments, Output, Args, types::TY_TBD, "-emit-tbd-path");
…or -emit-tbd-path?

In lib/Driver/Job.cpp https://github.com/apple/swift/pull/15013#discussion_r174548379:

@@ -240,6 +240,10 @@ StringRef CommandOutput::getAnyOutputForType(types::ID Type) const {
return getAdditionalOutputForType(Type);
}

+const OutputFileMap &CommandOutput::getDerivedOutputMap() const {

return DerivedOutputMap;
Maybe the whole "write the subset of the DOM based on this Job's inputs" should be pushed into Job (taking an llvm::raw_ostream &). What do you think?

In lib/Driver/Driver.cpp https://github.com/apple/swift/pull/15013#discussion_r174550043:

}

return OFM;

return llvm::make_unique(*OFM);
Uh, hm. I guess if this is properly moving the OFM it's okay (i.e. we won't copy the whole hash map). Can you use std::move(*OFM) here?

In lib/Driver/Driver.cpp https://github.com/apple/swift/pull/15013#discussion_r174550149:

}

return OFM;

return llvm::make_unique(*OFM);
(This is probably one of those things that doesn't matter in practice, but it is something I noticed.)

In lib/Driver/Driver.cpp https://github.com/apple/swift/pull/15013#discussion_r174550435:

@@ -1102,7 +1118,8 @@ void Driver::buildOutputInfo(const ToolChain &TC, const DerivedArgList &Args,

} else { // DriverKind::Batch
OI.CompilerMode = OutputInfo::Mode::StandardCompile;

if (Args.hasArg(options::OPT_whole_module_optimization))

if (Args.hasArg(options::OPT_whole_module_optimization,

               options::OPT_index_file))

I really think the right answer is to have -index-file force single-file mode even if the user passes -wmo, and then -index-file-path controls the one job that gets made.
In include/swift/Frontend/OutputFileMap.h https://github.com/apple/swift/pull/15013#discussion_r174552262:

private:

/// \brief Parses the given \p Buffer into the OutputFileMap, taking ownership
/// of \p Buffer in the process.
///
/// When non-empty, \p workingDirectory is used to resolve relative paths in
/// the output file map.
///
/// \returns true on error, false on success
bool parse(std::unique_ptrllvm::MemoryBuffer Buffer,

        StringRef workingDirectory);

/// \brief Parses the given \p Buffer and returns either an OutputFileMap or
/// error, taking ownership of \p Buffer in the process.
Huh, it looks like nothing actually needs this to take ownership of the buffer.

In include/swift/Driver/ToolChain.h https://github.com/apple/swift/pull/15013#discussion_r174553736:

@@ -83,6 +86,45 @@ class ToolChain {
/// arguments.
const char *getTemporaryFilePath(const llvm::Twine &name,
StringRef suffix = "") const;

/// Test the number of files to see if an input file list is needed.
Thinking about it, I think these comments are at the wrong level:

They should include what Action they're intended to be used for.
They should not include that they're based on the number of files.
They should not just echo the name of the function, which some of the ones below are doing. Better to have no comment in that case.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/apple/swift/pull/15013#pullrequestreview-103917235, or mute the thread https://github.com/notifications/unsubscribe-auth/AAcJ0JKWVrWNc3TPnfxnToGUZLpBCrHIks5teVoIgaJpZM4SeKUm.

Regarding your comment "Maybe the whole "write the subset of the DOM based on this Job's inputs" should be pushed into Job (taking an llvm::raw_ostream &). What do you think?": (I don't seem to have a reply button in the right place, so I'll reply here:
If you're toying with the idea of moving OutputFileMap::write, I would tend to keep it on OutputFileMap.cpp, because it knows about the in-memory-to-external translation, as does the existing OutputFileMap::parse method. If you meant moving all or part of writeFilelistIfNecessary then I like the idea of moving that whole routine into Job. Except I tried it, and drags some stuff into Job (like diagnostics, and canCompileInputArgumentBePrimary, so I'll leave it for now.

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

If you're toying with the idea of moving OutputFileMap::write, I would tend to keep it on OutputFileMap.cpp, because it knows about the in-memory-to-external translation, as does the existing OutputFileMap::parse method. If you meant moving all or part of writeFilelistIfNecessary then I like the idea of moving that whole routine into Job. Except I tried it, and drags some stuff into Job (like diagnostics, and canCompileInputArgumentBePrimary, so I'll leave it for now.

I was thinking closer to the latter:
void Job::writeOutputFileMap(llvm::raw_ostream &out) const {
  // Compute input names here
  getDerivedOutputFileMap().write(out, names);
}

but I see how there's a bit of a problem with canCompileInputArgumentBePrimary again. Maybe that's just an extra argument though, StringRef pathToForceAsPrimary.
(Actually, if -index-file is only used in SingleCompile mode, then we know we only need one supplementary file map entry anyway today. And on top of that we know there's only one entry, so we don't really need the file map at all. Maybe the simple thing to do is say "if we're doing index file stuff, don't use a supplementary file map".)

@swift-ci please smoke test

Have implemented your writeOutputFileMap suggestion. Love it!

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@graydon I think I've incorporated the fix to writing OutputFileMap that you pointed out today.

@jrose-apple I have redone the handling of -index-file-path.

@jrose-apple At present, I believe that -index-file is forcing single-compile mode. I can try having it force single-file mode instead if you like. But that may tangle things up a bit when we fold single-file into batch mode.

I like this handling of -index-file a lot better. Thank you! (And yeah, I've given up on making it not inject a primary file right at the end.)

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please test source compatibility


[Backport 2.6.x] Add event list to Pod detail page

Reported in 2.6.9
The event list is visible for workloads including Deployments, but is not visible for the detail page for individual Pods.
2.7.1 has a fix: https://github.com/rancher/dashboard/issues/7374 with PR https://github.com/rancher/dashboard/pull/7540
This is a request for a backport.

Ticket #7721 - Test Results - ✅
With Docker on a single-node instance:
Verified on rancher v2.6-e36364e2f7a673bae3464442947cd3ed1e9d4032-head:

Fresh install of rancher v2.6-head
Navigate to Cluster Explorer > Pods > Pod Details
Verified - event list is present, accurate, and properly formatted

Screenshot:


PR e2e test: Validate the regex before building the images

Proposal
Currently, we build the images and deploy them into the cluster before checking the provided regex, this could deal in a failure 20 minutes later.
We should check somehow the regex before starting the process to be more efficient and saving resources
Use-Case
No response
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
No response

Hey, @JorTurFer can you give me a bit more context on what regex is being used for here specifically or would be used for?

Hey, sure!
Currently, we have a mechanism for running e2e tests as part of PRs based on allowed member comments (/run-e2e). As we want to allow not executing the whole tests suite, we use a regex that can be provided with the comment (/run-e2e REGEX_HERE).
The problem is that if the regex is wrong and doesn't match with any file, we want that the execution fails because we have introduced something wrong. Where is the problem? When the regex is executed. Basically we build the images, prepare the cluster, deploy pod identities, KEDA, etc, and then we use the regex for getting the test cases. This is slow and could take 20-25 just for failing:

e2e test suite is executed using this file through make (make e2e-test). This is the function that applies the regex for filtering files.
In order so save time and resources building the image and deploying things into the cluster, just for detecting the typo in the regex, I thought to extract that function and run them in the 2nd job of the workflow, before building the image. In case of no matches, raising an error and finishing the execution there, having saved 20 minutes.
Why in the 2nd job and not in the 1st, to save more time and resources? Because as we use a comment trigger, every comment wherever in the repo will trigger the workflow, and this regex validation needs to pull the code (comment trigger doesn't checkout the code) and execute the code. In this 1st job, an arbitrary change in the code could expose sensitive data, as everybody can comment in the repo and this validation needs to checkout the PR code for executing that regex. (we should use the PR branch because in other case, changes in the system can't be tested before going main, the only file executed from main should be the workflow yaml)
I know that we can just add a condition in the specific step to not be executed, but the second reason for adding in the 2nd job, is that the second job already has to checkout the code, so in my mind sounds like the better place:


[BUG] RangeError: Maximum call stack size exceeded

We are seeing this for a dataset:
nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:825
        return i < len ? { value: obj[key], key: key } : null;
                         ^

RangeError: Maximum call stack size exceeded
    at next (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:825:26)
    at replenish (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:872:28)
    at iterateeCallback (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:866:17)
    at /work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:843:16
    at NIFTI.async.forEachOf.issues.push.Issue.file (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/validators/nii.js:217:21)
    at replenish (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:881:17)
    at iterateeCallback (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:866:17)
    at /work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:843:16
    at NIFTI.async.forEachOf.issues.push.Issue.file (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/validators/nii.js:217:21)
    at replenish (/work/01329/poldrack/software/nodejs-4.4.7/lib/node_modules/bids-validator/node_modules/async/dist/async.js:881:17)

login2.ls5(11)$ bids-validator --version
0.21.0

@ntraut I think this was introduced by #262

Yes it is always the same issue: async.forEach should be call with a limit in order to avoid too much pending file opérations and the callback should be called with process.nextTick.
I think the new issues are introduced because the new versions of async are less tolerant with call stack size limits.
Sorry, I didn't looked for all the calls of async.forEach and I cannot do this just now.


change funder to only be on a school and not a group

Looks good. After this is merged, can you do a PR for the second part (removing old fields, etc) and we'll merge/release that after this has gone to production


Update to support recently added resource id

Reviewer checklist

[ ] Ensure relevant issues are linked (description should include text like "Fixes #")
[ ] Ensure any appropriate documentation has been added or amended

Coverage remained the same at 99.517% when pulling 26834264fb342a91258173c8599bb8f2907235c5 on resource_id into 0a2deeb87e26becfa98676747c6d964a5f1993f0 on main.


Czech translation

Hi I made a complete redesign of translation script to be easy to maintain and general to translate effectively everything. On the other hand a I redesigned the translation dictionary to be semantically structured. At the moment to add new translation should be a piece of cake and work just within dictionary. On the other hand other languages needs update but good news is that the translation engine will not be broken. I hope you will like it :-)

Hi @mlynarp, thank you for this rewrite! The project started as something small and only in Brazilian Portuguese, but soon people started providing other translations and improvements and I started translating more areas of D&D Beyond UI, then yeah the translation script got large and messy, so really thank you for this rewrite, I liked the way things are with this refactor.
I'll be adapting the other translations to this new JSON format/structure and then I'll merge this PR ;)

I put there even more logic. Last commit tries the direct translation and if it doesnt work then parses string to logical substrings. Now you can translate by words only and not the whole label

Hi @mlynarp! Thanks, the new way is way better, it's translating a lot of things! I've merged your changes and adapted the other translations to accomplish with the new JSON format.
Also, I change a little your logic of translating the sidebar to avoid the need for an additional click (now it's translating automatically).
I'm just wondering if we could add the same translation logic of the sidebar for the metrics system (also, the metrics changing system is quite antiquated, since D&D Beyond is changing it every time in the interface, sadly).

I'm sending the new version to Chrome web store =D

Great, I was not aware of that trick to wait until is open. I noticed that I left one string in czech with number I will remove it. Btw. I use the metric conversion but locally I modified that to units called fathoms (braça in portugese I think). It is modified to 1.5m so that 30 feets are 6 fathoms and therefore divided by 2 and 3. Czech rules are done like that to have better division numbers. Meters are fine but bad for calculations.

Got it! Can you share with me the piece of code you're using to convert the metrics to fathoms?
I think we can implement a way of choosing the metrics system through the extension's interface.

For the moment very easily :-)
-const feetToMeters = (feet) => feet * 0.3;
+const feetToMeters = (feet) => feet * 0.2;
But if you can prepare some UI to provide units ratio and label would be great. Something like 1 feet = x unit where x and unit will be filled by user. Same can be done for pounds but here the kilogram would be clear choice.


Rustfix edition

Just ran cargo fix --edition for all crates.

LGTM, but it does make the older compilers fail. If we want to keep 1.26 support, this may need to be held off, unless there is some way to make them support Rust 2018.


Fix rename/move on IFS directories

Changes
Fixes #2103
How to test this PR
Examples:

Run the test cases
Expand view A and right click on the node
Run 'Execute Thing' from the command palette

Checklist

[x] have tested my change

Good idea to keep the behavior consistent between stream files and directories. Updated the PR.

@sebjulliand Danish translation is in...

@NicolasSchindler You changed the Danish translation file instead of the German translation file in commit 3fd6f90 - could you please fix this? 😉

@NicolasSchindler You changed the Danish translation file instead of the German translation file in commit 3fd6f90 - could you please fix this? 😉

This one's on me since @NicolasSchindler couldn't commit directly on this branch? I'll fix it!

The new directory is opened as a file, causing an error message:

@chrjorgensen Thanks for catching that issue. Fixed it -> 2ec6e40
FYI, also found another issue where the mv command would fail but no error was shown if for example you tried to move a file to a directory that does not exist. Fixed this as well -> 19552a5

@SanjulaGanepola Please update the 'How to test' in the PR.

@SanjulaGanepola 'Move/Rename...' works as expected. Do let me know if there is more than needs testing.

@SanjulaGanepola 'Move/Rename...' works as expected. Do let me know if there is more than needs testing.

Sorry for the late reply. I see this was already merged, but yes only "Move/Rename" needed to be tested on directories


Bitbucket Pipelines documentation

README link and guide for all supported, partial and un-supported properties that are supported by the CLI in translation to the corresponding Buildkite pipeline implementation.
Covers the main definitions downwards for the top level attributes:

clone
definitions
export
image
options
pipelines

Naturally - pipelines table being the biggest in terms of permissible/translatable config (steps, stages, parallel etc)!

@toote ready for a second pass - I've completely restructured the pipelines section - focusing on splitting out each starting condition and pipeline properties. Former has the available child-properties listed with links to that header/section inline 👍


Depend on ignition-utils1 cli component

🎉 New feature
Precursor to https://github.com/ignitionrobotics/ign-plugin/issues/54
Summary
This adds a dependency on the ignition-utils1::cli component that will be used to resolve #54. This also changes any includes of ignition/utilities/SuppressWarning.hh to ignition/utils/SuppressWarning.hh and changes the exported target dependency accordingly. This may impact downstream packages if they are using the ignition/utilities headers implicitly from this package. I'll monitor the nightly builds.
Test it
It should still compile like normal and pass all tests.
Checklist

[X] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[X] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[X] codecheck passed (See contributing)
[X] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge

This may impact downstream packages if they are using the ignition/utilities headers implicitly from this package. I'll monitor the nightly builds.

I don't think any downstream packages are using ign-plugin2, so this may not manifest just yet

updating ign-plugin windows builds to use colcon in https://github.com/ignition-tooling/release-tools/pull/495


[WIP] Add dot broadcast support

@TotalVerb Can I ask for your help again with this :) I think in this case it seems the most conservative approach to at first only allow broadcasting when all the sources are NamedTuples, i.e. not allow mixed NamedTuple and other container type style broadcasting. Did I achieve that with the below code?
I guess the other question is whether the use of _map is ok here... Ideally I would like the dot broadcasting syntax here to actually not broadcast, but work more like map.
@shashi Any opinions about that? You wrote the map code originally, so your input would be great.

Yeah, seems fine that broadcast acts as map. Matches behavior of broadcast on tuples in Base.

Yes, unless you want a more informative error.

That build error seems unrelated, i.e. it seems to fail to install julia itself on macos...

Bump, could we merge this? Cc @mdcfrancis

merged - will tag a release

Thanks!


Suggestions to improve recording framework exceptions

I was re-recording tests after rev'ing the default service version and adding it to the test class, and several tests failed. Most had the familiar "the test was re-recorded and should pass", but a few just said the records didn't match (in this case, only on the api-version). They weren't re-recorded. Turns out some service issues were actually returning an error so the framework didn't re-recorded. This behavior makes sense, but it would be nice if the error logged to test output said that instead of just the original "records didn't match" error. If possible, perhaps show both: if not the api-version mismatching, perhaps the original reason the records didn't match would be handy.

Turns out that the subsequent error is appended to the original message, but isn't obvious:
 ResolveSecretId
   Source: KeyResolverLiveTests.cs line 96
   Duration: 2.3 min

  Message:
Azure.Core.TestFramework.TestRecordingMismatchException : Unable to find a record for the request PUT https://heathskeyvault.vault.azure.net/secrets/48821599?api-version=7.4-preview.1
Uri doesn't match:
    request <https://heathskeyvault.vault.azure.net/secrets/48821599?api-version=7.4-preview.1>
    record  <https://heathskeyvault.vault.azure.net/secrets/48821599?api-version=7.3>
Header differences:
    <Authorization> is absent in request, value <Sanitized>
Body differences:

  Stack Trace:
CryptographyClientOptions.GetVersionString() line 85
KeyResolver.ctor(TokenCredential credential, CryptographyClientOptions options) line 56
KeyResolverLiveTests.GetResolver() line 33
KeyResolverLiveTests.get_Resolver() line 28
KeyResolverLiveTests.ResolveSecretId() line 116
GenericAdapter`1.BlockUntilCompleted()
NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter awaiter)
AsyncToSyncAdapter.Await(Func`1 invoke)
TestMethodCommand.RunTestMethod(TestExecutionContext context)
TestMethodCommand.Execute(TestExecutionContext context)
<>c__DisplayClass1_0.<Execute>b__0()
BeforeAndAfterTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext context, Action action)
The [RecordedTest] attribute attempted to re-record, but failed:
System.ArgumentException : 4

It's right after the stack trace. I tried changing the message, but seems adding more new lines doesn't help: it seems like they are canonicalized. I even added a "❌" character but it was recolored white (on a dark theme) so wasn't that noticeable. Perhaps we could prepend the subsequent error?

I noticed that in https://github.com/Azure/azure-sdk-for-net/blob/51da63d5b3953051a29adeb2b0523efb3109395f/sdk/core/Azure.Core.TestFramework/src/RecordedTestAttribute.cs#L80-L86, someone appended more formatting to the stack trace parameter instead of the message parameter. It wouldn't surprise me if NUnit was collapsing empty lines for stack trace, so the extra formatting needs to go onto the second parameter - the message parameter - not the third parameter for the stack trace.


Minor fixes to bindToSocket

Can you add a description as well.

Updated.  :+1: or :-1: ?

:-1: you still sleep for millis rather than remaining

:+1:


Add support of the Typescript to send-money page

Hi @SerDorosh
For context, wondering if there was any conversation to convert your implementation to TS?

Yes, I had.


Adds a series of tutorials for writing new particles

Good idea. I've numbered the tutorial folders now.


Install.py Error on Startup

A copy and paste of my comment on the recent commit changing Install.py (97bea0f). I can't properly install sd-dynamic-prompts, the repository is cloned properly by A1111 and through Git bash terminal, but the install file to download dependencies fails.
The end result is there's no dynamic prompts tab under either txt2img or img2img and nothing in the extension functions.

Tried updating from a previous version from two weeks ago and got this error.
Deleted the extension completely and reinstalled from A1111's menu, same error.
Error running install.py for extension C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts.
Command: "C:\AI\stable-diffusion-webui\venv\Scripts\python.exe" "C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\install.py", line 4, in <module>
    from dynamicprompts.utils import is_empty_line
ModuleNotFoundError: No module named 'dynamicprompts.utils'

Closing server running on port: 7860
Restarting UI...
Error calling: C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py/ui
Traceback (most recent call last):
  File "C:\AI\stable-diffusion-webui\modules\scripts.py", line 243, in wrap_call
    res = func(*args, **kwargs)
  File "C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py", line 120, in ui
    WILDCARD_DIR=wildcard_manager.path,
AttributeError: 'WildcardManager' object has no attribute 'path'

Error calling: C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py/ui
Traceback (most recent call last):
  File "C:\AI\stable-diffusion-webui\modules\scripts.py", line 243, in wrap_call
    res = func(*args, **kwargs)
  File "C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\scripts\dynamic_prompting.py", line 120, in ui
    WILDCARD_DIR=wildcard_manager.path,
AttributeError: 'WildcardManager' object has no attribute 'path'

Error executing callback ui_tabs_callback for C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\ui\wildcards_tab.py
Traceback (most recent call last):
  File "C:\AI\stable-diffusion-webui\modules\script_callbacks.py", line 106, in ui_tabs_callback
    res += c.callback() or []
  File "C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\ui\wildcards_tab.py", line 63, in on_ui_tabs

4. Optional - add your own wildcards files to the {wildcard_manager.path} folder

AttributeError: 'WildcardManager' object has no attribute 'path'

Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.

This occurs even after running the "python -m pip install dynamicprompts" suggested in the readme:
(venv) C:\AI\stable-diffusion-webui>python -m pip install dynamicprompts
Requirement already satisfied: dynamicprompts in c:\ai\stable-diffusion-webui\venv\lib\site-packages (0.3.0)
Collecting requests<3.0.0,>=2.28.1
  Using cached requests-2.28.2-py3-none-any.whl (62 kB)
Requirement already satisfied: tqdm<5.0.0,>=4.64.1 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from dynamicprompts) (4.64.1)
Requirement already satisfied: jinja2<4.0.0,>=3.1.2 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from dynamicprompts) (3.1.2)
Requirement already satisfied: pyparsing<4.0.0,>=3.0.9 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from dynamicprompts) (3.0.9)
Requirement already satisfied: MarkupSafe>=2.0 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from jinja2<4.0.0,>=3.1.2->dynamicprompts) (2.1.1)
Requirement already satisfied: idna<4,>=2.5 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from requests<3.0.0,>=2.28.1->dynamicprompts) (2.10)
Requirement already satisfied: certifi>=2017.4.17 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from requests<3.0.0,>=2.28.1->dynamicprompts) (2022.9.24)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from requests<3.0.0,>=2.28.1->dynamicprompts) (2.1.1)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from requests<3.0.0,>=2.28.1->dynamicprompts) (1.26.12)
Requirement already satisfied: colorama in c:\ai\stable-diffusion-webui\venv\lib\site-packages (from tqdm<5.0.0,>=4.64.1->dynamicprompts) (0.4.5)
Installing collected packages: requests
  Attempting uninstall: requests
    Found existing installation: requests 2.25.1
    Uninstalling requests-2.25.1:
      Successfully uninstalled requests-2.25.1
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
clean-fid 0.1.29 requires requests==2.25.1, but you have requests 2.28.2 which is incompatible.
Successfully installed requests-2.28.2

[notice] A new release of pip available: 22.2.1 -> 22.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip

(venv) C:\AI\stable-diffusion-webui>webui-user.bat

(venv) C:\AI\stable-diffusion-webui>git pull https://github.com/AUTOMATIC1111/stable-diffusion-webui
From https://github.com/AUTOMATIC1111/stable-diffusion-webui
 * branch            HEAD       -> FETCH_HEAD
Already up to date.
venv "C:\AI\stable-diffusion-webui\venv\Scripts\Python.exe"
Python 3.10.6 (tags/v3.10.6:9c7b4bd, Aug  1 2022, 21:53:49) [MSC v.1932 64 bit (AMD64)]
Commit hash: 7a14c8ab45da8a681792a6331d48a88dd684a0a9
Installing requirements for Web UI
Error running install.py for extension extensions\sd-dynamic-prompts.
Command: "C:\AI\stable-diffusion-webui\venv\Scripts\python.exe" "extensions\sd-dynamic-prompts\install.py"
Error code: 1
stdout: <empty>
stderr: Traceback (most recent call last):
  File "C:\AI\stable-diffusion-webui\extensions\sd-dynamic-prompts\install.py", line 4, in <module>
    from dynamicprompts.utils import is_empty_line
ModuleNotFoundError: No module named 'dynamicprompts.utils'

I'm having the same issue. Was working fine yesterday.
Error loading script: dynamic_prompting.py
Traceback (most recent call last):
  File "/content/stable-diffusion-webui/modules/scripts.py", line 195, in load_scripts
    module = script_loading.load_module(scriptfile.path)
  File "/content/stable-diffusion-webui/modules/script_loading.py", line 13, in load_module
    exec(compiled, module.__dict__)
  File "/content/stable-diffusion-webui/extensions/sd-dynamic-prompts/scripts/dynamic_prompting.py", line 10, in <module>
    from dynamicprompts.generators.promptgenerator import GeneratorException
ModuleNotFoundError: No module named 'dynamicprompts'

Could you please try the latest version of DP - I just push a change that should fix the problem.

Dupe of #209

Works now :]


Fixing use of Span/Utf8String in tests

Re-enabling tests that were disabled during migration to net core 2.0 here: https://github.com/dotnet/corefxlab/pull/1401

Utf8String cannot be used as a generic in Nullable<T>.
Cannot use Utf8String as a static.
Cannot box Utf8String by calling GetType on it.
Cannot use Span or Utf8String as a static + removing a duplicate test.
Cannot cast Utf8String as an object.
Removing tests (commenting out) around JsonDynamicObject and HttpHeadersSingleSegment.

Opened issues to address change requests to these types since they need to be redesigned.

JsonDynamicObject / JsonLazyDynamicObject - #1434
HttpHeadersSingleSegment - #1435
Utf8String CodePointReverseEnumerator / CodePointEnumerator / CodePointEnumerable - #1235

cc @shiftylogic, @KrzysztofCwalina

@dotnet-bot test this please


Inconsistent raw frames when sending a custom text frame with an empty body

Description:
I'm experiencing an issue where sending a custom frame with an empty body using the python-websockets library results in inconsistent raw frames. Each time I send an empty text frame, the raw frame data differs. I expected the raw frame data to be consistent since the payload is empty.
Steps to Reproduce:

Connect to the WebSocket server at wss://echo.websocket.org.
Send an empty text frame every x seconds.
Observe the differences in the raw frames each time a new frame is sent.

Code to Reproduce:
import websocket
import threading
import time
from websocket import WebSocketApp

def on_message(ws: WebSocketApp, message):
    pass

def on_error(ws: WebSocketApp, error):
    pass

def on_close(ws: WebSocketApp, close_status_code, close_msg):
    pass

def on_open(ws: WebSocketApp):
    def run(*args):
        while True:
            ws.send('')  # Send an empty text frame
            time.sleep(5)

    # Start the sending thread
    threading.Thread(target=run).start()

if __name__ == "__main__":
    websocket.enableTrace(True)
    ws = WebSocketApp("wss://echo.websocket.org",
                      on_message=on_message,
                      on_error=on_error,
                      on_close=on_close,
                      on_open=on_open)

    ws.run_forever()

Actual Result:
Here is the output I'm observing when running the above code:
++Sent raw: b'\x81\x80(\xc1\xc0\xd3'
++Rcv raw: b'\x81\x01o'
++Sent decoded: fin=1 opcode=1 data=b''
++Rcv decoded: fin=1 opcode=1 data=b'o'
++Sent raw: b'\x81\x807\xa60\xb9'
++Sent decoded: fin=1 opcode=1 data=b''
++Sent raw: b'\x88\x82\xf1\xc3\x8bY\xf2+'
++Sent decoded: fin=1 opcode=8 data=b'\x03\xe8'
++Sent raw: b'\x81\x800Dy\xe1'
++Sent decoded: fin=1 opcode=1 data=b''

Expected Result:
The raw frames should be identical each time, as the payload is empty. However, the raw frames appear to differ with each frame sent.
I'm not sure if this behavior is intended or if there's something I'm missing. Any guidance or explanation would be appreciated.

Your code is for websocket-client, a project unrelated to websockets.

I expected the raw frame data to be consistent since the payload is empty.

I apologize, that was embarrassing. Thank you

No worries!


Freshness Tokens docs: fresh=False

In https://indominusbyte.github.io/fastapi-jwt-auth/usage/freshness/
def refresh():
    new_access_token = Authorize.create_access_token(subject=current_user,fresh=False)

fresh=False. Took me a while to figure out on localhost why it was giving me the "Fresh token required" error. Switching this to True got me good.

Also, took me a long while to figure out that you retrofit Authorization: Bearer ${refresh_token} for /refresh. I thought it was something you pass in as axios({data: {refresh_token}}) per Auth0's docs. It could be I'm so newb it's not worth adding to the docs, but in case it could help future users it might be worth adding a note about that in https://indominusbyte.github.io/fastapi-jwt-auth/usage/refresh/

In https://indominusbyte.github.io/fastapi-jwt-auth/usage/freshness/
def refresh():
    new_access_token = Authorize.create_access_token(subject=current_user,fresh=False)

fresh=False. Took me a while to figure out on localhost why it was giving me the "Fresh token required" error. Switching this to True got me good. I'm a total JWT newb, and still wrapping my mind around it, so maybe it's user-error on my part?

it's correct set the access token to be false because when you refresh the token you generate a new access token without validating that user. fresh_jwt_required() only fresh token can access it and for the non-fresh token can access endpoint who protected by jwt_required()

Also, took me a long while to figure out that you retrofit Authorization: Bearer ${token} for /refresh, replacing access_token with refresh_token. I thought it was something you pass in as axios({data: {refresh_token}}) per Auth0's docs. It could be I'm so newb it's not worth adding to the docs, but in case it could help future users it might be worth adding a note about that in https://indominusbyte.github.io/fastapi-jwt-auth/usage/refresh/

great thanks for your suggestion I will add a note in the docs later thank you 😄 🙏

Oh I see, the freshness pattern isn't part of the refresh-token pattern. It's for more critical short-access routes like deleting account, etc. Just read through the docs again and makes much more sense. Thanks!


remove greetings due to security issue

Resolving greetings test failure here:
https://github.com/containerd/cri/pull/1455
See https://github.com/actions/first-interaction/issues/10
removing for now might bring it back in at some point but isn't useable as is.
Signed-off-by: Mike Brown<EMAIL_ADDRESS>

LGTM


connectting to a specific path

I am reading the tutorial on how to use it.
After reading it I have been left wondering
https://websockets.readthedocs.io/en/stable/intro.html
how can I create a WebSocket on a specific path say /sub/hi
Thanks in advance for the response

Does this answer your question?
async def hello(websocket, path):
    if path == '/sub/hi':
        do_stuff()
    else:
        do_other_stuff()

See also #311.
If not, can you clarify the question?

thanks for your response, what you have mentioned is the code client side,
I am looking for the code server-side that expose the service

My answer is for the server side.
You receive the path in the second argument to the connection handler.


Uniform use of pronoun "tu" instead of "usted" (es-MX)

Uniform use of pronoun "tu" instead of "usted". The use was mixed in the translation, I think is better to be consistent.
It may be better to use "usted" since it is a more formal or respectful form of speech in Mexico, which would be proper for corporate sites.

Thanks for this. It appears to have merge conflicts, can you fix them?

For changes like this, it may be better to confer with other contributors before going ahead with it. (I realize it may be difficult to figure out who they are.) I am very much in favour of consistency, but I'd don't now enough about the Spanish language nor the Mexican culture to offer an opinion on formal vs. informal pronouns.
I'm closing this as there are merge conflicts. If it's still a good thing to do, please contribute the changes on Localeapp or create a new PR. Thanks!


Add change streams support

https://docs.mongodb.com/manual/changeStreams/

Oops I used the wrong base branch. Sorry :/.


[GHSA-cmhx-cq75-c4mj] Regular Expression Denial of Service (ReDoS)

Updates

Affected products
Severity

Affected versions shows >= 4.3.0, < 4.3.1 which are in conflict with eachother. I'm assuming


HighLevelConsumer can fetch messages from 0 offset if resume called before rebalancing complete

Hello, in our project we experienced problem when one of our consumers reconsumed all topic messages from 0 offset.
After digging in logs I've found that it happened immediately after one of rebalances (before that moment rebalances happened periodically and everything worked fine, offsets were ok).
I found that rebalanced event is emitting before topicPayloads set to real offsets (newTopicPayloads have 0 offset before fetchOffset completed) https://github.com/SOHU-Co/kafka-node/blob/master/lib/highLevelConsumer.js#L109
So, if pause consumer from outside and rebalancing happens and then consumer.resume() called before fetchOffset completed, fetch will be called with current topicPayloads that will have 0 offset for that moment and messages will be reconsumed
https://github.com/SOHU-Co/kafka-node/blob/master/lib/highLevelConsumer.js#L593
https://github.com/SOHU-Co/kafka-node/blob/master/lib/highLevelConsumer.js#L485
Am I missing something or is it a real issue?

I have written a job manager which help manage offsets and commit only when the client has completed processing of a message - see https://www.npmjs.com/package/kafka-node-manager.
Managing committing of offsets is a real pain and quite thorny.  Hopefully that job manager package will help you.

Having the same problem and it generally happens when lag size is zero.

Please fix this.

Have exact same problem.  Trying jezzalaycock's job manager.

@hyperlink I think this can be closed as it should be fixed with #402


Set Ollama as the default

In future, we will likely set OCI as the default again (with Ollama as a fallback) so Ollama users won't notice a breakage.
OCI as a default today isn't very useful, we haven't built up a catalog of models as OCI artefacts yet.

@rhatdan if you don't want to merge this I understand

Longer-term, definately want to make it fallback to Ollama if OCI fails

LGTM


minOpacity is actually minValue

See attached screenshot, of simpleheat demo, with minOpacity set to 1

PR adds an opacity slider to the demo - it's more correct in some sense, but it's not actually prettier, so the right fix might be just to rename minOpacity

@tristangbn deployed a npm package with a fix https://www.npmjs.com/package/simpleheat-gradient-opacity.
In his package, the opacity depends on the colors in the gradient option. To have transparent data up to 0.4, you can use a gradient like the one below:
heat.gradient({
    0.4: 'transparent',
    0.65: 'lime',
    1: 'red'
})

Hi! Is it possible to take a look at @tristangbn work?


[Internal] [Feature] Add Table2asn to Container

What is the Feature Related To? Please Provide a Description.
Create a bash shell script that can be executed by the user to pull latest version of table2asn and change permissions for it to be accessible.
Add to README.md that this option exists for users.
Put more information on the different formatting options/args (already located within submission config) for table2asn command (potentially make certain arguments dynamic, for example, if more than one .fasta file is passed in, etc.).
Place an :x: in a Box that Best Matches the Feature's Importance:

[] 1 - Most important (absolutely integral and will not use codebase at all without it)
[X] 2-4 - Moderate (still using codebase for other functions but is serving as a blocker for future use-cases)
[] 5 - Least important (would like to see but there are no stringent expectations nor urgency for current/future use-cases)

Any Additional Context or Information? Has There Been Any Progress Made So Far Towards this Request? Any Helpful Resources to Reference? Screenshots or Links?
N/A

Can also see if we can split this to a separate process and use the table2asn container

Included in SeqSender code now.


How can I call send mail function via HTTP call

How can I call send mail function via HTTP call.

@ashishparmar, Please ask this question on Stack Overflow.


Conflict with dart:mirrors lib

When i added in project any version of openpgp i have error of include dart:mirrors library

Sorry. dont seeing that you lib not support dart sdk. Closing.


/Doc Assets/Proxy/Samples/SampleClientCert.pfx password?

Hi - trying to install the sample cert for MDCA cert validation.  My android device is asking for a password in order to install the cert.  Is there one?  Perhaps I'm attempting to install the cert incorrectly?
Thanks,
Graham

After talking to a MS support engineer, I've learned it's "Microsoft".  It might be useful to put this in the comments for file SampleClientCert.pfx