Backport/backport 6280 to 2.x

Manual backport of #6280 to 2.x

Gradle Check (Jenkins) Run Completed with:

RESULT: FAILURE ❌
URL: https://build.ci.opensearch.org/job/gradle-check/11025/
CommitID: a781dc0
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
Is the failure a flaky test unrelated to your change?

https://github.com/opensearch-project/OpenSearch/issues/6248
REPRODUCE WITH: ./gradlew ':server:internalClusterTest' --tests "org.opensearch.remotestore.RemoteStoreIT.testRemoteSegmentStoreRestore" -Dtests.seed=6C75DC5D95F409A0 -Dtests.security.manager=true -Dtests.jvm.argline="-XX:TieredStopAtLevel=1 -XX:ReservedCodeCacheSize=64m" -Dtests.locale=ar-LY -Dtests.timezone=Asia/Chungking -Druntime.java=17

org.opensearch.remotestore.RemoteStoreIT > testRemoteSegmentStoreRestore FAILED
    java.lang.AssertionError: timed out waiting for green state
        at __randomizedtesting.SeedInfo.seed([6C75DC5D95F409A0:F88BD9C4AFBD1A70]:0)
        at org.junit.Assert.fail(Assert.java:89)
        at org.opensearch.test.OpenSearchIntegTestCase.ensureColor(OpenSearchIntegTestCase.java:1007)
        at org.opensearch.test.OpenSearchIntegTestCase.ensureGreen(OpenSearchIntegTestCase.java:938)
        at org.opensearch.test.OpenSearchIntegTestCase.ensureGreen(OpenSearchIntegTestCase.java:927)
        at org.opensearch.remotestore.RemoteStoreIT.testRemoteSegmentStoreRestore(RemoteStoreIT.java:165)

Codecov Report

Merging #6288 (a781dc0) into 2.x (c5eb96a) will increase coverage by 0.23%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##                2.x    #6288      +/-   ##
============================================
+ Coverage     70.23%   70.47%   +0.23%
- Complexity    58881    59111     +230
============================================
  Files          4785     4785
  Lines        283490   283490
  Branches      41259    41259
============================================
+ Hits         199123   199789     +666
+ Misses        67679    66997     -682
- Partials      16688    16704      +16

Impacted Files
Coverage Δ

...main/java/org/opensearch/node/NodeMocksPlugin.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...rch/test/junit/listeners/ReproduceInfoPrinter.java
9.52% <0.00%> (-68.26%)
:arrow_down:

...a/org/opensearch/client/cluster/SniffModeInfo.java
0.00% <0.00%> (-62.50%)
:arrow_down:

...a/org/opensearch/tasks/TaskCancelledException.java
50.00% <0.00%> (-50.00%)
:arrow_down:

.../index/shard/IndexShardNotRecoveringException.java
0.00% <0.00%> (-50.00%)
:arrow_down:

...cluster/coordination/PendingClusterStateStats.java
20.00% <0.00%> (-48.00%)
:arrow_down:

...adcast/BroadcastShardOperationFailedException.java
55.55% <0.00%> (-44.45%)
:arrow_down:

...ndex/seqno/RetentionLeaseBackgroundSyncAction.java
37.50% <0.00%> (-42.86%)
:arrow_down:

.../search/aggregations/pipeline/HoltLinearModel.java
20.33% <0.00%> (-42.38%)
:arrow_down:

...opensearch/persistent/PersistentTasksExecutor.java
22.22% <0.00%> (-40.75%)
:arrow_down:

... and 524 more

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

@mch2 @Rishikesh1159 @reta : Request for review.


nginx 503 service temporarily unavailable

Following script doesn't work with nginx.tmpl of the nginx-proxy repository.  I'm getting this error "no servers are inside upstream in"
How do I fix this?
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive X-Forwarded-Port, pass it through; otherwise, pass along the
# server port the client connected to
map $http_x_forwarded_port $proxy_x_forwarded_port {
  default $http_x_forwarded_port;
  ''      $server_port;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}
# Set appropriate X-Forwarded-Ssl header
map $scheme $proxy_x_forwarded_ssl {
  default off;
  https on;
}
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';
access_log off;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
server {
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	listen 80;
	access_log /var/log/nginx/access.log vhost;
	return 503;
}
# hellosl.tk
upstream hellosl.tk {
}
server {
	server_name hellosl.tk;
	listen 80 ;
	access_log /var/log/nginx/access.log vhost;
	return 301 https://$host$request_uri;
}
server {
	server_name hellosl.tk;
	listen 443 ssl http2 ;
	access_log /var/log/nginx/access.log vhost;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
[rancher@ip-172-31-24-173 ~]$ docker exec nginx nginx -s reload
2017/02/25 11:12:39 [emerg] 11#11: no servers are inside upstream in /etc/nginx/conf.d/default.conf:50
nginx: [emerg] no servers are inside upstream in /etc/nginx/conf.d/default.conf:50
[rancher@ip-172-31-24-173 ~]$ docker logs nginx
<IP_ADDRESS> - - [25/Feb/2017:11:08:09 +0000] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0" "-"
<IP_ADDRESS> - - [25/Feb/2017:11:08:09 +0000] "GET /favicon.ico HTTP/1.1" 404 170 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0" "-"
2017/02/25 11:08:09 [error] 5#5: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: <IP_ADDRESS>, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "hellosl.tk"
<IP_ADDRESS> - - [25/Feb/2017:11:08:09 +0000] "GET /favicon.ico HTTP/1.1" 404 170 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0" "-"
2017/02/25 11:08:09 [error] 5#5: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: <IP_ADDRESS>, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "hellosl.tk"
2017/02/25 11:08:57 [emerg] 1#1: no servers are inside upstream in /etc/nginx/conf.d/default.conf:50
2017/02/25 11:09:07 [emerg] 1#1: no servers are inside upstream in /etc/nginx/conf.d/default.conf:50
hellosl.tk <IP_ADDRESS> - - [25/Feb/2017:11:09:15 +0000] "GET / HTTP/1.1" 503 214 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
hellosl.tk <IP_ADDRESS> - - [25/Feb/2017:11:09:20 +0000] "GET / HTTP/1.1" 503 214 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/ # ls -al
/etc/nginx/conf.d # cat default.conf default.conf
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive X-Forwarded-Port, pass it through; otherwise, pass along the
# server port the client connected to
map $http_x_forwarded_port $proxy_x_forwarded_port {
  default $http_x_forwarded_port;
  ''      $server_port;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}
# Set appropriate X-Forwarded-Ssl header
map $scheme $proxy_x_forwarded_ssl {
  default off;
  https on;
}
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';
access_log off;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
server {
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	listen 80;
	access_log /var/log/nginx/access.log vhost;
	return 503;
}
# hellosl.tk
upstream hellosl.tk {
}
server {
	server_name hellosl.tk;
	listen 80 ;
	access_log /var/log/nginx/access.log vhost;
	return 301 https://$host$request_uri;
}
server {
	server_name hellosl.tk;
	listen 443 ssl http2 ;
	access_log /var/log/nginx/access.log vhost;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
	ssl_prefer_server_ciphers on;
	ssl_session_timeout 5m;
	ssl_session_cache shared:SSL:50m;
	ssl_session_tickets off;
	ssl_certificate /etc/nginx/certs/hellosl.tk.crt;
	ssl_certificate_key /etc/nginx/certs/hellosl.tk.key;
	ssl_dhparam /etc/nginx/certs/hellosl.tk.dhparam.pem;
	add_header Strict-Transport-Security "max-age=31536000";
	include /etc/nginx/vhost.d/default;
	location / {
		proxy_pass http://hellosl.tk;
	}
}
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive X-Forwarded-Port, pass it through; otherwise, pass along the
# server port the client connected to
map $http_x_forwarded_port $proxy_x_forwarded_port {
  default $http_x_forwarded_port;
  ''      $server_port;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}
# Set appropriate X-Forwarded-Ssl header
map $scheme $proxy_x_forwarded_ssl {
  default off;
  https on;
}
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';
access_log off;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
server {
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	listen 80;
	access_log /var/log/nginx/access.log vhost;
	return 503;
}
# hellosl.tk
upstream hellosl.tk {
}
server {
	server_name hellosl.tk;
	listen 80 ;
	access_log /var/log/nginx/access.log vhost;
	return 301 https://$host$request_uri;
}
server {
	server_name hellosl.tk;
	listen 443 ssl http2 ;
	access_log /var/log/nginx/access.log vhost;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
/etc/nginx/conf.d # cat default.conf
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive X-Forwarded-Port, pass it through; otherwise, pass along the
# server port the client connected to
map $http_x_forwarded_port $proxy_x_forwarded_port {
  default $http_x_forwarded_port;
  ''      $server_port;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}
# Set appropriate X-Forwarded-Ssl header
map $scheme $proxy_x_forwarded_ssl {
  default off;
  https on;
}
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';
access_log off;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
server {
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	listen 80;
	access_log /var/log/nginx/access.log vhost;
	return 503;
}
# hellosl.tk
upstream hellosl.tk {
}
server {
	server_name hellosl.tk;
	listen 80 ;
	access_log /var/log/nginx/access.log vhost;
	return 301 https://$host$request_uri;
}
server {
	server_name hellosl.tk;
	listen 443 ssl http2 ;
	access_log /var/log/nginx/access.log vhost;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
	ssl_prefer_server_ciphers on;
	ssl_session_timeout 5m;
	ssl_session_cache shared:SSL:50m;
	ssl_session_tickets off;
	ssl_certificate /etc/nginx/certs/hellosl.tk.crt;
	ssl_certificate_key /etc/nginx/certs/hellosl.tk.key;
	ssl_dhparam /etc/nginx/certs/hellosl.tk.dhparam.pem;
	add_header Strict-Transport-Security "max-age=31536000";
	include /etc/nginx/vhost.d/default;
	location / {
		proxy_pass http://hellosl.tk;
	}
}

try using this template from PR #585

Nope. It's not correctly update upstream.
This template is working.. but It's not official template.
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
  default $http_x_forwarded_proto;
  ''      $scheme;
}
# If we receive X-Forwarded-Port, pass it through; otherwise, pass along the
# server port the client connected to
map $http_x_forwarded_port $proxy_x_forwarded_port {
  default $http_x_forwarded_port;
  ''      $server_port;
}
# If we receive Upgrade, set Connection to "upgrade"; otherwise, delete any
# Connection header that may have been passed to this server
map $http_upgrade $proxy_connection {
  default upgrade;
  '' close;
}
# Set appropriate X-Forwarded-Ssl header
map $scheme $proxy_x_forwarded_ssl {
  default off;
  https on;
}
gzip_types text/plain text/css application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
log_format vhost '$host $remote_addr - $remote_user [$time_local] '
                 '"$request" $status $body_bytes_sent '
                 '"$http_referer" "$http_user_agent"';
access_log off;
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;
# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
server {
	server_name _; # This is just an invalid value which will never trigger on a real hostname.
	listen 80;
	access_log /var/log/nginx/access.log vhost;
	return 503;
}
# hellosl.tk
upstream hellosl.tk {
	server localhost down;
}
server {
	server_name hellosl.tk;
	listen 80 ;
	access_log /var/log/nginx/access.log vhost;
	return 301 https://$host$request_uri;
}
server {
	server_name hellosl.tk;
	listen 443 ssl http2 ;
	access_log /var/log/nginx/access.log vhost;
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS';
	ssl_prefer_server_ciphers on;
	ssl_session_timeout 5m;
	ssl_session_cache shared:SSL:50m;
	ssl_session_tickets off;
	ssl_certificate /etc/nginx/certs/hellosl.tk.crt;
	ssl_certificate_key /etc/nginx/certs/hellosl.tk.key;
	ssl_dhparam /etc/nginx/certs/hellosl.tk.dhparam.pem;
	add_header Strict-Transport-Security "max-age=31536000";
	include /etc/nginx/vhost.d/default;
	location / {
		proxy_pass http://hellosl.tk;
	}
}

can you give a try to this template from PR #745 and post the generated default.conf file? While this won't fix the issue, it will provide more debugging info and hopefully highlight what goes wrong.

remove  -only-exposed from the docker-gen options

Thanks. It works with latest template. (After removing -only-exposed)

See #787

@thomasleveil the suggested template gives a real nice feedback on how the .conf file was built. Really nice. I came here because I was getting a 503 error. After using this template, I'm still getting it, but now I have some debug info. My .conf file has something like this:
Cannot be connect with "app_default" network
How should I handle this?

It probably suggest that the upstream container does not share any network with the nginx proxy container


Add Yarn support

Fixes https://github.com/whitesource/npm-plugin/issues/6

Updates @ChadKillingsworth PR (https://github.com/whitesource/npm-plugin/pull/11) to resolve conflicts with master. His PR:

Adds support for yarn installed dependencies. Execute with whitesource yarn.
Uses data from the yarn.lock file to augment the missing data from npm ls when node modules are installed via yarn.

Fixes an issue with WsHelper.saveReportFile which logged an error when the constants.LOG_FILES_FOLDER directory did not exist. WsHelper.saveReportFile now attempts to create the directory first.

@maur1th Thanks. Just an FYI I've had absolutely no luck getting someone from Whitesource to look at this. I've even emailed support.
It's extremely irritating.

Hi Doron,
Not sure if you saw this.  It's a pull request from some users regarding
yarn support and some log file issue posted on our npm-plugin Github page.
On Fri, Mar 2, 2018, 16:24 Chad Killingsworth<EMAIL_ADDRESS>wrote:

@maur1th https://github.com/maur1th Thanks. Just an FYI I've had
absolutely no luck getting someone from Whitesource to look at this. I've
even emailed support.
It's extremely irritating.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/whitesource/npm-plugin/pull/24#issuecomment-369934192,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AG78YzS7a6T-Ic-9JN_xED8MaxG0VzgCks5taVYrgaJpZM4SZ7Vw
.

--
Alex Maybaum
Research Manager
M:+972-54-342-6913
*WhiteSource http://www.whitesourcesoftware.com/ helps business
to develop better software *
by harnessing the power of open source
https://www.facebook.com/whitesource/
https://twitter.com/WhiteSourceSoft
https://www.linkedin.com/company/2440656/

Anyone to review this? Cc. @raznitzan4 @eRez-ws
@ChadKillingsworth I noticed. If they don't get more cooperative we'll just maintain our own fork and publish it on NPM for the time being.

The functionality was added in this PR: https://github.com/whitesource/npm-plugin/pull/23. It's now live in version 18.2.1-1.


Create Right Side View Of a Binary Tree.cpp

Added the Right side view of a binary tree algorithm. ( Add Data Structure Implementations #1 )


Date formatting

According to #39 this is a more usual date format.

So, I'll be merging this and releasing a new version of xeus-sql since I believe changing data format might be altering behavior in some people's projects.


Room - Details - Time zone is not displayed in member list of room.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue found when executing PR https://github.com/Expensify/App/pull/9642
Action Performed:

Launch the app
Click on fab icon > new workspace (if you don't have any workspace)
Search #announce room and open it (note: the room should only contain one other member except you)
Check the time zone of the user

Expected Result:
The time zone of that other user should be displayed.
Actual Result:
The time zone of that other user is not displayed.
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers): any
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/179868846-1187e4c8-acce-493d-b579-7a0824f2fd64.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

cc @Puneet-here
What is the expected behavior for showing the timezone in rooms where there’s just one or two members? Screenshot below are from production, is it working as expected?

Hi @youssef-lr, if you are the only person in the room then the timezone shouldn't be shown. If there is one more member other than you then we should see the timezone of that other user.
Note: The hasn't reached production or staging yet.

@youssef-lr, yeah we should close it. We can reopen if we see some issue.


|meld no longer prints amount of reclaimed memory

Instead, it prints the hash-cons arena stats twice:
ashelkov:~/Urbit$ ./piers/finmep-lanteb/.run meld
loom: mapped 2048MB
boot: protected loom
live: mapped: GB/1.035.485.184
live: loaded: KB/16.384
boot: installed 661 jets
hash-cons arena:
  root: B/160
  atoms (2123367):
    refs: MB/43.566.180
    data: MB/227.271.087
    dict: MB/174.264.720
  total: MB/445.101.987
  cells (28372365):
    refs: MB/781.763.380
    dict: GB/<IP_ADDRESS>0
  total: GB/3.908.816.900
total: GB/4.353.919.047

hash-cons arena:
  root: B/160
  atoms (2123367):
    refs: MB/43.566.180
    data: MB/227.271.087
    dict: MB/174.264.720
  total: MB/445.101.987
  cells (28372365):
    refs: MB/781.763.380
    dict: GB/<IP_ADDRESS>0
  total: GB/3.908.816.900
total: GB/4.353.919.047

Reported by @ashelkovnykov.

It runs actually runs meld twice. It should be printing the measurement, maybe the output is being clobbered. I wonder if this was a bad merge / rebase.


doc: fix timer wheel section duplication

removed duplicate timer wheel sub-section from within the platform YAML section
fixed a handful of typos
added cross-ref to the 'traffic profile YAML' section
Signed-off-by: Matt Callaghan<EMAIL_ADDRESS>

bah, accidental PR into my own fork :/

proper -> https://github.com/cisco-system-traffic-generator/trex-core/pull/126


OSX compatibility changes

Pull request with regard to issue: #12

I don't understand. I tried to pass the check tests on my Ubuntu VM.
$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
PRETTY_NAME="Ubuntu 22.04.2 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.2 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
Codename:	jammy
$ git clone --recursive https://github.com/Be3y4uu-K0T/asyncio.git
$ cd asyncio
$ mkdir build-debug
$ cmake -H. -Bbuild-debug -DCMAKE_BUILD_TYPE=Debug
$ cmake --build build-debug -j2
...
[100%] Built target asyncio_ut

Everything works, but GitHub tests don't pass with the same OS.
Operating System
  Ubuntu
  22.04.1
  LTS

What did I do wrong?

I think the problem was in this line:
// file: <asyncio/stream.h>::34L
#if SOCK_NONBLOCK != 0

Due to the definition of the macro, the comparison was always false:
// file: <bits/socket_type.h>::52L
SOCK_NONBLOCK = 00004000      /* Atomically mark descriptor(s) as
                                   non-blocking.  */
#define SOCK_NONBLOCK SOCK_NONBLOCK

So I just replaced with if constexpr:
if constexpr (SOCK_NONBLOCK != 0) {


cargo package and cargo publish order of registry selection differ from documentation

Problem
The Cargo book explains that for cargo publish / cargo package commands, the order by which it decides which registry to publish to is as follows:

--registry CLI arg
package.publish field in Cargo.toml if a single entry
otherwise registry.default key in config

However the current code checks registry.default prior to the manifest file. This causes error like below when both registry.default and package.publish are specified, and no CLI arg is supplied.
% cargo package
error: `demo-registry` cannot be packaged.
The registry `crates-io` is not listed in the `package.publish` value in Cargo.toml

Steps

cargo new demo-registry
In .cargo/config.toml [registry] add default = "crates-io" and some alternative registry
In Cargo.toml [package] add publish = ["some alternative registry"]
Both cargo package and cargo publish fails

Possible Solution(s)
Not sure which is the intended behavior, can either update the code or the documentation. It would be useful to let each crate's own manifest file decide the registry in a workspace setting, so switching the order in code might be better. I tried this change to move default config check after manifest infer and it now works as documented: https://github.com/YutaoMa/cargo/pull/1
Notes
No response
Version
cargo 1.83.0 (5ffbef321 2024-10-29)
release: 1.83.0
commit-hash: 5ffbef3211a8c378857905775a15c5b32a174d3b
commit-date: 2024-10-29
host: aarch64-apple-darwin
libgit2: 1.8.1 (sys:0.19.0 vendored)
libcurl: 8.7.1 (sys:0.4.74+curl-8.9.0 system ssl:(SecureTransport) LibreSSL/3.3.6)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Mac OS 15.2.0 [64-bit]

Is this reproducible in 1.78?  We touched some of this code for workspace packaging and I wonder if this is a regression.

Verified it's not reproducible in 1.78, it does align with our observation that packages used to pass cargo package started to fail after around 1.82 upgrade
cargo package --allow-dirty
warning: manifest has no description, license, license-file, documentation, homepage or repository.
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
   Packaging demo-registry v0.1.0 (/Users/yutma/Developer/demo-registry)
   Verifying demo-registry v0.1.0 (/Users/yutma/Developer/demo-registry)
   Compiling demo-registry v0.1.0 (/Users/yutma/Developer/demo-registry/target/package/demo-registry-0.1.0)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.33s
    Packaged 4 files, 883.0B (676.0B compressed)

The minimal version to reproduce is 1.82
% rustup default 1.82
info: using existing install for '1.82-aarch64-apple-darwin'
info: default toolchain set to '1.82-aarch64-apple-darwin'

  1.82-aarch64-apple-darwin unchanged - rustc 1.82.0 (f6e511eec 2024-10-15)

% cargo package --allow-dirty
error: `demo-registry` cannot be packaged.
The registry `crates-io` is not listed in the `package.publish` value in Cargo.toml.

% rustup default 1.81
info: using existing install for '1.81-aarch64-apple-darwin'
info: default toolchain set to '1.81-aarch64-apple-darwin'

  1.81-aarch64-apple-darwin unchanged - rustc 1.81.0 (eeb90cda1 2024-09-04)

% cargo package --allow-dirty
warning: manifest has no description, license, license-file, documentation, homepage or repository.
See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info.
   Packaging demo-registry v0.1.0 (/Users/yutma/Developer/demo-registry)
    Packaged 7 files, 1.1KiB (930.0B compressed)
   Verifying demo-registry v0.1.0 (/Users/yutma/Developer/demo-registry)
   Compiling demo-registry v0.1.0 (/Users/yutma/Developer/demo-registry/target/package/demo-registry-0.1.0)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.22s

Its a little more informative to verify with cargo publish because cargo package didn't have as many registry checks before, so we could just be seeing an existing publish check moved over to package.  Sorry, I hadn't thought to call that out until I saw your test cases.

NP, it does appear that your theory of existing publish check ported to package seems correct, I can reproduce the error in publish even prior to 1.78
% cargo --version
cargo 1.72.1 (103a7ff2e 2023-08-15)
% cargo publish --dry-run
error: `demo-registry` cannot be published.
The registry `crates-io` is not listed in the `package.publish` value in Cargo.toml.


Remote table WHERE clause pushdown

Implement a FDW-like mechanism to enable pushdown of filter qualifiers to a remote data source as an optimization to skip redundant row fetching over the network.
The mechanism is based on the DataFusion ExpressionVisitor, which allows us to walk the filter expression AST, and determine if all entities are ship-able, and if so convert them if needed to the source native form. The conversion and the entire ship-ability logic is customizable.
Closes #224.

Thanks! :)


fix typo in README (WithFields log/logrus)

That's only if you alias the logrus import to log.

All the surrounding lines use log.
The very same line uses both log and logrus. it should either be log.WithFields(log{ or logrus.WithFields(logrus{

This example is not for the package-level logger, but for an instance of the log: log := logrus.New(). The field type is defined on the package-level, but WithFields is defined on log, an instance of the log. logrus.WithFields(logrus.Fields{}) is valid too, but since the example highlights instance logging, and not package-level logging, that's not the case here.


updating cluster versions.

update the cluster version from 6.3.2 to 6.4.0

Ref https://github.com/18F/cg-product/issues/917


Sparse adjacency matrix and laplacian matrix problem

There is an inconsistency in the adjacency_matrix function in kaolin.ops.mesh that is making uniform_laplacian return a wrong matrix.
When adjacency_matrix has the parameter sparse=True (default behaviour), it accounts the shared edges twice. In the following mesh, it counts the edge 0-3 twice. See the code below.
0-----1
|\    |
| \   |
|  \  |
|   \ |
|    \|
2-----3

Code sample:
import torch
from kaolin.ops.mesh import adjacency_matrix
f = torch.tensor([[0, 1, 3], [3, 2, 0]])

print('Sparse to dense')
print(adjacency_matrix(4, f).to_dense())
print()

print('Dense')
print(adjacency_matrix(4, f, sparse=False))
print()

Output:
Sparse to dense
tensor([[0., 1., 1., 2.],
        [1., 0., 0., 1.],
        [1., 0., 0., 1.],
        [2., 1., 1., 0.]])

Dense
tensor([[0., 1., 1., 1.],
        [1., 0., 0., 1.],
        [1., 0., 0., 1.],
        [1., 1., 1., 0.]])

Instead of setting sparse = False, the function uniform_laplacian calls adjacency_matrix and then calls to_dense() on the result, which, as shown above, is not correct. https://github.com/NVIDIAGameWorks/kaolin/blob/4f01dda27ac1655b189918c323473d4b603dcece/kaolin/ops/mesh/mesh.py#L104

The fastest fix for uniform_laplacian would be to use sparse=False directly.
dense_adjacency = adjacency_matrix(num_vertices, faces, sparse=False)

For adjacency_matrix the solution would be to avoid the repetition of edges. For example, calling unique along dimension 0 before transposing the indices seems to work, although I don't know how efficient it is on large matrices.
Original code:
https://github.com/NVIDIAGameWorks/kaolin/blob/4f01dda27ac1655b189918c323473d4b603dcece/kaolin/ops/mesh/mesh.py#L70-L74
Proposed edit:
    if sparse:
        indices = indices.unique(dim=0)
        indices = indices.t()
        # If vertex i and j have an edge connect to it, A[i, j] = 1
        values = torch.ones(indices.shape[1], device=device)
        adjacency = torch.sparse.FloatTensor(indices, values, (num_vertices, num_vertices))

Hi @AndresCasado !
Good catch! Do you want to proceed for an MR? I would gladly welcome it, otherwise I will fix it ASAP.
I think we should also add an additional test to verify that adjacencies are matching between sparse and dense.


Update readme.md

Added manual for noobs.

Please specify which VNC clients work & Don't work that you have tested to help future people from spending time trying to debug... I appreciate the git pull request and hope to integrate it!

Thank you!


PLAT-79985: Fix VirtualList event bubbling

Checklist

[x] I have read and understand the contribution guide

[ ] A CHANGELOG entry is included

[ ] At least one test case is included for this feature or bug fix

[x] Documentation was added or is not needed

[ ] This is an API breaking change

Issue Resolved / Feature Added
Keydown events in VirtualList do not bubble expectedly.
Resolution
Fix keydown event bubbling when pressing 5way directional keys from either a list item or scroll buttons.
The changes in this PR have the potential to affect a number of 5way behaviors (all for the better hopefully 🤞 ). Since we need to be aware of keydown events on the scroll buttons, we need to change the dom where we are listening for events - from the wrapper to the spotlight container. This change means we need to act on the capture phase of the event in order to prevent an application from being able to act on the event when attached to the VirtualList, as was the intent behind the existing behavior. We should spend time thoroughly testing this change.

Is there any reason to pass the prop to VirtualList directly rather than via ui/Scrollable? The very first commit is comfortable to me. :)
I found one changed behavior; when I up or down on scrollbars, spotlight no longer moves to the opposite button but moves into items. Looks side effect of moving handlers to a container node.

Do we have the same behavior in Scroller like VirtualList with this PR?
If there are VirtualList and Scroller and they have the same items, then it looks same. So the VirtualList and the Scroller should generate same events with same behavior.

@ybsung Currently, the behavior is different between VirtualList and Scroller. Ideally, you would receive the same events for both, but as part of our performance work, we were able to gain perf benefits by strictly handling focus (via key events) in VirtualList, rather than allowing the key events to be handled by spotlight. This ultimately means preventing key event bubbling - which is what prevents spotlight from also handling focus. We aren't able to get around this behavior difference by instead using react synthetic events, since that adds too much overhead when processing key events in rapid succession (like when holding a 5way key & scrolling a list) - causing poorly performing scroll performance.
That being the case, we only want to allow key event bubbling when focus attempts to leave the list - which includes scrollbars (when using focusableScrollbar) - this allows app developers to respond to key events only when focus leaves the list. This means we need to be aware of key events on the scroll buttons and conditionally prevent event bubbling on the VirtualListBase-level, by listening for events on the container. I agree, it's less than ideal - but it appears to be necessary to enable better performance. I open to any alternative thoughts or other ideas and concerns.

@0x64 I needed to pass the prop to VirtualList, since ui/Scrollable (and all components in ui) should not be aware of spotlight and the focusableScrollbar prop. This additionally led to prop bleed in ui where the prop was unintended. While it worked fine in moonstone/VirtualList (and we could prevent prop bleed there), simply using a moonstone/Scroller would unintentionally pass the prop down to ui/Scroller.

since ui/Scrollable (and all components in ui) should not be aware of spotlight and the focusableScrollbar prop.
Good point. I missed it.

Regarding the changed behavior, I had not noticed that - good catch. Strangely, it does not reproduce for me in a vertical list - only a horizontal list. I will try to fix this.
Really strange! I saw in a vertical list!

@0x64 I was able to remedy the issue you found by configuring the container to only target "next" items in a straight direction, if the key event was triggered via a scroll button. This configuration immediately gets reverted after the call to Spotlight.move(), so it will not affect other 5way behavior within the list.

@germboy 👍

LGTM


Cancel Dismiss Always sent to root

when I try to hit cancel button on camera view, all the view are dismiss and sent to root view controller

i got the same issue

In DKImagePickerController.swift
Comment     self.dismiss(animated: false)  in createCamera Function
    private func createCamera() -> UIViewController {
        let didCancel = { () in
            if self.sourceType == .camera {
                self.dismiss(animated: true, completion: nil)
               // self.dismiss(animated: false)
            } else {
                self.dismiss(animated: true, completion: nil)
            }
        }

Thank you

Closing this thread. Feel free to re-open if your issue is not solved.

private func showCamera(isInline: Bool) {
let didCancel = { [unowned self] () in
if self.sourceType == .camera {
self.dismissCamera(isInline: true)
//                self.dismiss()
} else {
self.dismissCamera()
}
}
i got the same issue
i fix like this

private func showCamera(isInline: Bool) {
let didCancel = { [unowned self] () in
if self.sourceType == .camera {
//                self.dismissCamera(isInline: true)
//                self.dismiss()
} else {
self.dismissCamera()
}
}
i got both lines commented but still problems.

I too was unable to close camera on button click.
Nothing help me with it.


[Archi 5] Secure credentials and proxy settings

At the moment we have custom secure credentials storage and proxy settings in coArchi. We need to implement secure credentials and proxy in Archi itself so that other plug-ins can use them.
Proposal is:

Use Eclipse's secure storage for passwords
Use our proxy code moved to Archi from coArchi

I've implemented this in the security-proxy branch.
Eclipse's secure storage has a lot of advantages. On Windows and Mac it is possible to store the primary password encrypted by the system so user doesn't have to input a primary password each time. or you can set it so user does have to input a primary password each time. Encryption algorithms can be set. On Linux the only option is to use a primary password each time.
For reference - https://help.eclipse.org/latest/index.jsp?topic=/org.eclipse.platform.doc.user/reference/ref-securestorage-options.htm

Use Eclipse's secure storage for passwords

The other alternative is to use our own encrypted property storage secured by a password. This would have to be manually unlocked on first use as we do in coArchi, and would need a bit of re-inventing of the wheel regarding setting/changing the primary password and so on. We get all of that for free with the Eclipse implementation.
@jbsarrodie WDYT?

@jbsarrodie WDYT?

I'm never in favor of re-inventing the wheel, so I would go for Eclipse's secure storage. My only remark is: would it be possible to force a secure storage provider (and some of its attributes) through Archi.ini file, for the case where a "big company" wants to enforce some provider (e.g. primary password based) and options (e.g. minimum password lenght...) ?

minimum password lenght

That isn't possible without writing your own provider which I think would be quite hard.

You can select which one to use in prefs. This is written to a file in .config/.settings/org.eclipse.equinox.security.prefs:

Ok, so like with any preference, it should be possible to set the default value

Actually it is possible to write your own Password provider. It would have to be a manually entered password type dialog but you could then check it for length etc

Perfect ! Of course not needed at the moment, but good to know it is possible if really needed.

One more thing. Because the path to the Eclipse secure storage file (key ring) is set in Archi.ini, you will need to launch Archi from Eclipse by clicking on the Launch link in the archi.product file. This will effectively add the following to the Program Args:
-eclipse.keyring
@user.home/AppData/Roaming/Archi4/secure_storage


Fix timing out e2e tests

It seems some tests are timing out, like: https://yard.lokomotive-k8s.net/teams/main/pipelines/master-aws/jobs/test-lokomotive-aws-deployment/builds/137. We should fix them.

BTW, those logs seems weird, the IP address was changing :thinking:


Sort edit put pagination

Edit & Update functionality working
GET requests on /urls sorts table by most recent date by default
GET requests on /urls has hardcoded pagination
A section with tips/instructions on /shortener
Wording update on /about

Todo:

feat: Dynamic pagination
bugfix: Some dates are not sorted

Everything works for me 👍 :shipit:


Few small issues for 1.1 beta 1

Had to give travis a kick to restart, it failed to build the environment on 5.6 and 7.0 but is running fine now.  Noticed in the travis log
PHP Notice: Use of undefined constant CACHEDIR - assumed 'CACHEDIR' in /var/www/sources/subs/Cache.class.php on line 418

PHP Warning: filemtime(): stat failed for CACHEDIR/index.php in /var/www/sources/subs/Cache.class.php on line 418

Back on this PR, looking at the docs, unserialize could pop and e-notice but I did not see anything about system warnings on json_decode, so we may be OK to drop the couple of '@' on them.


Xrm.WebApi.online.retrieveMultipleRecords fails in GCC High PowerApps

I am in GCC High and I am seeing this error in PowerApps. I tested the code on a commercial PowerApps site and it worked fine. Here are the details:
//I tried Xrm.WebApi without 'online' too, same error
Xrm.WebApi.online.retrieveMultipleRecords("businessunit", "?$select=name")
.then(function success(results) {
      for (var i = 0; i < results.entities.length; i++) {
        var name = results.entities[i]["name"];
      }
    }, function (error) {
      console.error(error.message);
    });

the error is: Cannot read property 'businessunit' of null
if I debug, it fails inside global.ashx at this line:
var $v_1 = XrmClientApi.WebApi.WebApiParser.getCollectionName(entityType);
entityType going in is "businessunit"
that call should return "businessunits" but throws an error.
the old way using XMLHttpRequest is saying it's deprecated in PowerApps, so I was trying to avoid using it.
Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

@bryansonofpatt Thanks for the response. Can you let us know whether this issue is happening on UCI or web client?

Thanks for contacting us. As we haven’t heard back from you, I am closing this issue. If you need further help, please reopen the issue or open a new issue.


Task: Proof of concept using Pact plugins

❕ Problem Statement
Pact supports plugins https://github.com/pact-foundation/pact-plugins.
💬 Task Description
Look into how to make use of it, prepare a plan, architecture and PR it.
📝 Notes
Branch off of https://github.com/surpher/PactSwift/tree/feat/v2.0.0
👩🔧 Technical Design Notes
From what's been seen in other Pact implementations it could look something like:
try builder
   .uponReceiving(...)
   .given(...)
   .usingPlugin(plugin_name) // <- This little diddy
   .withRequest(...) { ... }
   ...

🤝 Relationships

Other Related Issues:

Example gRPC based test in swift directly using the libpact_ffi framework
https://github.com/YOU54F/hello_ffi/blob/main/swift/hello_grpc.swift


download datasets using bittorrent

🚀 The feature, motivation and pitch
I'm the sysadmin of one of the servers that hosts datasets that appear on torch.datasets (DTD, FGVCAircraft, Flowers102, and OxfordIIITPet) . We're happy that our stuff is so widely used but that's also taking a hit on other stuff on the server and the downloads sometimes take a very long time.
We've prepared torrents for some of our datasets, uploaded them to academic torrents, and recommend to use it over http. I was wondering if it was possible to add the option to download datasets over bittorrent.
Alternatives
No response
Additional context
No response
cc @pmeier @YosuaMichael

@albanD Please also note the more shared issue https://github.com/pytorch/pytorch/issues/68320, and also given that download utilities are used across libraries, it may make sense to develop them in Core. Another related issue on supporting other download backends is https://github.com/pytorch/pytorch/issues/73466


Falsy values in the json response converted to None

It looks like this PR is converting all the falsy values in the json response by the Conductor API to the None values and hence breaking backward compatibility. Please fix this issue.

This is no longer the problem in the latest release - https://github.com/conductor-sdk/conductor-python/blob/main/src/conductor/client/http/api_client.py#L235.


Circular dep error for custom form control when mocking with MockComponent

Hi,
I ran into an issue during the upgrade to Angular v10 where some tests are failing when mocking a custom form control component when the the form is implementing ControlValueAccessor and Validator.
Then it fails in the component which mocks the custom-control with: Error: Circular dep for MockOfMyFormControlComponent.
Here is a repo with minimal setup to reproduce this issue: https://github.com/michael-hein/ng-mocks-circular-dep-error
// my-form-control.component.ts
@Component({
  selector: 'app-my-form-control',
  templateUrl: './my-form-control.component.html',
  styleUrls: ['./my-form-control.component.scss'],
  providers: [
    {
      provide: NG_VALUE_ACCESSOR,
      useExisting: forwardRef(() => MyFormControlComponent),
      multi: true,
    },
    {
      provide: NG_VALIDATORS,
      useExisting: forwardRef(() => MyFormControlComponent),
      multi: true,
    },
  ],
})
export class MyFormControlComponent
  implements ControlValueAccessor, OnInit, Validator {
  constructor() {}
  validate(control: AbstractControl): ValidationErrors {
    throw new Error('Method not implemented.');
  }
  registerOnValidatorChange?(fn: () => void): void {
    throw new Error('Method not implemented.');
  }
  writeValue(obj: any): void {
    throw new Error('Method not implemented.');
  }
  registerOnChange(fn: any): void {
    throw new Error('Method not implemented.');
  }
  registerOnTouched(fn: any): void {
    throw new Error('Method not implemented.');
  }
  setDisabledState?(isDisabled: boolean): void {
    throw new Error('Method not implemented.');
  }

  ngOnInit(): void {}
}

// app.component.spec.ts
describe('AppComponent', () => {
  beforeEach(async(() => {
    TestBed.configureTestingModule({
      imports: [ReactiveFormsModule],
      declarations: [AppComponent, MockComponent(MyFormControlComponent)],
    }).compileComponents();
  }));

  it('should create the app', () => {
    const fixture = TestBed.createComponent(AppComponent);
    const app = fixture.componentInstance;
    fixture.detectChanges();
    expect(app).toBeTruthy();
  });
});

Error details:
Error: Circular dep for MockOfMyFormControlComponent
            at getNodeInjectable (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3903:1)
            at searchTokensOnInjector (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3849:1)
            at getOrCreateInjectable (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3771:1)
            at ɵɵdirectiveInject (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:13733:1)
            at ɵɵinject (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:804:1)
            at factory (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:11321:1)
            at multiResolve (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:19005:1)
            at NodeInjectorFactory.multiProvidersFactoryResolver [as factory] (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:18970:1)
            at getNodeInjectable (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3913:1)

Latest version of ng-mocks were used with the latest angular version
"dependencies": {
    "@angular/animations": "~10.0.3",
    "@angular/cdk": "^10.0.2",
    "@angular/common": "~10.0.3",
    "@angular/compiler": "~10.0.3",
    "@angular/core": "~10.0.3",
    "@angular/forms": "~10.0.3",
    "@angular/platform-browser": "~10.0.3",
    "@angular/platform-browser-dynamic": "~10.0.3",
    "@angular/router": "~10.0.3",
    "rxjs": "~6.5.4",
    "tslib": "^1.10.0",
    "zone.js": "~0.10.2"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "~0.1000.2",
    "@angular/cli": "~10.0.2",
    "@angular/compiler-cli": "~10.0.3",
    "@types/jasmine": "~3.5.0",
    "@types/jasminewd2": "~2.0.3",
    "@types/node": "^12.11.1",
    "codelyzer": "^5.1.2",
    "jasmine-core": "~3.5.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "~5.0.0",
    "karma-chrome-launcher": "~3.1.0",
    "karma-coverage-istanbul-reporter": "~2.1.0",
    "karma-jasmine": "~3.0.1",
    "karma-jasmine-html-reporter": "^1.4.2",
    "ng-mocks": "10.0.2",
    "prettier": "^2.0.5",
    "protractor": "~7.0.0",
    "ts-node": "~8.3.0",
    "tslint": "~6.1.0",
    "typescript": "~3.9.6"
  }

Thank you!

In your case you need to change beforeEach to
beforeEach(() => MockBuilder(AppComponent, AppModule));

It solves the issue, anyway I'm checking the original case.

found a possible solution

Add a test for a component with NG_VALIDATORS only.

Hi,
thanks for your quick reply :)
In the meantime I tried it with the Mockbuilder.

Hi,
thanks for the report.
In your case you need to change beforeEach to
beforeEach(() => MockBuilder(AppComponent, AppModule));

It solves the issue, anyway I'm checking the original case.

For this scenario it works fine, but in some special cases I ran here into the same issue.
In a case where we want to test that the current data is shown in the form fields. (My special case: The form gets patched from the ngrx store with values and these values should be shown to the user).
Maybe I'm wrong, but from my current unterstanding I had to use the real ReactiveFormsModule in the testcase to keep the bindings working.
But as soon I use the .keep(ReactiveFormsModule) it fails again with
Error: Circular dep for MockOfMyFormControlComponent
            at getNodeInjectable (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3903:1)
            at searchTokensOnInjector (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3849:1)
            at getOrCreateInjectable (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3771:1)
            at ɵɵdirectiveInject (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:13733:1)
            at ɵɵinject (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:804:1)
            at factory (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:11321:1)
            at multiResolve (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:19005:1)
            at NodeInjectorFactory.multiProvidersFactoryResolver [as factory] (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:18970:1)
            at getNodeInjectable (http://localhost:9876/_karma_webpack_/node_modules/@angular/core/__ivy_ngcc__/fesm2015/core.js:3913:1)

<!-- app.component.html -->
<form [formGroup]="pizzaForm">
  <app-my-form-control formControlName="name"></app-my-form-control>
  <input type="text" formControlName="details" />
</form>

// app.component.spec.ts
describe('AppComponent with MockBuilder and real formsbinding', () => {
  beforeEach(() =>
    MockBuilder(AppComponent, AppModule).keep(ReactiveFormsModule)
  );

  it('should create the app', () => {
    const fixture = TestBed.createComponent(AppComponent);
    const app = fixture.componentInstance;
    fixture.detectChanges();

    app.pizzaForm.patchValue({ details: '123' });
    fixture.detectChanges();

    const input = fixture.debugElement.query(By.css('input'))
      .nativeElement as HTMLInputElement;
    expect(input.value).toEqual('123');
  });
});

I also enhanced the testcases in https://github.com/michael-hein/ng-mocks-circular-dep-error by this case.
Thank you!

Hi, thanks, might you try the fix from PR? I think it fixes everything.

thanks for the verification, I'll add the case with NG_VALIDATORS only to ensure it doesn't cause any issues and release a new version on Sunday.


First half of motor module

Modeled the "motor" half of the motor module, including encoder. The gearbox half is still needed (@wraftus).

To make the print easier, we might consider splitting the casing in half, and then fastening or, more likely, gluing the two halves together. If we do this, we should add locating features to the split surface, so that the orientation of the two halves of the motor casing is maintained.

Why wouldn't we just print it with the left or right face being the base? I guess the constraint would just be max z height but my print has a pretty tall volume

Why wouldn't we just print it with the left or right face being the base?

Because then we have mondo overhang of the middle bit
|   |
|   |   <- gearbox
|---|
|   |   <- motor
|   |

Over hand is no problemo. Support + dissolvable interface layer. IDEX printing :)))))

Over hang is no problemo. Support + dissolvable interface layer. IDEX printing :)))))

Okie dokie

We will also need to add a hole for the encoder cable at some point. Not sure if we want that to come out radially or axially. Axial risks getting caught by the motor and tearing, but means the cables come out closer to the motor cables. Radial means we'd need to run the cables along the outside of the motor module. No biggie either way.

My vote is axially. Can probably 3d print a channel for the wires

Updated screenshots:

Top-down section view:

Side section view:

Still to do:

Add cycloidal disc
Add ring gear geometry
Add output plate bushings & pins

I think this is ready to merge, those changes can be in another PR by @wraftus.

idk if the others have opnions here

I'm going to merge. Further revisions can just happen in further PRs


Invalid autoformatting when function name contains word "function"

I ran a cross this problem when I tried to autoformat a file that runs a function called "viewFunctions()"
var viewFunctions = function () {
}

viewFunctions()

The formatter formats it as:
var viewFunctions = function () {}

viewfunction s ()

... aand that breaks the code. The problem propably bubbles from https://github.com/maxogden/standard-format -library, and from there it propably bubbles from https://github.com/millermedeiros/esformatter ?

Yep, this is a know issue with standard-format. It will be fixed once https://github.com/maxogden/standard-format/pull/47 is merged and released (soon!).

ok, great! btw. Awesome job with this library!

Thanks! :-)


MDTextField's hint_text cant be set outside of kv language

from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager,Screen
from kivy.properties import ObjectProperty
from kivymd.app import MDApp
from kivymd.textfields import MDTextField
KV = '''

<aaa>
    t1:t1
    BoxLayout:
        id:t1
        MDTextField:
            hint_text:'aaaa'
            text:'text1'
'''

class aaa(Screen):
    t1=ObjectProperty()
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.t1.add_widget(MDTextField(hint_text='aaaa',text='text2'))

class Test(MDApp):
    def build(self):
        Builder.load_string(KV)
        self.screen=aaa()
        return self.screen

Test().run()

This is a sample code of 2 text fields, only the first one's 'hint_text' can be set, the other one will not have hint text, helper_text, anything other than 'text' itself wont work...

Also I cant see any cursor on the text field.
Win10,
latest version of everything

i can confirm that this bug has 2 main problems

The properties are not used from the __init__ kwargs, this means that the class has no way to update it's content after a new instance is created. This may be solved using the clock.schedule_once calling a function to read and evaluate all properties

The animation of the hint_text doesnot work correctly when the label instance has already a text inside. this menas that the hit text will keep it's normal size instead of shrinking down

For now, the bug may be bypassed byt updating the widget after the instace is created
def __init__(self, **kwargs):
    super().__init__(**kwargs)
    X=MDTextField(
        hint_text='asdasdasd',
        text='text2'
        )
    self.t1.add_widget(X)
    X.hint_text='aaaa' <- this will call the update event for the hint text.


Comments make parsing fail

f =
  let b = 1 --comment
  in b

The parser does not understand this.
This is probably related to #1, because this, too has to do with newlines.

Yes. Comments right now are only statements (outside of functions). We're working on a way to go past that, but it's not trivial

It may be helpful to do multiple passes of the source. One of which might be filtering out comments.

Yeah. The parser doesn't really have a capability for us to do it.
In elmchemy right now we're removing inline comments before we parse the code.

I think it would make sense to move the code from Elmchemy here. I don't see why someone would want the parser to fail instead of stripping comments.

@joonazan  But we aren't really parsing them, we just ignore them. So that's probably not a desirable behaviour for a parser 😁

It would be awesome if this can be resolved. Elm-Ast is already providing a lot of value.
Another minimal example that causes a failure:
test : Int
test =
    --
    1

I did not see a lex combinator defined or used in this codebase. When I look at parsers for other languages I frequently see a lex combinator used to remove the whitespace and comments. Here is an example of parsing JSON using a combinator library in rust https://github.com/Marwes/combine/blob/master/benches/json.rs.
Something like:
lex : Parser s r -> Parser s r
lex p =
    p <* (skip (whitespace <|> comments))

Then just wrap just about every low level parser with lex.

Hey @wende any update on this? I still have some users who are blocked on this, it would be great to be able to have some workaround to help strip comments before parsing.

Pinga wanga

FTR: @tunguski has a fork here: https://github.com/tunguski/elm-ast  that seems work well with comments. At least the example page https://tunguski.github.io/elm-ast/example/ parses the code from https://github.com/Bogdanp/elm-ast/issues/41#issue-229655914
https://github.com/tunguski/elm-ast/issues/3 refers to https://github.com/tunguski/elm-ast/commit/60a771c2ae3e3fac5185b2bbfb2e14e3af72d2bf

Hello @wende, it looks like comments are parsing successfully now! Thank you so much for adding that in. Both -- ... and {- ... -} comments are parsing as expected, so this looks to be fully resolved now.
Would you mind closing the issue so it's clear for other users who were waiting for this? Thank you!

I apologize for the confusion, the examples I tried for parsing comments were not within function bodies (like in this example). So it turns out the behavior hasn't changed and comments like these still cause parsing to fail.
I did indeed find that https://github.com/tunguski/elm-ast resolves the issue, as @muelli suggested (thanks for that tip @muelli!).
I would still love to see this get resolved in this package! It would be nice if we could avoid having too much fragmentation in the Elm AST library ecosystem.


Online friends view

One critical things I am missing right now is the online friends view. Before I was using http://flamingo.im and really liked the style they used. I tried to make a mockup...

I started working on this, but the sidebar is removed at a certain window size. I am not sure what to do to prevent this. You can check it out on this branch: https://github.com/danielbuechele/goofy/tree/online-state

obsolete


Add support for Bing AI sidebar URL

Just found out that you can actually access the Bing AI sidebar in every browser via the urls:
https://edgeservices.bing.com/edgediscover/query?&lightschemeovr=1
https://edgeservices.bing.com/edgediscover/query?&darkschemeovr=1
Using this would allow for a better layout (especially on mobile), dark mode and using the compose feature. Interestingly the url already loads and the text generation in "compose" seems to work on firefox mobile, just the "chat" doesn't show up. Maybe some more flags required to make it fit into the window?
Correct display in Kiwi Android with Edge User agent:

In firefox android (empty):

Thank you for the issue. Would the request be adding https://edgeservices.bing.com for the modification list?

Sorry for the late response. I played around a bit and it seems to me that this link doesn't even check what browser you are using, most likely because microsoft didn't expect anyone to inspect and reuse the url of their side bar. It needs just some querie params, e.g.:
https://edgeservices.bing.com/edgediscover/query?&darkschemeovr=1&FORM=SHORUN&udscs=1&udsnav=1&setlang=en-GB&features=udssydinternal&clientscopes=windowheader,coauthor,chat,&udsframed=1
The only issue seems to be how it is displayed in Firefox as the chat window is of screen, which is not happening in other browsers. With some taping around the keyboard pops up eventually and after some inputs the chat appears and displays correctly...
I suppose I was just hoping for another fix like your "if you use firefox set layout.css.overflow-overlay.enabled to true in about:config!" advice. (Sadly that doesn't seem to fix it on that page)

This would be great since it allows you to also read the pages content, hope to see this added so I can move away from Edge

It is also able to just view the pull page contents which is what I was referring to, I think this should be possible in theory but might become a issue with manifest v3 in the near future


HTTPExtension feedback

Describe the proposal
The design of the HTTPExtension (for passing HTTP details to a Dapr Invoke) class could be improved

The extra namespace segment Dapr.Client.Http should be removed - there's no need to hide these types in a separate namespace from the main client - they are part of the same logical task (invoking other services)
The naming should reflect .NET practices - HttpExtension instead of HTTPExtension (golang convention)
We should give this a name that reflects Dapr's terminology instead of generic HTTPExtension - suggesting HttpInvocationOptions - HttpInvocationVerb
It would be better to drop our own type for HTTP verbs and use a framework one (System.Net.Http.HttpMethod). This is what users would expect to find.

Another reason to change this - these names collide with the generated gRPC types. This means that tooling will suggest importing the namespace with all of the generated code - picking the wrong one is an easy mistake to make.


Option to ignore certain messages

I want to be able to avoid certain messages so that they don't popup. Is that possible?

nvim-notify will not do this but you can wrap nvim-notify with your own filtering.
local banned_messages = { "This is spam" }

vim.notify = function (msg, ...)

  for _, banned in ipairs(banned_messages) do
    if msg == banned then
      return
    end
  end
  require("notify")(msg, ...)
end

Though you're probably better off stopping the notification source from sending the message in the first place if possible

Thank you! I'm trying go around getting this error here:
https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/server_configurations/sourcery.lua#L29
Because I don't want to sign up to get a token.

Been suffering from this as well, this looks like this could be a fix: https://github.com/neovim/neovim/issues/20457#issuecomment-1266782345

That isn't working for me, I've done like this:
local banned_messages = {
    "[coc.nvim]: UnhandledRejection: TypeError: Cannot destructure property 'start' of 'range' as it is undefined.",
    "UnhandledRejection: TypeError: Cannot destructure property 'start' of 'range' as it is undefined.",
    "[telescope.builtin.buffers]: No buffers found with the provided options",
    "No buffers found with the provided options",
}

local function on_open()
    if vim.g.last_notification_id then
        require("notify").dismiss(vim.g.last_notification_id)
    end
end

local M = {
    "rcarriga/nvim-notify",
    priority = 99999,
    config = function()
        require("notify").setup({
            max_width = 90,
            background_colour = '#ffffff',
            timeout = 3500,
            top_down = false,
            -- level = vim.log.levels.WARN,
            stages = "fade_in_slide_out",
            -- render = "wrapped-compact",
            on_open = on_open
        })

        vim.notify = function(msg, ...)
            for _, banned_msg in ipairs(banned_messages) do
                if string.find(msg, banned_msg) then
                    return
                end
            end
            require("notify")(msg, ...)
        end
    end
}

return M

Any thing I've done badly ?

@HarshalRathore Try this
--- ...
  config = function()
    require("noice").setup({
         lsp = {
           --- ...
         },
	 presets = {
           --- ...
         },
         messages = {
          enabled = true,
          view = "mini",
          filter = {
            exclude = {
              '"%s" %d+L, %d+B written', -- A Regex to match string ' "/autocmd.lua" 115L, 3158B written'
             },
          },
      },
})
end,


Removed unnecessary capturing/hiding of stdout/stderr in various tests.

@francoisfreitag Thanks :+1: I found two more cases.


Any example on how to display images?

Looking at Nuklear and the godoc for this project I'd thought that perhaps I load images via the standard library's image.Image and then pass an unsafe pointer to the loaded struct but this doesn't seem to be the case.

You should bind it to a texture.
e.g. https://github.com/xlab/libvpx-go/blob/master/cmd/webm-player/view.go#L255

I made a function based on above example. Call it during setup/initialization:
// NkImageFromRgba converts RGBA image to NkImage (texture)
// Call with tex=0 for first time use, then keep tex for later use.
func NkImageFromRgba(tex *uint32, rgba *image.RGBA) nk.Image {
	gl.Enable(gl.TEXTURE_2D)
	if *tex == 0 {
		gl.GenTextures(1, tex)
	}
	gl.ActiveTexture(gl.TEXTURE0)
	gl.BindTexture(gl.TEXTURE_2D, *tex)
	gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_NEAREST)
	gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR_MIPMAP_NEAREST)
	gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)
	gl.TexParameterf(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE)
	gl.TexImage2D(
		gl.TEXTURE_2D,
		0,                         // Level of detail, 0 is base image level
		gl.RGBA8,                  // Format. COuld ge RGB8 or RGB16UI
		int32(rgba.Bounds().Dx()), // Width
		int32(rgba.Bounds().Dy()), // Height
		0,                // Must be 0
		gl.RGBA,          // Pixel data format of last parameter rgba,Pix, could be RGB
		gl.UNSIGNED_BYTE, // Data type for of last parameter rgba,Pix, could be UNSIGNED_SHORT
		gl.Ptr(rgba.Pix)) // Pixel data
	gl.GenerateMipmap(gl.TEXTURE_2D)
	return nk.NkImageId(int32(*tex))
}

Then, in the drawing loop, call
    nk.NkImage(winInfo.Ctx, nkLogo)

This function should be part of the library, in etc.go.

@jkvatne A small PR is appreciated, let's add it to etc?


Q&A on uploaded RHEL images

Clarification on uploaded RHEL images being already considered as BYOS.

@juanandmsft : Thanks for your contribution! The author(s) have been notified to review your proposed change.


pip wheel . --verbose didn't build a wheel for opencv, just opencv_contrib and numpy

Expected behaviour
Build a .whl file for opencv as well as one for opencv_contrib
Actual behaviour
.whl for opencv_contrib was built but .whl file for opencv was not built
Steps to reproduce
export ENABLE_CONTRIB=1
ubuntu 22.04 on WSL2
x86-64

opencv-python version
did git checkout tag/4.5.5 in the opencv_contrib subdirectory
did git checkout tag/4.5.5 in the opencv subdirectory

Issue submission checklist

[ ] This is not a generic OpenCV usage question (looking for help for coding, other usage questions, homework etc.)

[ ] I have read the README of this repository and understand that this repository provides only an automated build toolchain for OpenCV Python packages (there is no actual OpenCV code here)

[ ] The issue is related to the build scripts in this repository, to the pre-built binaries or is a feature request (such as "please enable this additional dependency")

[ ] I'm using the latest version of opencv-python

I'm really confused now.  I did the git checkout tags/4.5.5 in the opencv subdir and the opencv_contrib subdir; however, when the build was complete I got a opencv_contrib_python-4.8 wheel file!  After I did the checkouts I did a git status and each of them were pointing to the 4.5.5 version yet the build ended up for 4.8; also after the build was complete I went into each of the subdir's and they were back to "origin/4.x" so I'm not understanding how/why that happened.  I'm trying to build version 4.5.5 but am unable to do so...perhaps I'm doing something wrong?  Need some help please.

setup.py updates submodules to be sure that opencv-python and submodules are consistent in https://github.com/opencv/opencv-python/blob/43cd7169cb92d96898d59753796678495b95c833/setup.py#L51. It's debatable solution and may lead to confusion. Will check if it could be dropped.

I believe that to be accurate it must be 64-bit OS (bullseye) on RPi4;  I tried installing mediapipe==0.10.3 and it will not install
On 32-bit RPi4 bullseye…
If you are saying that it should install on 32-bit bullseye, RPi4, then there is a problem.
Thanks for the reply.
John Blacker
From: Alexander Smorkalov @.***
Sent: Wednesday, August 9, 2023 3:05 AM
To: opencv/opencv-python @.>
Cc: John Blacker @.>; Author @.***>
Subject: Re: [opencv/opencv-python] pip wheel . --verbose didn't build a wheel for opencv, just opencv_contrib and numpy (Issue #876)
setup.py updates submodules to be sure that opencv-python and submodules are consistent in https://github.com/opencv/opencv-python/blob/43cd7169cb92d96898d59753796678495b95c833/setup.py#L51. It's debatable solution and may lead to confusion. Will check if it could be dropped.
—
Reply to this email directly, view it on GitHub https://github.com/opencv/opencv-python/issues/876#issuecomment-1670785279 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AB6WAAQLB7BNFI25M2G66SDXUMZDNANCNFSM6AAAAAA2TFBI74 .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AB6WAAV53XEFVS6J3ENFW7TXUMZDNA5CNFSM6AAAAAA2TFBI76WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTDSYUP6.gif Message ID: @.*** @.***> >


Redirect loop/error for AAD names with double byte characters

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser:

[x] Chrome version XX
[x] Firefox version XX
[ ] IE version XX
[ ] Edge version XX
[x] Safari version XX

Library version
Library version: 1.1.3
Current behavior
Logged in user will throw on acquireTokenSilent, then on login will successfully login automatically, then throwing on aqcuireTokenSilent, etc.
Users that are added to an Azure AD directory as a guest with Japanese characters in their names throws an unexpected error after loginRedirect.
Expected behavior
Users should be able to login with names containing 2 byte characters in them.
Minimal reproduction of the problem with instructions
change guest username to 鈴木イチロー and try to login.
Can provide a minimal repro if needed, but a userAgentApplication.acquireTokenSilent wrapped in a try catch where the catch forces a loginRedirect should trigger this issue.

Further checking the response for getAccount() before calling acquireTokenSilent shows undefined for many of the parameters (data was scrubbed from a working request):
{
  "accountIdentifier": "undefined",
  "homeAccountIdentifier": "{someRandom.accountIdentifier}",
  "userName": "undefined",
  "name": "undefined",
  "idToken": "undefined",
  "idTokenClaims": "undefined",
  "environment": "https://login.microsoftonline.com/{clientId}/v2.0"
}

@Robjam We have fixed the issue in this version MSAL.js 1.2.0-beta.3. Please try it and let us know if you see any further issues.


Perfect vision not showing up under configure game settings

Expected Behavior
To be able to edit the Perfect vision settings under Configure game Settings
Current Behavior
After enabling  the perfect vision module it does not show u

p under Configure Game Settings
Steps to Reproduce

Install Module
activate Module
Check to see if Module is active under Configure module settings
It is not there

Context
I have tested this on a clean dnd5e world with only Libwrapper module enabled to rule out all other  module interference.
I have removed the module restarted foundry and installed again and it is still not showing the module settings
Version
v4.0.29
Foundry VTT Version
v10.288
Operating System
windows 11
Browser / App
Native App (Electron)
Game System
dnd5e
Relevant Modules
No response

Since introduction of Vision/Detection Modes in V10, vision rules and darkvision have been removed from PV; that's all core now. So PV doesn't have game settings at the moment. If you don't use PV's Lighting Drawings or Vision Limitation (Sight Limit) and only have been using PV for darkvision, you may uninstall it. You can configure darkvision in the token's vision config. The Adequate Vision module might also make your life easier and offers some enhancements specifically for dnd5e.


Prevent conflicts with horizontally scrollable views

When there is a horizontally scrollable view inside the followed scrollview, the navigation bar moves slightly up and down as described by #230. This is because ScrollingNavigationController pan gesture recognizer allows simultaneous gestures. This pull requests adds a guard preventing the pan gesture to start unless it is vertical

Looks great, thanks for this!


Flashing IMXRT1160

Hello,
To my understanding pyOCD does not yet have the functionality for programming the IMXRT1160. I'm just trying to build a simpler workflow for myself without having to use MCUXpresso. However, when I attempt to flash it, it seems that everything goes fine (I've tried flashing without -a 0x30000000, but just wanted to try to see if there was a mismatch in the destination address). I'm quite new to the development board, so I've might have missed something.
$ armgcc pyocd load -a 0x30000000 debug/hello_world_demo_cm7.elf -v
0000762 I Target type is mimxrt1170_cm7 [board]
0000820 I DP IDR = 0x6ba02477 (v2 rev6) [dap]
0000826 I AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8) [ap]
0000839 I AHB-AP#0 IDR = 0x84770001 (AHB-AP var0 rev8) [ap]
0000868 I AHB-AP#1 IDR = 0x24770011 (AHB-AP var1 rev2) [ap]
0000878 I APB-AP#2 IDR = 0x54770002 (APB-AP var0 rev5) [ap]
0000896 I AHB-AP#0 Class 0x1 ROM table #0 @ 0xe00fd000 (designer=00e:NXP part=88c) [rom_table]
0000899 I [0]<e00fe000:ROM class=1 designer=43b:Arm part=4c8> [rom_table]
0000900 I   AHB-AP#0 Class 0x1 ROM table #1 @ 0xe00fe000 (designer=43b:Arm part=4c8) [rom_table]
0000933 I   [0]<e00ff000:ROM class=1 designer=43b:Arm part=4c7> [rom_table]
0000933 I     AHB-AP#0 Class 0x1 ROM table #2 @ 0xe00ff000 (designer=43b:Arm part=4c7) [rom_table]
0000936 I     [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=00c> [rom_table]
0000939 I     [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0000941 I     [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=00e> [rom_table]
0000944 I     [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0000947 I   [1]<e0041000:ETM M7 class=9 designer=43b:Arm part=975 devtype=13 archid=4a13 devid=0:0:0> [rom_table]
0000952 I   [2]<e0042000:CTI class=9 designer=43b:Arm part=906 devtype=14 archid=0000 devid=40800:0:0> [rom_table]
0000957 I [1]<e0043000:CSTF class=9 designer=43b:Arm part=908 devtype=12 archid=0000 devid=28:0:0> [rom_table]
0000964 I AHB-AP#1 Class 0x1 ROM table #0 @ 0xe00ff000 (designer=43b:Arm part=4c4) [rom_table]
0001005 I [0]<e000e000:SCS v7-M class=14 designer=43b:Arm part=00c> [rom_table]
0001008 I [1]<e0001000:DWT v7-M class=14 designer=43b:Arm part=002> [rom_table]
0001010 I [2]<e0002000:FPB v7-M class=14 designer=43b:Arm part=003> [rom_table]
0001011 I [3]<e0000000:ITM v7-M class=14 designer=43b:Arm part=001> [rom_table]
0001015 I [5]<e0041000:ETM M4 class=9 designer=43b:Arm part=925 devtype=13 archid=0000 devid=0:0:0> [rom_table]
0001019 I [7]<e0043000:CSTF class=9 designer=43b:Arm part=908 devtype=12 archid=0000 devid=28:0:0> [rom_table]
0001024 I [8]<e0042000:CTI class=9 designer=43b:Arm part=906 devtype=14 archid=0000 devid=40800:0:0> [rom_table]
0001030 I CPU core #0 is Cortex-M7 r1p2 [cortex_m]
0001033 I FPU present: FPv5-D16-M [cortex_m]
0001037 I 4 hardware watchpoints [dwt]
0001039 I 8 hardware breakpoints, 1 literal comparators [fpb]
0001092 I 4 hardware watchpoints [dwt]
0001093 I 6 hardware breakpoints, 4 literal comparators [fpb]
0001102 I Loading /home/simengangstad/Downloads/imx-gcc/boards/evkmimxrt1160/demo_apps/hello_world/cm7/armgcc/debug/hello_world_demo_cm7.elf at 0x30000000 [load_cmd]
[==================================================] 100%
0002474 I Erased 0 bytes (0 sectors), programmed 24232 bytes (0 pages), skipped 0 bytes (0 pages) at 17.29 kB/s [loader]

The image is not updated on the board however after reset, so something funky is going on. Another weird issue is that the reported board is the IMXRT1170, even though I'm working on the IMXRT1160:
$ pyocd list

#   Probe/Board             Unique ID                                          Target
---------------------------------------------------------------------------------------------------
  0   ARM DAPLink CMSIS-DAP 02440b030209e95700000000000000000000000097969905   ✔ mimxrt1170_cm7
      MIMXRT1170-EVK

If there is anything I can do to make this possible I'm more than happy to help!

Was able to flash using a custom pyocd_user.py with the following contents:
def will_connect():
    target.memory_map.add_region(FlashRegion(
        name="BOARD_FLASH",
        start=0x30000000,
        length=0x10000000,
        blocksize=0x10000,
        page_size=0x100,
        is_boot_memory=True,
        flm="MIMXRT116x_QuadSPI_4KB_SEC.FLM"
        ))

Had to first halt the target using pyocd cmd -> halt -> quit and then flash using pyocd flash --target MIMXRT1160DVM6A <elf-file>. It does time out sometimes however, especially after a new build. Flashing via mcuxpresso and then via pyocd seems to alleviate this somehow.
For debug, I was able to get a configuration up and running using:
1. pyocd cmd
    -> halt
2. pyocd flash --target MIMXRT1160DVM6A <elf-file>
3. pyocd gdb --target MIMXRT1160DVM6A
4. arm-none-eabi-gdb <elf-file>
    -> target remote localhost:3333
    -> load
    -> monitor reset
    -> c

There is however a weird issue with SysTick. It seems interrupts for it is disabled during debugging somehow.


Fix/revise es6 import lessons

This revises the es6 import lessons. There was a lot of invalid syntax in the current lessons, and some inaccurate information.

I created the "Create a module script" challenge at the beginning
I renamed  "Use export to Reuse a Code Block" to "Use export to Share a Code Block" and moved it to be taught before import - pretty much also rewrote this one
I renamed "understand the differences between import and require" to "Reuse Javascript Code Using import" and moved it to be taught after the export - pretty much also rewrote this one
"create an export fallback with export default" and "import a default export" and "Use * to Import Everything from a File" I tried not to modify these two too much - slight rewording - convert to backticks - fix up tests.

Hopefully I didn't make too many unnecessary modifications - but I think this is better more accurate.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

Related to #36063
Closes https://github.com/freeCodeCamp/freeCodeCamp/issues/17436

LGTM :+1:

@moT01 Overall I think you have made significant improvements to the existing challenges and added some valid new challenges.
Regarding the use of exporting functions using default and importing them, I think one thing missing is that a function does not even need a name in the export default.  It can be an anonymous function.  Also, the import can be any name when importing a default function.  The way the challenges are currently written, it implies there must be a function name specified in the export default and that when importing a default function, that it must be referenced by the same name.
I am not exactly sure how best to add this verbiage to make it clear, but I believe the export default challenge should allow the user to not specify a named function and the challenge dealing with importing a default function should make it clear the function could be named something different if the export had a named function.

@scissorsneedfoodtoo Just waiting on @ojeytonwilliams final review of this PR, but we also need a core team member to approve before we merge.


GEODE-6143: Remove PowerMock from ExecuteFunction tests

This PR consists of two commits. First commit refactors FunctionService so that it is unit testable. Second commit removes PowerMock from the ExecuteFunction unit tests.
The commit for GEODE-6171 does expose one new interface (FunctionExecutionService) just for consistency in how FunctionService and its internals are packaged but otherwise the changes are completely internal and the user doesn't see anything different. I'd like to eventually deprecate FunctionService and InternalFunctionService (the static APIs) and add some new API to returns an instance of FunctionExecutionService to the user.
FunctionExecutionService is identical to FunctionService except the methods are non-static. We could move it to the internal package for now instead of leaving it in the user package.
I recommend reviewing the changes fro the Commits tab instead of the Files changed tab.
commit edf7d3c65892e0c3b05fdf25c4c2bfb1cd2bf23a (HEAD -> GEODE-6176-FunctionService-PowerMock, kirklund-fork/GEODE-6176-FunctionService-PowerMock)
Author: Kirk Lund<EMAIL_ADDRESS>Date:   Mon Dec 10 16:42:50 2018 -0800

    GEODE-6143: Remove PowerMock from ExecuteFunction tests

    Remove PowerMock from:
    * ExecuteFunctionTest
    * ExecuteFunction65Test
    * ExecuteFunction66Test

    Add test for ExecuteFunction70Test by subclasses ExecuteFunction66Test.

commit 0992c246577ba5a4c8b42d2c06974c1efcb1de60
Author: Kirk Lund<EMAIL_ADDRESS>Date:   Mon Dec 10 13:44:24 2018 -0800

    GEODE-6176: Make FunctionService testable with internal delegates

    Introduce new FunctionExecutionService interfaces:
    * FunctionExecutionService (User API)
    * InternalFunctionExecutionService

    Implement new interfaces with a traditional class to be instantiated:
    * FunctionExecutionServiceImpl

    Collapse FunctionServiceManager into FunctionExecutionServiceImpl

    Change static API classes to delegate to private instance of
    FunctionExecutionServiceImpl:
    * FunctionService (User API) -- only has private internal changes
    * InternalFunctionService -- now extends FunctionService

    This should allow unit tests to avoid using PowerMock.

Adding FunctionExecutionService interface to User API package caused AssemblyContentsIntegrationTest to fail. I'm going to move it internal since I was questioning whether or not I should expose it or not.

I meant to put an overview comment on my review, but the requesting of changes is mainly around adding tests for FunctionServiceExecutionImpl and what looks like maybe a few incorrect method calls (onServer() vs onServers()).  Also a few leftover TODOs.


Click sound when changing audio FX volume

Summary:
When slecting 99 as audio FX volume, the click sound starts being reproduced continuously.
Type:

A ()
B ()
C (x)

Priority:

Urgent ()
High ()
Regular ()
Low (x)

Frequency

Always (x)
High ()
Regular ()
Low ()

Steps to reproduce:
Open settings, change the Audio FX volume to 99
Actual result:
The click sound starts being reproduced continuously
Expected result:
Not hearing that sound
Build:

It does no happen only with the 99. It happens every time you drag the scroller and you leave it out of the scrolling zone


Multilayer Perceptron - Base

Task: Set up the basic Multilayer Perceptron code functionality that works
Level-3 : 25 Points

Assign this to me

@JanhaviSoni  You have been assigned the task to setup the base for Multilayer Perceptron.
Try to submit a PR in 5 days.

@ashwani-rathee I wanted to ask that can we use modules or everything from scratch . Also we just need to write how the algo works or implement it using data set

@JanhaviSoni You can use numpy,and that should be enough for algorithm part,you have to just kind of prove that your method works(so yeah you would need a simple example).

@JanhaviSoni  What is your progress on this?Any issues?How can I help?
2days to a PR

@ashwani-rathee It will take me more time to work on implementation of Mulilayer Perceptron. Till that time can I be assigned Multiple Linear Regression and you could unassign Multilayer Perceptron.

@ashwani-rathee I am Gssoc participant can u assign me Multilayer Perceptron.

@jprakash-1 would you like to get this assigned?

Yes, @ashwani-rathee  I would like to work on this. Could you please tell me how many hidden layers do I have to implement? And any other relevant detail I need, to implement this?
Thank you

@ashwani-rathee I would like to contribute to this issue cn you please assign me this issue under gssoc label

@ashwani-rathee Please assign this issue to me.

This needs to be assigned

@saumyasinghz Sure, go ahead

@ashwani-rathee please assign me

Go ahead @subhangi2731.


Resolve symlink to composer shell executable.

Shell entry point for Composer used to resolve self-relative composer.phar file. However current code didn't handle symlinked composer file (e.g. useful when not adding composer to $PATH) and assumed composer.phar always shared symlink's base directory instead of target's one.
This PR adds missing symlink normalization using readlink to workaround this limitation.

However current code didn't handle symlinked composer file

Thanks, but there is no need for this because ComposerSetup explicitly puts the composer files (phar and shims) on the PATH.

Thanks, but there is no need for this because ComposerSetup explicitly puts the composer files (phar and shims) on the PATH.

Indeed it does, but this approach precisely doesn't work when creating a symlink to composer because current Shell code resolves the directory of the symlink rather than its target.

but this approach precisely doesn't work when creating a symlink to composer...

Of course, so just add your modification locally.

Of course, so just add your modification locally.

That's what I'm doing so far. I was proposing this PR to unlock the feature for other users, as it doesn't restrict anything compared to current resolution approach.


DxDataGrid CellTemplate

How can i use DxTemplate to customize cellTemplate in dxDataGrid?
Before:

in Column:
{ dataField: 'whatever', dataType: 'string', caption: 'superCaption' cellTemplate: 'buttonDeleteCellTemplate'  }
Now?

Hi,
Thank you for pointing out this case. It appears to be a bug. We suppose it should work as follows:

Hi, so am I getting this right, are cellTemplates currently not working with devextreme-angular2 in dx-data-grid?

Hi staran,
You are right. We'll fix this issue and publish an update soon.


Source maps

Hi,
I did two simple tests with source maps. Since I am new to working with source maps, I did one test with coffeescript and one test with eslisp. The coffee script test worked right away. With eslisp, I can't seem to get it working at all in Chrome. Can somebody confirm that it is working? Has anyone else had difficulty?
Thanks,
Kerry

What exactly did you try?
This works for me:

Create test directory and change to it
mkdir /tmp/test ; cd /tmp/test

Create test elisp file
echo '((. console log) "hi")' > test.esl

Compile with an embedded source map
eslc --embed-source-map test.esl > test.js.

Create test HTML page
echo '<script src="test.js"></script>' > index.html

Start local web server
python -m http.server

Open http://localhost:8000 in Chromium.

Open dev tools and refresh the page to trigger loading the source map.
String logged to console is labelled as being from test.esl:1:

i was using --source-map-outfile on Windows. Still not sure why it was not working for me. I went through your helpful reply, using --embed-source-map instead, and it worked great. I also tried it on both Linux and Windows and it works fine.
Thanks!
Kerry

Do you still remember the approximate steps you tried on Windows?
I have a new theory about why this might have happened: some parts of code might assume the file path separator to be / (correct on Linux) rather than \ (correct on Windows).

Do you still remember the approximate steps you tried on Windows?
I have a new theory about why this might have happened: some parts of code might assume the file path separator to be / (correct on Linux) rather than \ (correct on Windows).

Closing due to inactivity. Comment or reopen if you encounter this again or find more data.


ScatterChart, Circle, and Pie Chart in Swift?

Any chance you are considering porting the other charts into Swift?  I am looking to use the ScatterChart for a project (currently all in Swift) and trying to decide if I need to use the PNChart and bridge to it from my swift code or use the PNChart-swift library.

I read through the old closed issues and realize that your answer has been to use the OBJC version.  I'm closing this.  Thank you for this great work and I'll use the objC version.


Connection is allowed with invalid STEAMID or PLAYER_TOKEN

Creating a RustSocket object with the correct server ip and port and wrong steamid and/or player_token will still successfully connect and create a RustSocket object but attempting to run socket commands such as get_info will result in a not_found error. The issue is that this is not caught by the on_failure specified in socket.connect()
Error:
Traceback (most recent call last):
  File "C:\Users\Vik\OneDrive\rustplus\main.py", line 44, in <module>
    asyncio.run(main())
  File "C:\Users\Vik\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "C:\Users\Vik\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Vik\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "C:\Users\Vik\OneDrive\rustplus\main.py", line 39, in main
    await test_time(socket)
  File "C:\Users\Vik\OneDrive\rustplus\main.py", line 21, in test_time
    info = await socket.get_info()
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Vik\OneDrive\rustplus\venv\Lib\site-packages\rustplus\api\rust_api.py", line 109, in get_info
    response = await self.remote.get_response(app_request.seq, app_request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Vik\OneDrive\rustplus\venv\Lib\site-packages\rustplus\api\remote\rust_remote_interface.py", line 166, in get_response
    raise RequestError(response.response.error.error)
rustplus.exceptions.exceptions.RequestError: not_found

Process finished with exit code 1

Note that C:\Users\Vik\OneDrive\rustplus is the directory of my project and not the lib(it is located in a venv)

This error is only sent from the server when you request data, so isn't available upon construction or connection. I could send a ping on connect, but I don't see the point in this

That's true. It'd be very rare to naturally encounter this issue, I just wanted to let this be known.