with both http_connection_manager and tcp_proxy filters enabled, http connection with downstream closed after 20 seconds

Title: http requests are disconnected from downstream after 20 seconds when we had two filters http_connection_manager and tcp_proxy enabled
Description:
I don't think this is a bug, but would like to understand more about why envoy was behaving this way.
Here is our setup: we have to use nginx to proxy requests to a sidecar envoy to use mtls to send the request to another service's envoy and finally to a tomcat app.
We are using consul connect to launch and configure out envoy sidecars.
Normal/fast requests are working without any problems.
We were trying certain requests that may take 28 seconds, and at the 20 second mark envoy would always close the connection with nginx early. Envoy will get the response back at the 28 second mark, and it will log a 200 response in its access logs. But in nginx's logs it will say upstream prematurely closed connection while reading response header from upstream and log a 502 at the 20 second mark.
When we removed the envoy.tcp_proxy filter from the list, and only keep envoy.http_connection_manager in the list the longer requests finished without error.
Is this a bug?
What default 20 second connection timeout is kicking in here?
Config:
envoy v1.9.0, running in a docker container.
nginx 1.10.3, running on the host machine.
cluster config:
{
    "cluster": {
        "connect_timeout": "5s",
        "eds_cluster_config": {
            "eds_config": {
                "ads": {}
            }
        },
        "name": "service:our-slow-service",
        "tls_context": {
            "common_tls_context": {
                "tls_certificates": [{ "certificate_chain": { "inline_string": "..."}, "private_key": {"inline_string": "..."} }],
                "tls_params": {},
                "validation_context": {"trusted_ca": {"inline_string": "..."}}
            }
        },
        "type": "EDS"
    },
    "last_updated": "2019-04-26T22:04:57.745Z",
    "version_info": "00000003"
},

listener config, envoy.http_connection_manager comes first:
{
    "last_updated": "2019-04-27T18:59:21.684Z",
    "listener": {
        "address": { "socket_address": { "address": "<IP_ADDRESS>", "port_value": 22020 } },
        "filter_chains": [
            {
                "filters": [
                    {
                        "config": {
                            "access_log": [ { "config": { "path": "/dev/stdout" }, "name": "envoy.file_access_log" } ],
                            "delayed_close_timeout": "5s",
                            "generate_request_id": true,
                            "http_filters": [
                                {
                                    "config": {},
                                    "name": "envoy.router"
                                }
                            ],
                            "idle_timeout": "30s",
                            "route_config": {
                                "name": "local_upstream_route",
                                "virtual_hosts": [
                                    {
                                        "domains": [ "*" ],
                                        "name": "backend",
                                        "routes": [
                                            {
                                                "match": { "prefix": "/" },
                                                "route": {
                                                    "cluster": "service:our-slow-service",
                                                    "idle_timeout": "300s",
                                                    "timeout": "300s"
                                                }
                                            }
                                        ]
                                    }
                                ]
                            },
                            "stat_prefix": "upstream_listener"
                        },
                        "name": "envoy.http_connection_manager"
                    },
                    {
                        "config": {
                            "cluster": "service:our-slow-service",
                            "stat_prefix": "service:our-slow-service"
                        },
                        "name": "envoy.tcp_proxy"
                    }
                ]
            }
        ],
        "name": "upstream_listener:<IP_ADDRESS>:22020"
    },
    "version_info": "00000007"
}

Logs:
Screenshot of packet capture showing envoy, port 22020, closing the connection at 21:30:23.9

Here are the trace level logs for that same request:

request starts at 21:30:03
upstream connection closed 20 seconds later at 21:30:23
downstream connection completes at 21:30:31, and logged as success in envoy logs

[2019-04-27 21:30:03.010][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:200] [C47459] new tcp proxy session
[2019-04-27 21:30:03.010][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47459] readDisable: enabled=true disable=true
[2019-04-27 21:30:03.010][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:342] [C47459] Creating connection to cluster service:on14-majorapp
[2019-04-27 21:30:03.010][000028][debug][pool] [source/common/tcp/conn_pool.cc:80] creating a new connection
[2019-04-27 21:30:03.010][000028][debug][pool] [source/common/tcp/conn_pool.cc:371] [C47460] connecting
[2019-04-27 21:30:03.010][000028][debug][connection] [source/common/network/connection_impl.cc:634] [C47460] connecting to <IP_ADDRESS>:11802
[2019-04-27 21:30:03.010][000028][debug][connection] [source/common/network/connection_impl.cc:643] [C47460] connection in progress
[2019-04-27 21:30:03.010][000028][debug][pool] [source/common/tcp/conn_pool.cc:106] queueing request due to no available connections
[2019-04-27 21:30:03.010][000028][debug][main] [source/server/connection_handler_impl.cc:257] [C47459] new connection
[2019-04-27 21:30:03.010][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 2
[2019-04-27 21:30:03.010][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:03.011][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47460] socket event: 2
[2019-04-27 21:30:03.011][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47460] write ready
[2019-04-27 21:30:03.011][000028][debug][connection] [source/common/network/connection_impl.cc:516] [C47460] connected
[2019-04-27 21:30:03.011][000028][debug][connection] [source/common/ssl/ssl_socket.cc:135] [C47460] handshake error: 2
[2019-04-27 21:30:03.011][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47460] socket event: 3
[2019-04-27 21:30:03.011][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47460] write ready
[2019-04-27 21:30:03.012][000028][debug][connection] [source/common/ssl/ssl_socket.cc:135] [C47460] handshake error: 2
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47460] read ready
[2019-04-27 21:30:03.012][000028][debug][connection] [source/common/ssl/ssl_socket.cc:135] [C47460] handshake error: 2
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47460] socket event: 3
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47460] write ready
[2019-04-27 21:30:03.012][000028][debug][connection] [source/common/ssl/ssl_socket.cc:124] [C47460] handshake complete
[2019-04-27 21:30:03.012][000028][debug][pool] [source/common/tcp/conn_pool.cc:292] [C47460] assigning connection
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47459] readDisable: enabled=false disable=false
[2019-04-27 21:30:03.012][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:540] TCP:onUpstreamEvent(), requestedServerName:
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47460] read ready
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/ssl/ssl_socket.cc:82] [C47460] ssl read returns: -1
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 3
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47459] read ready
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/raw_buffer_socket.cc:21] [C47459] read returns: 543
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/raw_buffer_socket.cc:21] [C47459] read returns: -1
[2019-04-27 21:30:03.012][000028][trace][connection] [source/common/network/raw_buffer_socket.cc:29] [C47459] read error: 11
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:348] [C47459] parsing 543 bytes
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:446] [C47459] message begin
[2019-04-27 21:30:03.012][000028][debug][http] [source/common/http/conn_manager_impl.cc:200] [C47459] new stream
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=Host value=slow.host.internal
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=X-Server-Port value=443
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=X-Server-Protocol value=https
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=X-Forwarded-For value=<IP_ADDRESS>, <IP_ADDRESS>
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=Strict-Transport-Security value=max-age=315360000
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=X-Secure value=true
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=Accept value=*/*
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=User-Agent value=sleep=28
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=X-Forwarded-Host value=slow.host.internal
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:412] [C47459] headers complete
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47459] completed header: key=X-Forwarded-Server value=host.internal
[2019-04-27 21:30:03.012][000028][trace][http] [source/common/http/http1/codec_impl.cc:433] [C47459] message complete
[2019-04-27 21:30:03.012][000028][debug][http] [source/common/http/conn_manager_impl.cc:537] [C47459][S6127511918760665440] request headers complete (end_stream=true):
':authority', 'slow.host.internal'
':path', '/api/v1/devtools/test/perendpointdbtimeout/template?entitySleep=28'
':method', 'GET'
'x-server-port', '443'
'x-server-protocol', 'https'
'x-forwarded-for', '<IP_ADDRESS>, <IP_ADDRESS>'
'strict-transport-security', 'max-age=315360000'
'x-secure', 'true'
'accept', '*/*'
'user-agent', 'sleep=28'
'x-forwarded-host', 'slow.host.internal'
'x-forwarded-server', 'host.internal'

[2019-04-27 21:30:03.012][000028][debug][http] [source/common/http/conn_manager_impl.cc:953] [C47459][S6127511918760665440] request end stream
[2019-04-27 21:30:03.012][000028][debug][router] [source/common/router/router.cc:270] [C47459][S6127511918760665440] cluster 'service:on14-majorapp' match for URL '/api/v1/devtools/test/perendpointdbtimeout/template?entitySleep=28'
[2019-04-27 21:30:03.012][000028][debug][router] [source/common/router/router.cc:328] [C47459][S6127511918760665440] router decoding headers:
':authority', 'slow.host.internal'
':path', '/api/v1/devtools/test/perendpointdbtimeout/template?entitySleep=28'
':method', 'GET'
':scheme', 'https'
'x-server-port', '443'
'x-server-protocol', 'https'
'x-forwarded-for', '<IP_ADDRESS>, <IP_ADDRESS>'
'strict-transport-security', 'max-age=315360000'
'x-secure', 'true'
'accept', '*/*'
'user-agent', 'sleep=28'
'x-forwarded-host', 'slow.host.internal'
'x-forwarded-server', 'host.internal'
'x-forwarded-proto', 'http'
'x-request-id', 'c0a2ca50-733f-41a5-9e31-2be1fc29eac9'
'x-envoy-expected-rq-timeout-ms', '30000'

[2019-04-27 21:30:03.013][000028][debug][pool] [source/common/http/http1/conn_pool.cc:80] creating a new connection
[2019-04-27 21:30:03.013][000028][debug][client] [source/common/http/codec_client.cc:26] [C47461] connecting
[2019-04-27 21:30:03.013][000028][debug][connection] [source/common/network/connection_impl.cc:634] [C47461] connecting to <IP_ADDRESS>:11802
[2019-04-27 21:30:03.013][000028][debug][connection] [source/common/network/connection_impl.cc:643] [C47461] connection in progress
[2019-04-27 21:30:03.013][000028][debug][pool] [source/common/http/conn_pool_base.cc:20] queueing request due to no available connections
[2019-04-27 21:30:03.013][000028][trace][http] [source/common/http/conn_manager_impl.cc:772] [C47459][S6127511918760665440] decode headers called: filter=0x3d7bb80 status=1
[2019-04-27 21:30:03.013][000028][trace][http] [source/common/http/http1/codec_impl.cc:369] [C47459] parsed 543 bytes
[2019-04-27 21:30:03.013][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47459] readDisable: enabled=true disable=true
[2019-04-27 21:30:03.013][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 2
[2019-04-27 21:30:03.013][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:03.013][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47461] socket event: 2
[2019-04-27 21:30:03.013][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47461] write ready
[2019-04-27 21:30:03.013][000028][debug][connection] [source/common/network/connection_impl.cc:516] [C47461] connected
[2019-04-27 21:30:03.013][000028][debug][connection] [source/common/ssl/ssl_socket.cc:135] [C47461] handshake error: 2
[2019-04-27 21:30:03.014][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47461] socket event: 3
[2019-04-27 21:30:03.014][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47461] write ready
[2019-04-27 21:30:03.014][000028][debug][connection] [source/common/ssl/ssl_socket.cc:135] [C47461] handshake error: 2
[2019-04-27 21:30:03.014][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47461] read ready
[2019-04-27 21:30:03.014][000028][debug][connection] [source/common/ssl/ssl_socket.cc:135] [C47461] handshake error: 2
[2019-04-27 21:30:03.015][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47461] socket event: 3
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47461] write ready
[2019-04-27 21:30:03.016][000028][debug][connection] [source/common/ssl/ssl_socket.cc:124] [C47461] handshake complete
[2019-04-27 21:30:03.016][000028][debug][client] [source/common/http/codec_client.cc:64] [C47461] connected
[2019-04-27 21:30:03.016][000028][debug][pool] [source/common/http/http1/conn_pool.cc:234] [C47461] attaching to next request
[2019-04-27 21:30:03.016][000028][debug][router] [source/common/router/router.cc:1023] [C47459][S6127511918760665440] pool ready
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/network/connection_impl.cc:376] [C47461] writing 678 bytes, end_stream false
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47461] write ready
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/ssl/ssl_socket.cc:197] [C47461] ssl write returns: 678
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47461] read ready
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/ssl/ssl_socket.cc:82] [C47461] ssl read returns: -1
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47461] socket event: 2
[2019-04-27 21:30:03.016][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47461] write ready
[2019-04-27 21:30:04.724][000011][debug][main] [source/server/server.cc:143] flushing stats
[2019-04-27 21:30:07.071][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:200] [C47462] new tcp proxy session
[2019-04-27 21:30:07.071][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47462] readDisable: enabled=true disable=true
[2019-04-27 21:30:07.071][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:342] [C47462] Creating connection to cluster local_app
[2019-04-27 21:30:07.071][000028][debug][connection] [source/common/network/connection_impl.cc:101] [C47462] closing data_to_write=0 type=1
[2019-04-27 21:30:07.071][000028][debug][connection] [source/common/network/connection_impl.cc:183] [C47462] closing socket: 1
[2019-04-27 21:30:07.071][000028][debug][main] [source/server/connection_handler_impl.cc:257] [C47462] new connection
[2019-04-27 21:30:09.728][000011][debug][main] [source/server/server.cc:143] flushing stats
[2019-04-27 21:30:14.732][000011][debug][main] [source/server/server.cc:143] flushing stats
[2019-04-27 21:30:17.071][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:200] [C47463] new tcp proxy session
[2019-04-27 21:30:17.071][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47463] readDisable: enabled=true disable=true
[2019-04-27 21:30:17.071][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:342] [C47463] Creating connection to cluster local_app
[2019-04-27 21:30:17.071][000028][debug][connection] [source/common/network/connection_impl.cc:101] [C47463] closing data_to_write=0 type=1
[2019-04-27 21:30:17.071][000028][debug][connection] [source/common/network/connection_impl.cc:183] [C47463] closing socket: 1
[2019-04-27 21:30:17.071][000028][debug][main] [source/server/connection_handler_impl.cc:257] [C47463] new connection
[2019-04-27 21:30:19.736][000011][debug][main] [source/server/server.cc:143] flushing stats
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47460] socket event: 3
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47460] write ready
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47460] read ready
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/ssl/ssl_socket.cc:82] [C47460] ssl read returns: 0
[2019-04-27 21:30:23.968][000028][trace][filter] [source/common/tcp_proxy/tcp_proxy.cc:499] [C47459] upstream connection received 0 bytes, end_stream=true
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:376] [C47459] writing 0 bytes, end_stream true
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 2
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 2
[2019-04-27 21:30:23.968][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:23.970][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 2
[2019-04-27 21:30:23.970][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:24.740][000011][debug][main] [source/server/server.cc:143] flushing stats
[2019-04-27 21:30:27.072][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:200] [C47464] new tcp proxy session
[2019-04-27 21:30:27.072][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47464] readDisable: enabled=true disable=true
[2019-04-27 21:30:27.072][000028][debug][filter] [source/common/tcp_proxy/tcp_proxy.cc:342] [C47464] Creating connection to cluster local_app
[2019-04-27 21:30:27.072][000028][debug][connection] [source/common/network/connection_impl.cc:101] [C47464] closing data_to_write=0 type=1
[2019-04-27 21:30:27.072][000028][debug][connection] [source/common/network/connection_impl.cc:183] [C47464] closing socket: 1
[2019-04-27 21:30:27.072][000028][debug][main] [source/server/connection_handler_impl.cc:257] [C47464] new connection
[2019-04-27 21:30:29.744][000011][debug][main] [source/server/server.cc:143] flushing stats
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47461] socket event: 3
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47461] write ready
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47461] read ready
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/ssl/ssl_socket.cc:82] [C47461] ssl read returns: 646
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/ssl/ssl_socket.cc:82] [C47461] ssl read returns: -1
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:348] [C47461] parsing 646 bytes
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:446] [C47461] message begin
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=P3P value=CP="HONK"
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=Set-Cookie value=sid=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=X-Rate-Limit-Limit value=10000
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=X-Rate-Limit-Remaining value=9999
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=X-Rate-Limit-Reset value=1556400663
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=Cache-Control value=no-cache, no-store
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=Pragma value=no-cache
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=Expires value=0
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=X-Frame-Options value=SAMEORIGIN
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:412] [C47461] headers complete
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:316] [C47461] completed header: key=Date value=Sat, 27 Apr 2019 21:30:31 GMT
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:433] [C47461] message complete
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:738] [C47461] message complete
[2019-04-27 21:30:31.059][000028][debug][client] [source/common/http/codec_client.cc:95] [C47461] response complete
[2019-04-27 21:30:31.059][000028][trace][main] [source/common/event/dispatcher_impl.cc:130] item added to deferred deletion list (size=1)
[2019-04-27 21:30:31.059][000028][debug][router] [source/common/router/router.cc:615] [C47459][S6127511918760665440] upstream headers complete: end_stream=true
[2019-04-27 21:30:31.059][000028][debug][http] [source/common/http/conn_manager_impl.cc:1188] [C47459][S6127511918760665440] encoding headers via codec (end_stream=true):
':status', '204'
'p3p', 'CP="HONK"'
'set-cookie', 'sid=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/'
'x-rate-limit-limit', '10000'
'x-rate-limit-remaining', '9999'
'x-rate-limit-reset', '1556400663'
'cache-control', 'no-cache, no-store'
'pragma', 'no-cache'
'expires', '0'
'x-frame-options', 'SAMEORIGIN'
'date', 'Sat, 27 Apr 2019 21:30:31 GMT'
'x-envoy-upstream-service-time', '28046'
'server', 'envoy'

[2019-04-27 21:30:31.059][000028][trace][main] [source/common/event/dispatcher_impl.cc:130] item added to deferred deletion list (size=2)
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:282] [C47459] readDisable: enabled=false disable=false
[2019-04-27 21:30:31.059][000028][debug][pool] [source/common/http/http1/conn_pool.cc:191] [C47461] response complete
[2019-04-27 21:30:31.059][000028][debug][pool] [source/common/http/http1/conn_pool.cc:229] [C47461] moving to ready
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:369] [C47461] parsed 646 bytes
[2019-04-27 21:30:31.059][000028][trace][main] [source/common/event/dispatcher_impl.cc:56] clearing deferred deletion list (size=2)
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:439] [C47459] socket event: 3
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:507] [C47459] write ready
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/connection_impl.cc:477] [C47459] read ready
[2019-04-27 21:30:31.059][000028][trace][connection] [source/common/network/raw_buffer_socket.cc:21] [C47459] read returns: 0
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:348] [C47459] parsing 0 bytes
[2019-04-27 21:30:31.059][000028][trace][http] [source/common/http/http1/codec_impl.cc:369] [C47459] parsed 0 bytes
[2019-04-27 21:30:31.059][000028][debug][connection] [source/common/network/connection_impl.cc:501] [C47459] remote close
[2019-04-27 21:30:31.059][000028][debug][connection] [source/common/network/connection_impl.cc:183] [C47459] closing socket: 0
[2019-04-27 21:30:31.059][000028][debug][connection] [source/common/network/connection_impl.cc:101] [C47460] closing data_to_write=0 type=0
[2019-04-27 21:30:31.059][000028][debug][connection] [source/common/network/connection_impl.cc:183] [C47460] closing socket: 1
[2019-04-27 21:30:31.059][000028][debug][connection] [source/common/ssl/ssl_socket.cc:233] [C47460] SSL shutdown: rc=1
[2019-04-27 21:30:31.059][000028][debug][pool] [source/common/tcp/conn_pool.cc:121] [C47460] client disconnected
[2019-04-27 21:30:31.059][000028][trace][main] [source/common/event/dispatcher_impl.cc:130] item added to deferred deletion list (size=1)
[2019-04-27 21:30:31.060][000028][debug][main] [source/server/connection_handler_impl.cc:68] [C47459] adding to cleanup list
[2019-04-27 21:30:31.060][000028][trace][main] [source/common/event/dispatcher_impl.cc:130] item added to deferred deletion list (size=2)
[2019-04-27 21:30:31.060][000028][trace][main] [source/common/event/dispatcher_impl.cc:56] clearing deferred deletion list (size=2)
[2019-04-27 21:30:31.060][000028][debug][pool] [source/common/tcp/conn_pool.cc:245] [C47460] connection destroyed

nginx logs show the request killed after 20 seconds:
[27/Apr/2019:21:30:23 +0000] [error] 457#0: *58096 upstream prematurely closed connection while reading response header from upstream, client: X.X.X.X, server: _, request: "GET /api/v1/devtools/test/perendpointdbtimeout/template?entitySleep=28 HTTP/1.1", upstream: "http://<IP_ADDRESS>:22020/api/v1/devtools/test/perendpointdbtimeout/template?entitySleep=28", host: "slow.host.internal"
[27/Apr/2019:21:30:23 +0000] "/500.html" 502 1808 "-" "-" "X.X.X.X" "slow.host.internal" - 20.958 "<IP_ADDRESS>:22020" "-"

We realize this config was bad, but looking to learn more about what was causing the tcp_proxy filter to interfere 20 seconds in.  Thanks.

@cbarbara-okta in general the HCM and tcp_proxy filters should not be used together. I have no idea what will happen, but probably nothing good. What are you trying to do?

Thanks @mattklein123, we can confirm nothing good happens.
We incorrectly had this configuration deployed and do not have any actual need for both filters.
Any thoughts on having some level of configuration validation that can protect against conflicting settings being added?

Any thoughts on having some level of configuration validation that can protect against conflicting settings being added?

We have discussed in the past somehow allowing filters to specify dependencies or maybe negative dependencies and also order requirements which could help here potentially. cc @htuch


BigInt / BigInt64Array / BigUInt64Array

Node.js supports BigInt BigInt64Array BigUInt64Array which are proposed at stage 3 at TC39.
$ node -e 'console.log(typeof 1n)'
bigint

$ node -e 'console.log("" +<PHONE_NUMBER>740993)'
9007199254740992

$ node -e 'console.log("" +<PHONE_NUMBER>740993n)'
9007199254740993

We currently have int64 option to decode msgpack's (u)int64 with int64-buffer object.
var codec = msgpack.createCodec({int64: true});

Features:

BigInt decoding with new {bigint: true} option.
BigInt encoding per default.
extension types for BigInt64Array and BigUInt64Array

@kawanet what is the state of bigint support?

this is level 4 now.


Lua Error on /rl / login

Addon Version
v0.1.80
World of Warcraft Version
Retail
Describe the bug
When logging on or /rl the following error comes up:
Message: Interface/AddOns/BetterBags/frames/grid.lua:161: invalid order function for sorting
Time: Sat Jul 27 17:09:54 2024
Count: 1
Stack: Interface/AddOns/BetterBags/frames/grid.lua:161: invalid order function for sorting
[string "@Interface/AddOns/BetterBags/frames/grid.lua"]:161: in function Sort' [string "@Interface/AddOns/BetterBags/views/gridview.lua"]:247: in function Render'
[string "@Interface/AddOns/BetterBags/frames/bag.lua"]:258: in function Draw' [string "@Interface/AddOns/BetterBags/core/init.lua"]:257: in function cb'
[string "@Interface/AddOns/BetterBags/core/events.lua"]:50: in function <Interface/AddOns/BetterBags/core/events.lua:45>
[string "=[C]"]: ?
[string "@Interface/AddOns/ElvUI_Libraries/Core/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:19: in function <...ies/Core/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@Interface/AddOns/ElvUI_Libraries/Core/CallbackHandler-1.0/CallbackHandler-1.0.lua"]:54: in function `SendMessage'
[string "@Interface/AddOns/BetterBags/core/events.lua"]:186: in function <Interface/AddOns/BetterBags/core/events.lua:185>
Locals: self =  {
view =  {
}
columns =  {
}
sortVertical = true
spacing = 4
cells =  {
}
maxCellWidth = 2
box = BetterBagsScrollGrid1 {
}
headers =  {
}
cellToColumn =  {
}
idToCell =  {
}
compactStyle = 0
inner = Frame {
}
frame = BetterBagsScrollGrid1 {
}
cellToID =  {
}
bar = Frame {
}
}
After the error, the bag is able open but only an empty frame is shown:

If you close the bag and wait a few seconds before opening it again, the bag contents are then shown.
This error occurs since updating to the latest version earlier today.
The following modules are installed.

Steps to reproduce

Login or /rl

The root cause seems to be in https://www.curseforge.com/wow/addons/betterbags-gear-first
Disabling the plugin makes the error go away.
I raised an issue there too.

As there is no current plugin API that supports replacing BetterBags internal sorting functions, its up to that author to fix and/or keep up with internal changes. You'll need to wait for a fix from them and/or disable using it at least for now.


Authentication

Authentication for Mollymawk
WIP
This PR will focus on authentication. Minor changes are included such as CSS styling.
Frontend:

[x] Sign up page
[ ] Sign in page
[ ] Forgot password page

Endpoints:

[x] GET: Sign up/sign-up
[x] POST: Sign up /api/register
[ ] GET: Sign in /sign-in
[ ] POST: Sign in /api/login
[ ] GET: Forgot password /forgot-password
[ ] POST: /api/reset-password

Backend:

[ ] Create user account
[ ] Create authentication tokens
[ ] Sign in user
[ ] Sign out user
[ ] Reset user password
[ ] Update user information (name etc)

Database/Storage:

[ ] Persist user information

to me this looks fine so far :) thanks a lot

I merged #7 and that resulted in conflicts here. Sorry about that. But I just reverted the formatting change - we can merge this and thereafter apply the ocamlformat. :)


hey, svelte lover ❤

I know you have updated your svelte-markdown npm package but I have found an error which was the old package, it used to render on ssr only, but it is happening in the browser, please fix it soon.

check this image in after website is render show browser in render md to html way and how to fix it 😥
https://www.npmjs.com/package/svelte-markdown
this is working fine but old code base

I believe most if not all of the issues you were seeing were completed in the 0.6.1 release. I am going to close this issue, please feel free to let me know if it does not meet your needs.


Configurator rest

Changes Done for Demo.

Closing this PR. All review comments are addressed and merged to configurator branch.


[AVM Module Issue]:  The location property in the private endpoint object is ignored

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
0.1.1
(Optional) Correlation Id
No response
Description
There are cases where we deploy an cognitive resource to a location other than the one of the vnet and private endpoints.
the code for the private endpoint submodule should look like :
location            = coalesce(each.value.location, azurerm_cognitive_account.this.location)
instead of :
location            =  azurerm_cognitive_account.this.location

Is this going to be solved anytime soon?

@lonegunmanb are you able to help here?

Hi @thenewnano I've checked the code:
location                      = each.value.location != null ? each.value.location : var.location

We have a new updated private endpoint interface spec, now the private endpoint supports customized location, would you please recheck and confirm that? Thanks!


TypeScript types

Should be pretty doable and helpful here.

Any updates on this? Willing to give a hand if need be.

@ElijahKotyluk feel free to! Happy to test them before the release 🙌

I took a shot at trying to just port the whole thing over to TypeScript and… doesn't seem worth it right now, it'd be a ton of code change for little benefit. Clearing my assignee - if anyone wants to add types, go for it!

I wrote some incomplete TS declarations that suited what I needed for my usage. Maybe these can help someone else too
import {
  Feature,
  FeatureCollection,
  GeoJsonObject,
  GeoJsonProperties,
  GeoJsonTypes,
  Geometry,
} from "geojson";

declare module "@tmcw/togeojson" {
  export function kml(doc: Document): FeatureCollection;

  export function kml<TProperties extends GeoJsonProperties>(
    doc: Document
  ): FeatureCollection<Geometry, TProperties>;

  export function* kmlGen(doc: Document): Generator<Feature, void, boolean>;
  export function* kmlGen<TProperties extends GeoJsonProperties>(
    doc: Document
  ): Generator<Feature<Geometry, TProperties>, void, boolean>;

  export function gpx(doc: Document): FeatureCollection;
  export function gpx<TProperties extends GeoJsonProperties>(
    doc: Document
  ): FeatureCollection<TProperties>;

  export function* gpxGen(doc: Document): Generator<Feature, void, boolean>;
  export function* gpxGen<TProperties extends GeoJsonProperties>(
    doc: Document
  ): Generator<Feature<Geometry, TProperties>, void, boolean>;

  export function tcx(doc: Document): FeatureCollection;
  export function tcx<TProperties extends GeoJsonProperties>(
    doc: Document
  ): FeatureCollection<Geometry, GeoJsonProperties>;
}

It's not going to work for everyone, but my use case requires using this library in a Node environment as part of script written in TypeScript. Since there are no types available I installed the togeojson CLI and called it as a child process through Node's exec. Then feed the output of the CLI to JSON.parse.
It's not pretty but gets the job done. For now at least.
Hope it helps.

@juandelgado
// @ts-ignore
import { kml } from "@tmcw/togeojson";

The 5.x work in master includes typescript types in main. Going to integrate it into my application to kick the tires then we'll be good to go.

The 5.0.0 release is out and includes TypeScript types!


Support Tuple#[](Range) with compile-time range literals

Tuple#[](index : Int) returns the element in the proper type if index is an integer literal known at compile-time. This PR adds a Tuple#[](range : Range) pseudo-overload that only supports compile-time range literals, and returns the elements in a proper sub-tuple type:
tuple = {1, "hello", 'x'}
v = tuple[0..1] # => {1, "hello"}
typeof(v)       # => Tuple(Int32, String)

i = 0
tuple[i..1] # Error: Tuple#[](Range) can only be called with range literals known at compile-time

i = 0..1
tuple[i] # Error: Tuple#[](Range) can only be called with range literals known at compile-time

The motivation is to enable #132 for Tuple values on the RHS, without creating temporary Arrays: (only one layer of decomposition is considered here)
a, *b, c = {1, 2, 3, 4, 5}
a # => 1
b # => {2, 3, 4}
c # => 5

It is assumed that the Crystal compiler should transform the above multi-assign expression into the following, in a purely syntactic manner:
__temp = {1, 2, 3, 4, 5}
a = __temp[0]
b = __temp[1..-2] # => {2, 3, 4}
c = __temp[-1]

The range index corresponding to the splat variable is always known at compile-time, because it can be deduced from the number of non-splat variables before and after it; thus it suffices to implement the special case for Tuples where this range is a constant expression. (The same syntactic transformation already works out of the box for types that implement #[](Range), like Array.)
On the other hand, the only sensible return type of Tuple(*T)#[](Range) for runtime range arguments is Array(Union(*T)). This PR does not address this discrepancy at all, that's left to #7619. Method lookup bypasses prelude definitions of (Named)Tuple#[] if a compile-time indexer is found, so the compile-time error seen in the top example will not be triggered by constant range literals.
The documentation for this method does not take #10243 into account.
Also see the Gitter discussion that led up to this.

At the moment, these range indices have the same semantics as Array#[](Range), including support for incomplete ranges and exclusive ranges. In reality, this is inadequate for detecting erroneous code like below:
a, b, *c, d, e = {42, 'a'}

# the above is equivalent to:
__temp = {42, 'a'}
a = __temp[0]     # => 42
b = __temp[1]     # => 'a'
c = __temp[2..-3] # should not be allowed; returns {}
d = __temp[-2]    # should not be allowed; returns 42
e = __temp[-1]    # should not be allowed; returns 'a'

For Tuples we might need a compile-time check elsewhere after the types of the RHS expressions are known. This will be a problem for Arrays on the RHS too.
For comparison, the same code in Ruby will try to assign all the non-splat variables before filling the splat:
(0..7).each do |i|
  a, b, *c, d, e = (1..i).to_a
  p [a, b, c, d, e]
end

# [nil, nil, [], nil, nil]
# [1, nil, [], nil, nil]
# [1, 2, [], nil, nil]
# [1, 2, [], 3, nil]
# [1, 2, [], 3, 4]
# [1, 2, [3], 4, 5]
# [1, 2, [3, 4], 5, 6]
# [1, 2, [3, 4, 5], 6, 7]


Set default timezone to UTC.

https://github.com/cresset-template/cresset/blob/8cf80400f849384a0b6a30f15ca483f09344ad02/docker-compose.yaml#L56C7-L56C7
The default timezone inside the docker-compose.yaml file should be UTC while the Makefile should be modified to set the timezone to Asia/Seoul by default.

Remove other Korean stuff as well or make it more visible by placing it on .env.


Fix for [scheduler] Crash when creating state

Signed-off-by: aavarghese<EMAIL_ADDRESS>Fixes #881

Proposed Changes

Setting of number of replicas in StatefulSet Spec removed so that its value will be preserved when config is reapplied
Nil checks for pod in State() before reading its Spec

Release Note

Docs

/cc @lionelvillard

/lgtm

/approve


Can't backup multiple schemas with a singular fie

Summary
Can't backup multiple schemas with a singular fie, tried multiple configurations in docker-compose but it always backs up in multiple files - each schema in it's own file.
I'm using MariaDB and docker-compose:
  example-db-backup:
    container_name: example-db-backup
    image: tiredofit/db-backup
    volumes:
      - ./backups:/backup
      #- ./post-script.sh:/assets/custom-scripts/post-script.sh
    environment:
      # - TIMEZONE=America/Vancouver
      - CONTAINER_NAME=example-db-backup
      - CONTAINER_ENABLE_MONITORING=FALSE
      # - DEBUG_MODE=TRUE
      # - BACKUP_JOB_CONCURRENCY=1     # Only run one job at a time
      - DEFAULT_CHECKSUM=NONE        # Don't create checksums
      # - DEFAULT_COMPRESSION=ZSTD     # Compress all with ZSTD
      # - DEFAULT_BACKUP_INTERVAL=1440   # Backup every 1440 minutes
      # - DEFAULT_BACKUP_BEGIN=0000      # Start backing up at midnight
      # - DEFAULT_CLEANUP_TIME=8640    # Cleanup backups after a week

      - DB01_TYPE=mariadb
      - DB01_HOST=<IP_ADDRESS>
      - DB01_NAME=ALL
      - DB01_NAME_EXCLUDE=sys,mysql,performance_schema,information_schema
      - DB01_SPLIT_DB=FALSE
      - DB01_USER=example
      - DB01_PASS=examplepassword
      - DB01_BACKUP_INTERVAL=30        # (override) Backup every 30 minutes
      - DB01_BACKUP_BEGIN=+1           # (override) Backup starts immediately
      - DB01_CLEANUP_TIME=21600        # (override) Cleanup backups they are older than 180 minutes
      # - DB01_CHECKSUM=SHA1           # (override) Create a SHA1 checksum
      - DB01_COMPRESSION=GZ          # (override) Compress with GZIP

    restart: always

Image version / tag:  4.0.35
Host OS: RHEL 8.2

Thanks in advance!

DEFAULT_SPLIT_DB=FALSE
fixed it


Possible to tell if a tweet is a reply?

You used to be able to tell if a tweet was directed at somebody because the tweet body would start with the recipient's twitter handle. However, in 2016 Twitter changed the reply system so that the handles you're replying to are tweet metadata instead of in the actual body of the tweet. Is there a way either through GetOldTweets or the Twitter API to tell if tweets from after the change are a reply or regular tweet?

I managed to get this working by adding this piece of code on line 55 at TweetManager.py:
tweet.isReply = tweetPQ("div.ReplyingToContextBelowAuthor").is_("div")
if tweet.isReply:
	tweet.replyTo = tweetPQ("div.ReplyingToContextBelowAuthor span.username b").contents()[0]
else:
	tweet.replyTo = ''

This is extremely helpful, thank you. However, if I run the grab now, I get the same output file as before with 10 columns and no way of identifying replies. Do I have to set some parameter in my request to include/exclude replies or get more information in the output?

@Jrbt  and anyone else who might come across this issue, I simply added this line to check if it is a reply
if (tweetPQ("div").attr("data-is-reply-to")=="true")

@malidzanko Where did you add that line of code?

@deldar22 anytime after the line tweetPQ = PyQuery(tweetHTML) is fine. I added some more code so the exact line won't mean much to you. Also, been a while since I've used this module so can't guarantee it still works. Good luck!

I tried this but it didn't work around line 34, are you able to see the error:
for tweetHTML in tweets:
			tweetPQ = PyQuery(tweetHTML)
			tweet = models.Tweet()
			if (tweetPQ("div").attr("data-is-reply-to")=="true"):
				pass
			else:
				usernameTweet = tweetPQ("span.username.js-action-profile-name b").text()
				txt = re.sub(r"\s+", " ", tweetPQ("p.js-tweet-text").text().replace('# ', #').replace('@ ', '@'))
				retweets = int(tweetPQ("span.ProfileTweet-action--retweet span.ProfileTweet-actionCount").attr("data-tweet-stat-count").replace(",", ""))
				favorites = int(tweetPQ("span.ProfileTweet-action--favorite span.ProfileTweet-actionCount").attr("data-tweet-stat-count").replace(",", ""))
				dateSec = int(tweetPQ("small.time span.js-short-timestamp").attr("data-time"))
				id = tweetPQ.attr("data-tweet-id")
				permalink = tweetPQ.attr("data-permalink-path")
				user_id = int(tweetPQ("a.js-user-profile-link").attr("data-user-id"))

@deldar22 @serdasteclas hi guys, is it possible to get all replies if a tweet has any replies? Many thanks in advance.


RSARTE-175933_updated new supported compliers

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.amit-k1 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


[request] Add lint to replace Container with SizedBox when possible

This could become a useful lint rule.
If Container(width: ..., height: ..., child: ...), transform into SizedBox(width: ..., height: ..., child: ...).
https://github.com/flutter/flutter/pull/54495

CC @a14n

I think you can use sized_box_for_whitespace (probably only on newer versions of the sdk).

oh! I would have never guessed that did it. Name is kind unintuitive but makes sense. Thanks.


[C++][Parquet] Streamed RLE encoding

Adapt the implementation of the RLE Encoder and Decoder to work on an OutputStream to also use them for the RLE encoding of the Data.
Reporter: Uwe Korn / @xhochy
Assignee: Uwe Korn](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=uwe) / @xhochy
Note: This issue was originally created as PARQUET-637. Please see the migration documentation for further details.

Uwe Korn / @xhochy:
Looked a bit through parquet-mr code and it seems like currently RLE is only used in for definition and repetition levels thus the current code base is sufficient.


Nexx360 Bid Adapter: native added and params added

🏷 Type of documentation

[ ] new bid adapter
[X] update bid adapter
[ ] new feature
[ ] text edit only (wording, typos)
[ ] bugfix (code examples)
[ ] new examples

📋 Checklist

[ ] Related pull requests in prebid.js or server are linked -> Paste link in this list or reference it on the PR itself
[ ] For new adapters check submitting your adapter docs

released with 7.40


[antlr4] update to 4.13.1

[X] Changes comply with the maintainer guide
[X] SHA512s are updated for each updated download
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[X] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[X] Only one version is added to each modified port's versions file.

on windows, i used antlr4 in c++ cmakelists.txt project, but it went wrong, my config is follow:
find_package(antlr4-runtime CONFIG REQUIRED)

message("${antlr4-runtime_FOUND}")
message("${antlr4-runtime_VERSION}")
message("${antlr4-runtime_INCLUDE_DIRS}")
message("${antlr4-runtime_LIBRARIES}")
message("${antlr4-runtime_DEFINITIONS}")

add_executable(expr_all main.cpp )
# no matter what the link name i changed ,it still work wrong
target_link_libraries(expr_all antlr4-runtime)

"cmake  -S expr_all -B expr_all_build" message output is follow:

this output message means antlr4 vcpkg config file lost something, such as antlr4-runtime_INCLUDE_DIRS, antlr4-runtime_LIBRARIES and so on？thus lead to the following build error?
"cmake --build expr_all_build" errors is :


Question [Help]

I want to dual boot it with windows but it seems Running this will reformat my drive to the ext4 filesystem so what can I do about it ?
What is "secrets" mentioned everywhere & what will installing the configuration with secrets will do?

Hi, yes the current scripts will just do one partition. Before running the commands however you can swap out the disk-config with something like mine:
https://github.com/dustinlyons/nixos-config/blob/main/modules/nixos/disk-config.nix
_: {
  # This is the disk layout for a dual-boot system with Windows 10.
  disko.devices = {
    disk = {
      nvme0n1 = {
        device = "/dev/nvme0n1";
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            ESP = {
              type = "EF00";  # EFI partition type.
              size = "500M";
              content = {
                type = "filesystem";
                format = "vfat";
                mountpoint = "/boot";
              };
            };
            root = {
              start = "901G";  # Start immediately after Windows partition.
              size = "100%";  # Takes the remaining half of the disk space.
              content = {
                type = "filesystem";
                format = "ext4";
                mountpoint = "/";
              };
            };
          };
        };
      };
    };
  };
}

I had to first install Windows on the drive, then run the NixOS installer. I also had to manually add the place on the drive NixOS should start (901GB for me). Here is some info on that:
https://chat.openai.com/share/80ef0023-f68b-47af-bd6e-824861deca8e
Before running the final 3. Install configuration step, you'll have to swap out the disk-config in modules for the one you see above, and custom to your particular drive. Unfortunately I can't support this any further as it's not part of the standard install, but hopefully this info is enough.

Secrets just mean you can keep sensitive data in your Nix configuration, like keys, certs, etc. So that when you install it, you don't have to manually set that stuff up. It's helpful to have a configuration that just "works out of the box".

Gotcha thanks I think I can figure it out.

so to get that out of the box experience I have to do all the installation steps?

And also what bootloader it uses?

Hi, yes the current scripts will just do one partition. Before running the commands however you can swap out the disk-config with something like mine:
https://github.com/dustinlyons/nixos-config/blob/main/modules/nixos/disk-config.nix
_: {
  # This is the disk layout for a dual-boot system with Windows 10.
  disko.devices = {
    disk = {
      nvme0n1 = {
        device = "/dev/nvme0n1";
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            ESP = {
              type = "EF00";  # EFI partition type.
              size = "500M";
              content = {
                type = "filesystem";
                format = "vfat";
                mountpoint = "/boot";
              };
            };
            root = {
              start = "901G";  # Start immediately after Windows partition.
              size = "100%";  # Takes the remaining half of the disk space.
              content = {
                type = "filesystem";
                format = "ext4";
                mountpoint = "/";
              };
            };
          };
        };
      };
    };
  };
}

I had to first install Windows on the drive, then run the NixOS installer. I also had to manually add the place on the drive NixOS should start (901GB for me). Here is some info on that:
https://chat.openai.com/share/80ef0023-f68b-47af-bd6e-824861deca8e
Before running the final 3. Install configuration step, you'll have to swap out the disk-config in modules for the one you see above, and custom to your particular drive. Unfortunately I can't support this any further as it's not part of the standard install, but hopefully this info is enough.
2. Secrets just mean you can keep sensitive data in your Nix configuration, like keys, certs, etc. So that when you install it, you don't have to manually set that stuff up. It's helpful to have a configuration that just "works out of the box".

Gotcha thanks I think I can figure it out.

so to get that out of the box experience I have to do all the installation steps?

And also what bootloader it uses?

Also
nix run .#build-switch -- what does it do?
nix flake update -- this updates the system right?

editing your system configuration
building the (system closure)
creating and switching to it (i.e creating a new generation)

What do you mean by it?

If you're just starting out I would not worry about secrets for now, just get a config without secrets working first and understand it. It's not that big of a deal to manually copy over some keys after the install is done.
NixOS uses systemd-boot with UEFI

Also
nix run .#build-switch -- what does it do?

So Nix works by building everything as an isolated package on its own volume (the Nix "Store"). So when you build your configuration and switch to it, you're saying to your machine -- create everything I've defined in the Nix store, and then switch all my packages to a symlink that references them, instead of the actual package on my drive.

nix flake update -- this updates the system right?

Yes, it says, update all inputs defined in the flake (nix-darwin, nixpkgs, etc) to the latest git hash. Doesn't build or switch anything, but next time you build you'll grab the latest flake inputs.

editing your system configuration

building the (system closure)

creating and switching to it (i.e creating a new generation)

What do you mean by it?

Basically what I'm discussing above.

Also
nix run .#build-switch -- what does it do?

So Nix works by building everything as an isolated package on its own volume (the Nix "Store").
So when you build your configuration and switch to it, you're saying to your machine:
* create everything I've defined in my config as a package in the Nix store, referencing its build instructions on how to build it (usually defined in nixpkgs), and then

* switch all my local packagss to a symlink that references the package in the Nix Store, instead of the actual package on my drive somewhere (probably installed by brew or its own installer).

nix flake update -- this updates the system right?

Yes, it says, update all inputs defined in the flake (nix-darwin, nixpkgs, etc) to the latest git hash.
Doesn't build or switch anything, but next time you build you'll grab the latest flake inputs.

editing your system configuration

building the (system closure)

creating and switching to it (i.e creating a new generation)

What do you mean by it?

Basically what I'm discussing above.

Got it thanks

Hey @dustinlyons sorry just one last thing I have made the disk configuration now How do I implement it?

Here's the disk config I created btw :
#Disk configuration for dual-booting NixOS with Windows 10
  disko.devices = {
    disk = {
      nvme0n1 = {
        device = "/dev/nvme0n1";
        type = "disk";
        content = {
          type = "gpt";
          partitions = {
            # Windows partitions (existing)
            ESP = {
              type = "EF00";  # EFI partition type
              size = "100M";
              content = {
                type = "filesystem";
                format = "vfat";
                mountpoint = "/boot";
              };
            };
            # NixOS partitions
            swap = {
              start = "373.766G";  # start point for swap
              size = "40G";
              content = {
                type = "swap";
              };
            };
            root = {
              start = "413.766G";  # After swap partition
              size = "100%";  # Take all remaining space
              content = {
                type = "filesystem";
                format = "ext4";
                mountpoint = "/";
              };
            };
          };
        };
      };
    };
  };
}

Look in your modules/nixos directory. You should see a disk-config.nix file. Replace it with your configuration above.

Look in your modules/nixos directory. You should see a disk-config.nix file. Replace it with your configuration above.

Yes I meant then I have to create another repo then right? & does the disk-config look good?

The README for this repository outlines a set of steps to use a template for NixOS. Once you've followed those instructions and created your Nix configuration, before running nix run #build-switch you should swap out the disk-config.nix located at modules/nixos/disk-config.nix with the one you created.


How to change the number of CPU cores for OpenFAST running

Hello, everyone.
How can I change the number of CPU cores running OpenFAST?
I want to use more cpu cores to run OpenFAST.
Thank you！

Dear @wkdanqu1,
Are you referring to the OpenMP parallelization of FAST.Farm or the OpenMP parallelization of the OLAF module of AeroDyn within OpenFAST?  In these cases, OpenFAST can make use of multiple cores on a single node.  Otherwise, OpenFAST will run in serial mode and only make use of a single core.
Best regards,

Thank you, Professor @jjonkman.
I'd like to consult you another question：
Whether 'TwrBsFxt', 'TwrBsFyt', 'TwrBsFzt', 'TwrBsMxt', 'TwrBsMyt', 'TwrBsMzt' are the total load on the tower base produced by the combined action of wind, wave and current？Or only produced by wind?
Thank you for your guidance!

Dear @wkdanqu1,
The tower base load outputs from ElastoDyn that you refer to are the total reaction loads at the tower base, i.e., the loads transferred from the tower into the substructure.  Swapping the sign of these outputs would provide the loads transferred from the substructure to the tower.
Best regards


Make reqores-server-axum

Good to have a standalone server implementation.

eating dog food on RanolP/ranol-bot


Add doc example to addLocalHistoryEntry in LocalHistoryRoute (#9392)

#9392

@Hixie I tried adding '## Sample code' but the analysis doesn't like the code.  Can 'sample code' be used for method docs?

yeah you just have to follow the style that the script allows (or update the script to analyze more complex things). If you look around the codebase you'll see examples.

@Hixie build is passing now.  Please let me know if LGTM, or if I missed any other doc practices for the sample code.


[Feature]: Add support for NetBox v3.6

NetBox version
v3.6
Feature type
Change to existing model
Proposed functionality
Update the plugin as per the NetBox v3.6 release
https://github.com/netbox-community/netbox/pull/13614
Use case
To support on newer version
External dependencies
No response

Will this receive a update soon to 3.6?

any updates? it would be really nice to be able to use this in 3.6.x and newer.

@dataolle We'll add support for NetBox v3.6.x this week.

@dataolle We'll add support for NetBox v3.6.x by this week.

Hello, any update on this?

@kprince28 @abhi1693
Any update for Netbox 3.6 or 3.7 now ?

@Steve-Hubert we'll support for NetBox v3.6 or v3.7 by this week.


Axum Swagger UI Handler Redirect Causing Invalid URI for "/"

Issue
Serving the Swagger UI via Axum on "/" causes a 303 redirect to an invalid URI: http:///.  When instantiation the Swagger UI with SwaggerUI::new("/someroute"), the internal router will always redirect to "/someroute/".
The line of code in question: https://github.com/juhaku/utoipa/blob/4422cee81cf6b0811c4126a17cf800f7447298d1/utoipa-swagger-ui/src/axum.rs#L52C17-L52C24
Note that other routing tools like Actix do not do this: https://github.com/juhaku/utoipa/blob/4422cee81cf6b0811c4126a17cf800f7447298d1/utoipa-swagger-ui/src/actix.rs#L26C8-L37C35
Solution
Remove the redirect and serve the Axum UI on <route name>, <route name>/, and <route name>/*rest.
Sample To Replicate
Main:
use axum::{routing::get, Router};

use utoipa::OpenApi;
use utoipa_swagger_ui::SwaggerUi;

#[derive(OpenApi)]
#[openapi()]
struct ApiDoc;

/// Get health of the API.
#[utoipa::path(
    get,
    path = "/foo",
    responses(
        (status = OK, description = "Success", body = str, content_type = "text/plain")
    )
)]
async fn foo_handler() -> &'static str {
    "bar"
}

#[tokio::main]
async fn main() {
    let app = Router::new()
        .route("/foo", get(foo_handler))
        .merge(SwaggerUi::new("/").url("/api-docs/openapi.json", ApiDoc::openapi()));

    // run it
    let listener = tokio::net::TcpListener::bind("<IP_ADDRESS>:3000")
        .await
        .unwrap();
    println!("listening on {}", listener.local_addr().unwrap());

    axum::serve(listener, app).await.unwrap();
}

Cargo Manifest:
[package]
name = "utoipasample"
version = "0.1.0"
edition = "2021"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[dependencies]
axum = "0.7.5"
tokio = { version = "1.40.0", features = ["full"] }
utoipa = { version = "4.2.3", features = ["axum_extras"] }
utoipa-axum = "0.1.0-beta.2"
utoipa-swagger-ui = { version = "7.1.0", features = ["axum", "reqwest"] }

Naivgate to http://localhost:3000/. You will get a NS_CORRUPTED_CONTENT on firefox

I added a PR to fix this: https://github.com/juhaku/utoipa/pull/1043
Let me know what you think! 😄

Thanks for the fixing


Hight cpu load when using Colormap.applyToData on a single value

I am using this small code on a custom image item to display color of the hovered pixel value.
It uses a hi CPU load, maybe cause of OpenMP, but i only have a single value to convert.
Do you have any idea if this could be speeded up in this case?
Or maybe i could maybe do it on my own?
    def _getColoredChar(self, value):
        colormap = self.getColormap()
        data = numpy.array([float(value)])
        colors = colormap.applyToData(data, reference=self)
        cssColor = f"#{colors[0,0]:02X}{colors[0,1]:02X}{colors[0,2]:02X}"
        char = "■"
        return f"""{char}"""

The colormap computation (https://github.com/silx-kit/silx/blob/master/silx/math/colormap.pyx) was clearly not written with single value conversion in mind.
OpenMP might be an issue indeed.
Also, for (u)int8|16, you even end-up computing the LUT with 256 or 65536 values before using it to get the value you want...
We can easily add some tests for using this depending on the number of element to convert, but then which threshold to set for OpenMP?

I recently fall into the same kind of bugs: Parallelized code (on just 4 cores) was 20% slower than sequential one. The more it goes, the more I consider the performance benefits of OpenMP is not worth the burden and having a clean single threaded function with optimal use of the cache is often better in performance (with nogil it is perfect).

I never needed to parallelize anything for display... In PyMca I do not use parallel code for median filters, colormaps,... I do not consider display a critical thing and resources should be allocated to acquisition.

I also have the feeling that OpenMP is not the right granularity most of the time and you easily get slower.
Yet, AFAIR, in this case, on large images you get the expected x4 speed-up (num threads <= 4 here).
The problem to me would be to set a reasonable threshold of number of elements when to enable OpenMP.

The rule of thumb would probably be: parallelize when it no more fits the L3 cache (2-128Mo on today's standards)
Beside this, there are the environment variables:
OMP_NUM_THREADS=4 OMP_PLACES=cores OMP_PROC_BIND=close

I feel like the problem of OpenMP is also that it is only really easy to setup properly. Or maybe that's the problem with the provided helpers. Cause as far as i remember it is not easy to provide with and without OpenMP without dup code.
Anyway maybe if the amount of values is =1 or less than 4x the number of max core, this could be skipped.
Or this could be optionally disabled with an argument.

Also, for (u)int8|16, you even end-up computing the LUT with 256 or 65536 values before using it to get the value you want...

Is that only a cached problem?

Also, for (u)int8|16, you even end-up computing the LUT with 256 or 65536 values before using it to get the value you want...

Is that a problem we can fix with a cache?

No, but a threshold should be simple for this.

%timeit benchmark for an array of one float (data= numpy.array([1.])):

With OpenMP:

silx.math.colormap.cmap: 13us
silx.gui.colors.Colormap.applyToData(data): 51us

Without OpenMP (prange replaced by range):

silx.math.colormap.cmap: 10us
silx.gui.colors.Colormap.applyToData(data): 50us

This time OpenMP doesn't seems to be guilty, and 0.05ms sounds good for integration in GUI.
Maybe there is an issue with caching min/max? Is it the same with/without autoscale?
How often is it called?
With (u)int8 or 16, it can be optimized since the LUT is always computed, but for float it is not the case.
Benchmark code:
import numpy
from silx.math import colormap
from silx.gui.colors import Colormap

colors = numpy.zeros((256, 4), dtype=numpy.uint8)
colors[()] = numpy.arange(256, dtype=numpy.uint8).reshape(256, 1)

data = numpy.array([1.])

min_, max_ = data.min(), data.max()
%timeit colormap.cmap(data, colors, min_, max_)
colormap.cmap(data, colors, min_, max_)

cmap = Colormap()
%timeit cmap.applyToData(data)

While timing is the same, CPU usage in reported condition varies with usage or not of OPENMP even when computing one value.


Rewrite pydantic code examples using its dataclasses.

:tada: This PR is included in version 3.3.1 :tada:
The release is available on:

3.3.1
GitHub release

Your semantic-release bot :package::rocket:


Typing sound on PowerToys Run

Microsoft PowerToys version
0.75.1
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
PowerToys Run
Steps to reproduce
Init PowerToys Run with alt+space and then on every keystroke there is a sound.
✔ Expected Behavior
No typing sound or an option to disable the typing sound.
❌ Actual Behavior
I cannot find any option to disable the typing sound which only occurs when I type inside the PowerToys Run box.
Other Software
No response

Hello @ZEFIROSnet
PowerToys Run doesn't have this kind of sound. Is there any change that this is provided by some 3rd party apps?

Do you hear this sound somewhere else?
Can you post a screenshot or a video?

/needinfo

hi @davidegiacometti,
well I was afraid of such an answer because on the other laptop which is win10 there is no such issue, but only on this one with w11.
I don't have any other programs running (except greenshot but even when I close greenshot I have the same issue), I don't hear this sound anywhere else.
I attach a screen but I don't see how that might be any helpful.

Woooow... 😄 PowerToys Run doesn't have this "sound feature" 😅

Not able to repro this, going to close. Let us know if you see this again!


GlobalKey in CupertinoNavigationBar property triggers "Multiple widgets used the same GlobalKey." when changing route

Steps to Reproduce

Execute flutter run on the code sample
Click the settings icon button in the app bar

Expected results:
No error gets thrown, since doing the same with the equivalent material widgets (Scaffold, AppBar) throws no such error.
Actual results:
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY
╞═══════════════════════════════════════════════════════════
The following assertion was thrown while finalizing the widget tree:
Multiple widgets used the same GlobalKey.
The key [GlobalKey#cf59a] was used by multiple widgets. The parents of those
widgets were different
widgets that both had the following description:
  IconTheme(color: systemBlue)
A GlobalKey can only be specified on one widget at a time in the widget tree.

When the exception was thrown, this was the stack:
#0      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous
closure>.<anonymous closure>.<anonymous closure>
(package:flutter/src/widgets/framework.dart:2883:13)
#1      _LinkedHashMapMixin.forEach
(dart:collection-patch/compact_hash.dart:617:13)
#2      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous
closure>.<anonymous closure>
(package:flutter/src/widgets/framework.dart:2827:20)
#3      _LinkedHashMapMixin.forEach
(dart:collection-patch/compact_hash.dart:617:13)
#4      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure>
(package:flutter/src/widgets/framework.dart:2822:36)
#5      BuildOwner._debugVerifyGlobalKeyReservation
(package:flutter/src/widgets/framework.dart:2891:6)
#6      BuildOwner.finalizeTree.<anonymous closure>
(package:flutter/src/widgets/framework.dart:2950:11)
#7      BuildOwner.finalizeTree
(package:flutter/src/widgets/framework.dart:3032:8)
#8      WidgetsBinding.drawFrame
(package:flutter/src/widgets/binding.dart:885:19)
#9      RendererBinding._handlePersistentFrameCallback
(package:flutter/src/rendering/binding.dart:378:5)
#10     SchedulerBinding._invokeFrameCallback
(package:flutter/src/scheduler/binding.dart:1175:15)
#11     SchedulerBinding.handleDrawFrame
(package:flutter/src/scheduler/binding.dart:1104:9)
#12     SchedulerBinding._handleDrawFrame
(package:flutter/src/scheduler/binding.dart:1015:5)
#13     _invoke (dart:ui/hooks.dart:148:13)
#14     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:318:5)
#15     _drawFrame (dart:ui/hooks.dart:115:31)
════════════════════════════════════════════════════════════════════════════════
════════════════════

Another exception was thrown: Multiple widgets used the same GlobalKey.

Another exception was thrown: Multiple widgets used the same GlobalKey.

Another exception was thrown: Duplicate GlobalKey detected in widget tree.

Code sample

import 'package:flutter/cupertino.dart';

void main() => runApp(const CupertinoApp(home: Example()));

class Example extends StatelessWidget {
  const Example({Key? key}) : super(key: key);

  static final GlobalKey settingsButtonKey = GlobalKey();

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      child: Container(),
      navigationBar: CupertinoNavigationBar(
          trailing: CupertinoButton(
            onPressed: () {
              Navigator.push(context, CupertinoPageRoute(builder: (context) => const SettingsPage()));
            },
            child: const Icon(CupertinoIcons.settings),
            key: settingsButtonKey,
          )),
    );
  }
}

class SettingsPage extends StatelessWidget {
  const SettingsPage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return CupertinoPageScaffold(
      child: Container(),
      navigationBar: const CupertinoNavigationBar(middle: Text("Settings")),
    );
  }
}

Logs

[        ] R Hot restart.
[        ] h List all available interactive commands.
[        ] d Detach (terminate "flutter run" but leave application running).
[        ] c Clear the screen
[        ] q Quit (terminate the application on the device).
[        ]  Running with sound null safety
[        ] An Observatory debugger and profiler on Pixel 3a is available at: http://<IP_ADDRESS>:60024/yUcbevZ8ywM=/
[ +557 ms] The Flutter DevTools debugger and profiler on Pixel 3a is available at: http://<IP_ADDRESS>:9100?uri=http://<IP_ADDRESS>:60024/yUcbevZ8ywM=/
[+6800 ms]
                    ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
                    The following assertion was thrown while finalizing the widget tree:
                    Multiple widgets used the same GlobalKey.
                    The key [GlobalKey#cf82d] was used by multiple widgets. The parents of those widgets were different
                    widgets that both had the following description:
                      IconTheme(color: systemBlue)
                    A GlobalKey can only be specified on one widget at a time in the widget tree.

                    When the exception was thrown, this was the stack:
                    #0      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter/src/widgets/framework.dart:2883:13)
                    #1      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617:13)
                    #2      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure>.<anonymous closure> (package:flutter/src/widgets/framework.dart:2827:20)
                    #3      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617:13)
                    #4      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure> (package:flutter/src/widgets/framework.dart:2822:36)
                    #5      BuildOwner._debugVerifyGlobalKeyReservation (package:flutter/src/widgets/framework.dart:2891:6)
                    #6      BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:2950:11)
                    #7      BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:3032:8)
                    #8      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:885:19)
                    #9      RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:378:5)
                    #10     SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1175:15)
                    #11     SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1104:9)
                    #12     SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1015:5)
                    #13     _invoke (dart:ui/hooks.dart:148:13)
                    #14     PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:318:5)
                    #15     _drawFrame (dart:ui/hooks.dart:115:31)
                    ════════════════════════════════════════════════════════════════════════════════════════════════════

No issues found! (ran in 7.5s)

[√] Flutter (Channel stable, 3.3.4, on Microsoft Windows [Version 10.0.19044.2130], locale de-DE)
    • Flutter version 3.3.4 on channel stable at D:\Programme\Flutter\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eb6d86ee27 (9 days ago), 2022-10-04 22:31:45 -0700
    • Engine revision c08d7d5efc
    • Dart version 2.18.2
    • DevTools version 2.15.0

[√] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc4)
    • Android SDK at D:\Programme\AndroidSDK
    • Platform android-33, build-tools 31.0.0-rc4
    • ANDROID_HOME = D:\Programme\AndroidSDK
    • ANDROID_SDK_ROOT = D:\Programme\AndroidSDK
    • Java binary at: D:\Programme\AndroidStudio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[!] Visual Studio - develop for Windows (Visual Studio Build Tools 2019 16.11.7)
    • Visual Studio at C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools
    • Visual Studio Build Tools 2019 version 16.11.31911.196
    • Windows 10 SDK version 10.0.19041.0
    X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
        MSVC v142 - VS 2019 C++ x64/x86 build tools
         - If there are multiple build tool versions available, install the latest
        C++ CMake tools for Windows
        Windows 10 SDK

[√] Android Studio (version 2021.2)
    • Android Studio at D:\Programme\AndroidStudio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+7-b1504.28-7817840)

[√] IntelliJ IDEA Community Edition (version 2020.2)
    • IntelliJ at D:\Programme\IntelliJ IDEA Community Edition 2020.2
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart

[√] Connected device (4 available)
    • Pixel 3a (mobile) • 98XAY17YMW • android-arm64  • Android 12 (API 32)
    • Windows (desktop) • windows    • windows-x64    • Microsoft Windows [Version 10.0.19044.2130]
    • Chrome (web)      • chrome     • web-javascript • Google Chrome 106.0.5249.119
    • Edge (web)        • edge       • web-javascript • Microsoft Edge 106.0.1370.42

[√] HTTP Host Availability
    • All required HTTP hosts are available

The issue is reproducible using the code sample provided above.
Adding the key to the CupertinoNavigationBar itself does not trigger the exception. It seems to be triggered when the key is added to a property of the CupertinoNavigationBar.
I tested with leading, trailing & middle, and the exception was thrown for all 3 properties.
Labeling for further investigation from the team.

logs
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown while finalizing the widget tree:
flutter: Multiple widgets used the same GlobalKey.
flutter: The key [GlobalKey#f6874 Example] was used by multiple widgets. The parents of those widgets were
flutter: different widgets that both had the following description:
flutter:   IconTheme(color: systemBlue)
flutter: A GlobalKey can only be specified on one widget at a time in the widget tree.
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #0      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure>.<anonymous closure>.<anonymous closure> (package:flutter/src/widgets/framework.dart:2950:13)
flutter: #1      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:620:13)
flutter: #2      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure>.<anonymous closure> (package:flutter/src/widgets/framework.dart:2894:20)
flutter: #3      _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:620:13)
flutter: #4      BuildOwner._debugVerifyGlobalKeyReservation.<anonymous closure> (package:flutter/src/widgets/framework.dart:2889:36)
flutter: #5      BuildOwner._debugVerifyGlobalKeyReservation (package:flutter/src/widgets/framework.dart:2958:6)
flutter: #6      BuildOwner.finalizeTree.<anonymous closure> (package:flutter/src/widgets/framework.dart:3017:11)
flutter: #7      BuildOwner.finalizeTree (package:flutter/src/widgets/framework.dart:3099:8)
flutter: #8      WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:870:19)

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.4, on macOS 12.6 21G115 darwin-arm, locale en-GB)
    • Flutter version 3.3.4 on channel stable at /Users/nexus/dev/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision eb6d86ee27 (9 days ago), 2022-10-04 22:31:45 -0700
    • Engine revision c08d7d5efc
    • Dart version 2.18.2
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

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

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

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Users/nexus/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] VS Code (version 1.72.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • Nexus (mobile)         • 00008020-001875E83A38002E            • ios            • iOS 16.0.2 20A380
    • iPhone 14 Pro (mobile) • 4302007A-B132-4B89-887A-C5993FCA3284 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 106.0.5249.119
    ! Error: Nexus is busy: Fetching debug symbols for Nexus. Xcode will continue when Nexus is finished. (code -10)

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

[✓] Flutter (Channel master, 3.5.0-6.0.pre.37, on macOS 12.6 21G115 darwin-arm64, locale en-GB)
    • Flutter version 3.5.0-6.0.pre.37 on channel master at /Users/nexus/dev/sdks/flutters
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 08e1729204 (12 hours ago), 2022-10-13 17:40:07 -0400
    • Engine revision 3711bbaeab
    • Dart version 2.19.0 (build 2.19.0-309.0.dev)
    • DevTools version 2.18.0

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/nexus/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0
    • Java binary at: /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)
    • All Android licenses accepted.

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

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

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

[!] Android Studio
    • Android Studio at /Applications/Android Studio Preview 2.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] Android Studio (version 2021.3)
    • Android Studio at /Users/nexus/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/213.7172.25.2113.9014738/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.13+0-b1751.21-8125866)

[!] Android Studio
    • Android Studio at /Users/nexus/Downloads/Android Studio Preview.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    ✗ Unable to find bundled Java version.
    • Try updating or re-installing Android Studio.

[✓] VS Code (version 1.72.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (4 available)
    • Nexus (mobile)         • 00008020-001875E83A38002E            • ios            • iOS 16.0.2 20A380
    • iPhone 14 Pro (mobile) • 4302007A-B132-4B89-887A-C5993FCA3284 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-16-0 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 106.0.5249.119

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 2 categories.

This is a known limitation of CupertinoNavigationBar because on the slide transition, a new nav bar is painted over the existing one, with the child widgets copied over. See the paragraph on transitionBetweenRoutes for more information, and work arounds.
However from this issue, and the duplicate one, it does seem like there's a need to be adjusted, but it will be a fairly sizable rewrite of the transition, so it may not be a quick fix.

I'm downgrading the priority to p2 as per my last comment. I'm also unassigning this from myself as I'm not actively working on this at the moment. If somebody wants to pick it up before I get to it, please feel free to tag me here or on Discord for help.


Updating - tab-add-in-combined Sample

Build Pipeline -
https://github.com/OfficeDev/Microsoft-Teams-Samples/actions/runs/6324063978


Form values are modelled by both modelReducers and formReducers

The form reducers docs stress that the form values aren't modelled under the form state however I don't believe this is true as of https://github.com/davidkpiano/react-redux-form/commit/ecade1d6dcaf642fd559c603d79d3618905fe67d#diff-fcd205c3f8e04d4b3862b897f978e030R154
I guess the reason I came across this is because I'm trying to work out the real differences / purposes of modelReducers vs formReducers?

One of the main design goals of RRF is with flexibility, in that:

You can use your own reducers
Model reducers can exist without form-related meta information

The value property was added just to keep track of value equality, whether the value changed from its initial value, and optimize performance - it should be considered an internal property and not used as if it were the actual model value (even though it is).
Does that answer your question? I can go more in depth if you'd like.

This is related to a question I have.  Before I was using React Redux Form, I had my own actions that would update parts of my model.  But now if I want to update parts of my model, I have to use the React Redux Form change action because otherwise the form reducer won't know anything has changed, right?  So, this means I have to rewrite any reducers that were responding to those old update actions and teach them to parse RRF change actions (except in the special case that they weren't doing anything except updating the model, so that using modeled is enough).  Or is it a good strategy to just fire my update action and then fire the change action (possibly causing some double updates, which would be harmless)?

@greaber Not 100% sure I'm following as I'm not massively familiar with RRF but if you needed to fire multiple actions to update RRF state and your own custom model state then I think you'd incur multiple store change events which would be more expensive. You could look at https://github.com/tshelburne/redux-batched-actions to mitigate this however.

@richardscarrott RRF already uses a batching strategy :) For example, if you had updateOn="blur", then you would dispatch a single batch action:
[
  { type: actionTypes.BLUR, model: '...' },
  { type: actionTypes.CHANGE, model: '...', value: '...' },
]

And @greaber V1 will allow you to specify plugins for the formReducer, which allows you to create a plugin that tells the formReducer to listen for your own actions as if they were RRF change actions. More on this soon - I'm preparing an alpha release for V1!

OK, cool, looking forward to 1.0.  Although I wonder if it won't be better to just teach reducers to respond to change actions since they will be generated in response to user interaction even if there are custom actions that change the model in different cases (at least if using the Field component, unless that is also changing).

V1 is out! I will have docs for form plugins soon.


feat: add more built-in templates to Zarf templating

Description
This adds more templates for people to use during Zarf deploys.
Related Issue
Fixes #N/A
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Other (security config, docs update, etc)

Checklist before merging

[ ] Test, docs, adr added or updated as needed
[X] Contributor Guide Steps followed

Given that this PR has been inactive for eight months, I am closing it. Feel free to make an issue or re-open if there is still a need for this @Racer159 @Noxsios


ReadLine.Read is not working in MingW64

I tried to use the our tool on Windows 7 system in a MINGW64 terminal (that is installed when I installed Git client to access github).
Unhandled Exception: System.InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected. Try Console.Read.
   at System.ConsolePal.ReadKey(Boolean intercept)
   at System.ReadLine.GetText(KeyHandler keyHandler)
   at System.ReadLine.Read(String prompt, String default)
   at Campaign.Program.RunAddAndReturnExitCode(Options options)

A little googling efforts directed me to run it on the default command prompt and it worked like a charm.
Please guide, if there is any configuration required for the same. Thanks

MinGW64's MinTTTY is a TTY emulator. It doesn't support Windows console API's out of the box. You need to run your program wrapped in winpty. Example:
winpty yourexe.exe

The console emulators will vary across platforms.   We will NOT support emulation related issues.
This API uses Console.ReadKey() for its internals which essentially does what Console.Read() does anyway minus a few things windows platform specific.   These are from the .NET framework and should be compatible where supported versions of the .NET run-times exist.
You can try using the API within a project targeting .NET Core and run it from the console.  This should be universal across platforms.   Let me know your feedback.


Bump inmanta-dev-dependencies[async,core,pytest,sphinx] from 2.4.0 to 2.5.0 (#3867)

Pull request opened by the merge tool on behalf of #3867

Merged in 27e3d37fbffae0c7684fde2c138314d4227bebc8


QnA sign in issue

Describe the bug
Clicking Sign in causes page to refresh but does not sign in nor does it provide a login prompt
Edge quite working a few days ago, now IE also produces same result
To Reproduce
Navigate to site https://docs.microsoft.com/answers/index.html and click Sign In (screenshot shows the URL redirect to sign-in but for some reason fails)
Expected behavior
Either successful sign in or a prompt to provide credentials
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):
Windows 10 x64 1909 latest build
Microsoft Edge 44.18362.449.0
IE 11.592.18362.0
Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Our engineering team is investigating the issue.

We are investigating the issue. We will update once we have more information.

As a workaround, please clear your cache or work on InPrivate/Incognito. Sorry for the trouble.

Thanks, yes for now I've been using incognito

Just an FYI, the issue eventually affects an in-private session as well.

From Aman's yammer post;
The change has rolled out. Any users affected by the 'Q&A cookie expires before DocsToken' issue will still be affected. They will need to go to https://docs.microsoft.com/learn and explicitly Sign Out (which will clear their DocsToken and Q&A cookie). Then if they go to Docs or Answers, they will be asked to log in and will get a new cookie with the correct lifetime.
Yes this worked.


Tailwind strips all units from css when value is 0

I encountered an issue, where Tailwind strips all units from the compiled css, when the value of any key is 0. Take this example for instance:
Original css
.section { max-width: 0px; }
Compiled css
.section { max-width: 0; }
First I though it might be a problem with my Laravel Mix setup, libsass, PostCss or other plugins. To find the cause of this issue, I systematically disabled everything in my setup and worked my way through until I encountered the issue again. I found out, that the issue only happens, when I activate the Tailwind PostCss Plugin.
I'm using some advanced Sass Mixin to calculate font-sizes, max-width etc. based on the viewport. Now the problem is, that calc doesn't support numbers without a unit.
This doesn't work
.section { max-width: calc(60vw + 0); }
This works
.section { max-width: calc(60vw + 0px); }
Is this stripped down 0 without a unit intended or a bug? Is there a way to fix it?

Fixed and tagged! Update to 0.6.5 and you should be good.


Add a Delete Button to the Color Palate Generated

The Color Palate Generated has only save and share option, but doesn't have the Delete Option.
So add the delete button with :

Proper Functionality
Appropriate Icon
Similar CSS as of other Options
Appropriate Position in accordance to the other buttons

@TheOpenInnovator Can you assign this issue to me. I would like to work on it

Sure @MuhammedJaseemVK You  can start working on this issue.

@TheOpenInnovator could you please assign me this issue.

@TheOpenInnovator Hi. I have made another PR #16 that fixes the rendering issue. Please do review and do merge


the margin isssue has been resolved

What is the change?
the margin between the login and signup button has been resoved
Related issue?
#500
close: #500
How was it tested?
Remove this line and tell us how the code was tested.
Checklist:
Before you create this PR, confirm all the requirements listed below by checking the checkboxes [x]:

[] Have you followed the Contribution Guidelines while contributing.
[] Have you checked there aren't other open Pull Requests for the same update/change?
[] Have you made corresponding changes to the documentation?
[] Your submission doesn't break any existing feature.
[] Have you tested the code before submission?

Screenshots or Video:
Add a screenshot or demo video if appropriate.

Also the commit message is very bad and not specific, fix it..
resolve conflicts