Proxy doesn't respect peer-auto-tls or auto-tls

I've got a 3-node cluster running with --auto-tls and --peer-auto-tls, but my proxies configured with --auto-tls and --peer-auto-tls are still trying to validate the cluster's certs.
Environment
Host OS: Container Linux by CoreOS 1353.7.0
Etcd version: 3.1.7
Cloud: AWS
Peer Setup

coreos:
  units:
    - name: etcd3-peers.service
      command: start
      content: |
          [Unit]
          Description=Write a file with the etcd peers that we should bootstrap to\n",
          Requires=docker.socket
          After=docker.socket
          [Service]
          Restart=on-failure
          RestartSec=10
          ExecStartPre=-/usr/bin/systemctl stop etcd-member
          ExecStartPre=/usr/bin/docker pull monsantoco/etcd-aws-cluster:latest
          ExecStartPre=/usr/bin/docker run \
              --rm=true \
              --net host \
              -v /etc/sysconfig/:/etc/sysconfig/ \
              -e ETCD_CLIENT_SCHEME=https \
              -e ETCD_PEER_SCHEME=https \
              -e PROXY_ASG=${etcd_asg_name} \
              monsantoco/etcd-aws-cluster:latest
          ExecStart=/usr/bin/systemctl start etcd-member.service
    - name: etcd-member.service
      command: stop
      enable: true
      drop-ins:
        - name: 10-etcd-member.conf
          content: |
            [Service]
            EnvironmentFile=/etc/sysconfig/etcd-peers
            Environment="ETCD_IMAGE_TAG=v3.1.7"
            Environment="ETCD_INITIAL_ADVERTISE_PEER_URLS=https://$private_ipv4:2380"
            Environment="ETCD_LISTEN_PEER_URLS=https://$private_ipv4:2380"
            Environment="ETCD_ADVERTISE_CLIENT_URLS=https://$private_ipv4:2379,https://<IP_ADDRESS>:2379"
            Environment="ETCD_LISTEN_CLIENT_URLS=https://$private_ipv4:2379,https://<IP_ADDRESS>:2379"
            Environment="ETCD_PEER_AUTO_TLS=true"
            Environment="ETCD_AUTO_TLS=true"
            Environment="ETCD_DATA_DIR=/opt/etcd/data"
            Environment="ETCD_PROXY=on"
            EnvironmentFile=/etc/sysconfig/etcd-peers
            ExecStartPre=/usr/bin/mkdir -p /opt/etcd/data
            ExecStartPre=/usr/bin/chown -R etcd:etcd /opt/etcd/data

/etc/sysconfig/etcd-peers
ETCD_INITIAL_CLUSTER_STATE=new
ETCD_NAME=i-055cc1e60a4435bda
ETCD_INITIAL_CLUSTER="i-0a54cf28ed2ad93d6=https://<IP_ADDRESS>:2380,i-0535ae47f59b26423=https://<IP_ADDRESS>:2380,i-0eb2c20a097c0367e=https://<IP_ADDRESS>:2380"

Logs
etcd-wrapper[2208]: 2017-05-15 19:14:33.433485 I | pkg/flags: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379
etcd-wrapper[2208]: 2017-05-15 19:14:33.433562 I | pkg/flags: recognized and used environment variable ETCD_AUTO_TLS=true
etcd-wrapper[2208]: 2017-05-15 19:14:33.433585 I | pkg/flags: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd
etcd-wrapper[2208]: 2017-05-15 19:14:33.433612 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=https://<IP_ADDRESS>:2380
etcd-wrapper[2208]: 2017-05-15 19:14:33.433622 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_CLUSTER=i-0a54cf28ed2ad93d6=https://<IP_ADDRESS>:2380,i-0535ae47f59b26423=https://<IP_ADDRESS>:2380,i-0eb2c20a097c0367e=https://<IP_ADDRESS>:2380
etcd-wrapper[2208]: 2017-05-15 19:14:33.433636 I | pkg/flags: recognized and used environment variable ETCD_INITIAL_CLUSTER_STATE=new
etcd-wrapper[2208]: 2017-05-15 19:14:33.433659 I | pkg/flags: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=https://<IP_ADDRESS>:2379,https://<IP_ADDRESS>:2379
etcd-wrapper[2208]: 2017-05-15 19:14:33.433673 I | pkg/flags: recognized and used environment variable ETCD_LISTEN_PEER_URLS=https://<IP_ADDRESS>:2380
etcd-wrapper[2208]: 2017-05-15 19:14:33.433693 I | pkg/flags: recognized and used environment variable ETCD_NAME=i-055cc1e60a4435bda
etcd-wrapper[2208]: 2017-05-15 19:14:33.433702 I | pkg/flags: recognized and used environment variable ETCD_PEER_AUTO_TLS=true
etcd-wrapper[2208]: 2017-05-15 19:14:33.433721 I | pkg/flags: recognized and used environment variable ETCD_PROXY=on
etcd-wrapper[2208]: 2017-05-15 19:14:33.433759 W | pkg/flags: unrecognized environment variable ETCD_USER=etcd
etcd-wrapper[2208]: 2017-05-15 19:14:33.433768 W | pkg/flags: unrecognized environment variable ETCD_IMAGE_TAG=v3.1.7
etcd-wrapper[2208]: 2017-05-15 19:14:33.433794 I | etcdmain: etcd Version: 3.1.7
etcd-wrapper[2208]: 2017-05-15 19:14:33.433801 I | etcdmain: Git SHA: 43b7507
etcd-wrapper[2208]: 2017-05-15 19:14:33.433806 I | etcdmain: Go Version: go1.7.5
etcd-wrapper[2208]: 2017-05-15 19:14:33.433811 I | etcdmain: Go OS/Arch: linux/amd64
etcd-wrapper[2208]: 2017-05-15 19:14:33.433817 I | etcdmain: setting maximum number of CPUs to 2, total number of available CPUs is 2
etcd-wrapper[2208]: 2017-05-15 19:14:33.433873 N | etcdmain: proxy: this proxy supports v2 API only!
etcd-wrapper[2208]: 2017-05-15 19:14:33.433932 I | etcdmain: proxy: using peer urls [https://<IP_ADDRESS>:2380 https://<IP_ADDRESS>:2380 https://<IP_ADDRESS>:2380]
etcd-wrapper[2208]: 2017-05-15 19:14:33.468377 W | etcdserver: could not get cluster response from https://<IP_ADDRESS>:2380: Get https://<IP_ADDRESS>:2380/members: x509: certificate signed by unknown authority
etcd-wrapper[2208]: 2017-05-15 19:14:33.483373 W | etcdserver: could not get cluster response from https://<IP_ADDRESS>:2380: Get https://<IP_ADDRESS>:2380/members: x509: certificate signed by unknown authority
etcd-wrapper[2208]: 2017-05-15 19:14:33.498446 W | etcdserver: could not get cluster response from https://<IP_ADDRESS>:2380: Get https://<IP_ADDRESS>:2380/members: x509: certificate signed by unknown authority
etcd-wrapper[2208]: 2017-05-15 19:14:33.498640 W | etcdmain: proxy: could not retrieve cluster information from the given urls
etcd-wrapper[2208]: 2017-05-15 19:14:33.498715 C | etcdmain: cannot listen on TLS for https://<IP_ADDRESS>:2379: KeyFile and CertFile are not presented
systemd[1]: etcd-member.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: Failed to start etcd (System Application Container).
systemd[1]: etcd-member.service: Unit entered failed state.
systemctl[2167]: Job for etcd-member.service failed because the control process exited with error code.
systemctl[2167]: See "systemctl  status etcd-member.service" and "journalctl  -xe" for details.
systemd[1]: etcd-member.service: Failed with result 'exit-code'.
systemd[1]: etcd3-peers.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: etcd3-peers.service: Unit entered failed state.
systemd[1]: etcd3-peers.service: Failed with result 'exit-code'.

Curl response (from the proxy)
$ curl -s https://<IP_ADDRESS>:2380/members -k | jq
[
  {
    "id":<PHONE_NUMBER>3585325000,
    "peerURLs": [
      "https://<IP_ADDRESS>:2380"
    ],
    "name": "i-0535ae47f59b26423",
    "clientURLs": [
      "https://<IP_ADDRESS>:2379",
      "https://<IP_ADDRESS>:2379"
    ]
  },
  {
    "id":<PHONE_NUMBER>5652122000,
    "peerURLs": [
      "https://<IP_ADDRESS>:2380"
    ],
    "name": "i-0a54cf28ed2ad93d6",
    "clientURLs": [
      "https://<IP_ADDRESS>:2379",
      "https://<IP_ADDRESS>:2379"
    ]
  },
  {
    "id":<PHONE_NUMBER>8802352000,
    "peerURLs": [
      "https://<IP_ADDRESS>:2380"
    ],
    "name": "i-0eb2c20a097c0367e",
    "clientURLs": [
      "https://<IP_ADDRESS>:2379",
      "https://<IP_ADDRESS>:2379"
    ]
  }
]

It looks to me like part of the problem is in the proxy listener: https://github.com/coreos/etcd/blob/release-3.1/etcdmain/etcd.go#L312-L318.
I'd like to take a stab at this, should I make a branch off of the release-3.1 branch?

but my proxies configured with --auto-tls and --peer-auto-tls are still trying to validate the cluster's certs.

This is expected? v2 proxy just forwards request to cluster. And if the cluster enabled client TLS, v2 proxy would require the certs of the cluster, to boot.

etcdmain: cannot listen on TLS for https://<IP_ADDRESS>:2379: KeyFile and CertFile are not presented

Auto TLS was added in v3, and the httpproxy is from v2, so seems like we are missing documentation on this.
Try starting the proxy process with cluster's peer certs?
Auto TLS just auto generates but does not do any auto configuration.

OK, maybe my understanding is off.
I've got a 3-node cluster with auto-tls and peer-auto-tls, so I don't have certs I can hand over to my proxies.
It seems to me like there are two issues:

A proxy started with --peer-auto-tls should be able to make requests to the masters and not worry about the certificates.

A proxy started with --auto-tls should generate its own certs, which its clearly not doing:
etcdmain: cannot listen on TLS for https://<IP_ADDRESS>:2379: KeyFile and CertFile are not presented

It sounds like the proxy is v2 only, and I'm guessing that v2 requests cannot be upgraded to v3, so the above points are moot?
Is there any plan for a v3 proxy? Or do v3 clients have to talk to the master?

I think this needs something like --insecure-skip-verify-tls if passing in --auto-tls to the proxy?

@heyitsanthony Agree.

@micahhausler would you like to send a pr to get this fixed?

@xiang90 Yea, based on the previous comment I understood that it was expected behavior. I'd be happy to make v2 requests respect a --insecure-skip-verify-tls with --auto-tls.

Hey I'm having similar problems..
I'm currently just trying to run a simple single-node cluster with one proxy as a POC.
I need the traffic between the proxy and server to be encrypted but not between the client and the proxy.
Cluster configuration:
#!/usr/bin/env bash

THIS_IP="$1"
THIS_NAME=infra-${THIS_IP}
grab this token
TOKEN=token-02
CLUSTER_STATE=new
etcd --data-dir=data.etcd --name ${THIS_NAME}
--auto-tls --peer-auto-tls
--initial-advertise-peer-urls https://${THIS_IP}:2380 --listen-peer-urls https://${THIS_IP}:2380
--advertise-client-urls https://${THIS_IP}:2379 --listen-client-urls https://${THIS_IP}:2379
--discovery https://discovery.etcd.io/48f750c4f2254d71e7726b45abef4379
--initial-cluster-state ${CLUSTER_STATE} --initial-cluster-token ${TOKEN}
Proxy Configuration:
etcd --proxy on
--listen-client-urls http://<IP_ADDRESS>:2379
--peer-auto-tls
--discovery https://discovery.etcd.io/48f750c4f2254d71e7726b45abef4379 \
Trying to run a simple etcdctl command results in the following error:
ETCDCTL_API=2 ./etcdctl member list
2018-02-04 09:52:57.871465 I | proxy/httpproxy: failed to direct request to https://<IP_ADDRESS>:2379: x509: certificate signed by unknown authority
2018-02-04 09:52:57.871492 I | proxy/httpproxy: marked endpoint https://<IP_ADDRESS>:2379 unavailable
2018-02-04 09:52:57.871513 I | proxy/httpproxy: unable to get response from 1 endpoint(s)
2018-02-04 09:52:57.872778 I | proxy/httpproxy: zero endpoints currently available
client: etcd cluster is unavailable or misconfigured; error #0: dial tcp <IP_ADDRESS>:4001: getsockopt: connection refused
; error #1: client: etcd member http://<IP_ADDRESS>:2379 has no leader


Bug: hetzner cloud deployment issue

Current Behaviour
any form of kubernetes deployment on hetzner cloud fails with following
module=kube-eleven
2024-03-06T11:53:17Z WRN Error encountered while executing kubeone apply -m kubeone.yaml -y --log-format json : exit status 10 module=kube-eleven
2024-03-06T11:53:17Z INF Next retry in 10s... module=kube-eleven
2024-03-06T11:53:27Z WRN Retrying command kubeone apply -m kubeone.yaml -y --log-format json... (1/2) module=kube-eleven
yaml used to deploy
apiVersion: claudie.io/v1beta1
kind: InputManifest
metadata:
  name: kubernetes-hetzner
spec:
  providers:
      - name: hetzner-secret
        providerType: hetzner
        secretRef:
          name: hetzner-secret
          namespace: default
  nodePools:
    dynamic:
      - name: control-hetzner-1
        providerSpec:
          name: hetzner-secret
          region: fsn1
          zone: fsn1-dc14
        count: 1
        serverType: cpx21
        image: ubuntu-22.04

      - name: compute-hetzner-1
        providerSpec:
          name: hetzner-secret
          region: fsn1
          zone: fsn1-dc14
        count: 1
        serverType: cpx21
        image: ubuntu-22.04
        storageDiskSize: 50
  kubernetes:
    clusters:
      - name: hetzner-cluster
        version: v1.24.0
        network: <IP_ADDRESS>/24
        pools:
          control:
            - control-hetzner-1
          compute:
            - compute-hetzner-1

I have tried different number of computes different number of control nodes, different operating systems, different kuberentes versions but all have same ending cluster doesn't inicialize, every fails inside kube-eleven deployment. VMs on hetzner cloud are created properly alongside with default firewall rules.

Hi, this issue should most likely be fixed with the latest release https://github.com/berops/claudie/releases/tag/v0.7.1
Note that kubernetes version 1.24.x is no longer supported and you should use 1.25.x and above

Thank you this solved it. I didn't dig in deeper to notice it was related to urls


Audio Playback disabled when loaded in background

When opening the demo page in a background tab, audio playback is disabled with the following console message:
index.js:7 An AudioContext must be created or resumed after the document received a user gesture to enable audio playback
Reloading the page and keeping it active in the foreground till loaded, 'fixes' the issue.

I wonder if this commit might help. Can you try again (after doing a "hard" refresh)?

Tried it again, after doing both a hard refresh, and in a fresh incognito tab, but the issue unfortunately still persists.

For completeness sake, I'm testing this on:

Windows 10, 64-bits
Google Chrome Canary, Version 66.0.3343.2 (Official Build) canary (64-bit)

Okay. I think this was solved here https://github.com/captbaritone/winamp2-js/commit/95221727d73eb5a75db6535594eefa4156308448. Could someone give it a try and see if the issue has been resolved?

Yup! Thank seems to have fixed the issue. Thanks!


Where do i get an injector?

What and where injector do I use?

https://processhacker.sourceforge.io/


Mesh: Fix convertToUnindexedMesh when stride is not equal to size

See https://forum.babylonjs.com/t/converttounindexedmesh-bug-when-vertexbuffer-type-is-not-float/50503

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

WebGL2 visualization test reporter:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15096/merge/testResults/webgl2playwright/index.html

Visualization tests for WebGPU (Experimental)
Important - these might fail sporadically. This is an optional test.
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/15096/merge/testResults/webgpuplaywright/index.html


Devicelab tasks failing, AuthenticatedClientError uploading metrics

Seem this is happening again (https://github.com/flutter/flutter/issues/78841)
AuthenticatedClientError:
  URI: https://flutter-dashboard.appspot.com/api/update-task-status
  HTTP Status: 500
  Response body:
Expected to find 1 task for Mac_android fast_scroll_large_images__memory, but found 2

/cc @CaseyHillers

Marking as P0 as this is blocking the tree.

@keyonghan do you think we can move the refresh-github-commits endpoint from a 15 minute cron job to run it at midnight PST every day instead?
This is a race condition as we have both ways to trigger commits

Do we have a sense of how many are triggered by refresh -github-commits?
Before that, shall we remove those duplicate ones to reopen the tree?

We should be safe to move to the webhook scheduler - https://pantheon.corp.google.com/logs/query;query= via GitHub webhook;timeRange=P7D;cursorTimestamp=2021-03-30T21:19:04.372Z?serviceId=default&project=flutter-dashboard
I can send the PRs to move refresh-github-commits to a slower cron method that backfills older commits (over an hour old)

Thanks.
At the same time, submitted an empty PR to trigger builds: https://github.com/flutter/flutter/pull/79411

The empty PR unblocked the tree, and we have removed the extra cron job scheduling to prevent this race condition from happening in the future


Add compatibility with Raspberry Pi and a potential issue

Hi there,
I have been using your product and I think it's great! However, I noticed that it's not compatible with Raspberry Pi 4 out of the box. In order to make it work with Raspberry Pi 4, I had to make a few modifications to the source code which I've included below:
diff .venv/tiktok-uploader/lib/python3.9/site-packages/tiktok_uploader/ src/tiktok_uploader/
diff .venv/tiktok-uploader/lib/python3.9/site-packages/tiktok_uploader/browsers.
py src/tiktok_uploader/browsers.py
177c177
<     'chrome': lambda : ChromeService('/usr/bin/chromedriver'),
---
>     'chrome': lambda : ChromeService(ChromeDriverManager().install()),
Only in .venv/tiktok-uploader/lib/python3.9/site-packages/tiktok_uploader/: __py                                                                                cache__

I hope this will be useful for other Raspberry Pi users who would like to use your product. However, I also want to note that in my experience, there is a potential issue with the Raspberry Pi freezing while attempting to upload the video. This has happened to me a few times while using your product on my Raspberry Pi. I'm not sure if this is related to the modifications I made or if it's a separate issue, but I wanted to bring it to your attention nonetheless.
Please let me know if you have any questions or if there's anything else I can do to help. Thank you for your time and consideration.
I have to keep investigating and maybe go for a more lightweight solution

Hey, this was actually a point of consideration with the API design. I tried to make the browser settings flexible to not cause browser lock. Raspberry Pis were definitely not something that I was considering for making this project. For that reason, there is the option to pass a custom browser_agent to upload_video or upload_videos.
When getting the browser's driver, I decided to base the library's default solution around webdriver_manager which is supported by Selenium. This really helps remove the pain of installing and keeping track of webdriver versions, greatly increasing portability.
However, to keep flexibility high, I gave the option to pass a custom browser-agent which bypasses browsers.py completely. You can also pass custom driver options if you wanted to tweak settings to make the library less detectable for example.
Thank you for your concern though, and I will try and think about how I can make that more clear in the documentation.


This module is making Caddy Consume around 4.8GB of Memory

Hello, I am opening this issue after having a lot of problems recently with rate-limiting using this module on Caddy.
The main problem that I am having is a spike in memory usage of caddy. To replicate the issue, consider the below:
1- I am using Caddy version 2.7.6-alpine (Docker Image) Which I am building using the below Dockerfile.
FROM caddy:2.7.6-builder-alpine AS builder

RUN xcaddy build --with github.com/mholt/caddy-ratelimit

FROM caddy:2.7.6-alpine

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

I am using this image in a docker-compose setup:

caddy:
    image: ghcr.io/myrepo/my-caddy-build:latest
    container_name: caddy-reverse-proxy
    restart: unless-stopped
    networks:
      - giveth
    ports:
      - 80:80
      - 443:443
    env_file:
      - ../.env
    environment:
      MY_APP_URL: ${MY_APP_URL:-}
      RESTRICTED_PATHS: ${RESTRICTED_PATHS:-}
      IP_WHITELIST: ${IP_WHITELIST:-}
      WHITELIST_RATE_EVENTS: ${IG_WHITELIST_RATE_EVENTS:-}
      WHITELIST_RATE_INTERVAL: ${IG_WHITELIST_RATE_INTERVAL:-}
      PUBLIC_RATE_EVENTS: ${IG_PUBLIC_RATE_EVENTS:-}
      PUBLIC_RATE_INTERVAL: ${IG_PUBLIC_RATE_INTERVAL:-}
      DOMAIN_WHITELIST: ${DOMAIN_WHITELIST:-}
    volumes:
      - caddy_data:/data
      - caddy_config:/config
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ../logs/caddy:/usr/src/app/
    depends_on:
      - postgres

My comprehensive Caddyfile config is the below:

# Global Options
{
	order rate_limit before basicauth
	log global {
		output file /usr/src/app/global.log
		format json
		level debug
	}
}

# CORS Config Block Directive
(cors) {
    @cors_preflight {
        method OPTIONS
    }
    @corsOrigin {
        header_regexp Origin ^https?://([a-zA-Z0-9-]+\.)*vercel\.app$|^https?://localhost(:[0-9]+)?$|^https?://({$DOMAIN_WHITELIST})$
    }

    handle @cors_preflight {
        header {
            Access-Control-Allow-Origin "{http.request.header.Origin}"
            Access-Control-Allow-Credentials true
            Access-Control-Allow-Headers "*"
            Access-Control-Allow-Methods "GET, POST, PUT, PATCH, DELETE"
            Access-Control-Max-Age "3600"
            Vary Origin
            defer
        }
        respond "" 204
    }

    handle @corsOrigin {
        header {
            Access-Control-Allow-Origin "{http.request.header.Origin}"
            Access-Control-Allow-Credentials true
            Access-Control-Expose-Headers "*"
            Vary Origin
            defer
        }
    }
}

#--------------------------------------------------------------------------
# My App site block
#--------------------------------------------------------------------------
{$APP_URL} {
    # Call the cors for whitelisted domains
    import cors

    # Configure Logging
    log {
        output file /usr/src/app/access.log
        format json
    }

    # Identify Config Keys for accesses
	@privateIPAccess remote_ip {$IP_WHITELIST} # Whitelisted IP Addresses
	@publicIPAccess not remote_ip {$IP_WHITELIST} # Unwhitelisted IP Addresses
	@restrictedPaths path {$RESTRICTED_PATHS} # Restricted Paths
	@unRestrictedPaths not path {$RESTRICTED_PATHS} # Unrestricted Paths

    # Handling Restricted Paths Routes
	route @restrictedPaths {
	  respond @publicIPAccess 403
	  reverse_proxy my-app:3000 {
        transport http {
            response_header_timeout 300s
            dial_timeout 300s
        }
      }
	}

    # Handling Unrestricted Paths Route
	route @unRestrictedPaths {
        reverse_proxy my-app:3000 {
            transport http {
                response_header_timeout 300s
                dial_timeout 300s
            }
        }
        rate_limit @privateIPAccess {
            zone myzone {
                key    {remote_host}
                events 300
                window 1m
            }
            sweep_interval 1m
        }
	}

	# Apply Global rate limiting to all public Requests
	rate_limit @publicIPAccess {
        zone myzone {
            key    {remote_host}
            events 100
            window 1m
        }
        sweep_interval 1m
    }

    ## Extra Header Configs
    header {
        Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
        X-Frame-Options "DENY"
    }

    ## Request Body Size
    request_body {
    max_size 30MB
    }
}

The main Idea here is that I am using Caddy as a reverse proxy and from that reverse proxy, I'm handling the rest of the app functions, like rate limiting.
Below is the heap when caddy was consuming a lot of memory.
caddy_heap2.txt
I ran this with a quick scan by ChatGPT and received the below:
The analysis of your new heap profile sample reveals significant memory consumption in certain areas, notably around rate limiting and compression. Here's a summary of the key findings:

Rate Limiting
A substantial portion of memory (approximately 4.8 GB across various entries) is being consumed by operations related to rate limiting, specifically within github.com/mholt/caddy-ratelimit. The newRingBufferRateLimiter function appears to be a primary contributor. This suggests that the rate limiting configuration or its implementation within Caddy is causing significant memory allocation. This could be due to a large number of unique clients, high traffic volume leading to many rate limiter instances, or the configuration parameters for the rate limit (size of the ring buffer, rate limits).

Compression (Zstandard)
Another notable area of memory usage is related to compression operations, particularly with Zstandard (github.com/klauspost/compress/zstd). The allocations here are related to the encoder's operations, which are expected when responses are being compressed. If your traffic pattern involves serving a lot of compressible data, this could explain the memory usage. However, the amount of memory dedicated to compression should generally be less concerning unless it's disproportionately high compared to the nature of your traffic.

I think there is a problem, or more specifically memory leak issue, with this module. But I can appreciate further help to investigate this. @mholt
I wish I provided enough information, and you can support me with this, as I would love this rate limit module for Caddy to be more stable than this. As I cannot run it in my production environment anymore :(

Which commit/version of this module are you currently running?  I just wanted to get the information of whether you're running the latest commit. Matt is more familiar with the internals, so I'll leave the deeper analysis to him

I'm back at my desk this week so I'll take a look shortly.

Ok so what stands out to me right away is that the rate limit zones are keyed by the remote host, so for each client you're allocating a ring buffer. This is fairly common of course. Each ring has 300 slots in it, with your config, and each slot is a time.Time value, which is a struct with uint64 and int64 fields. Each (u)int64 is 8 bytes, so that's 16 bytes per slot.(There's also a *Location pointer but I don't think we ever allocate those.) 16 * 300 = 4800, or 4.8 KB, which correlates nicely to your 4.8 GB of memory, if you have 1,000,000 clients.
Does that sound about right so far?
If not, what if we roll back to commit 3d68475a9bf0e32fc09b674fc04579b16623dd26 -- does the memory usage stay high?
Also, do you have a basic plot of memory use over time? Does it actually look like a leak compared to traffic, or is it stable relative to traffic load?

Thanks for jumping in @mholt It's good to talk to you again.
First of, I have some grafana dashboards that show the memory spikes, which for me seem to be random. You can check the sample below:

When the Docker Memory Limit is exceeded, the memory consumption is converted to SWAP memory.
I also have some more dashboards that are making use of Caddy Metrics:

I can't say that I have understood how the memory allocation works 100% from your comment, but I think, if I got the right idea, that the memory slot in RAM, will already be allocated depending on the value that I give in the rate limiting config snippet:
        rate_limit @privateIPAccess {
            zone myzone {
                key    {remote_host}
                events 300
                window 1m
            }
            sweep_interval 1m
        }

If that was the case, my real config was:
        rate_limit @privateIPAccess {
            zone myzone {
                key    {remote_host}
                events 1000000
                window 1m
            }
            sweep_interval 1m
        }

So I'm guessing if I lowered down the value a little bit, theoretically the overhead memory allocation should be fixed? (I'm guessing).
I changed it now, and I'm currently monitoring it. Let me know if I am missing something.

If that was the case, my real config was:

Do you mean that your real config was not what was posted above (i.e. events 300)? If your actual config is events 1000000 then everything makes sense and there's no leak. From the above charts I don't see a leak, which should steadily climb.
Yes, all things remaining the same, if you lowered the number of events then you will see a much lower memory usage.


Unicode symbols are not displayed correctly

@FeodorFitsner It looks like this problem was in PowerShell for you.  I've been using full emoji with PowerShell 7, but the same script doesn't render properly when executed with Windows PowerShell (5.1).  It might be possible to change settings and make it work in 5.1, but I haven't tried.
Anyway, disregard if this isn't related but thought I would share in case you haven't tried on 7.

Thanks for sharing your observations!
Yeah, let's close this issue for now.


[Feature]: Implement PR Title Checker workflow for Conventional Commit Prefixes

Is your feature request related to a problem? Please describe.
Description:
The project would benefit from a PR title checker that ensures conformity to conventional commit prefixes. Currently, the following prefixes are considered valid:

build:
chore:
docs:
feat:
fix:
perf:
refactor:
revert:
style:
test:

Problem:
Enforcing consistent and descriptive PR titles following conventional commit prefixes helps maintain clarity and organization in the project's version history.
Describe the solution you'd like
Implement a PR title checker that validates each PR title against the specified conventional commit prefixes. This will ensure that PR titles adhere to the established guidelines.
To-Do:

[ ] Develop the PR title checker script to verify titles against the defined prefixes.
[ ] Integrate the checker into the project's CI/CD pipeline.
[ ] Define error messages or warnings for non-compliant PR titles.

Are you interested in contributing?

[X] I'd like to work on this issue

Code of Conduct

[X] I have used the search function to check if an issue already exists
[X] I agree to follow this project's Code of Conduct
[X] I am SWOC 24 contributor

@harmeetsingh11
You can start working on this issue. Make sure you have update you codebase with latest commits.


Missing text in Remarks section

Quick one - looks like some automated process has converted all references to "Keyboard" to "oard" in the remarks section:
"... through the static methods on the oard class, such as oard.IsKeyUp(System.Windows.Input.Key) and oard.GetKeyStates(System.Windows.Input.Key). The oard class reports the current state of the keyboard."

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ca14cb52-ed72-8c7c-c997-48327212880b
Version Independent ID: 65284877-5147-eeca-4630-942b5a5a1899
Content: Key Enum (System.Windows.Input)
Content Source: xml/System.Windows.Input/Key.xml
Product: dotnet-api
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thanks for reporting this content dropout, @malcolms. I've opened dotnet/dotnet-api-docs#423 to restore the dropped text.


Fixes for #114

@szeiger is that OK for you to merge this?

I rebased #114 on master and squashed all the commits into a single one. Then I fixed the compilation errors.

So did I because that's what we discussed in this week's meeting. Except that my rebase effort wasn't quite finished yet because #110 split up the factories into strict and lazy ones despite our preference for having strict building everywhere in the previous meeting. We need to be more efficient with how we spent our time.


How to get the file named BMA_out.pkl

I don't know how to produce the file BMA_out.pkl when I want to plt the result!

I'm not sure I understand your issue. Can you be more specific?

Closed due to inactivity

maybe BMA.pkl does work


Updated structure for v2.0 developent branch

restructured package to include different themes as subpackages
First adjustment of documentation, Readme, etc. to new structure
multiple fixes to setup.py, .travis.yml
removed example notebooks from repository (now in separate repository climate-processes/tobac-tutorials)
Workflow still based on iris cubes
Added code coverage analysis at codecov.io

Codecov Report

:exclamation: No coverage uploaded for pull request base (v2.0-dev@9f3b981). Click here to learn what that means.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             v2.0-dev      #36   +/-   ##
===========================================
  Coverage            ?   33.12%
===========================================
  Files               ?       13
  Lines               ?     1875
  Branches            ?        0
===========================================
  Hits                ?      621
  Misses              ?     1254
  Partials            ?        0

Continue to review full report at Codecov.

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

sorry for the delay, but everything looks good to me. Checked all the example notebooks fine, except for the animation on the OLR satellite tracking which had a wierd buffer error, but probably unrelated to tobac


productName property is not defined in reviews

Current behavior

On PDP page:
https://www.dropbox.com/s/y8hldtj9oc9qksc/Screenshot 2019-09-24 11.24.52.png?dl=0

I can't even add a review:

API response says Request does not match any route. it might be a different route for reviews, for sure it needs to be checked as well.
@gibkigonzo please look at this, especially about that missing productName but let me know if you have some problems.

Don’t worry about the issues with adding the reviews it’s because the particular endpoint you’re using for demo (test?) doesn’t has https://github.com/DivanteLtd/magento2-review-api installed. The only error to fix here is with prosuctName it’s  vidiblr on products having reviews like https://test.storefrontcloud.io/gear/gear-3/joust-duffle-bag-1.html

@pkarw In terms of reviews - yeah this is what I wanted to check today, thanks!
@gibkigonzo fixing that productName should be really quick, it seems like missing prop.


Add Degrees discovery

Description
LEARNER-6917
Other than adding Degrees discovery, I've also generalized the discovery fragment to handle n number of fragments.
This feature is behind a feature flag, to enable this feature plz go through the following doc for proper configuration:
https://openedx.atlassian.net/wiki/spaces/LEARNER/pages/48792067/App+Configuration+Flags

Please mention about the feature flags in the PR description

Other than the wrong hint issue, everything else has been fixed @farhan-arshad-dev.
Here's a ticket that I've created for the crash you reported:
https://openedx.atlassian.net/browse/LEARNER-7048
and its fixed in this commit: 1d73644cc49817b363d9e9cb12772d429a83f39d

@farhan-arshad-dev hint issue has also been fixed.

@miankhalid  Please mention about the feature flags in the PR description.

Acceptance Criteria is still missing in the PR as mention in the Story

Not needed, the ticket has it which is enough.

Please mention about the feature flags in the PR description.

Done.

Not needed, the ticket has it which is enough.

I mean, Degree tab still showing Search view.

I mean, Degree tab still showing Search view.

Got it. Description updated.


All icons should be the same

The following icons should all be the same:

App package
Launch screen
About screen

I was going to create a build script for this, but this is more of a responsibility of the application builder. They may not want all of these things to be the same, so if they used this starter project they'd need to undo my work.
Also, now that the Ionic command line tool has this functionality built in (via ionic resources) there is no reason to duplicate the functionality in the starter project.


Require Function

Hello All,
I have a really quick question, is there an example for using the require function? I've tried implementing and once I use
let stringRequiredRule = ValidationRuleRequired<String?>(failureError: ValidationError(message: "😫"))
stringCell.validationRuleSet?.add(rule: stringRequiredRule)
I get the following error
Generic parameter 'R' could not be inferred

Validations here are sometimes type specific using associated types. See the following on how to fix your issue.
var ruleSet: ValidationRuleSet = ValidationRuleSet<String>()
ruleSet.addRule(ValidationRuleRequired<String>(failureError: ValidationError(message: "😫")))

This not working, i cant apply the required rule for the textfield
it wont show the error of required rule

Can you be more specific?

self.validationRuleSetUserName?.add(rule: ValidationRuleRequired(failureError: ValidationError(message: "😫")))
I used this but it wont show message when im not adding text and validate the textfield, thanks for you help

Ah ok. I got you. It's because UITextField returns a blank string to validate, which is non-nil. You should use a ValidationRuleLength and make sure it's above 0


ibex boot sequence and rom code

I am using ibex from the opentitan.
and I am wondering if there is any information for reference about the boot sequence and rom code source code.
or how to boot from SPI.
any information is welcome. :)

## My Environment

EDA tool and version:

Operating system:

Version of the Ibex source code:

This is really a system-level question: things like SPI and the rom are defined in the thing that includes Ibex, not the core itself. The right place to ask is the OpenTitan project.


assertSessionHasInput fails when no value is supplied

Laravel Version: 7.6.2
PHP Version: 7.2.17
Database Driver & Version:

Description:
Trying to assert the session has just an input key always returns the key is missing.  It is trying to assertTrue on the value of the key in the old input, rather than just checking if it exists.
Changing $this->session->getOldInput($key) to $this->session->hasOldInput($key) in the call to assertTrue() when $value is null within the assertSessionHasInput method seems to make it work as intended.
Steps To Reproduce:
Call assertSessionHasInput() while only supplying one or more keys.

Fixed in next release.


Use for small molecules and Volume reconstruction

Hi! Thanks for the awesome library!  Crunching all those numbers and functions from the paper and putting this together is amazing.
I am trying to adjust the library to use it for small molecule 3D interaction potential comparison instead of protein densities for my research. These are energetic 3d maps with positive and negative real values.
I am coming across several challenges to understand all the code and the science behind and I would like to kindly ask for some guidance :)

What are the main things I should take care of in the code to change the type of volume ?
I saw the similarity function was somehow “trained” but could not find any details.
How does the normalisation process work? Is there something I would need to adjust here too?

Moreover, I was wondering if you have any example of script on how to reconstruct the volume from the moments as you showcase in figure 1 of your paper for protein 4HHB? This will greatly help to evaluate if the changes i introduce make still sense and produce valid moments.
thanks a lot and Merry Christmas!
Daniel

Hi Daniel,
Thank you for your interest!
Sorry for late response, these are busy days for me. To address some of your questions I committed (very dirty) experimental code that handles reconstruction (of ligands no less).  Please check out branch reconstruct_tmp, and an example in VolumeTest.testReconstruction()
You will need to save the cache file once (takes some time), and then it can be used to speed things up. The cache location is hardcoded in the ReconstructionCache class. The file will load rather slowly still (but only once per run), I had issues with faster serialization libraries so left it as is for now.
In theory Zernike moments will approximate any function, positive and negative values. But in this code we're kinda assuming only positive values are valuable, so the volume normalisation will break.
Pay attention to the Volume class: the center, radius of gyration and volume mass are the things that will definitely be affected. The first two need to be calculated on the absolute values of the density, for the mass I'm not sure - try converting/reconstructing and see what you get.
The later normalisation (as in, Zernike moment alignment by zero'ing some moment values) should work as usual.
I hope this helps.
Happy new year!
Kind regards,
Dmytro.

Wow!  This really helped a lot! I could expand and reconstruct the energy grids I am dealing with and they make sense. I could also superpose some molecules using the invariants!  I am very grateful!
I still need to figure out how to get some good reconstructued values which are in the same scale as the input, but I think for my immediate purpose I could get this working quite well! Amazing!
Thanks a lot Dmytro.

Hi again,
it's me now trying to understand the rotation part of the code.... I have problems undertanding how the superposition works... could i get some help understanding this chunk of code below from the VolumeTest.testVectors test, for instance? Where do these parameters 2, 2, and indsPositive come from and what do they mean?
Once superposed, i extract the rotated moments somehow? I would like to compare distances taking all the coefficients (and not just the invariants) once rotated. Is that possible?
Thanks for the invaluable help.
Regards,
Daniel
[(https://github.com/biocryst/biozernike/blob/6dfb2f9fefc0e87909c0ebbbc1b17e7b391fba71/src/test/java/org/rcsb/biozernike/VolumeTest.java#L353-L360)

This is super useful! It helped me understanding so many things on the paper and the code!
I appreciate your time, it's very kind of you.
I have one "maybe last :)" quesntion on the search with the descriptors. I would like to implement something similar where i would have a database with ligands and descriptors to search against. Is the descriptor a plain concatenation of all the CN 2, 3, 4 and 5th invariants (+de GEO part)? And then the weighted distance metric you parameterized has weights for each coefficient?

Indeed. You calculate the moments up to a certain order (it doesn't need to be 20, we just used that number to compare to state of the art), concatenate averaged normalisations for a few orders (InvariantNorm.getInvariants() is doing that) and the geometric descriptor (Descriptor.calcGeometryDescriptor()).
You may need to simplify the geometry descriptor for small molecules. I mean, for example, kurtosis of a distance distribution with 10 points wouldn't make much sense. Maybe the radius and the nominal weight is all you need.
The geometric parameters may be used as a filter (e.g., if any of them differ by more than 20%, then it's not a hit) and then compare moments of the structures that has passed the filter. At the first iteration of your implementation you don't really need to train weights for comparing moments. A regular distance like braycurtis or canberra usually works well enough.
The weights were needed because 1) the geometric descriptor and the moment descriptor are on different scales, and we wanted one distance measure that uses them all, and 2) some moments are more important than others (e.g. the same difference in order 2 and order 20 means vastly different things). It also helps to reduce the final vector quite a bit (if you constrain the weights to >=0, many of them will be 0) - but that will depend on the dataset and the training method.


Cannot login with 0.17

So I've updated to 0.17 but RtmClient::login fails. The reported error is just
Api("rtm::StartError: JSON error")
Did some digging to get
ErrorImpl { code: Message("invalid type: sequence, expected a map"), line: 1, column: 35882 }
That would be "fields":[] contained in a profile of a user in users in the startresponse
We have no custom fields because we don't have the paid features so the list being empty seems fair. The expected type though is an object so it says no
https://github.com/slack-rs/slack-api-schemas/blob/master/objects/user_profile.json#L44
50 or so users have "fields": null, the other 20 ish have "fields": [],
https://api.slack.com/types/user does not not mention what the types of fields should be
but right now it won't login with 0.17 :( sad times

Some people have fields! and it looks like this
"fields": {
                    "$SOMEGUID": {
                        "value": "$THEVALUE",
                        "alt": ""
                    }
                },

@dten what if you try setting the fields to null for the fields: [] user(s) using the tester API? (see here: https://api.slack.com/methods/users.profile.set). I remember seeing this at one point. I believe it is a slack bug where they have an inconsistent internal data representation (probably fields changed from an array to an object at some point and older users have the array representation).

that test method lets me set it to null [] and some appropriate object.
However, if a user edits their profile they seem to go from null to [] so if i could fix everyone's fields they would probably be set back after not too long. Those with nulls and those without cover a wide range of dates from early last year to a few days ago for both.

Oh interesting I see, weird. So I guess this has to be fixed then in the underlying slack-api crate. We'll need to manually impl deserialize for UserProfile: https://github.com/slack-rs/slack-rs-api/blob/master/src/types.rs#L887 to support different object types for field, probably an untagged enum representation to support both Array and Object serde types.

So the fields can be any of null, [] or a full object? Oy vey, Slack. And the entire field's existence is undocumented too.
Anyways, it should be relatively simple to fix with the schemas, if you want to PR it. Just change that one field definition to oneOf and say it can either be the existing object or an array. The generator picks those up and turns them into enums. Just make sure to give each a title so the variant names can be generated. Here's some examples: https://github.com/slack-rs/slack-api-schemas/search?utf8=✓&q=oneof&type=

I'll give it a shot :) thanks for pointer

I've been trying but it seems to me that oneOf requires that the variant be tagged with a "type" field.

I'm a little confused about the whole thing but I have something working for
First to the generator so it can generate untagged enum deserialize
https://github.com/slack-rs/slack-rs-api/pull/38
Second to the schema to specif fields is an untagged enum of map, or array (of string cause.. there is no actual type?)
https://github.com/slack-rs/slack-api-schemas/pull/2
look about right?

Will take feedback over to the individual PRs. Thanks for doing that!

@dten If I'm reading that twitter conversation correctly, this is a bug with slack upstream? Is there any way to track when it will be fixed?

Not that i know of

Hi all,
What's the plan of attack with this one, are we waiting for Slack to resolve the issue? This library is non-functional right now, and I don't see any easy way to avoid the issue outside of forking and applying @dten's changes.
Thanks

@dten is working on the fix in a PR in slack-rs-api. Should be in soon.
Will release new version there and here when it is merged.
On Tue, May 2, 2017 at 1:05 AM Jordon<EMAIL_ADDRESS>wrote:

Hi all,
What's the plan of attack with this one, are we waiting for Slack to
resolve the issue? This library is non-functional right now, and I don't
see any easy way to avoid the issue outside of forking and applying @dten
https://github.com/dten's changes.
Thanks
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/slack-rs/slack-rs/issues/78#issuecomment-298498232,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AACx4D8C-69_8uIVDBmRd0rIry55ML9Eks5r1rmOgaJpZM4NI_qj
.

Legends, thanks guys!

This should now be fixed with a cargo update if you have a lock file, or doing a fresh build. Will release a new version of this library soon to ensure it uses >=0.16.1. @BenTheElder ?

Yes. I'll get out a release soonish.

slack-rs 0.17.1 release went out this evening.
@dten when you get a chance could you confirm if this fixed the problem with your users?

It's now working for me. Thanks!

Yes it's all good! Had a separate issue but I'm investigating


API for configuration of TLSv1.3 ciphersuites

Hello,
It seems that nginx guys think your approach of specifying ciphersuites for TLSv1.3 is a bug and are actively waiting for a fix. Reference: https://trac.nginx.org/nginx/ticket/1533.
Are you even considering it as a bug and are going to work on fixing it?

The approach is not a bug and there are no plans to "fix it".


Update check-build-warnings.yml

Attention @carlyrevier: I believe the issue is that the status checker was updated, however; the consuming workflow wasn't. It now requires an explicit @actions/checkout prior to consumption such that the source is available to evaluate in the context of the workflow run.
See https://github.com/dotnet/docs/blob/main/.github/workflows/check-for-build-warnings.yml

#sign-off


I need to add my service to the include list to support my extension's use of shareService()

Product and Version VSCode v1.38.1
OS Version macOS Mojave v10.14.6
Live Share Extension Version v1.0.905
Target Platform or Language Node.js v10.16.3
Steps to Reproduce / Scenario:
I've tried to use vsls v0.3.1291 to create a VSCode extension for collaborative music livecoding on top of Live Share. For that purpose, I need to use the shareService() method, but it always returns null.
I've tried setting this parameter: "liveshare.featureSet": "insiders" but it didn't work. I also tried publishing the app in the Marketplace and downloading it, but with the same result
It is related to this issue: https://github.com/MicrosoftDocs/live-share/issues/736

I'm experiencing this behavior too.
Version: 1.38.1 (system setup)
Commit: b37e54c98e1a74ba89e03073e5a3761284e3ffb0
Date: 2019-09-11T13:35:15.005Z
Electron: 4.2.10
Chrome: 69.0.3497.128
Node.js: 10.11.0
V8: 6.9.427.31-electron.0
OS: Windows_NT x64 10.0.18362
vsls: 0.3.1291

Thanks for reporting this issue. We are going to prioritize this and figure out why the method is behaving unexpectedly.

This should be resolved now! Please let us know if you’re still encountering issues 👍

Hi @lostintangent - unless I am doing something wrong whatever changed did not fix the issue for me. I am willing to do a live-share session to figure it out :)
But you can also see my code in the above mention.
-VSCODE-
Version: 1.43.1 (user setup)
Commit: fe22a9645b44368865c0ba92e2fb881ff1afce94
Date: 2020-03-18T07:01:20.184Z
Electron: 7.1.11
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Windows_NT x64 10.0.19035
-NPM-
"vsls": "^0.3.1291"
Live Share Extension: 1.0.1783

@lostintangent
I still encounter this issue with my project.

@parithon , do you have the liveshare.featureSet setting in VS Code set to insiders? If not, could you try that?

Yes, I do.

To test, I changed my extension id and publisher to match those used by vscode-test-explorer-liveshare and also changed the shared service name to match what is used in that extension and it returned an object as expected.

@parithon Hmm, that seems to indicate that our logic for the API permissions regressed, and is only allowing whitelisted extensions to call it. We should obviously fix that 😁
As you discovered, you can unblock yourself by using an the publisher/ID of an extension that’s already allowed, but we can also whitelist your extension if you can share a pointer to it (we limit access to this API so we can ensure it’s used properly).

I am the co-author of the following: https://github.com/clarkio/vscode-twitch-highlighter

Sorry to bump, but I just wanted to check if whitelisting was still required for shareService, as I can't find this in the docs and have been only having null returned.
I've been fiddling with the API in order to better integrate LiveShare with Vscode-R, but this has been brick walling me a bit.
Thanks! :)

Hey! Currently, the allow list is required. We could add the R extension to the list though, and get you unblocked. Would you mind sharing how you plan to use the Live Share API with this extension?

Hey! Currently, the allow list is required. We could add the R extension to the list though, and get you unblocked. Would you mind sharing how you plan to use the Live Share API with this extension?

Thanks! At the moment, guest sessions for Vscode-R are unable to use the environment viewer due to it relying on local files for data. In order to have a synced environment viewer, I was hoping to use RPC to request file content from the host, to feed to the guest session.
Relevant issues:
#4098
#555

Just thought I would bump this!
For an example of how this would be used in the extension, please see this fork of vscode-r: https://github.com/ElianHugh/vscode-R-Live-Share/blob/master/src/rShare.ts
Essentially, the guest requests file content from the host, the host reads the content and returns it to the guest. This content is used to populate tables, graphs, workspace viewers, etc.
If you would like more information, please let me know! Thanks!

@ElianHugh Hey! I just sent out a PR to add the R extension to the Live Share allow list. That should be merged and ready by this afternoon, so I'll ping the thread as soon as that's live 👍🏻

@ElianHugh FYI, this change has been made, and so if you reload VS Code, you should see that the R extension is able to access the Live Share API. Let us know if you run into any problems. Thanks!

Re-labeling this thread for any other services who wish to add their service to the supported list.

@parithon Hmm, that seems to indicate that our logic for the API permissions regressed, and is only allowing whitelisted extensions to call it. We should obviously fix that 😁
As you discovered, you can unblock yourself by using an the publisher/ID of an extension that’s already allowed, but we can also whitelist your extension if you can share a pointer to it, so we can see what it does and how it uses this API (we limit access to this API so we can ensure it’s used properly).

I am the co-author of the following: https://github.com/clarkio/vscode-twitch-highlighter

@lostintangent I never got a response to this. Has your team had the opportunity to fix the regression or can you please add this extension to the allowed whitelist? To see an example of what we're trying to accomplish you can see the branch: https://github.com/parithon/vscode-twitch-highlighter/tree/liveshare
TLDR; We will be using VSLS to notify guests whenever a highlighted line is added or removed.

Hey, would be great if the Julia extension could also be added to the list of supported extensions (well, a fix for that regression would be even better, of course).
Our current plan is to support synchronizing plots (WIP PR) and the workspace view, but that may be extended to other features like inline results.

Just to be clear, shareService is only available to extensions on an allow list that we maintain. If your extension isn't part of that list, the expected behavior is that shareService returns null. We do this to avoid abuse, since extensions can stream arbitrary data between clients using it. All other parts of the extension API don't require special permissions.
If you would like your extension added to the allow list, please reply with a description of how you intend to use the API.
@parithon @pfitzseb I'll take a look at your requests.

@parithon @pfitzseb I've added both of your extensions to the allow list. Let me know if shareService works now. Looking forward to seeing what y'all build!

@daytonellwanger  Hi, thanks for this amazing functionality, please add my extension to the allow list.
I write an extension to help users to play with LeetCode (here), this extension provides many useful command, such as open question, find a solution and so on.
When I know about live share extension, I think my extension may provide something like a 'room', many people can solve LeetCode problem together. But I found execution of vscode extension command cannot be shared through live share, so I decide to use vsls API to pass extension command between host and guest.
Seems that get shareService is the only solution, please add my extension to the allow list or give me some suggestions, thanks again!

Hey @labuladong , yes, it sounds like shareService is what you would need to support your scenario.
Is your extension source code stored in a public repo? The one linked to from the the extension marketplace doesn't look like the repo for the extension.
Do you have a prototype of your Live Share feature? You should be able to test locally by changing your extension ID to one of the approved extensions as mentioned in this thread (I'll look into coming up with a better development experience for extensions pre-approval).

@daytonellwanger Hi, thanks for your reply. My repo is here. I have tried to use approved extension ID locally and it works perfectly, I will develop my extension in this way now.

Hey @labuladong , I took a quick look at the extension and it looks like it makes it quite easy for the host to execute arbitrary commands on the guest's machine (see here). Do you have any security measures in place to prevent a guest from being exploited by a malicious host? We wouldn't want Live Share to be the enabler for a hack.

@daytonellwanger Let's discuss it here

@daytonellwanger   Hi, I've tested locally and improved the usage of vsls API, I use a whitelist to avoid executing arbitrary commands here.  Do you have any suggestion? Please add my extension to the allow list and look forward to your reply, thanks :)

Hey @labuladong , I'm no longer working on the Live Share team, but I'll make sure they have someone else follow up on getting your extension on the allow list.

@daytonellwanger Thanks! And best wishes to you :)

Can someone put my extension on the allow list? Thanks! @lostintangent  @Davsterl

Hello again :) Sorry to bump, but the shareService API has stopped working for the R extension. Specifically, shareService() is always returning null, where before it was appropriately returning a SharedService object. We did go through a publisher change last year which may have affected the whitelisting?

Hey @ElianHugh thank you for bringing this to our attention. We will take a look at our allow list and check why the R extension has stopped working with the shareService(). Please stay tuned.

Hello @fubaduba. We recently started developing our extension based on vsls and noticed that we were having similar issues with shareService not working. We worked around that during development by using name and publisher of an existing extension in our package.json.
What is the suggested procedure to get our extension whitelisted once we're ready to release?


Playlist radio repeats same songs but does not load new

spotty version according to squeezebox server (7.9.1): 2.7.5
Unfortunately, spotty does not work properly when using spotify connect together with the playlist-radio function ("more songs load as you listen"). spotty keeps repeating the same songs instead of loading new ones.
The original librespot implementation has this issue as well. The issue has been fixed, e.g., in the librespot-java fork (https://github.com/librespot-org/librespot-java/commit/e4d80fcf606f6d287561dc0c04434d9b6d0b1a9d).
Could you please have a look at this? It's the basic feature for me and I would totally regret, if I could not use it.
Thanks in advance!
Wolfi

As you might have seen there currently is a lot of activity going on in librespot. And much of it indeed is about those radio style mixes, podcasts etc. Unfortunately I'm of little help there, just hope I'll be able to implement this in spotty once they've figured it out.


Change const to let

why is this done? I don't really see why you would need or want to redefine these.

why is this done? I don't really see why you would need or want to redefine these.

const is fixed, and is only updated on reload. Let is variable and can actually change. We don't want to have to reload for the alerts :)

why is this done? I don't really see why you would need or want to redefine these.

const is fixed, and is only updated on reload. Let is variable and can actually change. We don't want to have to reload for the alerts :)

Just did further research, my initial assumption was wrong. U are right. I will close this pull request


update to plot5

Retrieved latest updates from Master and made a new pull request with the discussed changes

Thanks Matt, the package check is failing.
To quickly see why do:

right-click details above to open the travis results in a new tab-
click on one of the failed jobs
expand the checking package tab, to see where it goes wrong.

You can also run the package check locally:

Rstudio toolbar: Build -> Check package, or R CMD check on the command line.
This will generate the same report.

Please address all warnings. Most of it seems to relate to not specifying the thresholds as function arguments and expansion to the NAMESPACE file.

Thanks for the help, I am now up to speed with building on my machine and looking at the unit-test results through the 'Build' -> 'Check Package' method.
I addressed the NAMESPACE and function manual errors that were popping up. However, when I merged my branch with the latest master from git, I was still getting the following errors around read.myacc.csv:

Not sure if these are a big issue or not, I'll go ahead with another pull request, but let me know if that's a problem


HALON-628: Fix issues during SNS repair.

Created by: qnikst
If all IOS have replied then we should poll on the status
query until SNS operation will not be finished.
When SNS Continue works and all IOS are idle, halon should
finalize SNS operation that it keeps.
If any of the IOS is failed during Continue - halon should abort
SNS operation.

Closing as an obsolete


Leftward text selection dragging seems broken

When one attempts to drag leftward it first selects the proper starting character, but then it bugs out, and jumps left one. For example if one attempts to select "bar" by placing their character directly after the "r" then clicking, and finally dragging leftward it will initially select the "r", but after moving past the "a" it will only retain the "a". Finally once one passes the "b" it will have "ba". If one starts dragging rightward initially, and then after selecting a few characters one drags leftward it appears to work properly. I'm on Devuan Beowulf using XFCE 4.12.5 if that is helpful and/or relevant.
As an aside I have to say that this project seems really cool, and it was really quick to build the .deb package :D

Thanks!
Yeah, that is not the intended selection behavior... I'll fix it.


[DO NOT MERGE] dummy PR to check CI tests

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

CI test fails as well in this PR, investigating further...


⚠ Jenkins Plugins Artifactory has degraded performance

In 9e70177, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1152 ms

Resolved: Jenkins Plugins Artifactory performance has improved in c9254a8 after 41 minutes.


Fix make_interp_spline(..., k=0 or 1, axis<0)

by moving the modulus operator before the k==0 and k==1 cases, since BSpline needs axis>=0.
This is a minimal fix. A cleaner one seems to be to lift the BSpline constraint
and make it compatible with the numpy convention.

Needs a test, too.

@ev-br I wonder why rolling the axis to front? Because the heavy-lifting is in Fortran?

@eelregit: best locality for operations with c-order arrays.

Thanks @pv !
But isn't axis=-1 most local for C-ordered arrays?
I am confused now: I did a simple test and find
np.arange(512**2).reshape(512, 512).sum(axis=0)
is indeed faster than
np.arange(512**2).reshape(512, 512).sum(axis=1).
So the result agrees with you but not this stackoverflow answer that said otherwise.

Care to explain why should it follow PPoly but the not the
numpy.core.multiarray.normalize_axis_index that's used in rollaxis?
Anyway it's fine if you don't like having negative axis in BSpline. But
please do fix this bug that the k=0 or 1 skipped rollaxis.
On Sun, Sep 2, 2018, 1:36 AM Evgeni Burovski<EMAIL_ADDRESS>wrote:

@ev-br commented on this pull request.
In scipy/interpolate/_bsplines.py
https://github.com/scipy/scipy/pull/9200#discussion_r214533005:

@@ -237,7 +239,7 @@ def construct_fast(cls, t, c, k, extrapolate=True, axis=0):
self = object.new(cls)
self.t, self.c, self.k = t, c, k
self.extrapolate = extrapolate

   self.axis = axis

   self.axis = axis if axis >= 0 else axis + self.c.ndim
   return self

This method should follow what PPoly does.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/scipy/scipy/pull/9200#pullrequestreview-151613420,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG-O-op_wLnnZI-TLRE0_KpGju_ievBOks5uW5h8gaJpZM4WWUVk
.

construct_fast should use provided arguments as is, not doing any processing on them.

@eelregit: the trailing data axes are the ones that need to be most local.

Care to explain why should it follow PPoly but the not the numpy.core.multiarray.normalize_axis_index that's used in rollaxis?

That's a design goal that PPoly, BPoly and BSpline follow the same convention.

Anyway it's fine if you don't like having negative axis in BSpline. But please do fix this bug that the k=0 or 1 skipped rollaxis.

It's not that I don't like it. The bug is real. Thanks for noticing and fixing it!
All I'm saying is that your fix is good and I'm ready to merge it once the change in BSpline.construct_fast is undone and moved to make_interp_spline.

@pv @ev-br Thanks for the clarification!

Thanks!!


Raw file is not opening

Basic information

My operating system:
My MZmine version:

What happened

Please describe what happened and how it differs from what you expected to happen.
Please include all parameter values for the MZmine modules you used.
Please upload screenshots of any errors and your log/mzmine.log file.
Please upload an MZmine project file that demonstrates the problem you are reporting.

Hi, please open a new issue and follow the template.

May I please know the process or link to do so.
The issue is also very basic.. I am not able to work on the imported data.
Thanks & Regards,
Hima
On Mon, Feb 19, 2024 at 8:41 AM Steffen Heuckeroth @.***>
wrote:

Hi, please open a new issue and follow the template.
—
Reply to this email directly, view it on GitHub
https://github.com/mzmine/mzmine3/issues/1654#issuecomment-1952589193,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BGIFRWVT2UYJBQ3JCPVOBY3YUNQAZAVCNFSM6AAAAABDOY5SQWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJSGU4DSMJZGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

May I know how to resolve this
Mzmine_issue1.docx


chore(clerk-js): Apply deprecation warnings

Description
Review it per commit
Deprecation warnings added in @clerk/clerk-js:

Organization.create() using string parameter
Organization.retrieve() limit & offset
Clerk.getOrganizationMemberships()
svgUrl
avatarUrl/logoUrl/faviconUrl/profileImageUrl

Notes: We cannot show deprecation warnings in console for deprecated type properties (eg UserJSON.profile_image_url)
TODO:

[ ] support deprecation warnings for nested props

[ ] deprecatedProperty(OrganizationMembership, 'publicUserData.profileImageUrl', 'Use imageUrl instead.');
[ ] deprecatedProperty(OrganizationMembershipRequest, 'publicUserData.profileImageUrl', 'Use imageUrl instead.');

Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[x] (If applicable) JSDoc comments have been added or updated for any package exports
[x] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[x] 📖 Refactoring / dependency upgrade / documentation
[ ] other:

Packages affected

[x] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[ ] build/tooling/chore

@nikosdouvlis PTAL

The logoUrl properties from the snapshots even though they still exist in those classes because of the way the deprecation helper works to mark the property as deprecated.
The deprecation helper redefine the property in the class prototype using a getter/setter that shows a warning in getter using the Object.defineProperty(). By redefining a property, that property is not considered class own property any more which causes the jest snapshot and the JSON.stringify() to omit that property.
This is a side-effect of the deprecation implementation and not a spec but i think that we are okay to proceed with omitting the properties from snapshots.

ref: https://github.com/clerkinc/javascript/pull/1779/commits/4dde358c764905117bb33554a122616e21c0048b

@dimkl  could we skip deprecating nested properties for this PR and resolve it in a followup ?

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Generate test coverage files for Realm.xcodeproj

Marked as WIP until I get this working on Jenkins.

This is now ready for review (see https://ci.tightdb.com/job/objc_pr/437/configuration=Debug,target=osx/cobertura/Realm/). /cc @tgoyne

:+1:


[LOC]Unnecessary asterisks are displayed (ja-jp)

ja-jp:"https://docs.microsoft.com/ja-jp/azure/databricks/kb/notebooks/get-notebooks-deleted-user"

en-us:"https://docs.microsoft.com/en-us/azure/databricks/kb/notebooks/get-notebooks-deleted-user"

#PingMSFTDocs

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 209b6c36-3630-f69f-ee22-3be7caf2012b
Version Independent ID: f71b2d8d-8cd9-1eab-eda3-a97726afc117
Content: Access notebooks owned by a deleted user - Azure Databricks - Workspace
Content Source: databricks/kb/notebooks/get-notebooks-deleted-user.md
Service: azure-databricks
GitHub Login: @john-lourdu
Microsoft Alias: saperla

Thanks for the feedback and bringing this to our attention. As this is a duplicate of this GitHub issue. We will now proceed to close this as duplicate as we are tracking on the referenced GitHub issue.
Please feel free to let us know if you have further query.
Thank you


Changelog support for private packages on Gemfury

We're currently using Dependabot for private Ruby gems that are hosted on Gemfury. This works great, however we were not able to get a changelog to show up in the Dependabot PRs.
We have set the changelog_uri in the gemspec file. It indeed shows up when I have the gem installed and query its specification:
$ gem specification xxx
...
metadata:
  changelog_uri: https://github.com/xxx/xxx/blob/master/CHANGELOG.md
...

I also made sure Dependabot has rights to the private repository so it should be able to fetch https://github.com/xxx/xxx/blob/master/CHANGELOG.md.
Are private gems on Gemfury just not supported? Or are we missing something in our private gems?

Closing this due to age and inactivity.


endpoint not correct

It seems that the endpoint /testwdatppreview/alerts/{id} is not correct. Using it returns the basic information about an alert but not its details that we can see in the SecurityCenter.
Did it changed since last version?

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 83813872-506c-ddf1-1884-5495bbdce932
Version Independent ID: 073bcf28-cb0b-6115-64ce-7ce21ab8766d
Content: Get alert information by ID API
Content Source: windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md
Product: w10
GitHub Login: @mjcaparas
Microsoft Alias: macapara

any updates on this issue?


[Package Request]: Chinese Git v2.4

How can we help?
None
Please read and ensure the following

[X] The installer meets the above requirements

Please provide the following information
Download Page Url: https://github.com/DuckDuckStudio/Chinese_git/releases/
Publisher:鸭鸭「カモ」
Package Name:中文Git
Description:一个使用中文命令操作 Git 的简单工具，旨在使不熟悉英文的用户更轻松地使用 Git。
Package Version:2.4
Installer URL: https://github.com/DuckDuckStudio/Chinese_git/releases/download/v2.4/Chinese_git_Setup_v2.4.exe

Edit: Update Installer URL.
Reopen this issue because I update the Installer URL to try again.

Edit: Update Installer URL.
Reopen this issue because I update the Installer URL to try again.


Service Workers failing in Firefox + LetsEncrypt

Service Worker Error DOMException [SecurityError: "The operation is insecure."
code: 18
nsresult: 0x80530012]

The most basic implementation fails with Firefox and even a clean install of Firefox Developer edition - no plugins, everything enabled.
Other sites are functioning correctly with HTTPS, and Chome and Edge both function correctly (Edge only notifications).
The only variation is Letsencrypt.

Could you file an issue on Bugzilla (https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=DOM%3A Service Workers)?
CC @wanderview

@audas is this still an issue? I can't reproduce it.

[Service Worker Installation] Installing service worker failed SecurityError: The operation is insecure.
With oensignal i got this error


pkg/apis: rename {Task,Pipeline}Interface into *Object

Changes
The main reason for rename this interface is because the code
generation also generates a TaskInterface and PipelineInterface
that are related to kubernetes clients. It tends to be a bit confusing
when looking at code on which we are referring to.
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>/kind misc
Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices
[x] Release notes block has been filled in or deleted (only if no user facing changes)

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes
NONE

The filenames (task_interface.go and pipeline_interface.go) still have interface in them but its reasonable since both objects are of type interface.
/lgtm


added a weather feature to display the real time weather on that day

Issue Title:
Enhancement Request: Weather Integration for Daily Activity Planning
Issue Description:
The current implementation lacks weather integration, limiting users' ability to plan daily activities based on weather conditions. It would be beneficial to incorporate a weather information feature that provides users with real-time weather data for each day. This enhancement would improve the overall user experience and make the application more versatile.
Proposed Features:
Display real-time weather information above the calendar for each day.
Include key weather details such as temperature, humidity, and a brief weather description.
Implement responsive design to ensure proper display on various screen sizes.
Allow users to toggle the display of weather information on/off based on preference.

Please do not make any PR until you get assigned to that issue.
Please go through contributing.md before contributing.