Not Able To Open Nginx Proxy Manager Admin Panel

I have deployed nginx proxy manager on docker containers. But recently I am not able to access admin panel of the NPM. When I open my remote host at port 81. It gives me below error.

Here I have attached logs from portainer for nginx app. Kindly suggest how to access. As I am not able to any access any external website hosted on server ip.
_nginx_app_1_logs.txt
Only able to access portainer at 9000 port.
Not able to access jellyfin at port 8096 & npm admin panel page at port 81.
Thanks.

Have you forwarded port 81 on iptables and VPS?

@itsKV Yeah on oracle cloud infrastructure website under compute --> instance --> subnet security list. I have opened port 81 as per below. And it was working fine before 10-15 days.

But now it is not loading at all.
Note : Internet connectivity pattern got changed as earlier I was using fibernet bb connection. Which I have terminated now due to service issues. Currently I am using mobile hotspot.

But now I am not able to access admin panel of NPM & jellyf

What about iptables rules? Have you checked them? They might have modified meanwhile..

Note : Internet connectivity pattern got changed as earlier I was using fibernet bb con

Your vps service managed by Oracle is same as it was previously. Your mobile device, being client, it doesn't matter how you were/are accessing the vps; let it be cellular or fiber.

What about iptables rules? Have you checked them? They might have modified meanwhile..

Ip table rules is related to oracle cloud vps or anything else..? No I haven't checked them..

Your vps service managed by Oracle is same as it was previously

Yup the same provider. I having nothing. Just left un-used for a few days. Thats it. What I have setup I was using it well.
Now it doesn't work..

Try following command from your laptop/desktop and again on your vps's ssh session terminal. Paste the response here.
curl -is http://<IP_ADDRESS>:81

remove the sensitive information, if any.

Have tried on vps ssh session. Below is the output. Nothing happens.

And on local machine which is windows 10 based pc. Have tried on terminal. Here below is the output. Nothing happens.

r u sure docker is running?

Here I have attached the SS.

And logs from nginx app are here. I think here only some issues are there. Because nginx db logs are looking fine. They are here.
Nginx app logs : https://pastebin.com/GaEtBj14
Nginx db logs : https://pastebin.com/gWi1bYFW

Try running the following command on VPS's terminal.
curl -is http://<IP_ADDRESS>:81

curl -is http://<IP_ADDRESS>:81

Nothing happens. Blank response.

there it is.
Your host is unable to reach your docker container. How could it serve the request on public interface then?

Try once this command in vps's terminal.
sudo docker exec -it nginx_app_1 curl -is http://<IP_ADDRESS>:81

there it is. Your host is unable to reach your docker container. How could it serve the request on public interface then?

Ohhh. Okay. So, do we have to fix it on portainer panel or elsewhere..?

Try once this command in vps's terminal. sudo docker exec -it nginx_app_1 curl -is http://<IP_ADDRESS>:81

Trying now..

Is this a problem on portainer..? I have 2 volumes here.

Try once this command in vps's terminal. sudo docker exec -it nginx_app_1 curl -is http://<IP_ADDRESS>:81

Tried now. Below is the result.

wait a minute..
This reply shows either there is issue in docker network running between host and containers OR Admin panel is not running on npm container.

wait a minute..
This reply shows either there is issue in docker network running between host and containers OR Admin panel is not running on npm container.

As earlier I have attached logs for both npm app & db. By looking them, npm app logs are showing issues.
Nginx app logs : https://pastebin.com/GaEtBj14
Nginx db logs : https://pastebin.com/gWi1bYFW
Nginx app logs :-

  ❯ /etc/nginx/conf.d/include/block-exploits.conf
  ❯ /etc/nginx/conf.d/include/ip_ranges.conf
  ❯ /etc/nginx/conf.d/include/force-ssl.conf
  ❯ /etc/nginx/conf.d/include/resolvers.conf
❯ Enabling IPV6 in hosts: /data/nginx
  ❯ /data/nginx/proxy_host/2.conf
[4/19/2022] [6:02:36 PM] [Global   ] › ℹ  info      No valid environment variables for database provided, using default SQLite file '/data/database.sqlite'
[4/19/2022] [6:02:37 PM] [Migrate  ] › ℹ  info      Current database version: none
[4/19/2022] [6:02:37 PM] [Setup    ] › ℹ  info      Logrotate Timer initialized
[4/19/2022] [6:02:37 PM] [Setup    ] › ℹ  info      Logrotate completed.
[4/19/2022] [6:02:37 PM] [IP Ranges] › ℹ  info      Fetching IP Ranges from online services...
[4/19/2022] [6:02:37 PM] [IP Ranges] › ℹ  info      Fetching https://ip-ranges.amazonaws.com/ip-ranges.json
[4/19/2022] [6:02:37 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v4
[4/19/2022] [6:02:37 PM] [IP Ranges] › ℹ  info      Fetching https://www.cloudflare.com/ips-v6
[4/19/2022] [6:02:37 PM] [SSL      ] › ℹ  info      Let's Encrypt Renewal Timer initialized
[4/19/2022] [6:02:37 PM] [SSL      ] › ℹ  info      Renewing SSL certs close to expiry...
[4/19/2022] [6:02:37 PM] [IP Ranges] › ℹ  info      IP Ranges Renewal Timer initialized
[4/19/2022] [6:02:37 PM] [Global   ] › ℹ  info      Backend PID 242 listening on port 3000 ...
[4/19/2022] [6:02:37 PM] [Nginx    ] › ℹ  info      Reloading Nginx
[4/19/2022] [6:02:37 PM] [SSL      ] › ℹ  info      Renew Complete
s6-svscanctl: fatal: unable to control /var/run/s6/services: supervisor not listening
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/01_s6-secret-init.sh: Operation not permitted
s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/01_s6-secret-init.sh: Operation not permitted
s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 01_perms.sh: executing...
foreground: warning: unable to spawn /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
foreground: fatal: unable to wait for /var/run/s6/etc/cont-init.d/01_perms.sh: No child process

I don't use portainer. So can't say about it. But that can be solved via terminal commands.

Ohh. Okay.

The best way is to re-install the npm. That works most of the times.. ;)

That is where the problem I am facing. I am unable to remove my deployed stacks. As they show limited control. This happened due to update of portainer.

This Limited Control error usually occurs when you have deployed some of the containers outside portainer using command prompt.
Below command will delete the npm container. After that deploy the fresh npm container using portainer.

sudo docker kill nginx_app_1

Do the same for all the containers showing limited control error and re-deploy them via portainer.

What's the update?

I have the same problem

Starting proxy-manager_app_1 ... done
Attaching to proxy-manager_app_1
app_1  | [s6-init] making user provided files available at /var/run/s6/etc...exited 0.
app_1  | [s6-init] ensuring user provided files have correct perms...s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
app_1  | s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/01_s6-secret-init.sh: Operation not permitted
app_1  | s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/01_s6-secret-init.sh: Operation not permitted
app_1  | s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
app_1  | exited 0.
app_1  | [fix-attrs.d] applying ownership & permissions fixes...
app_1  | [fix-attrs.d] done.
app_1  | [cont-init.d] executing container initialization scripts...
app_1  | [cont-init.d] 01_perms.sh: executing...
app_1  | foreground: warning: unable to spawn /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
app_1  | foreground: fatal: unable to wait for /var/run/s6/etc/cont-init.d/01_perms.sh: No child process
app_1  |
app_1  | !!!!!
app_1  |  init-stage2 failed.
app_1  | !!!!!

I had the same problem, and i managed to get through by giving full permission access to the folder from which i was launching the docker-compose up -d  command to run the nginx proxy manager stack : sudo chmod -R 777 ./

I have the same problem, using Oracle Cloud, Ubuntu 20.04.
Updated using apt update && apt upgrade.
Rebooted the system, and nginx-proxy-manager was not working.
Container was started using:
docker run -d --name=nginx-proxy-manager --restart unless-stopped --network nginxproxymanager -p 80:80 -p 81:81 -p 443:443 -v "$PWD/data":/data -v "$PWD/letsencrypt":/etc/letsencrypt jc21/nginx-proxy-manager:latest
Firewall in Oracle Cloud and in Host (using iptables) is unchanged (ports are opened).
Error logs:

2022-07-01T13:46:20.225479708Z s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/01_s6-secret-init.sh: Operation not permitted
2022-07-01T13:46:20.225494388Z s6-chown: fatal: unable to chown /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
2022-07-01T13:46:20.226741067Z s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/01_s6-secret-init.sh: Operation not permitted
2022-07-01T13:46:20.226835467Z s6-chmod: fatal: unable to change mode of /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
2022-07-01T13:46:20.241075344Z [s6-init] ensuring user provided files have correct perms...exited 0.
2022-07-01T13:46:20.242111744Z [fix-attrs.d] applying ownership & permissions fixes...
2022-07-01T13:46:20.243111904Z [fix-attrs.d] done.
2022-07-01T13:46:20.243740544Z [cont-init.d] executing container initialization scripts...
2022-07-01T13:46:20.244711223Z [cont-init.d] 01_perms.sh: executing...
2022-07-01T13:46:20.244981503Z foreground: warning: unable to spawn /var/run/s6/etc/cont-init.d/01_perms.sh: Operation not permitted
2022-07-01T13:46:20.244995543Z foreground: fatal: unable to wait for /var/run/s6/etc/cont-init.d/01_perms.sh: No child process
2022-07-01T13:46:20.247153503Z
2022-07-01T13:46:20.247166703Z !!!!!
2022-07-01T13:46:20.247169863Z  init-stage2 failed.
2022-07-01T13:46:20.247172423Z !!!!!

any updates ?
i have the same issue on AWS

Same issue on AWS Linux 2 machine

Make sure your Nginx Proxy Manager image is current:
docker run -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once.
This was my issue.
Note: the code snippet above will update everything not only your Nginx Proxy Manager.

If you are using AWS Lightsail , you need to go to:

IPv4 networking

& then add a new rule to enable port 81:

I am having the same problem too both through localhost and the servers actual ip.
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/4197


String value of structured event casted to null

snowplow_name_here('trackStructEvent', 'Mixes', 'Play', '', '', "not-a-string");

Value will appear as null in enriched event (and we see nothing in network tab). Not sure if this is a bug or expected behavior, but at least looks inconsistent with self-described events that will go bad bucket if unexpected type was specified and I couldn't find any explicit conversion.

Hmm, that's odd. If this is a bug, it's been around for a very long time.


test(MainPage): update cases

Codecov Report

Merging #49 into master will increase coverage by 11.82%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master      #49       +/-   ##
===========================================
+ Coverage       0%   11.82%   +11.82%
===========================================
  Files          10       10
  Lines         296      296
  Branches       37       47       +10
===========================================
+ Hits            0       35       +35
+ Misses        296      255       -41
- Partials        0        6        +6


WIP integrate Elasticfence plugins into ELK 5.3.1

NOTE: This is a WIP PR and it should probably merged in another branch like 5.3.1-elasticfence if it's run properly and you accept to add it in the project of course.
I opened the this PR just to reproduce the errors.
I want to integrate Elasticfence into elk-docker. Since I like the project simplicity and ease of use but it was build on earlier version of ELK  stack 5.1.2 and it's now unmaintained so I did some work around to run it on ELK 5.3.1.
Long story short I succeeded to install the required Kibana and Elasticsearch plugin into elk-docker. However I'm facing hard time to make it run properly.
Here's some logs:
elasticsearch_1  | [2017-12-20T10:10:37,394][INFO ][o.e.t.TransportService   ] [WVnkU0c] publish_address {<IP_ADDRESS>:9300}, bound_addresses {[::]:9300}
elasticsearch_1  | [2017-12-20T10:10:37,408][INFO ][o.e.b.BootstrapChecks    ] [WVnkU0c] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:39Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:39Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
elasticsearch_1  | [2017-12-20T10:10:40,572][INFO ][o.e.c.s.ClusterService   ] [WVnkU0c] new_master {WVnkU0c}{WVnkU0chSP2zOlMEXDvk0A}{zkldTANLTOeJiwgQs3jOuA}{<IP_ADDRESS>}{<IP_ADDRESS>:9300}, reason: zen-disco-elected-as-master ([0] nodes joined)
elasticsearch_1  | [2017-12-20T10:10:40,676][INFO ][o.e.h.n.Netty4HttpServerTransport] [WVnkU0c] publish_address {<IP_ADDRESS>:9200}, bound_addresses {[::]:9200}
elasticsearch_1  | [2017-12-20T10:10:40,699][INFO ][o.e.n.Node               ] [WVnkU0c] started
elasticsearch_1  | [2017-12-20T10:10:40,884][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:40,909][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:41,021][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:41,029][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:41,375][INFO ][o.e.l.LicenseService     ] [WVnkU0c] license [5598dc7d-68ef-4847-8f44-11f5f2fe6403] mode [trial] - valid
elasticsearch_1  | [2017-12-20T10:10:41,376][INFO ][o.e.g.GatewayService     ] [WVnkU0c] recovered [2] indices into cluster_state
elasticsearch_1  | [2017-12-20T10:10:41,406][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:41,407][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:41,410][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:41,411][WARN ][o.e.d.i.m.TypeParsers    ] field [include_in_all] is deprecated, as [_all] is deprecated, and will be disallowed in 6.0, use [copy_to] instead.
elasticsearch_1  | [2017-12-20T10:10:42,205][INFO ][o.e.c.r.a.AllocationService] [WVnkU0c] Cluster health status changed from [RED] to [YELLOW] (reason: [shards started [[.kibana][0]] ...]).
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:42Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:42Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:44Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:44Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
logstash_1       | Sending Logstash's logs to /usr/share/logstash/logs which is now configured via log4j2.properties
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:47Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:47Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
logstash_1       | [2017-12-20T10:10:47,464][INFO ][logstash.outputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>{:removed=>[], :added=>[http://elasticsearch:9200/]}}
logstash_1       | [2017-12-20T10:10:47,470][INFO ][logstash.outputs.elasticsearch] Running health check to see if an Elasticsearch connection is working {:healthcheck_url=>http://elasticsearch:9200/, :path=>"/"}
logstash_1       | [2017-12-20T10:10:47,677][WARN ][logstash.outputs.elasticsearch] Restored connection to ES instance {:url=>#<URI::HTTP:0x286f237 URL:http://elasticsearch:9200/>}
logstash_1       | [2017-12-20T10:10:47,678][INFO ][logstash.outputs.elasticsearch] Using mapping template from {:path=>nil}
logstash_1       | [2017-12-20T10:10:47,756][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>50001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"_all"=>{"enabled"=>true, "norms"=>false}, "dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword"}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date", "include_in_all"=>false}, "@version"=>{"type"=>"keyword", "include_in_all"=>false}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}}
logstash_1       | [2017-12-20T10:10:47,769][INFO ][logstash.outputs.elasticsearch] New Elasticsearch output {:class=>"LogStash::Outputs::ElasticSearch", :hosts=>[#<URI::Generic:0x2e193eee URL://elasticsearch:9200>]}
logstash_1       | [2017-12-20T10:10:47,777][INFO ][logstash.pipeline        ] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
logstash_1       | [2017-12-20T10:10:47,802][INFO ][logstash.inputs.tcp      ] Starting tcp input listener {:address=>"<IP_ADDRESS>:5000"}
logstash_1       | [2017-12-20T10:10:47,820][INFO ][logstash.pipeline        ] Pipeline main started
logstash_1       | [2017-12-20T10:10:47,897][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:49Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:49Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:52Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:52Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:54Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:54Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:57Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"Unable to revive connection: http://<IP_ADDRESS>:9200/"}
kibana_1         | {"type":"log","@timestamp":"2017-12-20T10:10:57Z","tags":["warning","elasticsearch","admin"],"pid":12,"message":"No living connections"}

I have Ubuntu 17.04 on my machine.

$ docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.8.3
 Git commit:   092cba3
 Built:        Thu Oct 12 22:34:44 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.8.3
 Git commit:   092cba3
 Built:        Thu Oct 12 22:34:44 2017
 OS/Arch:      linux/amd64
 Experimental: false

$ docker-compose version
docker-compose version 1.17.0, build ac53b73
docker-py version: 2.5.1
CPython version: 2.7.13
OpenSSL version: OpenSSL 1.0.1t  3 May 2016

I'm not sure if those errors are related to docker-elk or they're specific to the installed plugins.
Any help on this will be really appreciated. :wink:

I think we should keep the ELK components totally vanilla and let people extend them as they want.
Why would I, for example, need that plugin if I don't use it? Maybe I missed the point.

Why would I, for example, need that plugin if I don't use it? Maybe I missed the point.

I don't want to merge this into master of course. I wanna add it to another branch like searchguard one to have Elasticfence out of the box. Hope my efforts to integrate it will be useful for others to work with.

Ok got it. Thanks for clarifying.
Do you think the project is abandoned?

Do you think the project is abandoned?

Apparently yes as the project contributor replied here.

Probably not a good fit then :(
Anything stopping you from using Searchguard?

I kinda figure it out. Elasticfence can't run to later versions than 5.1.2 of elasticsearch since they base all the plugin logic on RestFilter which is deprecated by Elasticsearch people now.
Nevertheless I run it on version 5.1.2 and finalizing the integration.
Do you think it's still worth it to submit a PR on this.
Thanks !!

As @antoineco said, I don't think that it would be interesting to add this into the project as it's now not maintained anymore.

Okay I'll close this PR then ;)

@jemacom thanks anyway for the proposal 👍


Port FastUnifrac code to skbio

It can be assigned to me.
Is there any special improvement that we want to explore?

I'm going to port my IAB implementations of PD and UniFrac to skbio next week. These will get an experimental interface in place, and support a benchmark of different implementations.

:+1:
I can port fast unifrac sans changes except for removing the cogent dependency. There's some added stuff with the cogent implementation, like doing PCoA, which I wont' bring over -- the goal is minimal, adapt to the pending skbio interface, and remove cogent dep.

I think it makes sense for only one of us to do this, since we don't want multiple implementations in skbio. It doesn't really matter what implementation is ported over since this would just be to get an experimental interface in place, as well as extensive tests that can be easily applied to different implementations. Mine would be really simple to port over so I don't mind taking this on (there are no cogent dependencies, etc, it's just moving code from IAB), but let me know if you'd rather do it. Writing the tests will be the slower part for this, but maybe some of that can come from cogent.

Right,  I figured you'd have the interface in place quickly? Or do you only
want to do a slow educational one and delay a production one? Note, the
runtime between the classic unifrac algorithm and fast unifrac are
substantial
On Jul 31, 2015 2:11 PM, "Greg Caporaso"<EMAIL_ADDRESS>wrote:

I think it makes sense for only one of us to do this, since we don't want
multiple implementations in skbio. It doesn't really matter what
implementation is ported over since this would just be to get an
experimental interface in place, as well as extensive tests that can be
easily applied to different implementations. Mine would be really simple to
port over so I don't mind taking this on (there are no cogent dependencies,
etc, it's just moving code from IAB), but let me know if you'd rather do
it. Writing the tests will be the slower part for this, but maybe some of
that can come from cogent.
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/scikit-bio/issues/46#issuecomment-126802397.

Yep, I'll have the (experimental) interface and unit tests in next week. Once those are in, we can swap in whatever under the hood based on whichever implementation performs best. I was just going to take my IAB implementation since it already works with skbio so it'll be really quick to get in and we can use that as one of the functions in the benchmark. If it turns out to be slower but intuitively much easier to grasp than whatever implementation we land on, we could have this implementation raise an EfficencyWarning (i.e., be an "educational" implementation, as with the python aligners) .

Yup, that was the plan
On Fri, Jul 31, 2015 at 2:49 PM, Greg Caporaso<EMAIL_ADDRESS>wrote:

Yep, I'll have the (experimental
http://scikit-bio.org/docs/latest/user/api_stability.html#experimental)
interface and unit tests in next week. Once those are in, we can swap in
whatever under the hood based on whichever implementation performs best. I
was just going to take my IAB implementation since it already works with
skbio so it'll be really quick to get in and we can use that as one of the
functions in the benchmark. If it turns out to be slower but intuitively
much easier to grasp than whatever implementation we land on, we could have
this implementation raise an EfficencyWarning (i.e., be an "educational"
implementation, as with the python aligners) .
—
Reply to this email directly or view it on GitHub
https://github.com/biocore/scikit-bio/issues/46#issuecomment-126809186.

Awesome, more soon...

Fixed in #1027.

The title of this issue implies it should still be open re: #1040?

Good catch!

Fixed in #1040.


Create Data Volume From Volume Snapshot failed when origianl voluem is deleted in Local Primary Storage

The error log is like:
ApiError: API call[org.zstack.header.volume.APICreateDataVolumeFromVolumeSnapshotEvent] failed because [code: SYS.1006, description: An operation failed, details: all candidate primary storage can not handle hypervisor volume snapshot[hypervisorType:KVM, uuid:2d17ae96f3cd4e53a62145719f00490e]]
The reproduced step:

Create VM
Create Volume and attach to VM
Create Volume snapshot
backup volume snapshot
Delete Volume
Try to create new Volume from previous volume snapshot.

creating template from backup volume snapshot is considered to remove since local storage. This scenario is too complex to support if the backup storage and primary storage are separate storage system, because the primary storage needs a 'jumping storage' to download snapshots and do the merge operation, which are complicated and even impossible for some sotrage systems(e.g. commercial block-based iscsi storage, distributed storage system). We will dump this scenario.


refactor: use explicit mocha imports

Don't you need before, beforeEach, etc. as well?
Also, I don't think all files are being touched here. Was this run as part of a script?


Soundcloud extractor web auth + aac hq

Please follow the guide below

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

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[x] Improvement
[ ] New extractor
[x] New feature

Description of your pull request and other information
I added authorization/login so you can use -u/-p now.  A signature is needed (generation was reverse engineered from SC libray) to send login payload to the auth api in order to get an access token. Previous workaround was: User had to intercept access token manually from Soundcloud (developer console) and then add extra authorization headers.
You are now able to download all (non Go+) tracks in HQ if that is available for a song.

theidel@DESKTOP-S2JEM09:/mnt/d/gitkraken/youtube-dl$ ./youtube-dl -u USER -p PASS https://soundcloud.com/wandw/the-chainsmokers-ft-daya-dont-let-me-down-ww-remix-1 -F
[soundcloud] Downloading JSON metadata
[soundcloud] wandw/the-chainsmokers-ft-daya-dont-let-me-down-ww-remix-1: Downloading info JSON
[soundcloud] 257939729: Downloading JSON metadata
[soundcloud] 257939729: Downloading JSON metadata
[info] Available formats for 257939729:
format code  extension  resolution note
hls_mp3_128  mp3        audio only audio@128k
hls_aac_256  aac        audio only audio@256k (best)

Flake8 will moan about these 5 local variables. However in my opinion they should stay the way they are right now. I could add a noqa comment to suppress the warning but this is probably not wanted. Alternatively I could comment the meanings of the variables.
I will try to add support for Go+ and personalized sets/playlists as well in a future PR.
I tested this code for the last 2 days now. But the authentification process is a bit strange. For instance I had to generate random Device IDs. Otherwise the api would send back 'error: action_denied'.
Let me know if there is something wrong and needs to be edited.

seems that Travis CI build is stuck?


Add key password for Android export and configured signature options

For the signature options exported and configured by Android, the keystore key password option is added to solve the problem that the key in a keystore has a password. When the key password is empty, it is compatible with the previous code.

OK
---Original---
From: "Haoyu @.>
Date: Sat, Apr 9, 2022 19:16 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [godotengine/godot] Add key password for Android export and configured signature options (PR #60055)
@timothyqiu requested changes on this pull request.
Please make sure to format your code according to .clang-format. The suggestions are two examples.
You can run clang-format locally and config it as a commit hook. See https://docs.godotengine.org/zh_CN/stable/community/contributing/code_style_guidelines.html#c-and-objective-c
In platform/android/export/export_plugin.cpp:
> @@ -2383,6 +2392,12 @@ Error EditorExportPlatformAndroid::sign_apk(const Ref<EditorExportPreset> &p_pre  args.push_back("pass:" + password);  args.push_back("--ks-key-alias");  args.push_back(user); + +if(!userPassword.empty()) {  ⬇ Suggested change -if(!userPassword.empty()) { +if (!userPassword.empty()) {
In platform/android/export/export_plugin.cpp:
> @@ -2089,7 +2091,8 @@ bool EditorExportPlatformAndroid::can_export(const Ref<EditorExportPreset> &p_pr    String dk = p_preset->get("keystore/debug");  String dk_user = p_preset->get("keystore/debug_user"); -String dk_password = p_preset->get("keystore/debug_password"); +String dk_password = p_preset->get("keystore/debug_keystore_password"); +String dk_user_password=p_preset->get("keystore/debug_user_password");  ⬇ Suggested change -String dk_user_password=p_preset->get("keystore/debug_user_password"); +String dk_user_password = p_preset->get("keystore/debug_user_password");
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

The code has been modified.
---Original---
From: "Haoyu @.>
Date: Sat, Apr 9, 2022 19:16 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [godotengine/godot] Add key password for Android export and configured signature options (PR #60055)
@timothyqiu requested changes on this pull request.
Please make sure to format your code according to .clang-format. The suggestions are two examples.
You can run clang-format locally and config it as a commit hook. See https://docs.godotengine.org/zh_CN/stable/community/contributing/code_style_guidelines.html#c-and-objective-c
In platform/android/export/export_plugin.cpp:
> @@ -2383,6 +2392,12 @@ Error EditorExportPlatformAndroid::sign_apk(const Ref<EditorExportPreset> &p_pre  args.push_back("pass:" + password);  args.push_back("--ks-key-alias");  args.push_back(user); + +if(!userPassword.empty()) {  ⬇ Suggested change -if(!userPassword.empty()) { +if (!userPassword.empty()) {
In platform/android/export/export_plugin.cpp:
> @@ -2089,7 +2091,8 @@ bool EditorExportPlatformAndroid::can_export(const Ref<EditorExportPreset> &p_pr    String dk = p_preset->get("keystore/debug");  String dk_user = p_preset->get("keystore/debug_user"); -String dk_password = p_preset->get("keystore/debug_password"); +String dk_password = p_preset->get("keystore/debug_keystore_password"); +String dk_user_password=p_preset->get("keystore/debug_user_password");  ⬇ Suggested change -String dk_user_password=p_preset->get("keystore/debug_user_password"); +String dk_user_password = p_preset->get("keystore/debug_user_password");
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

In the current documentation:

Release User: Replace with the key alias.
Release Password: Key password. Note that the keystore password and the key password currently have to be the same.

The "Password" here is the key password. It makes sense as "User" refers to the key and "Password" refers to its password. It's the keystore password that has to be the same as the key password currently.
So I think it's the "keystore password" that should be optional and fallback to "key password". But since you changed the name of both fields, I doubt if it's worth to be made optional at all :thinking:


Unable to send out messages

Suddenly the azure signalr service unable to send out messages.
Central US, East Asia, Australia all unable to connect, connection timeout? why???

The SignalR Service extension that the samples use are old. The use the v1-preview API in SignalR Service that was recently deprecated. We will update the sample. Thanks for reporting the issue.

Thank you very much, one more question
I tried to connect this sample via .Net Client, it was connected fine, but I cannot receive new message from signalr. It was working fine before....
`
connection = new HubConnectionBuilder()
.WithUrl(connectionInfo.Content.url, options =>
{
options.AccessTokenProvider = () =>
Task.FromResult(connectionInfo.Content.accessToken);
}
)
.Build();
                connection.Closed += async (error) =>
                {
                    await Task.Delay(new Random().Next(0, 5) * 1000);
                    await connection.StartAsync();
                };

                connection.On<Message>("newMessage", (message) =>
                {
                    Console.WriteLine($"{message}");
                    //NewMessage(message);
                });

public class Message
{
    public string sender;
    public string text;
}

`


Strengthen great powers

great powers will get 4 reseach slots and a national sprit.

Many characters cannot be included in Visual Studio chinese version's charset GB2312. So I have to replace all the '?'s with octal digit. The convert will not find path if any Chinese characters is included in the path.

Oooh, you're perfect for trying to finally get a solution to the non-ASCII character issue (though I'm not sure just how GB2312 will interact with everything). I'm told that internally, Windows uses UCS-2/UTF-16 strings for paths. If you hard code paths that contain those paths in the correct format, does Windows find them? And if so, does their UTF-8 expression get properly converted to the UTF-16 form? And if that is somehow true, does the UTF-8 form get properly read from the configuration file? And assuming all that has worked and not needed fixing, does the Frontend properly save things in the config file? Does it get the paths correctly when using the browse button?
Sorry to ask you do such an extensive investigation, but I literally cannot do this investigation on my computer, as English-only Windows works differently with all of this.

Also, you should edit readme.txt in data_files and add yourself to the credits.

The browse button get path correctly

and save it to the config file correctly
It is also correct in UCS-2 form

but the converter cannot find path

Oh, curious. I had assumed that configuration.txt would be UTF-8 and not UCS2. Hmm, are you able to edit configuration.c to use the 'ASCII' parser? Can it read your configuration file? And if so, what representation are the characters internally?
Actually, could you upload that configuration.txt somewhere so I can do some tests myself this weekend? Thanks!


Tagger opens on super+e

source: flatpak
distro: arch
DE: Gnome 44.4
Since the newest version of tagger (6691bfddedc802c1fa437b8307b941d3480e84f8b4506cefcc3042f03d2bcfc0) , the program opens when I press super+e, overwriting my settings in the gnome keyboard config:

However, this behaviour was not present on the previous version: be3a671fc669ec3fdca73c926d586119c1fcebf075b210f1a7b8f2b055cb3c6a

This could be due to the new feature that allows you to open folders with Tagger from the file browser itself:

Could you try going into Files and right clicking a folder, going to "Open" then "Open With" and make sure the default app is set to "Files"?

Alright, thank you very much @nlogozzo
I did find inode/directory=org.nickvision.tagger.desktop in /var/lib/flatpak/exports/share/applications/mimeinfo.cache, after deleting that entry the default went back to Nautilus but retaining the possibility of opening a folder with tagger!
I know little about Flatpak, but is there a way to make programs not snatch the default application status when installing them?

I know little about Flatpak, but is there a way to avoid programs snatching the default application status when installing them?

I have no idea, because we didn't do anything to Tagger to try and make it claim default...i'm surprised this happened on your system because when I installed the update Nautilus still remained the default. And I haven't heard of this issue from any other users either...must have been a weird glitch or something.

when I installed the update Nautilus still remained the default

I can say the same, Dolphin remained the default for me on KDE. 🤔

Must have been a bug then, glad it got resolved, thanks!

I did find inode/directory=org.nickvision.tagger.desktop in /var/lib/flatpak/exports/share/applications/mimeinfo.cache, after deleting that entry the default went back to Nautilus but retaining the possibility of opening a folder with tagger!

Thanks man, I was having the same issue with every app. On "open/show folder" use Tagger. Deleting inode/directory=org.nickvision.tagger.desktop; from mimeinfo.cache solved the issue.

@starise you might want to execute the following command

xdg-mime default org.gnome.Nautilus.desktop inode/directory

the cache fix is only temporary until the next boot (my case). From my understanding the reason for this behaviour is that Arch (and other distros) does not ship default mime handlers, so the OS chooses the first software in alphabetical order to open a given file.


License

Thanks so much for sharing this!
Was wondering if it's mit/apache licensed?

Hello! Please take all the code, feel free to copy it! It's free :-)

DONE! :-)

Let's chat if you want to work on new features together :) I'm thinking speech to speech to get a particular unit counter based on the user's civ! Whisper, some TTS lib, etc...


Allow infix notation on invokes, returns and throws

cf. https://github.com/mockative/mockative/pull/90

@Nillerr Could you please have a look to the changes when you get a chance? I'd appreciate your feedback and, hopefully, merging it if everything looks good to you.

@Nillerr @kris098e This pull request has been open for over 4 months. Can we merge it?

Hey @alexandrefavre4
Truth be told I lost a lot of motivation for working on Mockative with the realization that a fundamental change in Kotlin 2 broke Mockative, which is the reason why you haven't seen any activity from me in a long time. Thankfully @kris098e has taken over a lot of communication for this project.
Since I don't currently have a specific vision for Mockative, and don't foresee getting one while the future of the project remains uncertain, moving towards a MockK-like API may not be a bad thing since many Kotlin developers will know that already, so let's just get this PR merged.

@Nillerr I completely understand your loss of motivation and I hope that future releases of Kotlin/KSP will unblock the situation for Mockative. I think that these changes still make sense even if you don't want to bring Mockative's API closer to MockK's, as infix notation will surely be appreciated by some developers and, importantly, remains optional.


python3 grpc streaming -> SystemError: error return without exception set

I'm trying to use the grpcio package (version 0.13.1 from pypi) to make a streaming api call to the Google Cloud Speech api. You can see my code here. It works in python2.
When I run it with python3, though, I get:
~/python-docs-samples/speech/api$ python3 speech_streaming.py
Traceback (most recent call last):
  File "speech_streaming.py", line 7, in <module>
    from google.cloud.speech.v1.cloud_speech_pb2 import *  # noqa
  File "/usr/local/google/home/jerjou/opensrc/python-docs-samples/speech/api/venv3/lib/python3.4/site-packages/google/cloud/speech/v1/cloud_speech_pb2.py", line 490, in <module>
    from grpc.beta import implementations as beta_implementations
  File "/usr/local/google/home/jerjou/opensrc/python-docs-samples/speech/api/venv3/lib/python3.4/site-packages/grpc/beta/implementations.py", line 38, in <module>
    from grpc._adapter import _intermediary_low
  File "/usr/local/google/home/jerjou/opensrc/python-docs-samples/speech/api/venv3/lib/python3.4/site-packages/grpc/_adapter/_intermediary_low.py", line 57, in <module>
    from grpc._adapter import _low
  File "/usr/local/google/home/jerjou/opensrc/python-docs-samples/speech/api/venv3/lib/python3.4/site-packages/grpc/_adapter/_low.py", line 33, in <module>
    from grpc._cython import cygrpc
SystemError: error return without exception set

which seems to be a generic error that happens when some C code returned an error without setting an exception type.

What hardware, operating system, and version of Python 3?

Linux x86_64 python 3.4.3 [GCC 4.8.4]

@jerjou I'm trying to reproduce the issue. Upon running python speech_streaming.py, I get a warning and then it kinda just hangs my shell session. The warning I get is as follows:
2016-06-10 20:11:44.250 python[40167:229182] 20:11:44.249 WARNING:  140: This application, or a library it uses, is using the deprecated Carbon Component Manager for hosting Audio Units. Support for this will be removed in a future release. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h.

@jerjou Friendly ping!

Huh interesting. I'm getting a different error:
$ python3 speech_streaming.py
Exception ignored in: 'grpc._cython.cygrpc.CredentialsMetadataPlugin.make_c_plugin'
TypeError: expected bytes, str found
...
Segmentation fault (core dumped)

Are you running in a virtualenv? Did you do pip3 install -r requirements-grpc.txt?
speech_streaming.py uses pyaudio (which depends on pulseaudio being installed) to listen for audio on your mic. It's expected to hang, listening for audio and transcribing words it hears until it hears 'exit'.
Anyway, it sounds like you got further than I did. Did you use the same requirements-grpc.txt?

@jerjou Ran this in a venv. Managed to replicate the issue. Will look into it.

(Current status of this issue is this stack trace.)

Oh nice - how did you manage to get the more-informative stack?

@jerjou From my understanding, the issue should already be resolved in the current master branch and would be shipped out with the new release. Are you available for a quick skype call? My username is thunderboltsid

This issue can be marked close now. For anyone seeing the aforementioned error, do git clean -xdf (WARNING: It will clean everything in the repo), it's likely originating from a stale cygrpc.so file.


Accessibility pass

Reminders: https://github.com/5calls/ios/pull/374

My impact: https://github.com/5calls/ios/pull/375

About: https://github.com/5calls/ios/pull/376

@nickoneill and @cselin I'm testing out possibly combining ContactListItemCompact and ContactListItem. The more I look at them, the more I realize they're super similar and it's better to handle their accessibility all at once. Plus, hopefully we can get some design benefits from combining them. One particular bit is the background color for each contact person we list. Please check out the screen grabs below, and let me know if you like them with the grey background, or without the grey background? Always open to other thoughts, too.
These are the IssueContactDetail view and it uses the regular size ContactListItem. I'll include light/dark with and without the grey background.

These are the IssueDone view that uses the compact size, light/dark with and without the grey background.

@heathermh let's do without as the default. We can add a background when calling ContactListItem like in IssueContactDetail where I think it looks better but leave it out on IssueDone where it's not needed.

Do you know when we'll see the next iteration of these improvements @heathermh?

@nickoneill I'm currently focusing on getting report(outcome) in OutcomesView to work for VO users. Have a working theory to try, so may have an update this week/weekend/early next week.

Dashboard, etc: https://github.com/5calls/ios/pull/419


Pro have 10 Million tokens is it for day or monthly

Describe the bug
Pro have 10 Million tokens is it for day or monthly
Link to the Bolt URL that caused the error
Pro have 10 Million tokens is it for day or monthly
Steps to reproduce
Pro have 10 Million tokens is it for day or monthly
Expected behavior
Pro have 10 Million tokens is it for day or monthly
Screen Recording / Screenshot
Pro have 10 Million tokens is it for day or monthly
Platform
Pro have 10 Million tokens is it for day or monthly
Additional context
Pro have 10 Million tokens is it for day or monthly

It's a month.


Different features for each run?

Hello and thanks for the terrific code.
I have one question, I am trying to use OcCo pretrained network on the semantic segmentation task to extract features and perform dense matching of 3d points (either Pointnet or pcn).
I have saved and I am loading the same h5 file to avoid alternations due to different sampling. However, if I run the encoder twice (with the same tensor as points), I do not get determenistic results and the returned feature tensors are different, without changing anything. I am in mode model.eval() to have a defined dropout. Could you elaborate please?

I have tried to load the occo weights for the pointnet model. However, some weights are missing ({'module.conv4.weight', 'module.conv4.bias', 'module.feat.stn.conv1.weight', 'module.feat.conv1.weight'}
) when model is loaded in Torch. Thus, weights are randomly initialized and lead to non-deterministic descriptors for the same input. Would you mind updating the model  with all the weights? Thanks!

Hi @katadam, the provided pre-trained weight is from the completion pre-training task, for encoding an object you don't need to load the entire classification version of the PointNet

Thanks for the answer @hansen7 . Yes, I have noticed that, however, I want to extract features for a semantic segmentation. This is why I am loading PointNet (local and global features aggregated). To obtain the weights for this task, I should finetune on a semantic segmentation dataset (s3dis, Scannet), the models you are providing or pre-train the whole PointNet ?

we have many downstream tasks, I cannot provide all the fine tuned weights for all of them。。。

@hansen7 thanks for your answer!
Yes I do get that about the fine-tuned weights, I was just asking if you have the models with OcCo Weights for the semantic segmentation task, as right now you are providing weights for classification and segmentation (so global descriptors for the 3 netowrks)

For s3dis dataset for semantic segmentation, it takes 6 cross validation, train on 5 areas and test on the other, and repeated 6 times. So there are six fine tuned models weights for each baseline model.
I have provided the weights after the OcCo pre-training for them, you can just reproduce these fine tuned weights from them.

Its on the same location of the google drive, isn't it?

Thanks @hansen7 , ok, it is clear now. I was wondering if you had a model for pre-trained on shape completion for the whole point net model (the one you are providing + the transformation networks). But I will use the one for part segmentation (namely, {modelname}_occo_seg.pth), finetune it on s3dis to get the weights for the extra layers and use that as an encoder to my other dataset to extract semantic segmentation features.


Make Visitor visit thread safe by holding dispatch method reference

This is an alternative to https://github.com/rails/arel/pull/465
We experienced this under jruby in production, and it looks like we're not alone:
rails/rails#26571
jruby/activerecord-jdbc-adapter#739
This change doesn't change behavior, but it does fix the following problem:

[thread 1] dispatches with dispatch[object.class] and a NoMethodError is raised.
[thread 1] now checks respond_to?(dispatch[object.class]) and returns false.
[thread 1] begins walking the ancestor tree.
[thread 2] dispatches with dispatch[object.class] and a NoMethodError is raised.
[thread 1] finds a super class and swaps it out in the dispatch cache: dispatch[object.class] = superklass.
[thread 2] now checks respond_to?(dispatch[object.class]) and returns true, because the dispatch cache has changed, and an error is raised 😱 .

This PR makes each visit method store the dispatch[object.class] into a dispatch_method variable to prevent either thread from being impacted by the dispatch cached change.
So what happens when two threads hit the visit method now? With this change, both threads will walk through the ancestors, find a matching super class, and write it to the dispatch class. When either retries, they'll get the correct info. In other words, they'll both end up updating the dispatch cache with the same value. This is much better than an error being raised for one of them.
TESTING:
I was able to reproduce this by adding some random sleeps into the visitor to path like @abrandoned did. Wherever you see HERE, it means a NoMethodError was raised and we're about to check respond_to?. The test starts 20 threads and each thread runs the dispatch contamination test 10 times.
Before:
...
thread opened
thread opened
thread opened
thread opened
thread opened
thread opened
HEREHERE

E.

Finished in 1.234906s, 1.6196 runs/s, 24.2933 assertions/s.

  1) Error:
avoiding contamination between visitor dispatch tables#test_0002_does not throw NoMethodError when multi-threaded defining "visit":
NoMethodError: undefined method `visit_Arel_Nodes_Union' for #<Arel::Visitors::DepthFirst:0x6a8658ff>
Did you mean?  visit_Arel_Nodes_Grouping
               visit_Arel_Nodes_OuterJoin
               visit_Arel_Nodes_Sum
...

EDIT: Forgot to link to the test gist: https://gist.github.com/film42/6e43ce2f27d2f91ee4daf011a20e1c0d

r? @matthewd mind to review this?

Just dropping a "ping" comment. Thanks 😄 ❤ 💟 😘 😚  !!

Just dropping another ping on this. Thanks! ❤ 💟 🍍 🏓 🤗 🥇 💯

@matthewd Just wondering if you're going to have time to review this.

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


Using modern Objective C syntax: literals for arrays and dictionaries

Updated the machine.m template to use @[] and @{} literal syntax for arrays and dictionaries.
These changes are enabled by the existing literals template-var.
This changes are relevant for code that is generated for Fetch Requests that are defined in the .xcdatamodel file.

Looks good. Thanks for the help!


Fixed compile issues on Linux platform

hi @cipi1965, can you update this patch to use Swift 3.1? You seems to have used an older version of Swift when you made these commits.

Hi @dduan, just updated the patch for Swift 3.1

Awesome! Thanks for contributing ❤


Importing from Collada file with shape keys creates a horror game asset

Godot version:
master / 430d84769
OS/device including version:
Manjaro Linux 17.1
Issue description:
If I import a Collada(*.dae) file which was created with Godot's Better Collada addon, it will create an instant horror game ready asset when it contains shape keys:

https://youtu.be/xrBl6goVQW4

When viewed inside the editor:

Assuming from its physiology, it seems that the creature is of a different species that I found in #16994.
Steps to reproduce:
The source material which reproduces the issue is available from the below link, but because of godotengine/collada-exporter#41, you'll need to delete most of the shape keys to avoid a freeze when you export it:

https://github.com/mysticfall/AlleyCat/blob/master/Design/Blender/Characters/Human/Female/Body.blend

I checked 'Shape Keys` when I export it from Blender, and imported it to Godot with saving meshes separately / no animation settings.

In my case, I have the warning message as mentioned in #12618, but not the error. I tested again with triangulation applied to the mesh by different methods, and applying triangulation to all faces didn't make any change while using a modifier produced the 'out of size' error.
I could eliminate the warning by checking the triangulation option from the exporter panel, but it just broke the mesh in a different way (as probably mentioned by another issue: godotengine/collada-exporter#69).

I took the Blender file from the link, exported it with the current version of the "Godot's Better Collada" add-on for Blender. I imported it in Godot 3.1 alpha 2. I got the following state:

This is a difficult issue because of the size of the model! Since the 'current state' of the issue is different than the reporter's, I'll build the old revision marked above - try to reproduce the issue there. Also, I'll investigate why the head mesh is partially visible on the current 'master' branch of Godot.

I built the revision 430d847 of Godot and reproduced the 'current state' of the issue. I checked the 'Godot's Better Collada' add-on code: there's been no relevant changes since May 2018. I checked the reporter's git-hub and the linked Blender file did change in September 2018, so that safely explains the difference between the 'reported state' and the 'current state'.

The head mesh is not visible because its base mesh is discarded during the import process.
It is discarded because its morph targets have differing vertex counts after their import.
The COLLADA document is coherent, though.
The different vertex counts in the morph targets come from the Godot COLLADA importer.
The Godot COLLADA importer calls 'SurfaceTool::generate_tangents' for all the morph target meshes.
This function does a lot more than generate tangents, it also matches identical vertices, greatly reducing the total vertex count.
Unfortunately, some of the head's vertices degenerate in only one/some morph targets.
The 'SurfaceTool::generate_tangents' function therefore optimizes the morph target meshes differently.
I tracked it down to the 'mikktspace' library, where the function 'MergeVertsFast' uses the position/normal/tex-coord values to match vertices.
In the past, to fix this kind of issues, I used the indices of the COLLADA polygons to generate the unique vertices, rather than the values. That does not optimize as much, but it keeps the morph target support intact. I'm not keen on making this change within a third-party library and I'm a bit too deep for having just started contributing to this project.
What I can do to finish helping on this issue is to create a new, simpler asset to reproduce the issue...

In this simple data set: the 'PyramidFine' COLLADA document has only the Base and the 1st blend shape, where no degeneration occurs. The 'PyramidDegeneration' COLLADA document has two more blend shapes where 2 vertices approach each other closely, at different distances.
When the 'PyramidDegeneration' is imported in Godot, the blend shapes just don't work.

@glaforte I don't have much to add to this issue, since I now use Blender exporter and the problem doesn't exist any more.
But I'm pretty sure there would be people who need to use blend shapes with COLLADA and I know how difficult to track down this type of issues. I just wanted to say thanks to you hard work so, thanks and hope you to get to the bottom of the problem soon! :+1:

@mysticfall Thanks for encouragement! I'll review my assumptions and assertions, this morning. I think there might be something that escapes me still :)

When checking the export option for the "tangent arrays" export option in Godot's Better Collada' export, in Blender, the issue does not occur.

Wrote a fix that removes the 'de-index' and 're-index' steps in the 'SurfaceTool::generate_tangents' function. The callbacks for the 'mikktspace' library are capable of working with the indexed data..


Allow env variables to reference previously defined env vars in same configuration file

I often find myself having to reference environment variables from others, e.g.:
rtx env-vars TEST_RTX1="1"
rtx env-vars TEST_RTX2="{{env.TEST_RTX1}}/bin"
rtx error parsing config file: ~/.rtx.toml
rtx failed to parse template: env.TEST_RTX2='{{env.TEST_RTX1}}/bin'
rtx Failed to render '__tera_one_off'
rtx Variable `env.TEST_RTX1` not found in context while rendering '__tera_one_off'
rtx Run with --verbose or RTX_VERBOSE=1 for more information

[env]
TEST_RTX1 = "1"
TEST_RTX2 = "{{env.TEST_RTX1}}"

Would it possible to add support for this?

Bonus points to allow referencing such variables in env_path too. :)

I think this could be done. We read each env var one at a time so we could modify the tera context while we read in the file.
Here is where we parse the env vars in the toml parser:
https://github.com/jdx/rtx/blob/2b4388833081d9cb7433c614d529b7c62716bc22/src/config/config_file/rtx_toml.rs#L116-L132
What it does is call parse_template() which uses self.context which has the env vars inside of it. The context is generated when the parsing starts:
https://github.com/jdx/rtx/blob/2b4388833081d9cb7433c614d529b7c62716bc22/src/config/config_file/rtx_toml.rs#L46-L47
Then it looks like it becomes immutable and never changes. I think what we would want to do is probably wrap it in a Mutex so we can modify it and each time we read an env var we will write to the context and update values.
However this is only within a single file. If you wanted to have ~/src/myproj/.rtx.toml read env vars that ~/.config/rtx/config.toml created that would be far, far more difficult because config parsing happens in parallel. I think what we would need to do is make just the env var populating happen in series but the rest of the parsing still happen in parallel.

you have no idea how much work this was, but it's out now


Email template for Order Confirmation

Html file with Handlebars template.

Endpoints:
GET /settings/email/templates/order_confirmation
PUT /settings/email/templates/order_confirmation
GET /settings/email/templates/customer_recovery
PUT /settings/email/templates/customer_recovery
GET /settings/email/templates/customer_registration
PUT /settings/email/templates/customer_registration
Data:
{
"subject": "",
"body": ""
}


decreasing nats cluster size to 1 destroys the cluster

Description

enable nats module
edit the eventing-nats-CR and change cluster size to 1
result: 1 not-ready eventing-nats-node (the configuration stored in the pvc still holds information that the node was started in clustered mode)

Mitigation

prevent changing the nats clustersize for an existing cluster to 1 (once it was !=1)
for new clusters a size of 1 is fine

hint: check validation rules


php version requirement

When I try to use send_sms.php it brings this error:
Fatal error: Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.3.7. in /Applications/XAMPP/xamppfiles/htdocs/vonagesms/vendor/composer/platform_check.php on line 24
and
When I specify my php version to be 7.3.7 which I am running it returns this error, whats the problem??
Fatal error: Uncaught Vonage\Client\Exception\Request: Non White-listed Destination - rejected in /Applications/XAMPP/xamppfiles/htdocs/vonagesms/vendor/vonage/client-core/src/SMS/ExceptionErrorHandler.php:70 Stack trace: #0 /Applications/XAMPP/xamppfiles/htdocs/vonagesms/vendor/vonage/client-core/src/Client/APIResource.php(286): Vonage\SMS\ExceptionErrorHandler->__invoke(Object(GuzzleHttp\Psr7\Response), Object(Laminas\Diactoros\Request)) #1 /Applications/XAMPP/xamppfiles/htdocs/vonagesms/vendor/vonage/client-core/src/Client/APIResource.php(128): Vonage\Client\APIResource->getException(Object(GuzzleHttp\Psr7\Response), Object(Laminas\Diactoros\Request)) #2 /Applications/XAMPP/xamppfiles/htdocs/vonagesms/vendor/vonage/client-core/src/SMS/Client.php(47): Vonage\Client\APIResource->create(Array, '/sms/json') #3 /Applications/XAMPP/xamppfiles/htdocs/vonagesms/sms/send-sms.php(10): Vonage\SMS\Client->send(Object(Vonage\SMS\Message\SMS)) #4 {main} thrown in /Applications/XAMPP/xamppfiles/htdocs/vonagesms/vendor/vonage/client-core/src/SMS/ExceptionErrorHandler.php on line 70

This is telling you that you need to be using PHP8 for the set of requirements in your project. So you need to upgrade your PHP project to match it.


Timeline not showing 'dots' when I have many elements on the list

I'm having this problem on my android/ios, when I create a timeline with more than 10 elements the 'dots' start not showing up

I've already tried setting up minWidth on timeContainerStyle

@Schwarzenegger Have you figure it out? I've got the same issue as you were...

@Schwarzenegger I've fixed it by overriderenderCircle

@Hulva Yes, i figured it out by overiding renderCircle like you did.
Still messing it css to place the circle in the right place on all devices.

@Schwarzenegger I've only played it on android... I didn't know that it'll display different on different device. Hope you'll find a good way to deal with it. Let me know if you do.

I also have the same problem on ios devices.

overwrote renderCircle helped but circle position css is messed, its showing on the far right and line on the left.

gave up component?

Have same problem and I can't do overwrite just like you. Any other solution for this ?

I am also facing issue while overriding renderCircle


Force data update when sending request to vehicle

Add option to always "Force data update" whenever a request sent to vehicle. E.g. when HVAC temp changed through the integration, "force data update". This will to keep the polling low and update all entities whenever there's call from the integration.

Happy to take a PR to add this option.


validate_opts on add_form and remove_form

Describe the bug
Thanks for adding the validate_opts to these two functions. They're not working though!
To Reproduce
Setting validate_opts like:
form = AshPhoenix.Form.add_form(form, :nested, validate_opts: [errors: false])

is hiding errors on the outer form, but not for the :nested form
Expected behavior
both the outer and nested forms to have errors hidden/not populated on the form, when setting validate_opts: [errors: false]
** Runtime

Elixir version
Erlang version
OS
Ash version: main
any related extension versions

Additional context
Add any other context about the problem here.

Hey Zach, I'm still seeing this as an issue

I'll take a look at this in the morning. If you have some time to put up a failing test that would be great :)


Add support for positional args i.e. after --

Extend support for commands like ssh which use positional arguments i.e.
eiam gcloud compute ssh <tunnel_host> -s <service_account> -R "" -- -L ::

@DoKan3 @dmcfarland How do I verify/test changes in EIAM?
Can I bring this down locally and run a go command to build it and attempt to run a ssh type command with eiam?


Need option to allow players to use & recover their boats inside a claim.

Currently, if a player sails a boat into someone's claim, then upon leaving that boat that player is unable to reenter the boat or to collect their boat and is instead met with the message informing them that the entity is protected by a claim.
I tried adding boats and the bamboo rafts into the array under "allowedEntityInteraction" in the configuration file, but it seems that GOML-Reserved is coded to not allow this yet.
My expectation would be that if boats & rafts were included in the "allowedEntityInteraction" array, then a player other than the claim owner would at least be able to "use" the boat in order then be able to sail out of the claim to then recover the boat.

Changed default config to include these as interactable, also likely it was you putting wrong id in there, as all boats use minecraft:boat and minecraft:chest_boat


ui5-input text value should be cleared after "Add Todo" is clicked

Is it possible to clear the text input value after the Add Todo action?

I've tried to clear the this.todoInput.current.value, but it doesn't seem to clear the input text field, is there any better way to do it?
Thanks so much!

Hi @TianyuanC
Yes, it is possible to clear the input field, and it is done exactly the way you are trying to.
The problem was coming from the ui5-input and it was resolved in our latest version. The following PR #22 updated the version in this app and resolves the problem. Now you can empty the input via this.todoInput.current.value
Best regards,
Filip

Thanks for updating the project!
I found the following appear to be a reliable way of clearing input during handleAdd,
this.todoInput.current.getInputDOMRef().value = ""
Cheers!

todoInput.current.value = "" is all that you need.
Please make sure that you fetch the latest changes from master, then delete your node_modules folder and run npm install again, so that you can get the latest UI5 Web Components version.


minor: Display error buffer with with-help-window

This makes it so pressing q will kill the window, and it respects the customizable variable help-window-select.

With the current behavior, when format-all displays an error, I have to C-x o into the new window it created, and kill it with C-x k. I think the usability is much better if we display the error buffer in a help-like window. What do you think, @lassik ?

Thanks. I don't understand all the implications, but I tested the PR and it seems to work fine.


Problem with syncing 3 receiving bytes

Hi, great job!
I am however experiencing a problem when reading my bytes with the help of this package. I do not manage to sync the bytes so that my string always starts with 0xff. As seen in the attached picture i've tried to solve this with a simple for loop with two temporary buffers that acts as some sort of garbage bin and then start with the "real" buffer. Hope someone can give some insight on this! :)

Turns out my issue was caused by delay timers when comparing my go-code with how my board was programmed!


MacOS Install Issues

MacOS Ventura 13.4 on an M1 chip
fresh install of npm: 9.6.7
fresh install of python: 3.11.4
Initial run of python setup.py install led to numpy not found.
So, fresh install of pip :
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python3 get-pip.py
So, then I can
pip install numpy==1.24.3
then cython needed, so
pip install cython
So try again: python setup.py install
Does okay for a while, then:
Compiling pandas/io/sas/sas.pyx because it changed.
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 156, in save_modules
    yield saved
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 259, in run_setup
    _execfile(setup_script, ns)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 46, in _execfile
    exec(code, globals, locals)
  File "/var/folders/sg/7j9ct59j7ls4dshhg4dcxc3r0000gn/T/easy_install-zznb5k7_/pandas-1.4.1/setup.py", line 651, in <module>
  File "/var/folders/sg/7j9ct59j7ls4dshhg4dcxc3r0000gn/T/easy_install-zznb5k7_/pandas-1.4.1/setup.py", line 424, in maybe_cythonize
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1114, in cythonize
    pool = multiprocessing.Pool(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 215, in __init__
    self._repopulate_pool()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 61, in _launch
    with open(parent_w, 'wb', closefd=False) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 453, in _open
    if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path):
                                                        ^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 464, in _ok
    realpath = os.path.normcase(os.path.realpath(path))
                                ^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 415, in realpath
TypeError: expected str, bytes or os.PathLike object, not int

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/aduchon/MetaGPT/metagpt/setup.py", line 31, in <module>
    setup(
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/__init__.py", line 87, in setup
    return distutils.core.setup(**attrs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 185, in setup
    return run_commands(dist)
           ^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
    dist.run_commands()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 968, in run_commands
    self.run_command(cmd)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/dist.py", line 1217, in run_command
    super().run_command(command)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/_distutils/dist.py", line 987, in run_command
    cmd_obj.run()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/install.py", line 74, in run
    self.do_egg_install()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/install.py", line 131, in do_egg_install
    cmd.run(show_deprecation=False)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 420, in run
    self.easy_install(spec, not self.no_deps)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 662, in easy_install
    return self.install_item(None, spec, tmpdir, deps, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 709, in install_item
    self.process_distribution(spec, dist, deps)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 754, in process_distribution
    distros = WorkingSet([]).resolve(
              ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/__init__.py", line 789, in resolve
    dist = best[req.key] = env.best_match(
                           ^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/__init__.py", line 1075, in best_match
    return self.obtain(req, installer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/__init__.py", line 1087, in obtain
    return installer(requirement)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 681, in easy_install
    return self.install_item(spec, dist.location, tmpdir, deps)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 707, in install_item
    dists = self.install_eggs(spec, download, tmpdir)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 900, in install_eggs
    return self.build_and_install(setup_script, setup_base)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 1174, in build_and_install
    self.run_setup(setup_script, setup_base, args)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/command/easy_install.py", line 1158, in run_setup
    run_setup(setup_script, args)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 249, in run_setup
    with setup_context(setup_dir):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 190, in setup_context
    with save_modules():
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/contextlib.py", line 155, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 169, in save_modules
    saved_exc.resume()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 143, in resume
    raise exc.with_traceback(self._tb)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 156, in save_modules
    yield saved
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 259, in run_setup
    _execfile(setup_script, ns)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 46, in _execfile
    exec(code, globals, locals)
  File "/var/folders/sg/7j9ct59j7ls4dshhg4dcxc3r0000gn/T/easy_install-zznb5k7_/pandas-1.4.1/setup.py", line 651, in <module>
  File "/var/folders/sg/7j9ct59j7ls4dshhg4dcxc3r0000gn/T/easy_install-zznb5k7_/pandas-1.4.1/setup.py", line 424, in maybe_cythonize
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/Cython/Build/Dependencies.py", line 1114, in cythonize
    pool = multiprocessing.Pool(
           ^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 215, in __init__
    self._repopulate_pool()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/context.py", line 288, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 32, in __init__
    super().__init__(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_fork.py", line 19, in __init__
    self._launch(process_obj)
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/popen_spawn_posix.py", line 61, in _launch
    with open(parent_w, 'wb', closefd=False) as f:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 453, in _open
    if mode not in ('r', 'rt', 'rb', 'rU', 'U') and not self._ok(path):
                                                        ^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/setuptools/sandbox.py", line 464, in _ok
    realpath = os.path.normcase(os.path.realpath(path))
                                ^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 415, in realpath
TypeError: expected str, bytes or os.PathLike object, not int
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/resource_tracker.py", line 209, in main
    cache[rtype].remove(name)
KeyError: '/mp-6lfz2m5c'
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/resource_tracker.py", line 209, in main
    cache[rtype].remove(name)
KeyError: '/mp-or8acqjp'
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/resource_tracker.py", line 209, in main
    cache[rtype].remove(name)
KeyError: '/mp-8gwv0zyw'
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/resource_tracker.py", line 209, in main
    cache[rtype].remove(name)
KeyError: '/mp-nd5m677u'
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/resource_tracker.py", line 209, in main
    cache[rtype].remove(name)
KeyError: '/mp-726mqf10'
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/resource_tracker.py", line 209, in main
    cache[rtype].remove(name)
KeyError: '/mp-y9_yd49y'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 120, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/spawn.py", line 128, in _main
    preparation_data = reduction.pickle.load(from_parent)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
EOFError: Ran out of input

I have encountered the same problem. The high probability is that your pandas version does not match the pandas==1.4.1 in the current requirements.txt. You should first remove your previous pandas or start a new python environment, according to the requirements.txt The package version requires downloading.

The support of python3.11 is not very good. We recommend switching to python3.9, or trying the cloud environment.
https://deepwisdom.feishu.cn/wiki/CyY9wdJc4iNqArku3Lncl4v8n2b

Might be an M1 compatibility issue. It runs fine on my intel Mac. Try installing them using home-brew

I need help

@Haker1245

I just wrote this up incase it'll help you get started on your project.
https://github.com/geekan/MetaGPT/issues/166

I have the exact same issue. Have the 3 errors in the same sequence. I explicitly indicate pandas version which solves the problem. Hope this helps.
pip3 install pandas==1.4.1

Due to the lack of updates or replies by the user for a long time, we will close it. Please reopen it if necessary.


ESP32: Something strange about dram2_seg

When running anything on the second core, data in dram2_seg gets modified
To reproduce this change the multicore.rs example to this:
//! This shows how to spawn a task on the second core.
//! The first core will print the value of a counter which is incremented by the
//! second core.

#![no_std]
#![no_main]

use core::cell::RefCell;

use critical_section::Mutex;
use esp32_hal::{
    clock::ClockControl,
    cpu_control::{CpuControl, Stack},
    peripherals::{Peripherals, TIMG1},
    prelude::*,
    timer::{Timer, Timer0, TimerGroup},
};
use esp_backtrace as _;
use esp_println::println;
use nb::block;

static mut APP_CORE_STACK: Stack<8192> = Stack::new();

#[entry]
fn main() -> ! {
    fill(127);
    check(127);

    let peripherals = Peripherals::take();
    let system = peripherals.SYSTEM.split();
    let clocks = ClockControl::boot_defaults(system.clock_control).freeze();

    let timer_group0 = TimerGroup::new(peripherals.TIMG0, &clocks);
    let mut timer0 = timer_group0.timer0;

    let timer_group1 = TimerGroup::new(peripherals.TIMG1, &clocks);
    let mut timer1 = timer_group1.timer0;

    timer0.start(1u64.secs());
    timer1.start(500u64.millis());

    let counter = Mutex::new(RefCell::new(0));

    let mut cpu_control = CpuControl::new(system.cpu_control);
    let cpu1_fnctn = || {
        cpu1_task(&mut timer1, &counter);
    };
    let _guard = cpu_control
        .start_app_core(unsafe { &mut APP_CORE_STACK }, cpu1_fnctn)
        .unwrap();

    loop {
        block!(timer0.wait()).unwrap();

        let count = critical_section::with(|cs| *counter.borrow_ref(cs));
        println!("Hello World - Core 0! Counter is {}", count);
        check(127);
    }
}

fn cpu1_task(
    timer: &mut Timer<Timer0<TIMG1>>,
    counter: &critical_section::Mutex<RefCell<i32>>,
) -> ! {
    println!("Hello World - Core 1!");
    loop {
        block!(timer.wait()).unwrap();

        critical_section::with(|cs| {
            let new_val = counter.borrow_ref_mut(cs).wrapping_add(1);
            *counter.borrow_ref_mut(cs) = new_val;
        });
    }
}

fn fill(value: u8) {
    for i in 0x3FFE4350..(0x3FFE4350 + 111 * 1024) {
        unsafe {
            (i as *mut u8).write_volatile(value);
        }
    }
}

fn check(value: u8) {
    let mut low = 0;
    let mut high = 0;
    let mut count = 0;
    for i in 0x3FFE4350..(0x3FFE4350 + 111 * 1024) {
        if unsafe { (i as *mut u8).read_volatile() } != value {
            count += 1;

            if low == 0 {
                low = i;
            }

            high = i;
        }
    }
    println!("{count} bytes wrong, first {low:x}, last {high:x}");
}

Output is
0 bytes wrong, first 0, last 0
Hello World - Core 1!
Hello World - Core 0! Counter is 1
3868 bytes wrong, first 3ffe4350, last 3ffe7e03
Hello World - Core 0! Counter is 3
3868 bytes wrong, first 3ffe4350, last 3ffe7e03
Hello World - Core 0! Counter is 5
3868 bytes wrong, first 3ffe4350, last 3ffe7e03
Hello World - Core 0! Counter is 7
3868 bytes wrong, first 3ffe4350, last 3ffe7e03
Hello World - Core 0! Counter is 9
3868 bytes wrong, first 3ffe4350, last 3ffe7e03

Even changing cpu_control.rs to just run this on the second core doesn't make a difference
core::arch::global_asm!(
    "
    .section .rwtext
    .global _core1
    _core1:
    j _core1
    "
);

I guess this is the root cause of https://github.com/esp-rs/esp-wifi/issues/412

The problem in #1016 might be related to this

Ok seems like we need to reserve some RAM for the initial stack of app core.
Looking at https://github.com/espressif/esp-idf/blob/a7d1da94b9a70e9dfb8b48ebba0fdd0da5b2658b/components/esp_rom/esp32/ld/esp32.rom.ld#L1317
We see
PROVIDE ( __stack_app = 0x3ffe7e30 );

That should be the initial stack for core-1.
Our linker script includes this:
  reserved_rom_data_pro  : ORIGIN = 0X3FFE0000, len = 1088
  reserved_rom_data_app  : ORIGIN = 0X3FFE3F20, len = 1072

  dram2_seg              : ORIGIN = 0x3FFE4350, len = 111k /* the rest of DRAM after the rom data segments in the middle */

So dram2_seg includes that

That stack size seems quite small - I'm still trying to figure out the length but on S3 they were 8K stacks.

Okay, so the stack for each core is:
PROVIDE ( __stack = 0x3ffe3f20 );
PROVIDE ( __stack_app = 0x3ffe7e30 );
PROVIDE ( _stack_sentry = 0x3ffe1320 );
PROVIDE ( _stack_sentry_app = 0x3ffe5230 );

__stack - _stack_sentry which yields 11264 bytes for each core. Which is guess why we're overwriting some stuff by starting the second core :D.

I opened https://github.com/esp-rs/esp-hal/pull/1289, hopefully, this fixes this :).


Abort ajax calls when starting a new one

Active ajax calls should .abort() when typing a new character.

I would love to see this implemented as well.

At line 1365 in jquery.easy-autocomplete.js, insert the following line:
if (typeof ajax != 'undefined') { ajax.abort(); }

To adjust @princeofnaxos of point to make it work:
line 13: var ajax;
line 1366: ajax = $.ajax(settings)


IE11 table bindObject render error

I just create a simple test for binding json array with html table rows.
It works as expected in other browsers but not in IE.
please check the jsfiddle for detail.
Thanks!

Is there any error stack trace that you can show me? My guess is that you are using a <template> tag which isn't even supported in IE.
I don't have access to a VM with IE11 at the moment. As far as I know, it should be working in Edge.

@daliwali
It's not all about template tag, i can use div style='display:none' as template tag to work around this.
You can check the new jsfiddle for example.
The major issue with IE11 is it shift output cell in the second row.
for example, the following template:

        name
        age

        name
        name

In IE11, the rendered result is:

      name
      age

      boy
      1718

      	girl

While in other browser, the correct result is rendered:

      name
      age

      boy
      17

      girl
      18

I really like simulacra and wish to use it in my client projects. but due to IE11 is STILL widely used in enterprise enviroments...

Hmm, that is extremely odd behavior. I'll try to investigate it in more detail when I get access to IE11.


Fix bug with unwanted color in DrawLineModifer

See #1347

The tests are running in the GitHub workflow, but for unknown reasons there is an error in the Docker test environment.
docker-compose run --build --rm tests

[...]

There was 1 failure:

1) Intervention\Image\Tests\Unit\Drivers\Gd\Modifiers\DrawLineModifierTest::testApplyTransparent
Failed asserting that color rgba(255, 255, 255, 255) equals rgba(255, 129, 66, 255)
Failed asserting that an array contains 255.

/project/tests/BaseTestCase.php:79
/project/tests/Unit/Drivers/Gd/Modifiers/DrawLineModifierTest.php:36


escape slash to fix #296

@scottjehl Is this repo still maintained? I know things are tough being an Open Source Repo maintainer (I maintain a few myself).
We just got hit by this issue and would love it merged.
There's also 3,500+ forks of this repo likely because things haven't been merged.
If I can assist you by merging PR's like this simple one as I'm sure others want to avoid the hours I just spent debugging this issue, it would also be great to bring the fixes from the various "forkers" back into this repo.

Thanks @ooga <3


The .stp files in the 3D_File directory don't work.

I tried importing into Solidworks and also an online converter, neither worked.

Is it your software problem? https://github.com/Xinyuan-LilyGO/T-Display-S3/issues/133


allow customization of publishTo

sbt-bintray 0.5.6 allows disabling of the plugin. combined with ThisBuild / publishTo reading from the system property, this allows
sbt -Dsbt.sbtbintray=false -Dsbt.build.localmaven=/tmp/m2/ -Dsbt.build.version=1.4.0-M1-20191226

To validate this pull request against other sbt modules, please visit this link.


Questions: what does it mean to get 507 code from envoy?

Title: what does it mean to get 507 code from envoy?
Description:
Hi, I just get response code: 507 with response text: "exceeded request buffer limit while retrying upstream". And I just cant understand what happend, because the only trace of that error I can find is link to the place where error was raised in source code:
https://github.com/envoyproxy/envoy/blob/main/source/common/router/router.cc#L687
But I still just don't get what exactly happenned there.
Could you please explain it?
Relevant Links:
https://github.com/envoyproxy/envoy/blob/main/source/common/router/router.cc#L687
P.S. mb that info should be described in documentation?

cc @alyssawilk

Envoy has bounds on how much it'll buffer for retries, which are enforced a bit more strictly than how much Envoy will buffer for original requests.
If Envoy is waiting on a retry (which often have back-off to not overwhelm the upstream) and more data arrives than the configured limit (see https://www.envoyproxy.io/docs/envoy/latest/faq/configuration/flow_control on flow control limits) it will give up buffering and return an error.

@alyssawilk  A random thought: is it possible to switch to something like StopIterationAndWatermark when waiting on retry?

We might be able to do better with flow control limits, but fundamentally Envoy has always had limits on how much it'll buffer for retries.
Imagine you're processing a really large POST.  If the upstream disconnects early on during the POST, Envoy will retry.  If it then gets more and more data, it will eventually stop buffering POST data, and if the upstream disconnects late in the POST, Envoy returns an error rather than retrying.
Now add in the retry delay.  Imagine upstream fails early on in the POST and Envoy has buffered almost as much as it's willing to buffer for a retry attempt.  I'm not sure if we'll kick in flow control (we should! and it's worth looking into to minimize this corner case!).  But even if we kick in flow control, back-off is not immediate for HTTP/2, so we'll continue to get a bit more data. If that kicks us over the retry buffer threshold, it acts as if we'd had an upstream failure after more of the post and just fails to retry.  We could chose to treat this as we do with most flow control and allow a little more than the limit to be buffered, but it's a bunch of high risk work and I'm not convinced anyone's going to tackle it to handle the race condition where we always have to handle the case that retries won't happen due to large bodies.  If that all makes sense?

1 round trip to propagate the per h2 stream window size (plus the OS socket buffer sitting between) could cause the retry buffer go beyond the buffer limit.
Thank you for the explanation of this complex problem!

Hi @alyssawilk, @lambdai. We're seeing this issue as well and after understanding the issue were also wondering if we could kick in flow control and stop reading from downstream during retry delay for such a case. That way envoy stops buffering the data during the backoff delay when it's not actively streaming that data to any upstream. I understand that it may not work perfectly and envoy might still return an error in many cases. But sounds like it should provide some improvement to the error rate, especially when the backoff delay is relatively large.

does https://github.com/envoyproxy/envoy/pull/32359 help?

Hi, nope https://github.com/envoyproxy/envoy/pull/32359 does not help for this issue.
I guess we could pause the read on the downstream connection with the onDecoderFilterAboveWriteBufferHighWatermark and temporary increase the buffer limit when such a case present itself.
There was just a concern from @KBaichoo that data might remain in the proxy: https://github.com/envoyproxy/envoy/pull/32359#discussion_r1526455610.
I am not so familiar yet with about the impact of flow control but would be happy to get more context about it and explore it.

does #32359 help?
No, it doesn't. As I understand, #32359 is talking about avoiding resetting the retries when the buffer gets full before receiving the failure from upstream. The problem discussed in the current issue is of 507s when the buffer gets full after receiving failure from upstream but before issuing the request to the next upstream host. I guess both would be nice fixes and might potentially share parts of code changes relating to downstream backpressure. But for us 507 is more of a concern since it directly affects our SLA whereas #32359 only causes suboptimal retry behavior.

gotcha.  yeah there's probably other suboptimal side cases - if you can put together a patch I'd be happy to review but unfortunately I'm too overloaded to pick it up myself any time soon :-(


EXCEPTION: Uncaught (in promise): Error: Error in app/adjustor/adjustor.html:12:6 caused by: No provider for Ng2FrameworkFactory!

I have listed in my package.json I am attempting to use   "ag-grid": "~6.0.1", "ag-grid-ng2": "~6.0.3"
with angular version 2.0.0  I am receiving the following run-time error: EXCEPTION: Uncaught (in promise): Error: Error in app/adjustor/adjustor.html:12:6 caused by: No provider for Ng2FrameworkFactory!
The adjustor.html file has the grid defined.  The grid was working as of ag-grid 5.4.0 and ag-grid-ng2 5.4.0 with angular 2.0.0rc6

Need to specify AgGridModule.forRoot() in your NgModule
@NgModule({     imports: [         BrowserModule,         AgGridModule.forRoot(),     ... })
Check the documentation here

@pfvisser yep, thats the solution
@suncds - please see https://www.ag-grid.com/best-angular-2-data-grid/index.php for details on how to configure ag-grid and ng2.
Its also worth noting that you should probably upgrade to 6.0.4 of ag-grid-ng2 as it fixes incorrect casing on main.d.ts