Support for IAM Roles (Instance Profile/IRSA) for Authentication

Is your feature request related to a problem? Please describe.
The current best practices for security in AWS recommends using short-lived credentials through IAM Role (STS) instead of static IAM Credentials (Access Key/Secret). That capacity is critically important when using Amazon EKS, since we can leverage IAM Roles for Service Accounts (IRSA) and improve security posture with Logstash on Kubernetes.
Describe the solution you'd like
Logstash should be able to consume an IAM Role, from an Instance Profile (EC2) or from IRSA (EKS), and use it to authenticate against the OpenSearch environment.
Describe alternatives you've considered
Use the legacy output plugin from awslabs/logstash-output-amazon_es.
Additional context
The current aws-sdk gem used in this plugin (>= 2.11.632) already supports IRSA capability.

The legacy plugin doesn't support this either. https://github.com/awslabs/logstash-output-amazon_es/issues/133

This is a super critical issue because it makes it largely unusable on AWS infrastructure. We upgraded to Amazon OpenSearch, then the old plugin broke down and the new one doesn't support roles.

Looks like according to docs the instance profiles are supported: https://opensearch.org/docs/latest/clients/logstash/ship-to-opensearch/#opensearch-output-plugin
Look for optional parameters section:

Instance profile credentials delivered through the Amazon EC2 metadata service

Apparently, the latest plugin does not have a feature to read the Web Identity Token file (used for IRSA) mounted on the pod.
If we pass the token stored in /var/run/secrets/eks.amazonaws.com/serviceaccount/token file on the pod to variable session_token defined here, then it does not authorize the request but basic auth to the domain works just fine.
Logstassh output plugin config for IAM:
output {
  opensearch {
     hosts => "${LOGSTASH_OS_HOST}:${LOGSTASH_OS_PORT}"
     index => "${LOGSTASH_OS_INDEX}"
     auth_type => {
          type => 'aws_iam'
          session_token => "${LOGSTASH_OS_TOKEN}"
          region => 'us-east-1'
      }
      ssl => true
     document_id => "%{id}"
  }
}

@vpulagarwal Thanks for reporting. Will check why session token is not accepted by config

Please check
https://github.com/awsdocs/amazon-eks-user-guide/issues/281
It means the aws sdk first needs to upgraded to 3.58+

@VijayanB Any plans to upgrade this plugin on Ruby 3.58+ and start supporting IRSA?

I'm sorry I don't understand why upgrading the aws-sdk to 3.58.0 would take this much time.
Maybe some non-regression testing is all what's needed to be done.
Can we at least get an ETA ?
Thank you.

I am no ruby expert, but I feel to support IRSA, there should be an option to provide the path of the service account token file located at /var/run/secrets/eks.amazonaws.com/serviceaccount/token  in this function

I see @topikachu closed https://github.com/opensearch-project/logstash-output-opensearch/pull/138, it wasn't merged.
Looking for someone to contribute here. Happy to help review and merge PRs. I would want/start with integration test CI, https://github.com/opensearch-project/logstash-output-opensearch/issues/76 and then it will make it easier to add features.

I see @topikachu closed #138, it wasn't merged.
Looking for someone to contribute here. Happy to help review and merge PRs. I would want/start with integration test CI, #76 and then it will make it easier to add featurebreak othe aws plugins.

I see @topikachu closed #138, it wasn't merged.
Looking for someone to contribute here. Happy to help review and merge PRs. I would want/start with integration test CI, #76 and then it will make it easier to add features.

I realize it breaks all other aws plugins because they are all using the old aws sdk. :(

I can see on my opensearch audit logs the EKS worker role being used to try to authenticate leading to a 403.
Definitely this plugin is using the instance metadata to get the instance profile iam role instead of AWS_WEB_IDENTITY_TOKEN_FILE.

@topikachu What should we do about this? What else needs to be upgraded at the same time? Care to help?

@dblock My guess is that aws-sdk ruby gem needs to be update to v3. There's an upgrade guide for this, we need to be sure that all the requires are updated across this plugin.

Is there any further progress on this? I currently have it setup using an IAM user but would prefer to use a role if possible. Has anyone tested this using a container execution role in AWS Fargate?

Any update on logstash-output-opensearch supporting the Web Identity Token file (used for IRSA), ie by reading the file in AWS_WEB_IDENTITY_TOKEN_FILE?
the PR #171 has been merged and the aws-sdk v3 is meant to support this. I think it was added here: https://github.com/aws/aws-sdk-ruby/pull/2075

We require this too.

Any update on logstash-output-opensearch supporting the Web Identity Token file (used for IRSA), ie by reading the file in AWS_WEB_IDENTITY_TOKEN_FILE?
the PR #171 has been merged and the aws-sdk v3 is meant to support this. I think it was added here: aws/aws-sdk-ruby#2075
From what I read, it seems that the library might just work and pull the credentials out of the box. It is one of the default authentication providers but we need to test it.

I am able to get it working by below configuration, the logstash has a default value for the region input, if you pass the correct region then it works
 auth_type => {
      type => 'aws_iam'
      region => <region>
    }

should work in EKS just with:
output {
		    opensearch {
		        hosts => [ "https://search-kibana-stage-xxx.us-east-1.es.amazonaws.com:443" ]
		        http_compression => true
		        index => "clb-logs-test-%{+YYYY.MM.dd}"
		        ecs_compatibility => disabled
		        auth_type => {
		            type => "aws_iam"
		            region => "us-east-1"
		            service_name => "es"
		        }
		        legacy_template => true
		        template => "/opt/bitnami/logstash/templates/alb-access-logs.json"
		        template_name => "alb-access-logs"
		    }
		    stdout { codec => rubydebug }
		}

+1 on this

@Thamizhvanan-R do you think you can maybe describe in detail how you made it work?
@joewragg can you please check that you're running the latest version and describe where and how it doesn't work?

@Thamizhvanan-R do you think you can maybe describe in detail how you made it work? @joewragg can you please check that you're running the latest version and describe where and how it doesn't work?

@dblock
The Opensearch project uses aws-sdk-ruby for aws authentication.
https://github.com/opensearch-project/logstash-output-opensearch/blob/d60a58f382ac3c772cd70ad52c79aecb0d085d25/lib/logstash/outputs/opensearch/http_client/manticore_adapter.rb#L85
Here we can see the call to the credentialproviderchain the credential_config is created with options we configure in the auth_type block in opensearch output section. If the AWS_REGION is not passed in the auth_type the default value us-east-1 is passed to the credentialproviderchain.
https://github.com/aws/aws-sdk-ruby/blob/b95f3f045032ac9c79917a65beaf4111f3228f94/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb#L143
Here the underlying credentialproviderchain uses this options object to authenticate to aws, we can see the ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE are read from the Env variables but the AWS_REGION is not read from env instead it uses the values passed by the logstash which is "us-east-1" by default.
I made it work by explicitly setting the aws_region in the output section but the proper fix is to read the AWS_REGION from env and fall back to default if no such enviroment variable is set. These Env variables are set already by the EKS cluster when we enable service account with aws iam role assumption.
@joewragg  I would suggest you check if these env variables are set in your case.

the proper fix is to read the AWS_REGION from env and fall back to default if no such environment variable is set.

In the code you pointed out does setting the region to nil work? If so then the fact that we pass through the us-east-1 default is incorrect, the default should be nil everywhere.
Whichever the fix is here, do you think you could write a test for it that shows that the regions configured by the AWS_REGION environment variable produce a different value here? This makes an easy fix.

@Thamizhvanan-R do you think you can maybe describe in detail how you made it work? @joewragg can you please check that you're running the latest version and describe where and how it doesn't work?

@dblock
The Opensearch project uses aws-sdk-ruby for aws authentication.
https://github.com/opensearch-project/logstash-output-opensearch/blob/d60a58f382ac3c772cd70ad52c79aecb0d085d25/lib/logstash/outputs/opensearch/http_client/manticore_adapter.rb#L85
Here we can see the call to the credentialproviderchain the credential_config is created with options we configure in the auth_type block in opensearch output section. If the AWS_REGION is not passed in the auth_type the default value us-east-1 is passed to the credentialproviderchain.
https://github.com/aws/aws-sdk-ruby/blob/b95f3f045032ac9c79917a65beaf4111f3228f94/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb#L143 Here the underlying credentialproviderchain uses this options object to authenticate to aws, we can see the ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE are read from the Env variables but the AWS_REGION is not read from env instead it uses the values passed by the logstash which is "us-east-1" by default.
I made it work by explicitly setting the aws_region in the output section but the proper fix is to read the AWS_REGION from env and fall back to default if no such enviroment variable is set. These Env variables are set already by the EKS cluster when we enable service account with aws iam role assumption.
@joewragg I would suggest you check if these env variables are set in your case.

I have set the correct ENV vars as mentioned (redacted):
AWS_REGION=eu-west-1 AWS_ROLE_ARN=arn:aws:iam::ACCOUNTID:role/MYROLE AWS_ACCOUNT_ID=ACCOUNTID AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token AWS_STS_REGIONAL_ENDPOINTS=regional
My config (redacted):
output {   if [type] == "cloudfront" {     opensearch {       hosts => ["https://MYURL:443"]       index => "cloudfront-logs-${ENV}-%{+YYYY-MM-dd}"       auth_type => {         type => 'aws_iam'              region => "${AWS_REGION}"       }                ecs_compatibility => disabled       }   } }
My IAM role is mapped to all_access in opensearch for testing
I am seeing 403s coming from opensearch in the logs

@Thamizhvanan-R do you think you can maybe describe in detail how you made it work? @joewragg can you please check that you're running the latest version and describe where and how it doesn't work?

@dblock
The Opensearch project uses aws-sdk-ruby for aws authentication.
https://github.com/opensearch-project/logstash-output-opensearch/blob/d60a58f382ac3c772cd70ad52c79aecb0d085d25/lib/logstash/outputs/opensearch/http_client/manticore_adapter.rb#L85
Here we can see the call to the credentialproviderchain the credential_config is created with options we configure in the auth_type block in opensearch output section. If the AWS_REGION is not passed in the auth_type the default value us-east-1 is passed to the credentialproviderchain.
https://github.com/aws/aws-sdk-ruby/blob/b95f3f045032ac9c79917a65beaf4111f3228f94/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb#L143 Here the underlying credentialproviderchain uses this options object to authenticate to aws, we can see the ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE are read from the Env variables but the AWS_REGION is not read from env instead it uses the values passed by the logstash which is "us-east-1" by default.
I made it work by explicitly setting the aws_region in the output section but the proper fix is to read the AWS_REGION from env and fall back to default if no such enviroment variable is set. These Env variables are set already by the EKS cluster when we enable service account with aws iam role assumption.
@joewragg I would suggest you check if these env variables are set in your case.

I have set the correct ENV vars as mentioned (redacted):
AWS_REGION=eu-west-1
AWS_ROLE_ARN=arn:aws:iam::ACCOUNTID:role/MYROLE
AWS_ACCOUNT_ID=ACCOUNTID
AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
AWS_STS_REGIONAL_ENDPOINTS=regional

My config (redacted):
output {
  if [type] == "cloudfront" {
    opensearch {
      hosts => ["https://MYURL:443"]
      index => "cloudfront-logs-${ENV}-%{+YYYY-MM-dd}"
      auth_type => {
        type => 'aws_iam'
        region => "${AWS_REGION}"
      }
      ecs_compatibility => disabled
      }
  }
}

My IAM role is mapped to all_access in opensearch for testing
I am seeing 403s coming from opensearch in the logs

One more thing we can check is if your role has assumerolepolicy and it allows your eks service account

@Thamizhvanan-R do you think you can maybe describe in detail how you made it work? @joewragg can you please check that you're running the latest version and describe where and how it doesn't work?

@dblock
The Opensearch project uses aws-sdk-ruby for aws authentication.
https://github.com/opensearch-project/logstash-output-opensearch/blob/d60a58f382ac3c772cd70ad52c79aecb0d085d25/lib/logstash/outputs/opensearch/http_client/manticore_adapter.rb#L85
Here we can see the call to the credentialproviderchain the credential_config is created with options we configure in the auth_type block in opensearch output section. If the AWS_REGION is not passed in the auth_type the default value us-east-1 is passed to the credentialproviderchain.
https://github.com/aws/aws-sdk-ruby/blob/b95f3f045032ac9c79917a65beaf4111f3228f94/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb#L143 Here the underlying credentialproviderchain uses this options object to authenticate to aws, we can see the ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE are read from the Env variables but the AWS_REGION is not read from env instead it uses the values passed by the logstash which is "us-east-1" by default.
I made it work by explicitly setting the aws_region in the output section but the proper fix is to read the AWS_REGION from env and fall back to default if no such enviroment variable is set. These Env variables are set already by the EKS cluster when we enable service account with aws iam role assumption.
@joewragg I would suggest you check if these env variables are set in your case.

I have set the correct ENV vars as mentioned (redacted):
AWS_REGION=eu-west-1
AWS_ROLE_ARN=arn:aws:iam::ACCOUNTID:role/MYROLE
AWS_ACCOUNT_ID=ACCOUNTID
AWS_WEB_IDENTITY_TOKEN_FILE=/var/run/secrets/eks.amazonaws.com/serviceaccount/token
AWS_STS_REGIONAL_ENDPOINTS=regional

My config (redacted):
output {
  if [type] == "cloudfront" {
    opensearch {
      hosts => ["https://MYURL:443"]
      index => "cloudfront-logs-${ENV}-%{+YYYY-MM-dd}"
      auth_type => {
        type => 'aws_iam'
        region => "${AWS_REGION}"
      }
      ecs_compatibility => disabled
      }
  }
}

My IAM role is mapped to all_access in opensearch for testing
I am seeing 403s coming from opensearch in the logs

One more thing we can check is if your role has assumerolepolicy and it allows your eks service account

Yeah I definitely have the assumerolepolicy working as it's already using this role to S3 GET in the pod

@joewragg Is it 100% of requests? Can you paste a (redacted) log line here?

@joewragg Turn on debug level logging, let's see the complete error?
I think https://forum.opensearch.org/t/enable-debug-logging-on-logstash/12194 or passing --debug to logstash will give you that.

@joewragg Turn on debug level logging, let's see the complete error?
I think https://forum.opensearch.org/t/enable-debug-logging-on-logstash/12194 or passing --debug to logstash will give you that.

[2024-04-10T08:04:53,137][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:53,138][DEBUG][logstash.instrument.periodicpoller.jvm] collector name {:name=>"G1 Young Generation"}
[2024-04-10T08:04:53,138][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:53,138][DEBUG][logstash.instrument.periodicpoller.jvm] collector name {:name=>"G1 Old Generation"}
[2024-04-10T08:04:53,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:53,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:53,140][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:53,143][DEBUG][logstash.agent           ] API HTTP Request {:status=>200, :request_method=>"GET", :path_info=>"/", :query_string=>"", :http_version=>"HTTP/1.1", :http_accept=>"*/*"}
[2024-04-10T08:04:54,138][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:54,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:54,140][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:54,141][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:54,141][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:54,145][DEBUG][logstash.agent           ] API HTTP Request {:status=>200, :request_method=>"GET", :path_info=>"/", :query_string=>"", :http_version=>"HTTP/1.1", :http_accept=>"*/*"}
[2024-04-10T08:04:55,137][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:55,138][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:55,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:55,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:55,140][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:55,143][DEBUG][logstash.agent           ] API HTTP Request {:status=>200, :request_method=>"GET", :path_info=>"/", :query_string=>"", :http_version=>"HTTP/1.1", :http_accept=>"*/*"}
[2024-04-10T08:04:56,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:56,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:56,140][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:56,141][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:56,141][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:56,145][DEBUG][logstash.agent           ] API HTTP Request {:status=>200, :request_method=>"GET", :path_info=>"/", :query_string=>"", :http_version=>"HTTP/1.1", :http_accept=>"*/*"}
[2024-04-10T08:04:56,923][DEBUG][logstash.outputs.opensearch][main] Waiting for connectivity to OpenSearch cluster, retrying in 32s
[2024-04-10T08:04:57,138][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:57,139][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:57,140][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:57,141][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:57,141][DEBUG][logstash.api.service     ] [api-service] start
[2024-04-10T08:04:57,145][DEBUG][logstash.agent           ] API HTTP Request {:status=>200, :request_method=>"GET", :path_info=>"/", :query_string=>"", :http_version=>"HTTP/1.1", :http_accept=>"*/*"}
[2024-04-10T08:04:57,187][DEBUG][logstash.outputs.opensearch][main] Running health check to see if an OpenSearch connection is working {:url=>"https://MYURL:443/", :path=>"/"}
[2024-04-10T08:04:57,191][DEBUG][org.apache.http.client.protocol.RequestAuthCache][main] Auth cache not set in the context
[2024-04-10T08:04:57,191][DEBUG][org.apache.http.impl.conn.PoolingHttpClientConnectionManager][main] Connection request: [route: {s}->https://MYURL:443][total available: 1; route allocated: 1 of 100; total allocated: 1 of 1000]
[2024-04-10T08:04:57,191][DEBUG][org.apache.http.impl.conn.PoolingHttpClientConnectionManager][main] Connection leased: [id: 0][route: {s}->https://MYURL:443][total available: 0; route allocated: 1 of 100; total allocated: 1 of 1000]
[2024-04-10T08:04:57,191][DEBUG][org.apache.http.impl.conn.DefaultManagedHttpClientConnection][main] http-outgoing-0: set socket timeout to 60000
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.impl.conn.DefaultManagedHttpClientConnection][main] http-outgoing-0: set socket timeout to 60000
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.impl.execchain.MainClientExec][main] Executing request HEAD / HTTP/1.1
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.impl.execchain.MainClientExec][main] Proxy auth state: UNCHALLENGED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> HEAD / HTTP/1.1
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> Connection: Keep-Alive
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> content-type: application/json
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> host: MYURL
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> x-amz-date: 20240410T080457Z
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> x-amz-security-token: REDACTED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> x-amz-content-sha256: REDACTED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> authorization: AWS4-HMAC-SHA256 Credential=REDACTED/20240410/eu-west-1/es/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=REDACTED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> User-Agent: Manticore 0.9.1
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 >> Accept-Encoding: gzip,deflate
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "HEAD / HTTP/1.1[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "Connection: Keep-Alive[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "content-type: application/json[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "host: MYURL[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "x-amz-date: 20240410T080457Z[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "x-amz-security-token: REDACTED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "x-amz-content-sha256: REDACTED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "authorization: AWS4-HMAC-SHA256 Credential=REDACTED/20240410/eu-west-1/es/aws4_request, SignedHeaders=content-type;host;x-amz-content-sha256;x-amz-date;x-amz-security-token, Signature=REDACTED
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "User-Agent: Manticore 0.9.1[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "Accept-Encoding: gzip,deflate[\r][\n]"
[2024-04-10T08:04:57,192][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 >> "[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "HTTP/1.1 403 Forbidden[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "Date: Wed, 10 Apr 2024 08:04:57 GMT[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "Content-Type: application/json[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "Content-Length: 251[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "Connection: keep-alive[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "x-amzn-requestid: REDACTED
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "access-control-allow-origin: *[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.wire     ][main] http-outgoing-0 << "[\r][\n]"
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << HTTP/1.1 403 Forbidden
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << Date: Wed, 10 Apr 2024 08:04:57 GMT
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << Content-Type: application/json
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << Content-Length: 251
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << Connection: keep-alive
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << x-amzn-requestid: REDACTED
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.headers  ][main] http-outgoing-0 << access-control-allow-origin: *
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.impl.execchain.MainClientExec][main] Connection can be kept alive indefinitely
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.impl.conn.PoolingHttpClientConnectionManager][main] Connection [id: 0][route: {s}->https://MYURL:443] can be kept alive indefinitely
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.impl.conn.DefaultManagedHttpClientConnection][main] http-outgoing-0: set socket timeout to 0
[2024-04-10T08:04:57,210][DEBUG][org.apache.http.impl.conn.PoolingHttpClientConnectionManager][main] Connection released: [id: 0][route: {s}->https://MYURL:443][total available: 1; route allocated: 1 of 100; total allocated: 1 of 1000]
[2024-04-10T08:04:57,212][WARN ][logstash.outputs.opensearch][main] Attempted to resurrect connection to dead OpenSearch instance, but got an error {:url=>"https://MYURL:443/", :exception=>LogStash::Outputs::OpenSearch::HttpClient::Pool::BadResponseCodeError, :message=>"Got response code '403' contacting OpenSearch at URL 'https://MYURL:443/'"}

@joewragg Can you curl or awscurl your server with these credentials (https://code.dblock.org/2022/07/11/making-sigv4-authenticated-requests-to-managed-opensearch.html) and if so with what exact parameters/settings? I'm sure you're reading https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html already, but it's worth another pass in case something is incorrect in your setup.

@joewragg Can you curl or awscurl your server with these credentials (https://code.dblock.org/2022/07/11/making-sigv4-authenticated-requests-to-managed-opensearch.html) and if so with what exact parameters/settings? I'm sure you're reading https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html already, but it's worth another pass in case something is incorrect in your setup.

Yeah awscurl works

@joewragg Can you curl or awscurl your server with these credentials (https://code.dblock.org/2022/07/11/making-sigv4-authenticated-requests-to-managed-opensearch.html) and if so with what exact parameters/settings? I'm sure you're reading https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html already, but it's worth another pass in case something is incorrect in your setup.

Yeah awscurl works

Good. Knowing that the credentials are valid clears that. The next step is to debug the code in this library. It's doing its own signing here, I'd ensure that the parameters passed in match what's in the environment (maybe add some log lines?).
I'm happy to try to help if this can be reproduced easily.

@dblock it's like it tries to use instance profile instead of STS...

I think it was mentioned above:

Definitely this plugin is using the instance metadata to get the instance profile iam role instead of AWS_WEB_IDENTITY_TOKEN_FILE.

I am hoping someone can implement this, I doubt I'll get to it any time soon.


Skip button press with a cookie

For any user who's already been logged-in, simply redirect to Mapzen.com instead of offering a button press.

[x] Implement session variable for users who've been here before.
[x] Ensure that there is no possible mapzen.com cookie contention.

Closes #165.

yay!

@migurski conflicts :'(

Fixed conflict.


Ref/bug/load save scene v2 test

Fixed LoadSaveSceneV2Test. Some tests failed because the dependencies of some used classes changed. Some changes were made to the dcl-edit-testing repository.
#861mh7j69

Task linked: CU-861mh7j69 Test fails: LoadSaveSceneV2Test -> all


Empty options fails to render sidebar

Describe the bug
When calling generateSidebar with an empty options object the sidebar generation returns {}. Passing anything fixes the behaviour, see example below.
To Reproduce
console.log('Empty options');
console.log(generateSidebar({}));
console.log('(Essentially) Empty options');
console.log(generateSidebar({ debugPrint: false }));

Returns
Empty options
{}
(Essentially) Empty options
[
  { text: 'dev_docs', items: [ [Object], [Object], [Object] ] },
  { text: 'introduction', items: [ [Object], [Object], [Object] ] },
  {
    text: 'usage_guide',
    items: [ [Object], [Object], [Object], [Object] ]
  }
]

Expected behavior
When calling with empty options a rendered sidebar with default values should be returned. While (I think) this doesn't happen too often in a live environment, it might occur when users are exploring and playing around with the library.
Screenshots If applicable, add screenshots to help explain your problem.
N/A
Desktop (please complete the following information):

OS: [e.g. Windows 10] MacOS
Browser [e.g. Chrome, Safari] Chrome

Additional context
I'm not very experienced with JavaScript. Maybe such a behaviour is totally normal and intuitive for JS users. If so, please ignore this bug report 😉

Hello, Thank you for using vitepress-sidebar.
Your comment is valid and makes a very good point. It seems that plugin need to handle empty objects or empty option values correctly.
So i have fixed that issue and it will be reflected in the next release.
Thanks!


Custom libvips - undefined symbol: _ZNK4vips6VImage7gifsaveEPKcPNS_7VOption

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running node -e "require('sharp')" completes without error.
[x] Running npm install sharp completes without error.

Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?

  System:
    OS: Linux 4.9 Debian GNU/Linux 9 (stretch) 9 (stretch)
    CPU: (4) x64 Westmere E56xx/L56xx/X56xx (IBRS update)
    Memory: 431.97 MB / 3.86 GB
    Container: Yes
    Shell: 4.4.12 - /bin/bash
  Binaries:
    Node: 14.19.0 - /usr/bin/node
    npm: 8.5.1 - /home/main~/servokio.net/server/node_modules/.bin/npm
  npmPackages:
    sharp: ^0.30.2 => 0.30.2

What are the steps to reproduce?
Build libvips-8.12.2 with prebuilded cgif and libimagequant or quantizr (just for test) and install
## File format support
JPEG load/save with libjpeg:            yes (pkg-config)
JXL load/save with libjxl:              no (dynamic module: no)
JPEG2000 load/save with libopenjp2:     no
 (requires libopenjp2 2.4 or later)
PNG load with libspng:                  yes
 (requires libspng-0.6 or later)
PNG load/save with libpng:              yes (pkg-config libpng >= 1.2.9)
 (requires libpng-1.2.9 or later)
quantisation to 8 bit:                  yes
 (requires libimagequant)
TIFF load/save with libtiff:            yes (pkg-config libtiff-4)
image pyramid save:                     no
 (requires libgsf-1 1.14.26 or later)
HEIC/AVIF load/save with libheif:       yes (dynamic module: no)
WebP load/save with libwebp:            yes
 (requires libwebp, libwebpmux, libwebpdemux 0.6.0 or later)
PDF load with PDFium:                   no
PDF load with poppler-glib:             no (dynamic module: no)
 (requires poppler-glib 0.16.0 or later)
SVG load with librsvg-2.0:              no
 (requires librsvg-2.0 2.34.0 or later)
EXR load with OpenEXR:                  no
OpenSlide support:                      no (dynamic module: no)
 (requires openslide-3.3.0 or later)
Matlab load with matio:                 no
NIfTI load/save with niftiio:           no
FITS load/save with cfitsio:            no
GIF save with cgif:                     yes
 (requires cgif, libimagequant)
Magick package:                         none (dynamic module: no)
Magick major API version:               none
load with libMagickCore:                no
save with libMagickCore:                no

Edit package.json and set "libvips": "8.12.2"
Then npm install sharp
What is the expected behaviour?
Normal work with GIF files
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
const image = sharp(`image.gif`);
image.toFormat('gif').toFile('output.jpg', (err, info) => {
    if(err) return console.error(err);
});

Error
node: symbol lookup error: /home/main/root/servokio.net/server/node_modules/sharp/build/Release/sharp-linux-x64.node: undefined symbol: _ZNK4vips6VImage7gifsaveEPKcPNS_7VOptionE

Please provide sample image(s) that help explain this problem
Any GIF image

What is the output of running the following command?
ldd /home/main/root/servokio.net/server/node_modules/sharp/build/Release/sharp-linux-x64.node

What is the output of running the following command?
strings /usr/local/lib/libvips-cpp.so.42 | grep gifsave

_ZNK4vips6VImage7gifsaveEPKcPNS_7VOptionE
_ZNK4vips6VImage14gifsave_bufferEPNS_7VOptionE
_ZNK4vips6VImage14gifsave_targetENS_7VTargetEPNS_7VOptionE
gifsave
gifsave_buffer
gifsave_target
_ZNK4vips6VImage7gifsaveEPKcPNS_7VOptionE
gifsave_target
_ZNK4vips6VImage14gifsave_targetENS_7VTargetEPNS_7VOptionE
gifsave_buffer
_ZNK4vips6VImage14gifsave_bufferEPNS_7VOptionE
gifsave
_ZNK4vips6VImage7gifsaveEPKcPNS_7VOptionE
_ZNK4vips6VImage14gifsave_bufferEPNS_7VOptionE
_ZNK4vips6VImage14gifsave_targetENS_7VTargetEPNS_7VOptionE

Thanks, that looks OK to me. Perhaps multiple, conflicting versions of libvips are present on this machine?

How can I check this ?

Hi!
I'm having a similar issue but without a custom libvips, since sharp 0.30.0. Any previous version is fine:

Something went wrong installing the "sharp" module
Error relocating /root/project/node_modules/sharp/build/Release/sharp-linuxmusl-x64.node: _ZNK4vips6VImage7gifsaveEPKcPNS_7VOptionE: symbol not found

Possible solutions:
- Install with the --verbose flag and look for errors: "npm install --ignore-scripts=false --verbose sharp"
- Install for the current linuxmusl-x64 runtime: "npm install --platform=linuxmusl --arch=x64 sharp"
- Consult the installation documentation: https://sharp.pixelplumbing.com/install

System:
OS: Linux 5.11 Alpine Linux
CPU: (36) x64 Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz
Memory: 8.49 GB / 68.58 GB
Container: Yes
Shell: 1.32.1 - /bin/ash
Binaries:
Node: 16.10.0 - /usr/local/bin/node
Yarn: 3.1.0 - /usr/local/bin/yarn
npm: 7.24.0 - /usr/local/bin/npm
npmPackages:
sharp: 0.30.2 => 0.30.2

Reproduction is easy: just use the node:16.10.0-alpine Docker image

latest sharp v0.30.2

....older versions present anywhere....
No, only the vips-8.12.2 build

Please can either of you create a Dockerfile or similar that allows someone else to reproduce.

@lovell I managed to reproduce the issue on a minimal repo: https://github.com/marvinroger/sharp-symbol-issue
It's in fact more subtle than just requiring sharp. I figured out that the issue appears when requiring two different versions of sharp:

Requiring sharp 0.30.2 then 0.29.3 works fine
Requiring sharp 0.29.3 then 0.30.2 throws on the 0.30.2 require

The issue is demonstrated on the above repo. Also, I was able to reproduce with musl-x64 and musl-arm64.
The issue is not present on darwin-arm64, but a colleague reported that darwin-x64 failed too (although I can't 100% validate this).
In my case, I'm using sharp on my own project (0.30.2) and I have a dependency which depends on 0.29.3, so the use case for two different versions of sharp in the dependency tree is valid.
By the way, thanks for this awesome lib. 😉

@marvinroger Merci, please can you submit a PR to upgrade the version of sharp in any dependency you find using an outdated version. If that's not possible, please let me know which package(s) and I will do this.
There's a work-in-progress PR for libvips to improve symbol visibility that might help with this kind of problem at https://github.com/libvips/libvips/pull/2688

The addition of cgif to the prebuilt binaries for GIF output was a bit of an exception in v0.30.0+, but generally it's best to keep the versions in sync throughout the dependency tree.
Windows suffers from this the most, hence there's additional help displayed when a mismatch causes an error:
https://github.com/lovell/sharp/blob/fcbe4e1e01a1461651d1a206137e079e26a33250/lib/sharp.js#L24-L29
Perhaps this logic should have the Windows-only guard removed?

As illustrated, the problem happens on Alpine too, so I'd say the message is relevant on any OS.
Here's the PR, if you're fine with this change: https://github.com/lovell/sharp/pull/3132

@ServOKio Were you able to make any progress with this?

@ServOKio Were you able to make any progress with this?

Yes, on version ^0.30.3 everything works fine


Unable to Resolve and Unresolve comments in PRs all of a sudden (Unresolving conversation failed: Error: GraphQL error: Could not resolve to a node with the global id)

Extension version:

VSCode Version: v0.29.2

OS: Windows

Steps to Reproduce:

Create a PR, add a comment (in portal)
Try to open PR in VSCODE and resolve it
Get:
Unresolving conversation failed: Error: GraphQL error: Could not resolve to a node with the global id of 'github-review-23.20'
For PR: https://github.com/Azure/AzureDefender-K8S-InClusterDefense/pull/23

Duplicate of https://github.com/microsoft/vscode-pull-request-github/issues/2857. If you don't want to wait for the next release, you can disable the stable build of the extension and install the nightly build.


Implementation of the where API

Fixes https://github.com/visoftsolutions/dojo/issues/9

closing in favor of #1199 so i can write to the branch


[Feature] Sort category name in Alphabetical order

Description
Kindly sort the category names in sidebar in Alphabetical order
Screenshots

Checklist

[X] I have checked the existing issues
[X] I have read the Contributing Guidelines
[ ] I am willing to work on this issue (optional)

Hey @rupali-codes / @Anmol-Baranwal, May I try ?

Hey @rupali-codes / @Anmol-Baranwal, May I try ?

Do you wanna work on #2307 or this one? We can assign you any of them

Hey @rupali-codes / @Anmol-Baranwal, May I try ?

Do you wanna work on #2307 or this one? We can assign you any of them

Can you assign me this issue.


"Share" outdated

yep! this page https://sprig-beta.hackclub.dev/get outdated

https://github.com/hackclub/sprig/issues/871 <- reported in more detail


Use Cypress Cloud

if it is trutly free, and has a generous free tier
https://www.cypress.io/pricing#monthly

no need


Focus a new cell on insert instead of initialize

every time i click in the middle of a markdown cell to try to edit it, the cursor moves to the end.

Oh, yeah this is a bug that isn't introduced by this PR -- but it should be fixed in the codemirror fixups


Is it possible to run multiple test files on FTL at the same time?

Steps to reproduce
First, I know this is not a problem with patrol but directly with firebase test lab but wondering if you have a workaround or a solution for this.
From the firebase docs: https://docs.flutter.dev/testing/integration-tests, they ask us to create assembleDebug
./gradlew app:assembleDebug -Ptarget=integration_test/_test.dart for each test file.
Actual results
There is a similar issue but that is not accepting comments anymore, Is this fixed? https://github.com/leancodepl/patrol/issues/1269

Patrol version
[patrol ](patrol: ^2.0.2)
Patrol Doctor output

Patrol Doctor output
Patrol CLI version: 2.0.4
Program adb found in /opt/homebrew/bin/adb
Env var $ANDROID_HOME is not set
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller not found (install with `brew install ideviceinstaller`)

Flutter Doctor output

Flutter Doctor output
Flutter (Channel stable, 3.10.6, on macOS 13.4 22F66 darwin-arm64, locale en-IN)
    • Flutter version 3.10.6 on channel stable at /Users/gaurav/Library/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision f468f3366c (5 days ago), 2023-07-12 15:19:05 -0700
    • Engine revision cdbeda788a
    • Dart version 3.0.6
    • DevTools version 2.23.1

[!] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/gaurav/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E300c
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[✓] VS Code (version 1.81.0-insider)
    • VS Code at /Applications/Visual Studio Code - Insiders.app/Contents
    • Flutter extension version 3.68.0

[✓] Connected device (3 available)
    • POCO F1 (mobile) • 850c9bbc • android-arm64  • Android 13 (API 33)
    • macOS (desktop)  • macos    • darwin-arm64   • macOS 13.4 22F66 darwin-arm64
    • Chrome (web)     • chrome   • web-javascript • Google Chrome 114.0.5735.198

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Hi @Gaurav-CareMonitor ! We released Patrol 2.0 recently, which enabled using Patrol with FTL. You can build necessary files using patrol build android and use them in FTL. If you encounter any problems or have any specific questions, feel free to create another issue.

Hi @jBorkowska , I tried bundling different test files in a single apk
I am using this command:
patrol build android \     --target integration_test/auth_test/single_user_login_test.dart \     --target integration_test/app_test/metric_test.dart \     --target integration_test/app_test/message_test.dart \     --target integration_test/app_test/resource_visibility_test.dart \     --verbose
but Firebase Test Lab throws this error after the first test:
io.grpc.StatusRuntimeException: UNKNOWN: 'package:patrol/src/native/patrol_app_service.dart': Failed assertion: line 129 pos 12: '_testExecutionCompleted.isCompleted == false': is not true.
	at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:271)
	at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:252)
	at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:165)
	at pl.leancode.patrol.contracts.PatrolAppServiceGrpc$PatrolAppServiceBlockingStub.runDartTest(PatrolAppServiceGrpc.java:215)
	at pl.leancode.patrol.PatrolAppServiceClient.runDartTest(PatrolAppServiceClient.java:40)
	at pl.leancode.patrol.PatrolJUnitRunner.runDartTest(PatrolJUnitRunner.java:128)
	at com.health.caremonitor.MainActivityTest.runDartTest(MainActivityTest.java:29)

Are you sure that you sent 2 apks? Take a look at scripts in our repo, that are a part of our example app, maybe you'll find a solution there

Here's the script we use but you don't need to set packageName.
It'll be also great if you show us your invocation to FTL.

This is my FTL script
gcloud firebase test android run \
    --type instrumentation \
    --app build/app/outputs/apk/Caremonitor/debug/app-Caremonitor-debug.apk \
    --test build/app/outputs/apk/androidTest/Caremonitor/debug/app-Caremonitor-debug-androidTest.apk \
    --timeout 1m \
    --device=model=gts8uwifi,version=33

Working fine after adding  --use-orchestrator flag. Thanks


wrong defaults in pico-sdk/src/boards/include/boards/adafruit_itsybitsy_rp2040.h

this file specifies:
#define PICO_DEFAULT_I2C 0
But the SDA / SCL pins are 2/3, which is I2C1
See https://learn.adafruit.com/assets/107207

A PR would be welcome. Thanks!

I just ran into this as well. I would prefer the breadboard pins be the default bus (not the stemma connector) because not all devices are guaranteed to have pull-ups and adding pull-ups to the stemma lines... you may as well be using the breadboard pins.
Either way, I can submit a PR. My CI is currently producing faulty artifacts for the itsybitsy build.

merged into develop


getSellPrice

https://api.coinbase.com/v1/prices/sell?qty=1
returns:
{"btc":{"amount":"1.00000000","currency":"BTC"},"subtotal":{"amount":"267.38","currency":"USD"},"fees":[{"coinbase":{"amount":"2.52","currency":"USD"}},{"bank":{"amount":"0.15","currency":"USD"}}],"total":{"amount":"264.71","currency":"USD"},"amount":"264.71","currency":"USD"}

but:
    public function getSellPrice($qty=1)
    {
        return $this->get("prices/sell", array( "qty" => $qty ))->amount;
    }

function getSellPrice(){
	global $coinbase;
	return $coinbase->getSellPrice();
}

returns:
string(7) "9801.00"

Are you making calls against Sandbox? it has different rates. Closing this as I don't think this is an actual issue in the library

Please reopen I tested on both.. same results.
https://api.sandbox.coinbase.com/v1/prices/sell?qty=1
https://api.coinbase.com/v1/prices/sell?qty=1
both return same json outputs, however they are not collected correctly with the function in the coinbase-php as it only yields 1 value.


(Advice) Trusted dictionary is always empty - Should we load from certifi?

System info:
OS: Ubuntu 20.04
Python version: 3.8.10
aia: from master (4104b96)
Thanks for the neat utility!
I was giving it a go and noticed that self._trusted always turns up empty on my system. Documentation says the list will not contain a path unless loaded by ssl connections.
Code to reproduce
>>>
import ssl
a = ssl.create_default_context()
a.load_default_certs()
print(a.get_ca_certs())

# Outputs an empty list on Ubuntu 20.04, python 3.8.10
# >>> []

Should the _trusted variable be manually populated with trusted certificates (eg: from certifi) after initialising a session?
Cheers!

In Ubuntu, you can install the ca-certificates (from the APT repositories) and set the environment variable SSL_CERT_FILE=/etc/ssl/certs/ca-certificates.crt. That should have been the default configuration, but as you can see with ssl.get_default_verify_paths(), it will look for the /usr/lib/ssl/cert.pem file, which doesn't exist.
Maybe the __init__ should change to handle this, but I would need to check in which OS/distros this happen, and how to get the root certificates from certifi or other source in case they can't be found in the default location. Anyway, updating _trusted manually after initialization should be okay for the current version of aia (v0.2.0), if that system-level solution based on an environment variable isn't an alternative.

Thanks a lot for the detailed answer!
I didn't know about the ENV vars. TIL!
My workaround was overriding the constructor.
import certifi
from aia import AIASession, openssl_get_cert_info

class CustomSession(AIASession):
    def __init__(self, user_agent=DEFAULT_USER_AGENT):
        self.user_agent = user_agent
         self._context = ssl.create_default_context()
         self._context.load_default_certs()
         self._context.load_verify_locations(certifi.where())

        # Trusted certificates whitelist in dict format like:
        # {"RFC4514 string": b"DER certificate contents"}
        self._trusted = {
            openssl_get_cert_info(ca_der)["subject"]: ca_der
            for ca_der in self._context.get_ca_certs(True)
        }

Cheers!

FWIW, I have a similar issue, and the issue is gone after I switched from Ubuntu 22.04 to 24.04. Probably it's related to https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=805646


ssd1327 and framebuffer='diff_to_previous' not working

My Pi zero and i2c ssd1327 128x128 module shows garbage text when framebuffer='diff_to_previous' is used on the demo.py example. I'd like to use it for faster partial display updates

Have same config like a @kayjayme

Right, looking back over some of the issues around SSD1327 (see here), it turns out I accepted a PR (#202) from @sharkusk for the SSD1327 implementation. I don't actually have one of these devices to test against unfortunately. If anyone is able to donate or loan me a display that would help resolve this issue.
This issue is a duplicate of #239, cc @yano999, joske500, heiko2402, mindforger

I can give you one - where should I send it

Send me an email to<EMAIL_ADDRESS>and I’ll let you know where to post it to.

Version 3.1.1 released with a fix the diff_to_previous framebuffer, but I get a sense that performance is not great, even with this. Clearly the upper limit of 400KHz on the I2C interface affects things, and setting the mode=1 to force monochrome will marginally improve things, but I'm not sure how much more can be done to improve the frame rate when there are large changes between frames

Version 3.1.1 released with a fix the diff_to_previous framebuffer, but I get a sense that performance is not great, even with this. Clearly the upper limit of 400KHz on the I2C interface affects things, and setting the mode=1 to force monochrome will marginally improve things, but I'm not sure how much more can be done to improve the frame rate when there are large changes between frames

For now it`s much more faster. Fine for my project.
Mode=1 havent affect fps.
Tnx for your work and fix,


[Error] Downloading stash for Standard, details logged to DebugInfo.log

Hi,
My Procurement has been working just fine until the most recent update for PoE. Now, when I try to log into Procurement, I get the following message:
[Error] Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues
I have never used session ID to log in because I play the game via Steam and I have never had this issue before. Any help you can give would be much appreciated.
Thank you

It's because of the changes to maps. I sold all my maps in Standard league, and now Procurement loads again. It will cost you all of your maps in Standard this way though. (I never play standard anymore, so I don't care :) )

The new version of Procurement is out, which fixes this issue: https://github.com/Stickymaddness/Procurement/releases/tag/1.9.6
Unfortunately until GGG decide to support the dev community, these type of issues will continue to happen as it is out of our hands. http://i.imgur.com/yrPtajM.jpg


Redis cache doesn´t work with hhvm

Clean instalation Ubuntu 14.04 easyengine 3.3.3
Install site with redis Response Headers shows this
X-SRCache-Fetch-Status: HIT
X-SRCache-Store-Status: BYPASS
Enable hhvm over same site Response Headers shows this
X-SRCache-Fetch-Status: MISS
X-SRCache-Store-Status: BYPASS
Following this http://community.rtcamp.com/t/hhvm-and-wpredis/4845/6?u=danielote and adding this in redis-hhvm.conf
include fastcgi_params;
fastcgi_param  HTTP_ACCEPT_ENCODING      "";
fastcgi_pass hhvm;
Then Response Headers show this
X-SRCache-Fetch-Status: HIT
X-SRCache-Store-Status: BYPASS

Good catch, @famfam  -  if redis cache is working after the config change, are you seeing good results from having both features implemented?

No Matty, I disabled and purge hhvm because server (in production) crash frequently. It has more than 10.000 unique vistors at day.

Ok that's good to know and sorry to hear.  I have seen issues with HHVM locking up and not falling back to PHP after a certain HHVM cache fills up over time. Basically leaving the site down with little to no warning.
Without automated purging of this critical cache element when it reaches its threshold, I would honestly say that HHVM is not ready for most production environments. Hopefully there is a fix for this or a work-around because I have seen good performance when HHVM works.
I've also had better results with HHVM when it runs on a virtual instance with more than 1gig of RAM for a site with up to 1,000 daily visitors - so a site such as yours with over 10,000 unique visits each day might need significantly more RAM than even 2gig.  Might be something to look into.

The site is hosted on a server Linode 2Gb.

I haven't made any tests but does anyone know if monit would solve this issue ? also why doesn't the fallback work ?

https://github.com/rtCamp/easyengine/commit/0962f9bd6087f0903ece2cabcc5bdc989f608088 didn't work for me. still, hhvm doesn't fallback.


Remove Bintray resolver

Use v0.6.0 for binary compatibility checking to avoid using Bintray

retest this please


feat: allow add custom logger

feat: allow add custom logger, also allow others like golangci-lint to have custom logger checker configs
we wrap zap logger in most cases, so I hope this linter can also allow user to check zap, logr or klog based wrapper or anyother logger.
update:
refactored to  using a config file to define custom  loggers.
the config file format is yaml
sample config file:
# loggercheck sample config
disable:
    - klog
    - logr
    - zap
custom-checkers:
    - name: customlogger
      package-import: example.com/customlogger
      funcs:
        - example.com/customlogger.Debug
        - example.com/customlogger.Info
        - example.com/customlogger.Warn
        - example.com/customlogger.Error
    - name: mylogger
      package-import: foo.example.com/bar
      funcs:
        - (*foo.example.com/bar.Logger).Debugw
        - (*foo.example.com/bar.Logger).Infow
        - (*foo.example.com/bar.Logger).Warnw
        - (*foo.example.com/bar.Logger).Errorw

@ttys3 Thanks, but for now I'll hold this pr for a while.
Because I decide to rename this repo, since it's not logr specific anymore :)

I have some ideas, I'll apply some changes to your PR

OK.
the main idea is:

allow tools like golanci-lint can config custom logger and other opion  (currently with WithConfig Option)
and this also works with the cmd cli flags (currently via the -config)

@ttys3 I've pushed my changes, PTAL

I should rename pattern to rules

Thanks!

I have some idea on the exported Config struct.
I think it's better keep the consistency between cli and golabgci-lint user

I'm try to make a PR to show the idea when I have time

@ttys3 I think the clean way to do that is re-implement singlechecker.Main. So we accept string list for "disable" and "rules" and do the parse later prior to run


Error parsing .a3m from ColabFold MMseqs2

Expected behavior:
I can set --use_precomputed_alignments with run_pretrained_openfold.py to run inference on a monomer using a .a3m MSA output file from ColabFold MMseqs2.
Actual behavior:
This error occurs:
Traceback (most recent call last):
  File "run_pretrained_openfold.py", line 499, in <module>
    main(args)
  File "run_pretrained_openfold.py", line 352, in main
    args,
  File "run_pretrained_openfold.py", line 195, in generate_feature_dict
    fasta_path=tmp_fasta_path, alignment_dir=local_alignment_dir
  File "<...>/openfold/openfold/data/data_pipeline.py", line 622, in process_fasta
    msa_features = self._process_msa_feats(alignment_dir, input_sequence, alignment_index)
  File "<...>/openfold/openfold/data/data_pipeline.py", line 582, in _process_msa_feats
    alignment_dir, input_sequence, alignment_index
  File "<...>/openfold/openfold/data/data_pipeline.py", line 555, in _get_msas
    msa_data = self._parse_msa_data(alignment_dir, alignment_index)
  File "<...>/openfold/openfold/data/data_pipeline.py", line 502, in _parse_msa_data
    msa, deletion_matrix = parsers.parse_a3m(fp.read())
  File "<...>/openfold/openfold/data/parsers.py", line 145, in parse_a3m
    sequences, _ = parse_fasta(a3m_string)
  File "<...>/openfold/openfold/data/parsers.py", line 65, in parse_fasta
    sequences[index] += line
IndexError: list index out of range

Context:
I used the default placeholder sequence and output MSA from ColabFold MMseqs2:
fasta_dir/test.fasta:
>test
PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK

precomputed_alignments/test/test.a3m:
#59	1
>101
PIAQIHILEGRSDEQKETLIREVSEAISRSLDAPLTSVRVIITEMAKGHFGIGGELASK
>UPI00143C904E	86	0.396	1.389E-17	0	57	59	1	58	68
PMIHVEMYPGRTPEQKADLVREVTDAFVRTCGGNPDGVWVVIQEVPGEHWGVGGQLAS-
>A0A7C3BUL5	84	0.322	4.949E-17	0	58	59	1	59	60
PLVTVEMWEGRTVEQKKELAQGITSVMTDKLGIPPEAVTIIIKDVPKHNWAIGGKLSSE
>A0A4P6L4R2	83	0.322	1.284E-16	0	58	59	1	59	61
PTINVQLFEGRTPEQKRAFVQAVTQATVETLGSSPESVDIILHEVKREHWATGGKLWSE
...
<rest of file>
...

I think the issue is that the ColabFold MMseqs2 .a3m format has a first line beginning with #, which seems to be some informational line regarding chains in the form #<chain 1 length>,<chain 2 length>,...  <chain 1 copies>,<chain 2 copies>,...
In parsers.py, parse_a3m delegates to parse_fasta, which produces the error on non-blank lines occurring before the first > line:
https://github.com/aqlaboratory/openfold/blob/d063e344de262b199575896c6e997b6497272353/openfold/data/parsers.py#L57-L65
My workaround has been to skip lines starting with #:
 line = line.strip()
 if line.startswith(">"):
     index += 1
     descriptions.append(line[1:])  # Remove the '>' at the beginning.
     sequences.append("")
     continue
 elif line.startswith("#"):
     continue
 elif not line:
     continue  # Skip blank lines.
 sequences[index] += line

Fixed in ddd1d79.
P.S. For the detail, formatting, and pre-emptive bugfixing, this gets the award for the best OpenFold issue so far lol --- thanks for taking the time to put this together!


use Wasm, not WASM

Follow the official convention:

WebAssembly (abbreviated Wasm [1])

Can you fix the codespell issue "imbedded"  on a separate commit?


Improve test messages for org.junit.Assume._ calls.

Review by @sjrd.

That's all.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3016/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3913/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/3017/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/3915/
Test PASSed.

LGTM


Implement the ImageBot component

Change-Id: I17d277de54a7fef1e22d2ac40486af65f5f5df9c

Why not use the same proxying mechanism as the ChatBox component?  It seems strange that they should use different approaches.

We can always move to the proxy method eventually. This is the version that is currently deployed on the DALL-E test server I set up.

We can always move to the proxy method eventually. This is the version that is currently deployed on the DALL-E test server I set up.

Sure.  I just know how the best laid plans can get indefinitely postponed ;-). Plus, it would just be nice for developers to have a single model for how this type of thing should be done.  I also imagine that the proxy method makes creating the iOS versions of these components easier.

@ewpatton Let's see if we can get the proxy to handle this, next week.

@ewpatton This code doesn't compile, you need to add httpcore to the class path for components.
From 948d85609de949bf7c012613de97b63a5ef32425 Mon Sep 17 00:00:00 2001
From: "Jeffrey I. Schiller"<EMAIL_ADDRESS>Date: Wed, 7 Jun 2023 13:33:15 -0400
Subject: [PATCH] Add httpcore jar file

Change-Id: I49c05536d3be45d02b954f18e04447e58233eb2f
---
 appinventor/components/build.xml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/appinventor/components/build.xml b/appinventor/components/build.xml
index 2370de6dc9..9f44db2698 100644
--- a/appinventor/components/build.xml
+++ b/appinventor/components/build.xml
@@ -139,6 +139,7 @@
     <copy toFile="${public.deps.dir}/acra-4.4.0.jar" file="${lib.dir}/acra/acra-4.4.0.jar" />
     <copy toFile="${public.deps.dir}/twitter4j.jar" file="${lib.dir}/twitter/twitter4j-core-3.0.5.jar" />
     <copy toFile="${public.deps.dir}/twitter4jmedia.jar" file="${lib.dir}/twitter/twitter4j-media-support-3.0.5.jar" />
+    <copy toFile="${public.deps.dir}/httpcore.jar" file="${lib.dir}/apache-http/httpcore-4.3.2.jar" />
     <copy toFile="${public.deps.dir}/httpmime.jar" file="${lib.dir}/apache-http/httpmime-4.3.4.jar" />
     <copy toFile="${public.deps.dir}/fusiontables.jar" file="${lib.dir}/fusiontables/fusiontables.jar" />
     <copy toFile="${public.deps.dir}/firebase.jar" file="${lib.dir}/firebase/firebase-client-android-2.5.0.jar" />
--
2.17.1

@ewpatton Note: The above will likely be moot when I add the proxy.


Add suggestion to error message when dependencies missing

What this PR does / why we need it:
This provides an actionable next step to users when they fail to render due to missing dependencies.
Special notes for your reviewer:
If applicable:

[x] this PR contains documentation
[x] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

With a few exceptions, we try to avoid avoid referring to Helm CLI commands in pkg/action. This is because pkg/action can be used by other programs as a library, so asking the user to run helm repo update may be completely irrelevant.
In any case, this has been resolved in https://github.com/helm/helm/pull/9794 which I just merged today.


[pbs] Add support for series

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.01.05. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.01.05

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add -v flag to your command line you run youtube-dl with, copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
$ youtube-dl -v <your command line>
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.01.05
[debug] Python version 2.7.12 - Linux-4.4.0-45-generic-x86_64-with-Ubuntu-16.04-xenial
[debug] exe versions: none
[debug] Proxy map: {}
...

Description of your issue, suggested solution and other information
root@my-server:/tmp# youtube-dl "http://www.pbs.org/wgbh/masterpiece/programs/series/sherlock-s4/" -F
[pbs] Downloading JSON metadata
[pbs] sherlock-s4: Downloading webpage
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/bin/youtube-dl/__main__.py", line 19, in <module>
  File "/usr/local/bin/youtube-dl/youtube_dl/__init__.py", line 444, in main
  File "/usr/local/bin/youtube-dl/youtube_dl/__init__.py", line 434, in _real_main
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 1791, in download
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 694, in extract_info
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 359, in extract
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/pbs.py", line 443, in _real_extract
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/pbs.py", line 425, in _extract_webpage
  File "/usr/lib/python2.7/re.py", line 141, in match
    return _compile(pattern, flags).match(string)
TypeError: expected string or buffer

PBS was working a week ago.


"Back" navigation on listing pages with filter: Incorrect product display

Description:

Go to a shopware page with filter
Select a filter, e.g. colour red. URL is adjusted, filter set and product selection adjusted
Navigate back using the browser button. Product selection is still on the selected filter config. The filter is also still set, although the URL no longer contains any get parameters

Environment: <IP_ADDRESS>
[2_Aftrer_Back_Button.png|https://sbp-issuetracker-attachments.s3.eu-west-1.amazonaws.com/1722952745_66b22c293fee1_2_Aftrer_Back_Button.png]  [1_Filter_active.png|https://sbp-issuetracker-attachments.s3.eu-west-1.amazonaws.com/1722952745_66b22c29a7de9_1_Filter_active.png]

[public] Automated response: This issue is linked to the internal issue https://shopware.atlassian.net/browse/NEXT-37553.
[created from NEXT-37553, comment 484265]


[MOCK] PoC for Creation Flow Modal

Description
Build out the overall structure for the Creation Flow Modal and evaluate for possible Sage component versus a partial in kp.
NOTE: for component development we could consider the precedent Drawer established as a wrapper component of sorts.
Design

Product Creation Flow

Commerce Offer Creation Flow

Additional Information
Proposed structure/props configuration

Moving to https://kajabi.atlassian.net/browse/UXD-40


Responsive Fix

This leads to a better responsiveness of the site and I didn't even write A SINGLE media query. What helped was to use vmin instead of vh/em.
It looks good on Safari and Vivaldi and mobile devices (I simulated the devices with the responsive view of the browser)
Fix for issue #43

Hey @maracuja-juice,
Your changes look good to me!


Custom editors: how to integrate custom text editor into workbench?

Refs: https://github.com/microsoft/vscode/issues/91325
I am still missing a few hooks into the workbench for my custom markdown editor:

status bar: how do I reflect the selected line/column etc?
search: how can I highlight words from search results that the user did?

For the status bar it would be odd to task the extension for doing their own entries, rather there should be some provider API.

If there's demand for these, I believe we can add hooks for these after the initial custom editor API is finalized

Closing this since we have not seen extension authors requesting these features


MB-3712 Remove unused tables, columns, and code

While adding comments to the tables assigned to TTV, I noticed some
columns and tables were no longer used. This migration removes them.
I also removed other related unused code.

Messages

:book:
:link: MB-3712

  Generated by :no_entry_sign: dangerJS against 929e6d406a800acb21482fffbc0154c20410e65f


edit for modified.

Will edit Japanese (ja-JP) locale.

i think this request can should be closed since nothing happened for over 2 years


Black Jack Competitors

At this point the competitor AI is fully functional. The issue is that for every game the maximum amount of competitors will be allocated for each game. Instead the amount of competitors should be variable. The amount of competitors should be determined by how many NPC actors are seated around the in world table before a game starts. I was thinking I could make a custom stool to place around tables and the game will allocate a competitor for each chair that has an NPC sitting in it.

That sounds like a great idea! I have been practicing with idle markers and animations, so that would certainly be doable, do you have a plan for checking to see if a chair has an NPC in it?

Renamed the issue and removed the enhancement tag. Im rescoping the issue to the entire top level feature of competitors in general.

I added this issue to the playable milestone. We need the competitors feature for this milestone because the dealer is technically a competitor.

Ive brought up AI personalities in issue #18 as a future possibility.

Should this issue be closed since we have issue #18 ?

Nah, these issues sound really similar but the simple AI (Player) and their personalities will coexist at the same time.
A personality extends the Player giving it all the behaviors of the simple Player AI through inheritance. An empty personality script would behave exactly like a generic, simple player. A personality defines what makes each player different from one another expressed by behaviors. This is why the personality scripts are so short. They literally only define the differences and additions to the simple player AI.

Ah, I see, thanks for clarifying

Closing this as blackjack has a simple and playable AI at this point.


support configuring http2 receive timeout

This is missing a test at the very least, updating the documentation, and should not introduce a new function when we can do the maps:get in the function directly.

Closing in favor of #1141.


[Java] ComplexWriterImpl.setValueCount() doesn't set the value count of its "root" container

The following code:
    MapVector vector = new MapVector(name, allocator, null);
    ComplexWriterImpl mapWriter = new ComplexWriterImpl("colMap", vector);
    BaseWriter.MapWriter mapWr = mapWriter.rootAsMap();
    // write into the map vector
    …
    mapWriter.setValueCount(5);

is expected to set the value count of vector to 5, but it doesn't
Reporter: Abdel Hakim Deneche / @adeneche
Note: This issue was originally created as ARROW-329. Please see the migration documentation for further details.

Fixed in https://github.com/apache/arrow/issues/36375
It contains tests for setValueCount functionality: https://github.com/apache/arrow/pull/36351/files#diff-d272bd6f29af178ded979919169629bff9dc6d558da6c876e8f5b8358da1fdbfR1615-R1618


brew.rb: remove gem setup for stackprof

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.
[ ] Have you successfully run brew style with your changes locally?
[ ] Have you successfully run brew typecheck with your changes locally?
[ ] Have you successfully run brew tests with your changes locally?

GEM_HOME and GEM_PATH are already set here, so setting up the gem environment here is not necessary and causes issues due to the assumption that standalone/load_path is run first. This fixes stackprof not working.
This could be refined further so that we don't allow GEM_* bleeding and instead insert the relevant directory into the load path via a Ruby command arg (like we do for intergration tests), to ensure better consistency in runtime behaviour between brew prof runs and regular env-filtered runs. That is however an extension of this PR rather than an alternative solution.
Closes https://github.com/Homebrew/brew/pull/11799

Review period will end on 2021-08-12 at 01:21:59 UTC.

Review period skipped due to critical label.


Relative namespaces in goog.module

On the quest to reduce verbosity even further, using Closure Compiler with goog.module still results in long lists of requires with verbose namespaces, often purely to satisfy type annotations in jsdoc.  In a typical source file these might be 20 lines of solid text, each 100 or more characters long. Adding to the perceived cost of strong typing:
goog.module("some.typical.quite.long.namespace.deep.in.some.code.Thing");
var x = goog.require("some.typical.quite.long.namespace.deep.in.some.Something");
var y = goog.require("some.typical.quite.long.namespace.deep.in.some.code.SomethingElse");
var z = goog.require("some.typical.quite.long.namespace.deep.in.some.code.sub.AnotherThing");

Are there any ideas for introducing relative paths like in ES6 and CommonJS?
goog.module("some.typical.quite.long.namespace.deep.in.some.code.Thing");
var x = goog.require("../Something");
var y = goog.require("./SomethingElse");
var z = goog.require("./sub/AnotherThing");

Since each JS has a goog.provide/module before this, it should be possible to resolve this even when using the bundled / non compiled approach.
I'd use ES6 modules once it hit Chrome Canary, to retain non-compiled rapid development, but it seems a way off.

Have you considered goog.scope?
http://stackoverflow.com/questions/21106791/how-to-solve-google-closure-namespace-hell

Having relative paths seems to imply that the namespace structure corresponds to file paths, which is usually not true and can cause confusion.

I would like to reserve paths for ES6 modules for the time being. But some short cut might be interesting.

Closing this as this is primarily a Closure Library issue which defines the meaning of "goog.module".


Outline Fold button and Collapse All (sic) button icons are inconsistent

The Outline tree's Fold button icon is (nonsensically) uses a down-pointing arrow whereas the Collapse All button's icon uses the conventional boxed '-' as per e.g. the documentation https://github.com/microsoft/vscode/issues/90705 and the File... dialog.

V1.42.1 on Windows 7.
Note: This should not be mistaken for a duplicate of https://github.com/microsoft/vscode/issues/89894 .

This is intentionally designed this way, as already mentioned in #89894, trees use > and collapsing multiple items typically use [-]. This also matches other paradigms in the Microsoft design system, like Outlook:
Collapse all icon

Folding tree

You might be interested in upvoting #79130, which will allow you to select a custom icon set for the workbench.

This is intentionally designed this way, as already mentioned in #89894

Some mistake I think. #89894 does not mention that one uses an arrow and the other a boxed '-'.

trees use > and collapsing multiple items typically use [-].

Thanks for the confirmation.


Firefox supporting Subgrid isn't showing up

Last week I submitted a pull request to update the Subgrid page to reflect that Firefox 69 will ship Subgrid. https://github.com/Fyrd/caniuse/pull/4950
But it's not working.

I don't know why.
The JSON file says:
 "firefox":{
      "2":"n",
      "3":"n",
etc etc
      "68":"n",
      "69":"y"
    },

??????

Sorry about that, after PRs are merged I need to manually press a button to update the site's data which I forgot to do in this instance. Have updated it now, thanks for pointing that out!


It should also be less sensitive in the new beta.


Move all masm scripts to standalone files and compiled them in the build.rs

What should be done?
Move all the miden assembly code to individual files, compile the files in the build.rs, and save the result to a binary file.
How should it be done?
Add a masm folder per module that has miden assembly, create parallel files to hint at where the file is used
When is this task done?
when there is no longer inlined miden assembly in rust code
Additional context
this is to speed up development, currently changing miden assembly code forces the rust code to be recompiled, which is pretty slow with the --release flag, which is necessary to run the tests that check STARK proofs.

Is this for inlined MASM in production code or test code or both?
For production code, I agree - though, in some cases, we manipulate MASM code programmatically (e.g., here). Not sure what's the best way to handle such cases.
For test code, also agree - but I think here we can tolerate some inline MASM code if it simplifies things.

The motivation here is to avoid triggering an expensive --release build of the project for testing, which results in very slow iteration cycles. I haven't surveyed the code, but I assume anything touching accounts/swap/p2id/p2idr would benefit of being moved to files.

Closing as after #826 we now compile all MASM code to MAST binaries at build time. We still use --release flag for testing though as tests which require proving or signature generation would currently be too slow to run in testing mode.


Add image width & height options to metadata

Recommended by Facebook:

2. Use og:image:width and og:image:height Open Graph tags
Using these tags will specify the image dimensions to the crawler so that it can render the image immediately without having to asynchronously download and process it.

Reference: https://developers.facebook.com/docs/sharing/best-practices/

Added setMetaTag() to set arbitrary meta tag in #58

As we have the other og meta tags, do not you think it would be worthwhile to accept this PR? The others understand that they are rejected.

I don't want to add the universe of og meta tags, so figured it's better to expose the function. Actually thinking about removing image and imageAlt (basically all the cases that just call setMetaTag once), but that would be breaking.


No symbols found in binary, trying to find functions using .gosymtab

To Reproduce
Steps to reproduce the behavior:

use image otel/autoinstrumentation-go:v0.9.0-alpha

Additional context
"msg":"No symbols found in binary, trying to find functions using .gosymtab"

Hi @VincentXu97 Can you please provide the following information to help reproduce this ?

Which ldflags were used when the go application you're running was built? according to the error I assume at least -ldflags "-s" was used.
Which Go version was the application built in?

I used - s - w
Go version is 1.21.0

Also found this problem
This is what i am using when building my image:
 CGO_ENABLED=0 go build -tags k8s -gcflags="all=${GCFLAGS}"  -ldflags -o example


🐛 bug fix: Updating install for kcp on ocp for release-0.22.0-rc2

Summary
This PR fixes bugs on the e2e script to install KS on ocp for release-0.22.0-rc2.
It was successfully tested on the e2e test scripts and ginkgo tests
Related issue(s)
Fixes #

/retest


No violation for java.util.Stack

Why is use of java.util.Stack not a violation, but java.util.Vector is?

Seems like an oversight.  Please investigate and submit a PR.

I think Dictionary and Enumeration would make good additions athough they are rarely used.  I am not sure about Properties since I have never used Preferences but the former is baked into a lot of simple configuration uses, including S3Proxy.

Dictionary and Enumeration are abstract classes so we would need to generate violations for subclasses.  @delanym do you have a more specific feature request?

My interest in this is contingent on removing their usage from my own code, which is proving difficult at the moment. But I should get to it this year


Fix dot_graph

Use subprocess.check_call so we get an error if the command fails (e.g., because graphviz is not installed).
Actually generate pngs (not pdfs) so visualization in notebooks works.

Looks good.  Thanks for the fix.


bugfix: parent workflow, when signaling child workflow, can experienc…

…e deadlock, if child workflow, at the same time, is completed.

Coverage increased (+0.06%) to 64.105% when pulling 7874f04657c010e0ef5ce114c1ea438b8415d680 on bugfix-transfer into 0a4abbeb0b7f5153572d00d06ad093bedc5251c6 on master.


Interthr calib

Can one of the admins verify this patch?

Please rebase onto develop and create a PR to the develop  branch.


Why do AdaLog fail to convert the Vit-Base model into 8-bit precision?

I want to use AdaLog to convert the 'vit_base_patch16_224' model in TIMM to 8-bit precision, but the model completely collapses. It achieves only 0.118000% accuracy on the validation set of ImageNet-1K. I used the following configuration, can the authors tell me how to fix this?
class Config:
    def __init__(self):
        # calibration settings
        self.calib_size = 32
        self.optim_size = 1024
        self.calib_batch_size = 32
        self.optim_batch_size = 32
        self.w_bit = 8
        self.a_bit = 8
        self.s_bit = 8
        self.qconv_a_bit = 8
        self.qhead_a_bit = 8
        self.matmul_head_channel_wise = True
        self.post_softmax_quantizer = 'adalog'
        self.post_gelu_quantizer = 'adalog'
        # search settings
        self.eq_n = 128
        self.search_round = 3
        self.fpcs = True
        self.steps = 6
        # optimization settings
        self.keep_gpu = True
        self.train_act = True

Thank you for your interest in our work. We had not conducted experiments with 8-bit previously, so there were some bugs in the code, which have now been fixed.

Thanks for the reply, the problem is solved.


Release rclc for Galactic

Galactic branch for ROS 2 was created: https://discourse.ros.org/t/galactic-api-and-feature-freeze-in-rolling/19795
TODO:

create new branch for Galactic
new CI job for Rolling
update CI jobs (Rolling stays the same)
new bloom release for Galactic
update codecov badge in README.md

@norro, @ralph-lange @pablogs9 ,@BrettRD
Which PR shall me merge for the Galactic release?
currently open PRs for Rolling:

[ ] Add parameter server functionality: https://github.com/ros2/rclc/pull/78
[ ] Quality declaration statement https://github.com/ros2/rclc/pull/74
[ ] Add Subscription with context pointer https://github.com/ros2/rclc/pull/73
[ ] Provide lifecycle services in the rclc lifecycle nodes https://github.com/ros2/rclc/pull/51

Leave https://github.com/ros2/rclc/pull/73 out; It doesn't change any existing API, and I'd like to backport as far as Foxy.
I also need to resubmit the PR because rclc_executor_remove_subscription needs to be a separate PR.

I would like to have parameter server functionality in Galactic. When are we going to release @JanStaschulat?

Galactic is going to be released on May 23 (Galactic release plan). I think, we should have the rclc release ready by then too.
So I propose, one week before, May 14th to create a Galactic branch.
I apologize for this late notice. It's the first time we synchornize with a new ROS 2 release. Next time, we should align our timeline with the one from ROS 2 development.

That's still in time. No worries. To be on the safe side regarding the Release Candidate on May 17th, I propose to do the bloom already on May 11th or 12th because the PR to rosdistro may take more than a day.

I would like to have parameter server functionality in Galactic. When are we going to release @JanStaschulat?

Yes, having parameters server functionality in Galactic would be really great!

Proposed timeline:
05.05.2021 rclc repo: Function freeze and creation of Galactic branch
11.05.2021 rclc repo: Create bloom release (PR to rosdistro)
17.05.2021 ROS 2 Galactic: Release Candidate packages are built. Updated releases of ROS Desktop 2 packages available.
23.05.2021 ROS 2 Galactic: Announcement of Galactic release

@pablogs9 Do you think this is enough time for you to merge the parameter PR until 5.5.2021?

@JanStaschulat I'm not sure because we are having a lot of problems with message memory initiation because of rosidl runtimes and generators that use malloc and free instead of rcutils_get_default_allocator... Check https://github.com/ros2/rosidl/pull/584.
The point is that we are going to need to have a kind of conditional compilation depending on ROS2 or micro-ROS. But I'm thinking that maybe we can merge a basic (dynamic memory) version that freezes our parameter API and then makes changes internally taking care of API/ABI changes.
Let me work a little bit more on this and I will reach you with a solution.

okay, no problem. If the API/ABI is the same, we can update the parameter support later on.

I would like to have the lifecycle services in galactic as they make lifecycle nodes so much more useful https://github.com/ros2/rclc/pull/51.
@pablogs9, @JanStaschulat Do you think we should/have to unstringify micro-ros lifecycle messages for the release (see @pablogs9's comment here )? This would probably involve changes in the agent, i.e. translation of micro-ros lifecycle messages without strings to vanilla ROS 2 lifecycle messages.

From the parameters, we have found that memory management in rosidl_runtime_c and rosidl_generator_c are not really prepared for micro-ROS because they rely on malloc directly.
IMO the first step is to modify these two packages to use ROS 2 allocators (https://github.com/ros2/rosidl/pull/584) instead of raw dynamic memory functions. With these allocators, in micro-ROS, we will be able to customize the dynamic memory calls. But, in any case, dynamic memory operations should take place after the configuration step.
The point is that those rosidl_runtime_c and rosidl_generator_c are integrated in the FastDDS typesupport (here), so:

that's means that FastDDS typesupport relies on dynamic memory.
we cannot create high-level packages that init messages in static memory because when running on top of FastDDS middleware dynamic memory operations will cause crashes on that static memory.
we cannot create micro-ROS high-level packages that rely on operation-time dynamic memory because this will harm realtimeness.

Regarding unstringify micro-ROS packages, personally, I don't like it, because it forces users to launch or configure multiple things on the agent side. I would prefer to offer reduced functionality on the client side that works as expected without any other configuration step.
So, in summary:

Once https://github.com/ros2/rosidl/pull/584 is merged and backported to foxy we will be able to control the dynamic memory operations in micro-ROS
We should init strings in configuration steps using rosidl_runtime_c and rosidl_generator_c and ensure that have a default size: not only initting them, but assigning a certain amount of memory.
When dealing with Micro XRCE typesupport these strings will not be reallocated in any case.
When dealing with FastDDS typesupport there will be dynamic memory operations at runtime.

I created a branch for "Galactic".
https://github.com/ros2/rclc/tree/galactic
You may continue the development on the open pull request. After merging to the master branch, please also create a PR to backport it to "Galactic".

Created new bloom release for Galactic: https://github.com/ros/rosdistro/pull/29702


Add Helm dependency on the Secrets Store CSI Driver

Issue #, if available: Closes #345
Description of changes: Currently, the AWS provider is able to deploy before the Secrets Store CSI Driver. This can cause deployment failures since the volume mount path will not have been created yet. Introduce a dependency on version ^1.0.0 of the Secret Store CSI Driver in the Helm chart.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

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

Project coverage is 49.67%. Comparing base (b8df495) to head (bd477da).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #384   +/-   ##
=======================================
  Coverage   49.67%   49.67%
=======================================
  Files           9        9
  Lines         781      781
=======================================
  Hits          388      388
  Misses        383      383
  Partials       10       10

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


Update 0049-TVAL-validate_transaction_preconsensus.md

@vega-paul - please can you catch up with @davidsiska-vega as this AC should not apply to ALL transactions

@davidsiska-vega we need to think of a way to describe this behaviour and test it. Currently we only check balances and order success but we would refactor to match.

Closing as this AC is not correct - further discussions to be had.
Can we create a table for each TX type what can cause it to be rejected pre-consensus?


Enable VFS to perform bind mounts

Being able to perform actual attaches/detaches using the integration driver would make end-to-end testing simpler in CI platforms. I believe what would be needed to properly simulate this would be to work on the Mount operation to ensure that we can do bind mounts.
@akutz has discussed this before where we would use loopback devices. I believe the bind mount may be a more universal approach? Nonetheless a fuller functioning VFS drivers would be helpful.

Issue moved to codedellemc/rexray #945 via ZenHub


pCloud support?

Dear @help-14,
It is possible to add pCloud support?
Thanks in advance.

Hi, I'll add it in version 2.0 :D


Car charger not working in HA

The problem
I have a car charges that works fine in Smart life app but not in HA (EU_230V_16A(EA) (unsupported)
by smartlife)
Your Environment
Newest version of everything, all up to date.

tuya-device-sharing-sdk Version used: 0.1.9
Device diagnostic file:

smartlife-b931075df5b752acbe5a69a76a6fae0f-EU_230V_16A(EA)-386995b676a2c05df88e77ccd369ee33.json.txt

the category of "qccdz" is not supported

Ok, is there anything else I could do? Or is my best bet to try localtuya or tuyalocal and see if I can manually get it working?

If you have the development ability, you can try developing it yourself.

Sorry don't know any pyton, at least not for now, but hopefully soon.


Dealing with arrays of objects

I love this pattern, but I'm trying to wrap my head around a specific use case.
If, for example, I have a nutrition app that counts calories, and I have a view that lets you input the different things you had to eat for a particular meal. Each item has a "category" dropdown that you can pick from, and then a text field for you to narrow down your search to finally picking a specific item.
Using redux, every time the user adds an item to the list, an object would be added to the array representing the list in the global state. That's fine. But where it seems to get a little hairy is when I need to start dispatching actions from within each item. For example if on item 2 the user picks "fruit", would I then dispatch a selectedCategoryOnItem('fruit', 2) action?
Then imagine if you have multiple lists - would that action then be selectedCategoryOnItemInList('fruit', 2, 5);?
I just started playing with this library yesterday so it's entirely possible I missed something, but so far this is the only case that, to me, would either be overkill to use a singular global state, or, more likely, has a much better way to accomplish it.
Thanks for any help!

Closing - I re-read this article specifically about relationships.


Bug in using reports with square brackets in its names

What is the current behavior?
When the function Write-RsFolderContent trys to load a report with square brackets ([ or ]) in the name, we get the following error:
Failed to create catalog item from 'E:\report square bracket test\personen [alle].rdl' in '/M42/DE':
System.Management.Automation.RuntimeException: No item found at the specified path: E:\report square
bracket test\personen [alle].rdl!
In E:\ReportingServicesTools-<IP_ADDRESS>\ReportingServicesTools\Functions\CatalogItems\Write-RsFolderCont
ent.ps1:155 Zeichen:21
+ ...             throw (New-Object System.Exception("Failed to create cata ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], Exception
    + FullyQualifiedErrorId : Failed to create catalog item from 'E:\report square bracket test\pers
   onen [alle].rdl' in '/M42/DE': System.Management.Automation.RuntimeException: No item found at t
  he specified path: E:\report square bracket test\personen [alle].rdl!

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
Try to load a report with square brackets in its name
Write-RsFolderContent -ReportServerUri "https://matrix-test.oberhausen.de/ReportServer" -Path "E:\report square bracket test\" -Destination '/M42/DE' -Recurse -OverWrite
What is the expected behavior?
No error when using report with square brackets in its names
Which versions of Powershell and which OS are affected by this issue? Did this work in previous versions of our scripts?
ReportingServicesTools <IP_ADDRESS> - <IP_ADDRESS>
PSVersion 5.1.19041.1682
Windows 10

I have experienced the exact same error today with braces, also called square brackets - characters are [ and ] . A quick and simple workaround is to simply rename any reports to remove the square brackets from the filename, but this is not ideal.
The issue is actually with Powershell built-in functions such as Test-Path and Convert-Path, which by default treat square brackets like a regular expression instead of literally. Obviously this messes up handling of filenames with literal brackets.
The core of the problem seems to exist in Write-RsCatalogItem around lines 99-128 , where a block of code tests a file's presence and gets its extension.
I think I managed to code a fix, which is not very elegant but seems to work in Powershell 5.1
On line 99, change if (!(Test-Path $item)) to if (!(Test-Path $item.replace('[','``[') ))
This escapes the opening square bracket, forcing Test-Path to treat it literally. Note in PowerShell 5.1 Test-Path does not have the -LiteralPath parameter, so we are forced to escape it.
On line 104, change $EntirePath = Convert-Path $item to $EntirePath = Convert-Path -LiteralPath $item
Similarly on line 105, change $item = Get-Item $EntirePath to $item = Get-Item -LiteralPath $EntirePath
This seems to work, forcing those functions to treat the path parameter literally
After those changes, I was able to successfully upload files with square brackets in the filename without any errors.
However, this will prevent the use of square brackets as a wildcard / regular expression. Is that something people use?


Documentation : Clarify how ziglist is updated

A meta-issue for sure
It is not clear how Ziglist is populated - is it done periodically? When the deno instance is relaunched ?
(It does look like it scours Github and Codeberg... somehow)
What are the criteria for inclusion?
Some notes on this in the README would be most welcome.
Thank you for Ziglist !

Hi! Ziglist is updated periodically per this cron: https://github.com/pixqc/ziglist/blob/master/src/server.jsx#L721
I'm a bit behind on Ziglist lately, I'll close this issue when I've updated the readme. Thank you :)

Thanks :+1:
Can I confirm how Ziglist determines what to pick up? I do have a repo I am trying to put together for a small utility I hope to be useful ; it is public on Github with "zig" in the description, in the name, and recognised as implemented in Zig 100% per Github's language analysis, but is not showing on Ziglist.
If you prefer not to document this directly for spam avoidance, I do understand :+1:

https://github.com/pixqc/ziglist/blob/master/src/main.js#L615
This is the query, it searches the title, description, etc for the keyword 'zig'. I've seen two of your Zig repo, I think both of those should've been on Ziglist but it's not search-indexed properly. Let me give it a look

Yeah I saw that line - it seemed to be the only location where the search specifier is set, so I wondered whether there was a separate filtering mechanism....
Thanks :+1:

ziglist might not have been updating projects for the past month or so, I think? The fix in the code seems simple, we need to add in another date in the list of dates from which it should fetch github projects, but I'm not sure how you calculate those dates exactly.


[Enhancement] - Currency picker alert

What

User can see the Currency Change Alert with the updated copy.
Updated the strings from master.

See 👀

 Currency picker alert


Make Snapshot public

Ideal world: GroupStateStorage::write(&mut self, state: &Snapshot) which matches KeyPackageStorage::insert(&mut self, id: Vec<u8>, pkg: KeyPackageData). Access to specific secrets can be convenient.
Reality: moving Snapshot to mls-rs-core is terrible. To alleviate this, this PR makes Snapshot public so that storage implementor can deserialize it. We should still consider passing bytes instead of the StateData trait.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT license.

Codecov Report
Attention: Patch coverage is 98.43750% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 88.71%. Comparing base (13eba2c) to head (4d09eb5).
Report is 2 commits behind head on main.

Files
Patch %
Lines

mls-rs-provider-sqlite/src/group_state.rs
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #88      +/-   ##
==========================================
- Coverage   88.88%   88.71%   -0.17%
==========================================
  Files         171      172       +1
  Lines       31194    32289    +1095
==========================================
+ Hits        27727    28646     +919
- Misses       3467     3643     +176

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


[rtext] Add support for multi-page BMFont

Please, before submitting a new issue verify and check:

[x] I tested it on latest raylib version from master branch
[x] I checked there is no similar issue already reported
[x] My code has no errors or misuse of raylib

Issue description
I'm working on the Unicode font display in my pixel-style game. However, aware that texture size limitation exists on some platforms, I generate a large BMFont with multiple pages (each page has the size of 512x512) included, but it seems like raylib cannot handle this kind of font correctly. The font is uploaded as an attachment. Any plan for supporting multi-page BMFont?
simsunbb.zip

@BohongHuang I'm afraid supporting BMFont multipages is out of scope, it's a specific file-format provided by an external tool and despite raylib supports its basic form, it's not something I consider should belong to raylib.
In those cases, unicode font should be loaded directly from .ttf file and managed by user in case of requiring multiple atlas.

@BohongHuang I'm afraid supporting BMFont multipages is out of scope, it's a specific file-format provided by an external tool and despite raylib supports its basic form, it's not something I consider should belong to raylib.
In those cases, unicode font should be loaded directly from .ttf file and managed by user in case of requiring multiple atlas.

All right. Thanks for the reply.