Read error: Resource temporarily unavailable

Please help and support.
We are trying to access emulator on the web browser.
android-emulator-container-scripts is repository and also contains an example that demonstrates how you can use docker to make the emulator accessible through the web. This is done by composing the following set of docker containers:

Envoy, an edge and service proxy: The proxy is responsible for the following:
Offer TLS (https) using a self signed certificate
Redirect traffic on port 80 (http) to port 443 (https)
Act as a gRPC proxy for the emulator.
Verifying tokens to permit access to the emulator gRPC endpoint.
Redirect other requests to the Nginx component which hosts a React application.

Nginx, a webserver hosting a compiled React App
Firebase. We use firebase for authentication and authorization. Firebase will hand out JWT tokens that allow access to the emulator. If you use firebase you must configure your project properly!

The emulator with a gRPC endpoint and a WebRTC video bridge.

After analyzing below error logs. we are able to access the<EMAIL_ADDRESS>directly from within the Enoy container but Envoy is still returning a 503 error, it indicates that the issue might lie in how Envoy is configured to route the traffic to that URL. Need to review and adjust the envoy.yaml configuration.
front-envoy_1  | [2024-08-14 08:30:04.201][20][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619bed47880 for 3600000ms, min is 3600000ms
front-envoy_1  | [2024-08-14 08:30:04.201][35][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619beab2600 for 3600000ms, min is 3600000ms
front-envoy_1  | [2024-08-14 08:30:04.201][18][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619bec2cd00 for 3600000ms, min is 3600000ms
front-envoy_1  | [2024-08-14 08:30:04.300][35][trace][connection] [source/common/network/connection_impl.cc:423] [C3] raising connection event 2
front-envoy_1  | [2024-08-14 08:30:04.300][20][trace][connection] [source/common/network/connection_impl.cc:423] [C2] raising connection event 2
front-envoy_1  | [2024-08-14 08:30:04.300][18][trace][connection] [source/common/network/connection_impl.cc:423] [C4] raising connection event 2
front-envoy_1  | [2024-08-14 08:30:04.300][35][debug][conn_handler] [source/extensions/listener_managers/listener_manager/active_tcp_listener.cc:155] [C3] new connection from <IP_ADDRESS>:51452
front-envoy_1  | [2024-08-14 08:30:04.300][20][debug][conn_handler] [source/extensions/listener_managers/listener_manager/active_tcp_listener.cc:155] [C2] new connection from <IP_ADDRESS>:51440
front-envoy_1  | [2024-08-14 08:30:04.300][18][debug][conn_handler] [source/extensions/listener_managers/listener_manager/active_tcp_listener.cc:155] [C4] new connection from <IP_ADDRESS>:51468
front-envoy_1  | [2024-08-14 08:30:04.300][35][trace][connection] [source/common/network/connection_impl.cc:568] [C3] socket event: 3
front-envoy_1  | [2024-08-14 08:30:04.300][35][trace][connection] [source/common/network/connection_impl.cc:679] [C3] write ready
front-envoy_1  | [2024-08-14 08:30:04.300][18][trace][connection] [source/common/network/connection_impl.cc:568] [C4] socket event: 3
front-envoy_1  | [2024-08-14 08:30:04.300][18][trace][connection] [source/common/network/connection_impl.cc:679] [C4] write ready
front-envoy_1  | [2024-08-14 08:30:04.300][20][trace][connection] [source/common/network/connection_impl.cc:568] [C2] socket event: 3
front-envoy_1  | [2024-08-14 08:30:04.300][20][trace][connection] [source/common/network/connection_impl.cc:679] [C2] write ready
front-envoy_1  | [2024-08-14 08:30:04.300][20][trace][connection] [source/common/network/connection_impl.cc:608] [C2] read ready. dispatch_buffered_data=0
front-envoy_1  | [2024-08-14 08:30:04.300][20][trace][connection] [source/common/network/raw_buffer_socket.cc:24] [C2] read returns: 1975
front-envoy_1  | [2024-08-14 08:30:04.300][20][trace][connection] [source/common/network/raw_buffer_socket.cc:38] [C2] read error: Resource temporarily unavailable
front-envoy_1  | [2024-08-14 08:30:04.300][35][trace][connection] [source/common/network/connection_impl.cc:608] [C3] read ready. dispatch_buffered_data=0
front-envoy_1  | [2024-08-14 08:30:04.300][18][trace][connection] [source/common/network/connection_impl.cc:608] [C4] read ready. dispatch_buffered_data=0
front-envoy_1  | [2024-08-14 08:30:04.300][35][trace][connection] [source/common/network/raw_buffer_socket.cc:24] [C3] read returns: 1997
front-envoy_1  | [2024-08-14 08:30:04.300][35][trace][connection] [source/common/network/raw_buffer_socket.cc:38] [C3] read error: Resource temporarily unavailable
front-envoy_1  | [2024-08-14 08:30:04.300][18][trace][connection] [source/common/network/raw_buffer_socket.cc:24] [C4] read returns: 1967
front-envoy_1  | [2024-08-14 08:30:04.300][18][trace][connection] [source/common/network/raw_buffer_socket.cc:38] [C4] read error: Resource temporarily unavailable
emulator_1     | logcat: 08-14 08:30:04.204   710   799 D ActivityManager: freezing 2130 com.android.car.media.localmediaplayer
front-envoy_1  | [2024-08-14 08:30:04.430][18][trace][http] [source/common/http/http1/codec_impl.cc:639] [C4] parsing 1967 bytes
front-envoy_1  | [2024-08-14 08:30:04.430][18][trace][http] [source/common/http/http1/codec_impl.cc:581] [C4] message begin
front-envoy_1  | [2024-08-14 08:30:04.430][18][debug][http] [source/common/http/conn_manager_impl.cc:375] [C4] new stream
front-envoy_1  | [2024-08-14 08:30:04.430][35][trace][http] [source/common/http/http1/codec_impl.cc:639] [C3] parsing 1997 bytes
front-envoy_1  | [2024-08-14 08:30:04.430][35][trace][http] [source/common/http/http1/codec_impl.cc:581] [C3] message begin
front-envoy_1  | [2024-08-14 08:30:04.430][20][trace][http] [source/common/http/http1/codec_impl.cc:639] [C2] parsing 1975 bytes
front-envoy_1  | [2024-08-14 08:30:04.430][18][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619bec2cc00 for 300000ms, min is 300000ms
front-envoy_1  | [2024-08-14 08:30:04.430][35][debug][http] [source/common/http/conn_manager_impl.cc:375] [C3] new stream
front-envoy_1  | [2024-08-14 08:30:04.430][20][trace][http] [source/common/http/http1/codec_impl.cc:581] [C2] message begin
front-envoy_1  | [2024-08-14 08:30:04.430][20][debug][http] [source/common/http/conn_manager_impl.cc:375] [C2] new stream
front-envoy_1  | [2024-08-14 08:30:04.430][35][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619bed46800 for 300000ms, min is 300000ms
front-envoy_1  | [2024-08-14 08:30:04.430][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Host value=localhost:8080
front-envoy_1  | [2024-08-14 08:30:04.430][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Host value=localhost:8080
front-envoy_1  | [2024-08-14 08:30:04.430][20][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619beab2700 for 300000ms, min is 300000ms
front-envoy_1  | [2024-08-14 08:30:04.430][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Host value=localhost:8080
front-envoy_1  | [2024-08-14 08:30:04.511][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Connection value=keep-alive
front-envoy_1  | [2024-08-14 08:30:04.511][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Connection value=keep-alive
front-envoy_1  | [2024-08-14 08:30:04.511][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Content-Length value=8
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Content-Length value=8
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=sec-ch-ua value="Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=sec-ch-ua value="Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=X-User-Agent value=grpc-web-javascript/0.1
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=X-User-Agent value=grpc-web-javascript/0.1
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=DNT value=1
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=DNT value=1
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=sec-ch-ua-mobile value=?0
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=sec-ch-ua-mobile value=?0
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Authorization value=Bearer Token Key
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Connection value=keep-alive
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Authorization value=Bearer Token Key
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=User-Agent value=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=User-Agent value=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Content-Type value=application/grpc-web-text
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Content-Type value=application/grpc-web-text
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Accept value=application/grpc-web-text
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Accept value=application/grpc-web-text
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=X-Grpc-Web value=1
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=sec-ch-ua-platform value="Linux"
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Origin value=http://localhost:8081
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=X-Grpc-Web value=1
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Sec-Fetch-Site value=same-site
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Sec-Fetch-Mode value=cors
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=sec-ch-ua-platform value="Linux"
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Origin value=http://localhost:8081
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Sec-Fetch-Site value=same-site
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Sec-Fetch-Mode value=cors
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Sec-Fetch-Dest value=empty
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Referer value=http://localhost:8081/
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Sec-Fetch-Dest value=empty
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Referer value=http://localhost:8081/
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Accept-Encoding value=gzip, deflate, br, zstd
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Accept-Encoding value=gzip, deflate, br, zstd
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:832] [C4] onHeadersCompleteBase
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:832] [C2] onHeadersCompleteBase
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:538] [C2] completed header: key=Accept-Language value=en-US,en;q=0.9
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:538] [C4] completed header: key=Accept-Language value=en-US,en;q=0.9
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Content-Length value=32
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/http1/codec_impl.cc:1154] [C4] Server: onHeadersComplete size=20
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/http1/codec_impl.cc:1154] [C2] Server: onHeadersComplete size=20
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=sec-ch-ua value="Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=X-User-Agent value=grpc-web-javascript/0.1
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=DNT value=1
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=sec-ch-ua-mobile value=?0
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Authorization value=Bearer Token Key
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=User-Agent value=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Content-Type value=application/grpc-web-text
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Accept value=application/grpc-web-text
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=X-Grpc-Web value=1
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=sec-ch-ua-platform value="Linux"
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Origin value=http://localhost:8081
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Sec-Fetch-Site value=same-site
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Sec-Fetch-Mode value=cors
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Sec-Fetch-Dest value=empty
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Referer value=http://localhost:8081/
front-envoy_1  | [2024-08-14 08:30:04.512][20][debug][http] [source/common/http/conn_manager_impl.cc:1118] [C2][S11637866349265632894] request headers complete (end_stream=false):
front-envoy_1  | ':authority', 'localhost:8080'
front-envoy_1  | ':path', '/android.emulation.control.EmulatorController/getStatus'
front-envoy_1  | ':method', 'POST'
front-envoy_1  | 'connection', 'keep-alive'
front-envoy_1  | 'content-length', '8'
front-envoy_1  | 'sec-ch-ua', '"Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"'
front-envoy_1  | 'x-user-agent', 'grpc-web-javascript/0.1'
front-envoy_1  | 'dnt', '1'
front-envoy_1  | 'sec-ch-ua-mobile', '?0'
front-envoy_1  | 'authorization', 'Bearer Token Key
front-envoy_1  | 'user-agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>'
front-envoy_1  | 'content-type', 'application/grpc-web-text'
front-envoy_1  | 'accept', 'application/grpc-web-text'
front-envoy_1  | 'x-grpc-web', '1'
front-envoy_1  | 'sec-ch-ua-platform', '"Linux"'
front-envoy_1  | 'origin', 'http://localhost:8081'
front-envoy_1  | 'sec-fetch-site', 'same-site'
front-envoy_1  | 'sec-fetch-mode', 'cors'
front-envoy_1  | 'sec-fetch-dest', 'empty'
front-envoy_1  | 'referer', 'http://localhost:8081/'
front-envoy_1  | 'accept-encoding', 'gzip, deflate, br, zstd'
front-envoy_1  | 'accept-language', 'en-US,en;q=0.9'
front-envoy_1  |
front-envoy_1  | [2024-08-14 08:30:04.512][18][debug][http] [source/common/http/conn_manager_impl.cc:1118] [C4][S2570635307744907770] request headers complete (end_stream=false):
front-envoy_1  | ':authority', 'localhost:8080'
front-envoy_1  | ':path', '/android.emulation.control.Rtc/requestRtcStream'
front-envoy_1  | ':method', 'POST'
front-envoy_1  | 'connection', 'keep-alive'
front-envoy_1  | 'content-length', '8'
front-envoy_1  | 'sec-ch-ua', '"Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"'
front-envoy_1  | 'x-user-agent', 'grpc-web-javascript/0.1'
front-envoy_1  | 'dnt', '1'
front-envoy_1  | 'sec-ch-ua-mobile', '?0'
front-envoy_1  | 'authorization', 'Bearer Token Key
front-envoy_1  | 'user-agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>'
front-envoy_1  | 'content-type', 'application/grpc-web-text'
front-envoy_1  | 'accept', 'application/grpc-web-text'
front-envoy_1  | 'x-grpc-web', '1'
front-envoy_1  | 'sec-ch-ua-platform', '"Linux"'
front-envoy_1  | 'origin', 'http://localhost:8081'
front-envoy_1  | 'sec-fetch-site', 'same-site'
front-envoy_1  | 'sec-fetch-mode', 'cors'
front-envoy_1  | 'sec-fetch-dest', 'empty'
front-envoy_1  | 'referer', 'http://localhost:8081/'
front-envoy_1  | 'accept-encoding', 'gzip, deflate, br, zstd'
front-envoy_1  | 'accept-language', 'en-US,en;q=0.9'
front-envoy_1  |
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Accept-Encoding value=gzip, deflate, br, zstd
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:832] [C3] onHeadersCompleteBase
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:538] [C3] completed header: key=Accept-Language value=en-US,en;q=0.9
front-envoy_1  | [2024-08-14 08:30:04.512][35][trace][http] [source/common/http/http1/codec_impl.cc:1154] [C3] Server: onHeadersComplete size=20
front-envoy_1  | [2024-08-14 08:30:04.512][35][debug][http] [source/common/http/conn_manager_impl.cc:1118] [C3][S17641997070146285401] request headers complete (end_stream=false):
front-envoy_1  | ':authority', 'localhost:8080'
front-envoy_1  | ':path', '/android.emulation.control.EmulatorController/setGps'
front-envoy_1  | ':method', 'POST'
front-envoy_1  | 'connection', 'keep-alive'
front-envoy_1  | 'content-length', '32'
front-envoy_1  | 'sec-ch-ua', '"Not/A)Brand";v="8", "Chromium";v="126", "Microsoft Edge";v="126"'
front-envoy_1  | 'x-user-agent', 'grpc-web-javascript/0.1'
front-envoy_1  | 'dnt', '1'
front-envoy_1  | 'sec-ch-ua-mobile', '?0'
front-envoy_1  | 'authorization', 'Bearer Token Key
front-envoy_1  | 'user-agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>'
front-envoy_1  | 'content-type', 'application/grpc-web-text'
front-envoy_1  | 'accept', 'application/grpc-web-text'
front-envoy_1  | 'x-grpc-web', '1'
front-envoy_1  | 'sec-ch-ua-platform', '"Linux"'
front-envoy_1  | 'origin', 'http://localhost:8081'
front-envoy_1  | 'sec-fetch-site', 'same-site'
front-envoy_1  | 'sec-fetch-mode', 'cors'
front-envoy_1  | 'sec-fetch-dest', 'empty'
front-envoy_1  | 'referer', 'http://localhost:8081/'
front-envoy_1  | 'accept-encoding', 'gzip, deflate, br, zstd'
front-envoy_1  | 'accept-language', 'en-US,en;q=0.9'
front-envoy_1  |
front-envoy_1  | [2024-08-14 08:30:04.512][20][debug][connection] [./source/common/network/connection_impl.h:98] [C2] current connecting state: false
front-envoy_1  | [2024-08-14 08:30:04.512][18][debug][connection] [./source/common/network/connection_impl.h:98] [C4] current connecting state: false
front-envoy_1  | [2024-08-14 08:30:04.512][18][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:157] Called Filter : setDecoderFilterCallbacks
front-envoy_1  | [2024-08-14 08:30:04.512][20][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:157] Called Filter : setDecoderFilterCallbacks
front-envoy_1  | [2024-08-14 08:30:04.512][18][trace][http] [source/common/http/filter_manager.cc:539] [C4][S2570635307744907770] decode headers called: filter=envoy.filters.http.cors status=0
front-envoy_1  | [2024-08-14 08:30:04.512][20][trace][http] [source/common/http/filter_manager.cc:539] [C2][S11637866349265632894] decode headers called: filter=envoy.filters.http.cors status=0
front-envoy_1  | [2024-08-14 08:30:04.512][35][debug][connection] [./source/common/network/connection_impl.h:98] [C3] current connecting state: false
front-envoy_1  | [2024-08-14 08:30:04.513][35][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:157] Called Filter : setDecoderFilterCallbacks
front-envoy_1  | [2024-08-14 08:30:04.513][35][trace][http] [source/common/http/filter_manager.cc:539] [C3][S17641997070146285401] decode headers called: filter=envoy.filters.http.cors status=0
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:53] Called Filter : decodeHeaders
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:53] Called Filter : decodeHeaders
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/matcher.cc:71] Prefix requirement '/android.emulation.control' matched.
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/matcher.cc:71] Prefix requirement '/android.emulation.control' matched.
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/extractor.cc:254] extract authorizationBearer
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/extractor.cc:254] extract authorizationBearer
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:151] firebase_jwt: JWT authentication starts (allow_failed=false), tokens size=1
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:53] Called Filter : decodeHeaders
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/matcher.cc:71] Prefix requirement '/android.emulation.control' matched.
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:151] firebase_jwt: JWT authentication starts (allow_failed=false), tokens size=1
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:162] firebase_jwt: startVerify: tokens size 1
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:162] firebase_jwt: startVerify: tokens size 1
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:180] firebase_jwt: Parse Jwt Token Key
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/extractor.cc:254] extract authorizationBearer
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:151] firebase_jwt: JWT authentication starts (allow_failed=false), tokens size=1
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:162] firebase_jwt: startVerify: tokens size 1
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:180] firebase_jwt: Parse Jwt Token Key
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:180] firebase_jwt: Parse Jwt Token Key
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:191] firebase_jwt: Verifying JWT token of issuer https://securetoken.google.com/android-emulator-webrtc-demo
front-envoy_1  | [2024-08-14 08:30:04.559][18][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:27] JwksFetcherImpl
front-envoy_1  | [2024-08-14 08:30:04.559][18][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:41] fetch
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:191] firebase_jwt: Verifying JWT token of issuer https://securetoken.google.com/android-emulator-webrtc-demo
front-envoy_1  | [2024-08-14 08:30:04.559][20][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:27] JwksFetcherImpl
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:60] fetch pubkey from [uri =<EMAIL_ADDRESS>start
front-envoy_1  | [2024-08-14 08:30:04.559][20][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:41] fetch
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:60] fetch pubkey from [uri =<EMAIL_ADDRESS>start
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:191] firebase_jwt: Verifying JWT token of issuer https://securetoken.google.com/android-emulator-webrtc-demo
front-envoy_1  | [2024-08-14 08:30:04.559][35][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:27] JwksFetcherImpl
front-envoy_1  | [2024-08-14 08:30:04.559][35][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:41] fetch
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:60] fetch pubkey from [uri =<EMAIL_ADDRESS>start
front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][router] [source/common/router/router.cc:478] [C0][S16057124491607193691] cluster 'jwks_cluster' match for URL<EMAIL_ADDRESS>front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][router] [source/common/router/router.cc:478] [C0][S14024453313777140791] cluster 'jwks_cluster' match for URL<EMAIL_ADDRESS>front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][router] [source/common/router/router.cc:478] [C0][S7223455723905109520] cluster 'jwks_cluster' match for URL<EMAIL_ADDRESS>**front-envoy_1  | [2024-08-14 08:30:04.559][18][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:1659] no healthy host for HTTP connection pool
front-envoy_1  | [2024-08-14 08:30:04.559][20][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:1659] no healthy host for HTTP connection pool
front-envoy_1  | [2024-08-14 08:30:04.559][35][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:1659] no healthy host for HTTP connection pool
front-envoy_1  | [2024-08-14 08:30:04.560][35][debug][http] [source/common/http/async_client_impl.cc:123] async http request response headers (end_stream=false):
front-envoy_1  | ':status', '503'
front-envoy_1  | 'content-length', '19'
front-envoy_1  | 'content-type', 'text/plain'
front-envoy_1  |
front-envoy_1  | [2024-08-14 08:30:04.560][18][debug][http] [source/common/http/async_client_impl.cc:123] async http request response headers (end_stream=false):
front-envoy_1  | ':status', '503'
front-envoy_1  | 'content-length', '19'
front-envoy_1  | 'content-type', 'text/plain'
front-envoy_1  |
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][http] [source/common/http/async_client_impl.cc:123] async http request response headers (end_stream=false):
front-envoy_1  | ':status', '503'
front-envoy_1  | 'content-length', '19'
front-envoy_1  | 'content-type', 'text/plain'
front-envoy_1  |
front-envoy_1  | [2024-08-14 08:30:04.560][18][trace][http] [source/common/http/async_client_impl.cc:140] async http request response data (length=19 end_stream=true)
front-envoy_1  | [2024-08-14 08:30:04.560][20][trace][http] [source/common/http/async_client_impl.cc:140] async http request response data (length=19 end_stream=true)
front-envoy_1  | [2024-08-14 08:30:04.560][35][trace][http] [source/common/http/async_client_impl.cc:140] async http request response data (length=19 end_stream=true)
front-envoy_1  | [2024-08-14 08:30:04.560][18][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:80] onSuccess
front-envoy_1  | [2024-08-14 08:30:04.560][35][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:80] onSuccess
front-envoy_1  | [2024-08-14 08:30:04.560][35][debug][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:103] onSuccess: fetch pubkey [uri =<EMAIL_ADDRESS>response status code 503
front-envoy_1  | [2024-08-14 08:30:04.560][20][trace][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:80] onSuccess
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:103] onSuccess: fetch pubkey [uri =<EMAIL_ADDRESS>response status code 503
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:374] firebase_jwt: JWT token verification completed with: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:378] status is: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:109] Jwt authentication completed with: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][http] [source/common/http/filter_manager.cc:946] [C2][S11637866349265632894] Preparing local reply with details jwt_authn_access_denied{Jwks_remote_fetch_is_failed}
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:97] Called Filter : decodeHeaders Stop
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][http] [source/common/http/filter_manager.cc:988] [C2][S11637866349265632894] Executing sending local reply.
front-envoy_1  | [2024-08-14 08:30:04.560][20][trace][misc] [source/common/event/scaled_range_timer_manager_impl.cc:60] enableTimer called on 0x619beab2700 for 300000ms, min is 300000ms
front-envoy_1  | [2024-08-14 08:30:04.560][20][trace][http] [source/common/http/filter_manager.cc:1158] [C2][S11637866349265632894] encode headers called: filter=envoy.filters.http.grpc_web status=0
front-envoy_1  | [2024-08-14 08:30:04.560][20][trace][http] [source/common/http/filter_manager.cc:1158] [C2][S11637866349265632894] encode headers called: filter=envoy.filters.http.cors status=0
front-envoy_1  | [2024-08-14 08:30:04.560][35][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:374] firebase_jwt: JWT token verification completed with: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][18][debug][filter] [source/extensions/filters/http/common/jwks_fetcher.cc:103] onSuccess: fetch pubkey [uri =<EMAIL_ADDRESS>response status code 503
front-envoy_1  | [2024-08-14 08:30:04.560][35][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:378] status is: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][18][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:374] firebase_jwt: JWT token verification completed with: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][35][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:109] Jwt authentication completed with: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][18][debug][jwt] [source/extensions/filters/http/jwt_authn/authenticator.cc:378] status is: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][18][debug][jwt] [source/extensions/filters/http/jwt_authn/filter.cc:109] Jwt authentication completed with: Jwks remote fetch is failed
front-envoy_1  | [2024-08-14 08:30:04.560][35][debug][http] [source/common/http/filter_manager.cc:946] [C3][S17641997070146285401] Preparing local reply with details jwt_authn_access_denied{Jwks_remote_fetch_is_failed}
front-envoy_1  | [2024-08-14 08:30:04.560][20][debug][http] [source/common/http/conn_manager_impl.cc:1773] [C2][S11637866349265632894] encoding headers via codec (end_stream=false):
front-envoy_1  | ':status', '401'
front-envoy_1  | 'www-authenticate', 'Bearer realm="http://localhost:8080/android.emulation.control.EmulatorController/getStatus", error="invalid_token"'
front-envoy_1  | 'content-length', '27'
front-envoy_1  | 'content-type', 'text/plain'
front-envoy_1  | 'access-control-allow-origin', 'http://localhost:8081'
front-envoy_1  | 'access-control-expose-headers', 'custom-header-1,grpc-status,grpc-message'
front-envoy_1  | 'date', 'Wed, 14 Aug 2024 08:30:04 GMT'
front-envoy_1  | 'server', 'envoy'
front-envoy_1  | 'connection', 'close'

Seems that the issue is due to:
**front-envoy_1 | [2024-08-14 08:30:04.559][18][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:1659] no healthy host for HTTP connection pool
front-envoy_1 | [2024-08-14 08:30:04.559][20][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:1659] no healthy host for HTTP connection pool
front-envoy_1 | [2024-08-14 08:30:04.559][35][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:1659] no healthy host for HTTP connection pool

i.e., no healthy hosts for the cluster.
It highly depends on the details of your config and your environment.
I suggest starting with a basic Envoy config that works (proxies requests and responses) with some static cluster and assignments, and then complicate it if needed.

@adisuissa thank you for the reply.
Currently I am using envoy.yaml file.
https://github.com/google/android-emulator-container-scripts/tree/master/js/docker
Please suggest what changes should I do.
Still we are not able to solve this issue.
Please help and support 🙏


Drop support for Python 2.6 and Python 3.3

Similar to https://github.com/davidhalter/jedi/issues/1016
Dropping support for EOL versions of Python.
Google BigQuery result for all history downloads by python version:
$ pypinfo --percent future pyversion

| python_version | percent | download_count |
| -------------- | ------- | -------------- |
| 3.7            |  42.61% |      8,388,003 |
| 3.6            |  21.85% |      4,302,198 |
| 2.7            |  14.68% |      2,889,720 |
| 3.8            |  12.53% |      2,467,021 |
| 3.5            |   7.18% |      1,414,377 |
| 3.9            |   1.00% |        197,807 |
| 3.4            |   0.13% |         26,235 |
| 2.6            |   0.00% |            893 |
| 3.10           |   0.00% |            433 |
| 3.3            |   0.00% |             15 |
| Total          |         |     19,686,702 |

You can see that 2.6 and 3.3 are both ~0.0%, so it should be safe to drop. Worst case if anyone wants to use future for Python 2.6 and Python 3.3, they can always use an older version of future.
Python 2.6 is blocking us from moving to Github Action, since Github's https://github.com/actions/setup-python does not support Python 2.6 anymore (see full list).

We are a version compatibility layer, we should aim as much as is reasonable to cover the versions we can.  This is not a compelling enough reason to drop py26/py33 in my opinion.  It is better to change our CI system than it is to drop py26 and py33.

We are a version compatibility layer, we should aim as much as is reasonable to cover the versions we can.

That is true. As you can see, all history downloads of 2.6 and 3.3 are pretty tiny compared to other versions. I was trying to see if there is any downloads of python 2.6 and 3.3 after 2019 by
pypinfo --start-date 2019-01-01 future pyversion, but BigQuery is giving me Quota exceeded error.
Anyway the downstream can still use future with EOL'd python by pinning to an old version, e.g. future==0.18.2, so strictly speaking there is a work-around. As the Python community has moved on to Python 3 (dropping Python 2.7), I feel as an upstream library we should also move on by at least dropping Python 2.6 support on the main branch.

No.  We are not a typical upstream library.  We should not drop support for python versions unless there's a compelling reason to do so.  I see no such reason.


Add [Get,Set][Window,Class]LongPtr[A,W] for x86

The *LongPtr* functions are #defined to *Long* for non-_WIN64 builds but defining them within winapi would introduce a dependency to user32-sys so I put them into the import lib which is non-canonical ... Nasty one way or the other.

At the moment I'm avoiding aliases for functions, although I may think about it sometime later down the road.

They're part of the API though. Would you prefer fitting all the aliases in a separate crate ?

There's also the matter of the aliases based on UNICODE, aliases based on which version of Windows you're targeting. Quite a few unanswered questions about how they should be handled, so I'm putting it off for now. Since without aliases you can still use all the functions, although you might need to use cfg a bit, it's not a pressing issue.

Sure, no hurry. I was just wondering if you had any plan.


Hochmeister's data files from issue #304.

New files by Hochmeister except I replaced the national focus files of the Death Or Dishonor countries with empty files. Tested with one conversion.

I know I have the right to merge now, but perhaps you also want to check?

I'd prefer if this were broken down into smaller commits/pulls for better review. Some of it (like names) looks just fine and can be pulled in. Other parts of it (like province mappings) are clearly based on out of date files and need more time in review.


Remove restriction

Remove restriction of length of seq(=7)

Before pass input to the Encoder or Decoder (def controller_train / controller_infer / generate_synthetic_controller_data):

sort seqs by length of seq in one batch.

Decoder:

pack_padded_sequence before rnn : make rnn ignore the inputs outside the length of the seq.
pad_packed_seqeunce after rnn : restore original shape.
pass mask to attention model : Because the length of seqs can be different each other in one batch, use mask to ignore out-of-length.

Encoder:

pack_padded_sequence before rnn :  make rnn ignore the inputs outside the length of the seq.
pad_packed_seqeunce after rnn : restore original shape

DataLoader:

add 'input_len' (list of length of seqs in one batch) -> pass to the encoder / decoder

compatible with our nasbench api

Checked that the loss is reducing.
Checked that the final results include seq with length 6.


Consider enabling go-critic

Context
https://github.com/celestiaorg/celestia-app/issues/2987
Proposal
If go-critic is enabled in celestia-app, we may consider enabling it in this repo.

Ahahdhd

https://github.com/celestiaorg/celestia-app/pull/3000 was merged so we should do this here too.


Add support for ref storage

The current implementation of Repository doesn't provide a way to persist branch, remote, and tag references to storage. I've been thinking about the best way to do this, and here is my proposal:

Add a core.RefStorage interface with the necessary methods (the interface should be fairly simple)
Add a core.Storage struct that composes both ObjectStorage and RefStorage
Add a memory.RefStorage struct that implements core.RefStorage, along with a memory.NewRefStorage function
Add a memory.NewStorage function
Modify Repository to include a core.Storage interface instead of core.ObjectStorage

The definition of core.Storage would be something like this:
type Storage struct {
	Object ObjectStorage
	Ref    RefStorage
}

If this approach seems reasonable, I'll go ahead and put together a pull request.

The references are something relative to the remote so the tags and branches can be retrieved from the Remote object: https://godoc.org/gopkg.in/src-d/go-git.v2#Remote.Ref
Do you thing that this is not enough?

It's true that we can always ask the remote server for its refs via the fetch protocol, but right now we don't know what refs already exist locally because none of that information can be saved through the storage API.
For example, knowing what commit the local refs/heads/master was at the last time we pulled would let us ask the server for the diff later by specifying what we already have. As it is right now I think we have to pull the entire remote branch every time, even if we already have 95% of the remote's objects already in local storage.
Personally, I would like the filesystem storage implementation to read and write to .git/refs, with support at least for heads and probably tags too. This would let me use go-git to update existing repositories efficiently and drop lightweight tags with the pull date, for example.
The traditional git implementation also keeps track of the remote refs and stores them in .git/refs/remotes. I'm not entirely sure of the benefit and I agree that it's less important, but I'd be tempted to implement that as well just for feature parity.

I see, the problem. Then we need to implement a new GitUploadPackService base on FileSystem and adding it as remote (the local one), instead of create a new Type. What do you thing?

@JoshuaSjoding we ended implementing a ReferenceStorage you were right is the correct approach, my previous approach was a bad idea. We have a lot of work going on in the v4 branch


[Resources] Add new API version

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.

adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@raych1 PR is ready for review. Could you add WaitForARMFeedback label?
Avocado is complaining about examples files not being referenced from the swagger but they are - could you look at this?

@filizt , avocado failures is caused by the example files are not referenced in the swagger spec. If the example files are not used, please remove them.

@Ray Chen examples files are used and they are being referenced from the swagger. I am not sure why there are errors. Could you help with that?

In reply to: 637354911 [](ancestors = 637354911)

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@ChenTanyi , can you pls have a look at SDK java failures? Is there any incorrection in readme.java.md?

      "description": "Denotes the state of the provisioning. Individual resource providers can add more specific states.",

this isn't accurate in this situation.  This is the provisioningState of the deployment.  Microsoft.Resources should have control over all the possible Microsoft.Resources/deployments provisioningStates

Refers to: specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json:4648 in 92d5c49. [](commit_id = 92d5c49cf14f454c3d845fb714683eccaf775105, deletion_comment = False)

    },

should add a new example or two showing how id and relateivePath are used in template spec scenarios

Refers to: specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json:4233 in 92d5c49. [](commit_id = 92d5c49cf14f454c3d845fb714683eccaf775105, deletion_comment = False)

    },

Gokul do you mind adding examples scenarios with id and relativePath properties in Template Specs?

In reply to: 639167519 [](ancestors = 639167519)

Refers to: specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json:4233 in 92d5c49. [](commit_id = 92d5c49cf14f454c3d845fb714683eccaf775105, deletion_comment = False)

      "description": "Denotes the state of the provisioning. Individual resource providers can add more specific states.",

There was a confusion over the resource provisioning state vs deployment provisioning state. Updated now.

In reply to: 639166394 [](ancestors = 639166394)

Refers to: specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json:4648 in 92d5c49. [](commit_id = 92d5c49cf14f454c3d845fb714683eccaf775105, deletion_comment = False)

/azp run automation - sdk

/azp run automation - sdk

    },

@Xynoclafe do you mind adding example Template Specs scenarios with id and relativePath properties?
In reply to: 639167519 [](ancestors = 639167519)
Refers to: specification/resources/resource-manager/Microsoft.Resources/stable/2020-06-01/resources.json:4233 in 92d5c49. [](commit_id = 92d5c49, deletion_comment = False)

Added a couple of examples for TemplateSpecs.

/azp run automation - sdk

/azp run automation - sdk


x/mobile/cmd/gomobile: support '-s' option in gomobile install command

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

go version go1.6 linux/amd64

What operating system and processor architecture are you using (go env)?

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr/local/google/home/youngseokyoon/go:/usr/local/google/home/youngseokyoon/Programming/vanadium/release/go:/usr/local/google/home/youngseokyoon/Programming/vanadium/release/projects/go"
GORACE=""
GOROOT="/usr/lib/google-golang"
GOTOOLDIR="/usr/lib/google-golang/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT="1"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -gno-record-gcc-switches -fdebug-prefix-map=/tmp/go-build010600656=/tmp/go-build"
CXX="g++"
CGO_ENABLED="1"

What did you do?

After running go get -d golang.org/x/mobile/example/basic, tried gomobile install golang.org/x/mobile/example/basic while multiple devices are connected at the same time.
$ gomobile install golang.org/x/mobile/example/basic
error: more than one device/emulator
- waiting for device -
error: more than one device/emulator
- waiting for device -
error: more than one device/emulator
- waiting for device -
error: more than one device/emulator
- waiting for device -
error: more than one device/emulator
- waiting for device -
(these two lines appear indefinitely...)

What did you expect to see?

I expected that there would be a command line flag for specifying a device serial number in gomobile install. For example, providing an optional -s <serial number> flag as in adb would be sufficient:
gomobile install -s <serial number> golang.org/x/mobile/example/basic

Please see: http://developer.android.com/tools/help/adb.html#directingcommands
We are experimenting with some multi-device mobile apps (i.e. same app running on multiple devices simultaneously) built with gomobile, and this limitation of gomobile install command significantly slows down our implement/test cycle.

What did you see instead?

gomobile install expects that there is only a single device connected. The command runs indefinitely until there is only one active device.

/cc @crawshaw @hyangah

This was on my radar before I got busy with other things, though I was only looking at adb -d and adb -e flags for one-off convenience.
As I understand it, right now gomobile install only deals with android, but that may not be the case in the future given the implicit -target=android? In that case, polluting the accepted args with adb specific flags seems not great.
@yyoon your actual use case should be addressable without any change using the env var ANDROID_SERIAL. For example, I just tested this and it works ok while also having a hardware device connected:
ANDROID_SERIAL=emulator-5554 gomobile install

As far as slowing down the build/test cycle, it looks like gomobile install always performs a build so you'd actually want to do something like
gomobile build
adb install -s <id0> -r app.apk
adb install -s <id1> -r app.apk
...

instead of calling gomobile install multiple times.

Ah, I see. Thanks for the response. I like your second suggestion of doing build and install separately.
I'll close this issue.


Update GitHub Actions docs and examples

With the deprecation of GitHub Action's support for HCL, we'll need to update our examples to use YAML rather than HCL:

[ ] GitHub Actions docs
[ ] GitHub Actions blog post
[ ] pulumi/actions workflow example

Looks like support for HCL will be dropped Sept. 30.

Looks like before we can use the new syntax in the pulumi org, we'll need to wait for GitHub enable the new syntax on our account:

If you participated in the limited public beta and created workflows with the HCL syntax GitHub Actions, you will need to upgrade to the new limited public beta that uses YAML syntax. When your repository is eligible to upgrade, you'll see an invitation in your repository. You must accept the invitation before you can use the new limited public beta.

we'll need to wait for GitHub enable the new syntax on our account

I just did this for my own repo. It was nearly instantaneous, fwiw.


Scrambled Strings

Description
Its a classical DP problem.

I want to work on it.

hey @ricky1812 assigning to you.


Seeking suggestions on customizing, "making it mine"

A great way to create a fully functional nvim! What would be my options, and your suggestions, on best ways to customize for my preferences?
I have [re]configured nvim several times, more recently to go mostly all Lua, and most recently to move to Lazy, so I know how to do that, and I know I could copy the configs from the LazyVim directory as a starting point, but not sure if I want to get future updates to LazyVim or not, and how to deal with possible conflicts with my customizations.

Please read the LAzyVim docs. You are not supposed to clone and merge updates from LAzyVim. It's just a plugin.


fixes #706

FMs do not support string chaining and templates or I'm missing something ??? :confused:

I guess it is version dependent


Make a default route.

Hi, Good Evening.
I Was writing a small program that rewrites some urls using redwire, but I need to allow the user to access the internet while using the proxy.
Any ideas??
Thank you,
Gabriel

Hi @GeARCraft1
I recently added a wildcard match (*) in commit 649cdab061e43b1f6ad064351d12cf3472dbdd87
This is matched last so something like the following should be possible:
var RedWire = require('redwire');
var redwire = new RedWire({ http: { port: 8080 } });
redwire
  .http('test.com')
  .use(redwire.setHost('example.com'))
  .use(redwire.proxy('example.com'));

url_parse = require('url').parse;
redwire
  .http('*')
  .use(function(mount, url, req, res, next) {
    var pieces = url_parse(url);
    req.target = pieces.protocol + "//" + pieces.host;
    redwire.setHost(pieces.host).apply(this, arguments);
  })
  .use(redwire.proxy());

Hope that helps.


sync with english README.md

@detailyang What's up?

just keep sync with your master branch README.md:)

Yeah, why did you close it?

nope, i did not  close it :(

I am not sure what happened here.

Can you fix the conflicts and push again?

okay , let me try

hey, this PR is merged to branch 1.5.0. So i will close this PR and send a PR to master again


[RDBMS] remove preview tag

Description

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

RDBMS

/azp run


Cannot read property 'longitude' of undefined

i am installing react-native-maps-super-cluster and put this code in my component
<ClusteredMapView
style={{ flex: 1 }}
data={[ {latitude: 41.8962667,longitude: 11.3340056 }]}
initialRegion={INIT_REGION}
ref={component => { this._map = component; }}
renderMarker={this.renderMarker}
renderCluster={this.renderCluster} />
but when i run the project i am get this error :
Cannot read property 'longitude' of undefined
how can i fix it ?

@39otrebla does it have to be "location",  can it be anything else? Say "coordinates"?

@PurnimaNaik yes, for now. We have planned to add a prop, something like locationAccessor: string which would solve this problem, but it has not been implemented yet. Stay tuned for updates.


False Indextation when use GetSubStructMatches()

Describe the bug
False Indextation when use GetSubStructMatches(), I don't understand the index 7 ?
To Reproduce
from rdkit.Chem import *
mol = AddHs(MolFromSmiles('CC=CC'))
env = FindAtomEnvironmentOfRadiusN(mol, radius=2, rootedAtAtom=3, useHs=True)
print(list(env))
map = {}
submol = PathToSubmol(mol, path=env, atomMap=map)
print(Chem.MolToSmiles(submol))
print(map)
print(submol.GetNumAtoms())
a = mol.GetSubstructMatches(submol, uniquify=True)
print('MOL IDX: ', a[0])
print('Radical: ', a[1])

from rdkit.Chem.Draw.rdMolDraw2D import MolDraw2DCairo
d = MolDraw2DCairo(1200, 900)
d.drawOptions().addAtomIndices = True
d.DrawMolecule(mol)
d.FinishDrawing()
d.WriteDrawingText('atom_annotation_1.png')
d.ClearDrawing()
d.DrawMolecule(submol)
d.FinishDrawing()
d.WriteDrawingText('atom_annotation_2.png')

Expected behavior
Real Result:
MOL IDX:  (1, 2, 3, 8, 9, 10, 11)
Radical:  (2, 1, 0, 7, 4, 5, 6)

Expected:
MOL IDX:  (1, 2, 3, 8, 9, 10, 11)
Radical:  (0, 1, 2, 3, 5, 4, 6)

Configuration (please complete the following information):

RDKit version: 2020.09.1
OS: [e.g. Ubuntu 20.04]: Windows 10
Python version (if relevant): 3.7.9
Are you using conda? Yes

Assuming that I've understood your question correctly, this is happening because the atom numbering returned by PathToSubmol is different from the atom number in the original molecule.
If you want to, you can keep track of the original atom indices using atomic properties. Here's an example of how to do that and how to get the indices of the original atoms from a substructure search:
>>> m = Chem.MolFromSmiles('CCOCC')
>>> for atom in m.GetAtoms():
...     atom.SetIntProp("_atidx",atom.GetIdx())
...
>>> submol = Chem.PathToSubmol(m,[1,2])
>>> submol.GetAtomWithIdx(0).GetPropsAsDict()
{'__computedProps': <rdkit.rdBase._vectNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE object at 0x7effa7691db0>, '_atidx': 1}
>>> match = Chem.GetSubstructMatch(submol,Chem.MolFromSmarts('CO'))
Traceback (most recent call last):
  File "<ipython-input-28-822ccbed4181>", line 1, in <module>
    match = Chem.GetSubstructMatch(submol,Chem.MolFromSmarts('CO'))
AttributeError: module 'rdkit.Chem' has no attribute 'GetSubstructMatch'

>>> match = submol.GetSubstructMatch(Chem.MolFromSmarts('CO'))
>>> list(match)
[0, 1]
>>> originalIndices = [submol.GetAtomWithIdx(x).GetIntProp('_atidx') for x in match]
>>> originalIndices
[1, 2]

Assuming that I've understood your question correctly, this is happening because the atom numbering returned by PathToSubmol is different from the atom number in the original molecule.
If you want to, you can keep track of the original atom indices using atomic properties. Here's an example of how to do that and how to get the indices of the original atoms from a substructure search:
>>> m = Chem.MolFromSmiles('CCOCC')
>>> for atom in m.GetAtoms():
...     atom.SetIntProp("_atidx",atom.GetIdx())
...
>>> submol = Chem.PathToSubmol(m,[1,2])
>>> submol.GetAtomWithIdx(0).GetPropsAsDict()
{'__computedProps': <rdkit.rdBase._vectNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE object at 0x7effa7691db0>, '_atidx': 1}
>>> match = Chem.GetSubstructMatch(submol,Chem.MolFromSmarts('CO'))
Traceback (most recent call last):
  File "<ipython-input-28-822ccbed4181>", line 1, in <module>
    match = Chem.GetSubstructMatch(submol,Chem.MolFromSmarts('CO'))
AttributeError: module 'rdkit.Chem' has no attribute 'GetSubstructMatch'

>>> match = submol.GetSubstructMatch(Chem.MolFromSmarts('CO'))
>>> list(match)
[0, 1]
>>> originalIndices = [submol.GetAtomWithIdx(x).GetIntProp('_atidx') for x in match]
>>> originalIndices
[1, 2]

Assuming that I've understood your question correctly, this is happening because the atom numbering returned by PathToSubmol is different from the atom number in the original molecule.
If you want to, you can keep track of the original atom indices using atomic properties. Here's an example of how to do that and how to get the indices of the original atoms from a substructure search:
>>> m = Chem.MolFromSmiles('CCOCC')
>>> for atom in m.GetAtoms():
...     atom.SetIntProp("_atidx",atom.GetIdx())
...
>>> submol = Chem.PathToSubmol(m,[1,2])
>>> submol.GetAtomWithIdx(0).GetPropsAsDict()
{'__computedProps': <rdkit.rdBase._vectNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE object at 0x7effa7691db0>, '_atidx': 1}
>>> match = submol.GetSubstructMatch(Chem.MolFromSmarts('CO'))
>>> list(match)
[0, 1]
>>> originalIndices = [submol.GetAtomWithIdx(x).GetIntProp('_atidx') for x in match]
>>> originalIndices
[1, 2]

I agree. Due to the RDKit documentation, receiving the original indices due to this implementation is a hardcore. I believe using atomMap hyper-parameters would be a easier step

Assuming that I've understood your question correctly, this is happening because the atom numbering returned by PathToSubmol is different from the atom number in the original molecule.
If you want to, you can keep track of the original atom indices using atomic properties. Here's an example of how to do that and how to get the indices of the original atoms from a substructure search:
>>> m = Chem.MolFromSmiles('CCOCC')
>>> for atom in m.GetAtoms():
...     atom.SetIntProp("_atidx",atom.GetIdx())
...
>>> submol = Chem.PathToSubmol(m,[1,2])
>>> submol.GetAtomWithIdx(0).GetPropsAsDict()
{'__computedProps': <rdkit.rdBase._vectNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE object at 0x7effa7691db0>, '_atidx': 1}
>>> match = submol.GetSubstructMatch(Chem.MolFromSmarts('CO'))
>>> list(match)
[0, 1]
>>> originalIndices = [submol.GetAtomWithIdx(x).GetIntProp('_atidx') for x in match]
>>> originalIndices
[1, 2]

I agree. Due to the RDKit documentation, receiving the original indices due to this implementation is a hardcore. I believe using atomMap hyper-parameters would be a easier step


The illustration text needs to be updated to reflect Entra ID

The illustration under Solution Architecture contains the test, Azure AD in multiple places. It should be updated to reflect the new branding, Entra ID
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 90fd487d-65b9-917b-4687-650b34dc4d81
Version Independent ID: 27a18d45-66ab-bc71-d928-93f93fb190dd
Content: Tutorial: Configure SuccessFactors inbound provisioning in AD and Microsoft Entra ID - Microsoft Entra
Content Source: articles/active-directory/saas-apps/sap-successfactors-inbound-provisioning-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @cmmdesai
Microsoft Alias: chmutali

@mlibenocg
Thanks for your feedback! We will investigate and update as appropriate.

@cmmdesai
Can you please check and add your comments on this doc update request as applicable.

@mlibenocg
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly.

All instances of Azure AD updated to Entra ID.

#please-close


[42] nlohmann replaces all invocations of jansson (main)

just following along - in general, we never have merge branches... only rebases.   to keep history clean/readable.

just following along - in general, we never have merge branches... only rebases. to keep history clean/readable.

Oh no, I'm sorry. I was just trying to make the angry red go away. Currently unmerging.

just be careful not to lose your work

just be careful not to lose your work

Looks like the damage is repaired?

I see two commits - but there are still conflicts.

Alright, getting a little humbler about rebasing. Solution that springs to mind after thinking about it: git pull --rebase irods/main while on phdavis1027/change-to-nlohmann?

I think the approach will be...
# make sure your local main is current
git checkout main
git pull
# get back onto your branch with new work
git checkout change-to-nlohmann
# rebase, interactively, so you can see what is happening...
git rebase -i main

This will take you through a series of editor views and allow you to manipulate the commit stream 'on top' of the main branch.
If you're not confident... make another branch to play/experiment with first...
git checkout change-to-nlohmann
git checkout -b my-test-rebase-branch
git rebase -i main

Wondering if it might be worth adding a signal to the audit log message that indicates whether a field could not be parsed and had to stored as binary, and if so which ones.

can't think of a downside, other than extra log messages... could make it 'debug', if it is too noisy...

Wondering if it might be worth adding a signal to the audit log message that indicates whether a field could not be parsed and had to stored as binary, and if so which ones.

can't think of a downside, other than extra log messages... could make it 'debug', if it is too noisy...

What log category would that be logged under, rule_engine?
Maybe audit introduces its own log category. Doing that would mean other plugins could follow suit. This would also allow admins to isolate messages produced by a specific plugin. Of course, this only applies to the 4-3-stable branch. The 4-2-stable branch would only be able to use rodsLog().
Aside from that, I do think it could be beneficial to capture that information and allow admins to view it if they choose to.

Wondering if it might be worth adding a signal to the audit log message that indicates whether a field could not be parsed and had to stored as binary, and if so which ones.

can't think of a downside, other than extra log messages... could make it 'debug', if it is too noisy...

What log category would that be logged under, rule_engine?
Maybe audit introduces its own log category. Doing that would mean other plugins could follow suit. This would also allow admins to isolate messages produced by a specific plugin. Of course, this only applies to the 4-3-stable branch. The 4-2-stable branch would only be able to use rodsLog().
Aside from that, I do think it could be beneficial to capture that information and allow admins to view it if they choose to.

Maybe just include something in the JSON object for now and then introduce plugin logging namespaces in subsequent changes?

On further review, I think that for some reason the build/test script I've been using can't find some .so files that the qpid-cpp includes require but that the C API doesn't. Specifically, ldd says that:
-libqpid-proton-proactor.so.1
-libqpid-proton-core.so.10
are missing, even after modifying CMakeLists to link against them.

Hmm... we may need to modify the qpid-proton external to include these things if it's not doing that already. Can you see if you can find those objects in /opt/irods-externals under the qpid-proton lib files?

Hmm... we may need to modify the qpid-proton external to include these things if it's not doing that already. Can you see if you can find those objects in /opt/irods-externals under the qpid-proton lib files?

Indeed they seem to be there, at least in the container leaked after running tests.

Gotcha. We may need to have a look at the CMakeLists edits, then. They don't appear to be part of this branch (yet)

Gotcha. We may need to have a look at the CMakeLists edits, then. They don't appear to be part of this branch (yet)

Should be there now

build/test script I've been using can't find some .so files

it's now happy?

build/test script I've been using can't find some .so files

it's now happy?

Running another attempt in case something I'm totally unaware of is different, but last time it didn't work

build/test script I've been using can't find some .so files

it's now happy?

Can now confirm that it is still unhappy.

please share here or 'live' the particular flavor of unhappy.

Below is the log message -- there are a couple of copies of it.
{"log_category":"legacy","log_facility":"local0","log_level":"error","log_message":"[-]\t/irods_source/server/re/include/irods/irods_re_plugin.hpp:398:auto irods::rule_engine_manager<std::tuple<>, RuleExecI      nfo *>::rule_engine_manager(rule_engine_plugin_manager<std::tuple<>> &, std::vector<re_pack_inp<tuple<>>> &, microservice_manager<RuleExecInfo *> &)::(anonymous class)::operator()(re_pack_inp<T> &) const [T       = std::tuple<>, C = RuleExecInfo *] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror      : is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\t[-]\t/irods_source/server/re/include/irods/irods_re_plugin.hpp:412:irods::error irods::rule_engine_manager<s      td::tuple<>, RuleExecInfo *>::init_rule_engine(re_pack_inp<T> &) [T = std::tuple<>, C = RuleExecInfo *] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugin      s/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libqpid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\t\t[-]\t/irods_source/lib/core/include/ir      ods/irods_load_plugin.hpp:176:irods::error irods::load_plugin(PluginType *&, const std::string &, const std::string &, const std::string &, const Ts &...) [PluginType = irods::pluggable_rule_engine<std::tupl      e<>>, Ts = <std::string>] :  status [PLUGIN_ERROR]  errno [] -- message [failed to open shared object file [/usr/lib/irods/plugins/rule_engines/libirods_rule_engine_plugin-audit_amqp.so] :: dlerror: is [libq      pid-proton-proactor.so.1: cannot open shared object file: No such file or directory]]\n\n","server_host":"768a6277f223","server_pid":22961,"server_timestamp":"2022-07-27T18:40:02.707Z","server_type":"agent"}


Transferring KC3改 Repository Ownership

I recently made this GitHub organization:
https://github.com/KC3Kai
I will start inviting people there to join, if you haven't been invited yet, no worries I have not added everyone yet since the GitHub username auto-complete is messing with me right now.
I made 3 teams:

Translators - read-write
Developers - read-write
Testers - read-only (though I'd like to know if github has any feature for allowing rewrite access to issue tracker, right now iirc they can only create, not manage)

If you're not yet invited, comment here and tell which team you'd like to belong to.
The advantages to developers is that you no longer need to create a pull request to be able to push onto the main repo. Since the repo is owned by the organization, and everyone is a part of the organization, you have direct write-access.
We can also "assign" everyone to issue tracker. Previously we weren't able to do so and can only assign direct collaborators.
This is the same for translators, technically, there's no difference in access between developers and translators, and is only for the name.
Now, my problem is, transferring the repository.
Has anyone tried this on GitHub before?
I read their guide, but if someone here has experience on it, I'd like some tips XD
last note: everyone has to update their local git remotes when we do transfer

@dragonjet if you want I can also help do some invitations. I actually am for this idea considering how the setup we have here is kind of mixed balls to say the least :laughing:

@dragonjet regarding us the Reporters, will we be included in, or not?

@ethrundr I believe for now reporters will be categorised as testers which is pretty much the same thing personally. :smile:

ah that's true, @ethrundr you should actually be under testers since you're on dev build xD

I'd like to be added to Testers.  Well, reporters, but testers once I figure out how to install dev build.  Hopefully once the academic year gets started up I might be able to start contributing to the code base.

https://github.com/dragonjet/KC3Kai/wiki/Setup-development-build actually explain how setup the dev build decently. I personally recommend git cloning if you know how to set it up since that is the easiest way to keep the files up to date.

@bcc32 what @NicolaosGreene said I agree. The ZIP "builds" lacks concurrent versioning system and if you are using that you need to also be aware of the fact that you cannot update that copy as it lacks an important file: ".git". Besides, there are plenty of other quirks in-store once you choose to use the actual git method rather than going for zipped builds such as the ability to "rewind back" changes and troubleshoot/tracking down issues more easily.

I think this new group management system has no any problem in the joining for any current members.
For newer incoming members, might need new invitations both here and new settled org before having new repos as usual.

@NicolaosGreene Weird.  Looks like the Wiki main page doesn't have a link to the development build setup but the sidebar outline does.  The only thing I needed was instructions for loading into Chrome since I've never done Chrome development before.  Git is a wonderful thing.

Hmm, so I'll be invited as a tester, huh?
One thing I have recently found out is the method to backup and migrate from webstore version to developer version. I'll be writing it up and wanted to included in this wiki entry. I'll be posting it here tomorrow at the earliest.

@LostLogia4 congratz. There is no difference in facebook KC fan groups though :joy:
btw, I'm looking forward to new house. Have you decided when you will move the repo there? @dragonjet

@bamboo3250 Best part about this that it costs me less than a fifth of what you spent for E7. Lucky win is a win I guess.

@LostLogia4 just keep calm about that XD fortunately, my group is kinda softer about that, so I can brag about my clearing there~
looking forward to the new place~

@ethrundr Good for you, since I'd rather be the last to brag, even if I am probably the first to get a touch to the shining moon in the group. Two of my friend are doing it on Normal and Hard respectively, with far less resources than I do, while another one simply don't have the resources to pull it off just yet.

@LostLogia4 That was great. Now I regret depending too much on RNG without trying various composition and equipment. That resulted in a huge loss in resources when making the same mistake repeatedly as you can see. I know I could have done better than that. However, on the bright side, E7 was where I said goodbye to my single marital status with Kongou, Fusou and Yamashiro. So those lost was not that bad after all :blush:

E8 (in this season) is really harder than the E7. Even doing in Easy, E7 is still not a favorite choice for farming new ships... :no_good:

@bamboo3250 Hot sure how you did it but I simply sent out the fleet that I thought would have the best chance to reach the boss and defeat it and basically pray to RNG.
Also, I'll be posting the first two aria for my kekkon kakkamori soon. Look forward to it.

@nicky008 well not for me though... I'm doing E8 on E4 for that "Sea Wind" XD

I just got to E6 myself but thats because I'm terrible at stockpiling fuel, E5 was a breath of fresh air after E4 though, I had over 5 runs on the last kill where she ended sub 20 but didn't die.

E4 and E5 is really a breather in these event, between the early and late combined-fleet maps....
having a fun resource-hoarding session during E5, using Akitsushima, then retreat on the preboss node XD

Actually E-3 was easy for me, cleared with only 1 extra run, I did over 50 runs to clear E-4, RNG hated me on it

The only map that makes my sortie count exceed 1 page in the history is E6...
I can manage to clear the rest with 20 runs or less.... Maybe just my luck this time, or due to I do this in easy or medium difficulty XD

Ah, I've been doing it in hard which has been "fun"

That "fun" XD
I'd like to do hard as well, but having a resource shortage even before event start forces me to reconsider....

ah let's do the transfer on the event ending maintenance on sept 2

Could I request an invitation to a group as a tester I just realized I forgot to say that ><

I'd like to have it too, if the testers team already up~

Took a little while, but I've setup my own Twitch account for the virtual marriage with my waifu to-be.
GitHub
The first two aria is available here.

oh and since the game moved maintenance, let's also move the transfer to sept 7 xD

Not sure where best to ask this after going through the issues page so just decided on this thread..If I'd like to contribute to kc3kai code wise, would I have to be invited to the developer team or should I just fork the repo and submit a pull request?

for now you can fork it, and create pull requests, once you've contributed a few enhancements or features, I'll send an invite for the dev team so you can push directly onto repo.
Though right now we haven't transferred yet, so everyone's still on a fork

I'll go ahead and transfer it now.
If you haven't been added to the organization yet, comment here, and put the team you'll be in

@dragonjet  BTW, lilttle bit curious regarding the Testers team,
With current rights, are we able, or not able, to set the label ourselves on the issue?
If we supposed to be able to do so, I'd need to find it out how, since it seems I still can't do it now
But if we are not able to, then fine.

right now the testers team can manage labels and assignments of issues, and even be assigned to it as well, even self-assign. afaik - is what the settings are, but I can't test it.
for those already in team, can already request addition to translation team without the initial requirements specific on kc3-translations readme

@dragonjet hmm....
as far as I see, I only can post new, reply and editing my own issues.
still can't (or least, still not figured how to do so) to add labels and assign other person

ah i think i know, the testers team do not have write access


Lack of consideration of number of lanes on highway portions lead to bad snapping in Map Matching

Describe the bug
When the route is a highway with a large number of lanes, the points are not snapped on the correct road when the gps_accuracy is set to low values such as 15m.
Because OSM places the way roughly in the the middle of the actual multi lane road, points sometimes are not snapped on certain portions because GH doesn't take into account the number of lanes and hence the width of that road portion. And this can lead to broken sequences.

Expected behavior
The A709 at the toll gate is per OSM 16 lanes wide, taking that into account would allow to estimate the road width and therefore snap the point on the right road.
Screenshots & Logs
Here is a screenshot illustrating the problem.

Here is the GeoJSON to visualize the whole trace.
{
  "type": "FeatureCollection",
  "features": [
    {
      "geometry": {
        "coordinates": [
          [
            4.184227,
            43.721306
          ],
          [
            4.18788,
            43.720568
          ],
          [
            4.185489,
            43.71824
          ],
          [
            4.182647,
            43.719211
          ],
          [
            4.181233,
            43.722984
          ],
          [
            4.178854,
            43.7271
          ],
          [
            4.17784,
            43.725938
          ],
          [
            4.166303,
            43.724527
          ],
          [
            4.152779,
            43.723713
          ],
          [
            4.139979,
            43.718289
          ],
          [
            4.128741,
            43.711378
          ],
          [
            4.11787,
            43.703952
          ],
          [
            4.105938,
            43.697838
          ],
          [
            4.091381,
            43.696463
          ],
          [
            4.078532,
            43.693038
          ],
          [
            4.064086,
            43.689549
          ],
          [
            4.050633,
            43.685674
          ],
          [
            4.039123,
            43.680044
          ],
          [
            4.027966,
            43.676542
          ],
          [
            4.017615,
            43.6734
          ],
          [
            4.012574,
            43.670977
          ],
          [
            4.007261,
            43.667274
          ],
          [
            3.999848,
            43.660308
          ],
          [
            3.992237,
            43.654508
          ],
          [
            3.983621,
            43.649127
          ],
          [
            3.975417,
            43.643613
          ],
          [
            3.970534,
            43.635884
          ],
          [
            3.96602,
            43.629002
          ],
          [
            3.957618,
            43.622552
          ],
          [
            3.949381,
            43.617921
          ],
          [
            3.943628,
            43.614101
          ],
          [
            3.938432,
            43.610197
          ],
          [
            3.933911,
            43.608027
          ],
          [
            3.931097,
            43.607977
          ],
          [
            3.927109,
            43.608365
          ],
          [
            3.924824,
            43.607348
          ],
          [
            3.92236,
            43.606642
          ],
          [
            3.92121,
            43.605994
          ]
        ],
        "type": "LineString"
      },
      "properties": {
        "deviceId": "dfebaacb-9837-4b5b-b78b-3fd294cc2d17",
        "endDate": "2022-11-15 18:22:54 +0100",
        "eventId": "33194ac5d3c7e5e75c6ef2fff1b633c0729758ef774c2ecaa574fb26693ee512",
        "startDate": "2022-11-15 18:03:34 +0100",
        "stroke": "blue"
      },
      "type": "Feature"
    },
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "coordinates": [
          4.012692714858903,
          43.67086517479349
        ],
        "type": "Point"
      }
    },
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "coordinates": [
          4.012270800371908,
          43.67119340723403
        ],
        "type": "Point"
      }
    }
  ]
}

Also the new error message for broken sequence is wrong in this case because it indicates Step 5, instead of step 25. I think we should record the maxTimeStep and use that instead of qe.timeStep (Error message).
Also we should probably refer to the original point index instead of the timestep which is after filtering of points and therefore is not always right in case some points were filtered out.

Thanks!
The main part is a "won't fix", I'm afraid. Streets, in this context, are going to remain lines rather than boxes. The gps_accuracy setting needs to maintain enough slack for that.
Will fix the index in the error message.


Update CAMPD Sub Header Menu (responsiveness and menu items)

Definition of Ready

[x] Does this meet the INVEST criteria?
[x] Does this have a clearly defined user?
[x] Does this have an estimate?
[x] Does this have acceptance criteria?
[x] Does this have sufficient context (wireframes, business rules, etc.)?
[x] Is this traceable to a feature, epic, or PI?

User Story
As a custom data download user I want the CAMPD sub header menu to adjust to my device screen size so that I can navigate the tool on my device
Acceptance Criteria
Given that a user has accessed the CAMPD home page
When the functionality is displayed
Then the menu contains home, data, analysis, visualization, CAM API, and Help
Given that a user has accessed the CAMPD home page  on a mobile, tablet, desktop, or widescreen device
When the functionality is displayed
Then the CAMPD sub header menu is responsive to different screen sizes and displays in accordance with the wireframes
Styling Checklist
CAMPD Navigation Bar

[x] Use the attached as the background image, size as "cover", align top center. background-size: cover; background-position: center top; (see below)
~• Title font should be Merriweather, normal, 30px~ (not relevant any more since we have updated design documents –Alex Robinson, 6/25/21)
~• Navigation item fonts should be Source Sans, bold, 16px, uppercase~ (not relevant any more since we have updated design documents –Alex Robinson, 6/25/21)
~• Navigation item dropdown arrows should be the icon in the May Demo Design specs. It's showing as a solid carrot.~(not relevant any more since we have updated design documents –Alex Robinson, 6/25/21)
~• The "In" nav item state bottom border color should be the aqua color, called "Info Base" in the specs~ (not relevant any more since we have updated design documents –Alex Robinson, 6/25/21)
[x] Nav items that are dropped down, the carrot should invert indicating that it's collapse-able. (see updated design documents –Alex Robinson, 6/25/21)
~• Only Data, Analysis, and Visualization have dropdowns, not Home.~ (not relevant any more since we have updated design documents –Alex Robinson, 6/25/21)
~• The title and nav items area should take up the same horizontal space as the USWDS banner. See my CodePen for USWDS grid classes~ (not relevant any more since we have updated design documents –Alex Robinson, 6/25/21)

See #1311  for more info
Context
Wireframes
Testing
Test Case: TC208
Tester: @JanellC
Definition of Done

[x] Have all Acceptance Criteria been agreed to and validated by the scrum team?
[ ] Has the code been unit tested and peer reviewed?
[x] Have the functional tests been executed?
[ ] Have all defects been reviewed and dispositioned, resolved, or deferred?
[ ] Has the user story been accepted by the Product Owner?
[x] Is the user story ready to be deployed to the test/staging environments?

TC208 failed @tlageman-epa . I logged Bug: Update CAMPD Sub Header Menu (responsiveness and menu items) #1577 to track the issue


IPv6 literals in connection strings are not parsed correctly

When I try to specify the postgresql iri as pq://[::1]:5432/database the connection fails.
This URL is explicitly allowed and stated that it is correct in this comment: https://github.com/python-postgres/fe/blob/master/postgresql/iri.py#L13
The reason why this happens is broken parsing here: https://github.com/python-postgres/fe/blob/23f5927f5ff3bb28c48f51a231ec008e69ff9297/postgresql/iri.py#L49
This results in : being used as a host, which is not valid. When a host is detected, that is enclosed in square brackets, the square brackes are removed and it is either parsed as unix domain socket:
pq://[unix::var:run:postgresql]/database (probably, I didn't find any documentation for that syntax)
Or, alternatively we just remove the first and last char again. This is wrong.
As a "workaround" one can (currently) specify ipv6-literal addresses like this:
pq://[_::1_]/database
Where the underscore is arbitrary (apart from ]/ and other url-special-characters).
I believe the correct fix would be to just remove the else branch (as I don't understand which URLs that might be needed for) and add a test case, so IPv6 literals are not broken accidentally anymore.

The reason why this happens is broken parsing here:
https://github.com/python-postgres/fe/blob/23f5927f5ff3bb28c48f51a231ec008e69ff9297/postgresql/iri.py#L49
...
I believe the correct fix would be to just remove the else branch (as I don't understand which URLs that might be needed for) and add a test case, so IPv6 literals are not broken accidentally anymore.

Correct. Thanks for reporting this.

pq://[unix::var:run:postgresql]/database (probably, I didn't find any documentation for that syntax)

Purposefully undocumented, IIRC. The syntax choice was questionable and I didn't want to encourage its use.
(However, if you really needed to...It was there)

https://github.com/python-postgres/fe/commit/39ca19843c30d679addf44a13a40314961afb6a9
Should fix it.


Preserve selected order

From options list ['a', 'b', 'c'] choose b, then a, selected values list would be ['b', 'a']
On reload, selected values lose their order, as they're filtered by possibleOptions in sanitizedValue and become ['a', 'b']
Would appreciate for this feature, thanks!

fixed in https://github.com/Zaydme/strapi-plugin-multi-select/commit/47f334ddf8526ae2c5991d3faab2bbe91be6bf45
available in @2.0.1


License clarification

Can you clarify a bit about the licence of the repo? License file is CC then in the readme we have BSD but with a custom non commercial extension so it is not BSD licensed as it is a custom license.
Thanks.

+1
If I want to use for commercial purposes.
Who and what should I to contact?

@igodogi Contact me.


CamelCase properties names in object

Hi guys,
im having problem with accessing properties of data object. If the properties names are camelCase, im not able to render the result correctly and exception is thrown. But when I convert properties names to snake_case with underline, everything works correctly.
Wrong object:
{<EMAIL_ADDRESS>    "order":     {         "idOrderExternal":"xxxxxxxxx",         "totalPriceVat":         {             "numberInt":"1234"         },         "idOrderInternal":         {             "numberInt":"1234"         },         "date":"05.06.2018"     }  }
Could anybody help me please how to be able to use objects with properties in camelCase?
Thx.

Just to make sure, have you tried MemberRenamer already as it is warned at the very beginning of the readme of this project?

Im sorry, will read carefully in future :/


Update flush to not send a request if the buffer is empty

com.snowplowanalytics.snowplow/payload_data considers an empty array data as an error.
This updates flush so it doesn't send anything if theres nothing in the buffer.

Coverage decreased (-1.7%) to 98.305% when pulling a15a1120e7fe8c0168a3d2a9fcaf211c3bf66bbf on Anafore:no-op-for-empty-buffer into 2e11ed5ebef6a5560d0d6b4e0dd5d011e7d3772b on snowplow:master.

Confirmed! @clark-pan  has signed the Individual Contributor License Agreement. Thanks so much


Feature: specify the cause of failure if it is unpinned pip install

Is your feature request related to a problem? Please describe.
When the user sees a report on code scanning about a "pip install" line in his script, it is not clear what he would have to do to solve it. To make it easier to the user to identify what to do, the description of the "pipCommand not pinned by hash" could also mention something like: "--require-hashes  expected". Or if it fails due to additional arguments, would be interesting to also specify.
Describe the solution you'd like
A possible solution would be to adapt the error message to make the logic bellow clear to the user.
https://github.com/ossf/scorecard/blob/a6983edf6e320a0878dc062cb60aba4f2f215668/checks/raw/shell_download_validate.go#L469-L527
Describe alternatives you've considered
None
Additional context
An example of a report on code scanning about pipCommand

A good solution would be to insert the solution to "pipCommand not pinned by hash" as a Remediation tip, as it's currently done when we have a GitHub Action not pinned. See the example below:

The same issue applies to other ecosystems. I'll list some examples with images to show the current message being displayed, and what scorecard expects as a remediation (to make it easier to someone to make the message changes).

npm (I believe we're verifying if it's using npm ci instead of npm install):

chocolatey (scorecard requires the argument --require-checkums):

GO language(here it's only required to have the specific version declared, because of GO's checksum database):


network traffic usage counting

Hi, this will correctly count network traffic usage for each loaded resource

Thanks!


Output is e.g. &mut Write instead of &mut dyn Write

Our integration test for bat contains this line:
pub fn bat::controller::Controller::run_with_error_handler(&self, inputs: Vec<Input<'_>>, handle_error: impl Fn(&Error, &mut Write)) -> Result<bool>

but it should be
pub fn bat::controller::Controller::run_with_error_handler(&self, inputs: Vec<Input<'_>>, handle_error: impl Fn(&Error, &mut dyn Write)) -> Result<bool>

which is what docs.rs displays.

Right now upstream does not even know of this problem, so I am removing "waiting-on-upstream" for now. I plan on working on this in the near future.

Filed upstream as https://github.com/rust-lang/rust/issues/99118. I will create a PR for upstream in the near future, unless someone else beats me to it.


Scons compiling error: fatal error: header.h: No such file or directory

zhangysh1995@ubuntu-zhangyushao:~/data/scons/accelerInt$ scons
scons: Reading SConscript files ...
INFO: SCons is using the following Python interpreter: /usr/bin/python
CUDA not found, no GPU integrators will be built
scons: done reading SConscript files.
scons: Building targets ...
gcc -o generic/cvodes/release/read_initial_conditions.o -c -std=c99 -m64 -O3 -funroll-loops -Wno-inline -mtune=native -fopenmp -DCVODES -Igeneric -Imechanism -Icvodes -Igeneric/cvodes/release/usr/local/include generic/cvodes/release/read_initial_conditions.c
generic/cvodes/release/read_initial_conditions.c:10:20: fatal error: header.h: No such file or directory
compilation terminated.
scons: *** [generic/cvodes/release/read_initial_conditions.o] Error 1
scons: building terminated because of errors.

@zhangysh1995 Hi there!
Could you describe the initial value problem(s) you're trying to use accelerInt to solve?
The exact definition of the header.h file you need will depend on this.
To see more information, check the Van Der Pol example, in particular the sample header.h file bundled with it

@arghdos I'm testing a project configuration utility on random projects from github, and came across this error. I think it's better to add some instruction in the README or default implementation for the header.h. Thank you all the same. Closed.