go-pluginserver termianted when upgrade to 2.3.1

Summary
Upgrade kong2.1 to kong2.3, according to the document, I add some new  pluginserver config, now config like this
KONG_PLUGINS=bundled,go-auth
KONG_GO_PLUGINS_DIR=/go-plugins
KONG_PLUGINSERVER_NAMES=go
KONG_PLUGINSERVER_GO_SOCKET=go_pluginserver.sock
KONG_PLUGINSERVER_GO_START_CMD="go-pluginserver -kong-prefix /usr/local/kong/ -plugins-directory /go-plugins"
KONG_PLUGINSERVER_GO_QUERY_CMD="go-pluginserver -dump-all-plugins -plugins-directory /go-plugins"

But when kong start,  it output some error log
2021/02/01 06:28:52 [notice] 27#0: *22 [kong] process.lua:249 external pluginserver 'go' terminated: exit 127, context: ngx.timer
2021/02/01 06:28:52 [notice] 27#0: *22 [kong] process.lua:239 Starting go, context: ngx.timer
2021/02/01 06:28:52 [notice] 27#0: signal 17 (SIGCHLD) received from 14003

And I rollback kong to 2.2.1, it‘s OK.
Dockerfile
Plugin
use<EMAIL_ADDRESS>and<EMAIL_ADDRESS>go build -buildmode plugin -o build/go-auth.so plugins/auth/go-auth.go
go get -d -v github.com/Kong/go-pluginserver
go build -o build/go-pluginserver github.com/Kong/go-pluginserver

Kong
FROM kong:2.3.1-alpine

USER kong

COPY build/go-auth.so /go-plugins/go-auth.so
COPY build/go-pluginserver /usr/local/bin/

Additional Details & Logs

Kong version ($ kong version) 2.3.1
Kong debug-level startup logs ($ kong start --vv)

2021/02/01 06:54:45 [verbose] Kong: 2.3.1
2021/02/01 06:54:45 [warn] the 'client_max_body_size' configuration property is deprecated, use 'nginx_http_client_max_body_size' instead
2021/02/01 06:54:45 [debug] ngx_lua: 10017
2021/02/01 06:54:45 [debug] nginx: 1017008
2021/02/01 06:54:45 [debug] Lua: LuaJIT 2.1.0-beta3
2021/02/01 06:54:45 [verbose] no config file found at /etc/kong/kong.conf
2021/02/01 06:54:45 [verbose] no config file found at /etc/kong.conf
2021/02/01 06:54:45 [verbose] no config file, skip loading
2021/02/01 06:54:45 [debug] reading environment variables
2021/02/01 06:54:45 [debug] KONG_PLUGINSERVER_NAMES ENV found with "go"
2021/02/01 06:54:45 [debug] KONG_ADMIN_LISTEN ENV found with "<IP_ADDRESS>:8001"
2021/02/01 06:54:45 [debug] KONG_PROXY_ACCESS_LOG ENV found with "/dev/stdout main"
2021/02/01 06:54:45 [debug] KONG_PLUGINSERVER_GO_START_CMD ENV found with "go-pluginserver -kong-prefix /usr/local/kong/ -plugins-directory /go-plugins"
2021/02/01 06:54:45 [debug] KONG_PROXY_LISTEN ENV found with "<IP_ADDRESS>:8000, <IP_ADDRESS>:9000 http2"
2021/02/01 06:54:45 [debug] KONG_STATUS_LISTEN ENV found with "<IP_ADDRESS>:9254"
2021/02/01 06:54:45 [debug] KONG_PG_DATABASE ENV found with "kong"
2021/02/01 06:54:45 [debug] KONG_NGINX_HTTP_LOG_FORMAT ENV found with "main
  escape=json '$remote_addr - [$time_local] $http_host req="$request" $status $body_bytes_sent
  "$http_referer" "$http_user_agent" $upstream_status upstream=$upstream_addr rt=$request_time
  uht=$upstream_header_time urt=$upstream_response_time req_body="$request_body"' "
2021/02/01 06:54:45 [debug] KONG_NGINX_PROXY_INCLUDE ENV found with "/kong/proxy.nginx.conf"
2021/02/01 06:54:45 [debug] KONG_PLUGINSERVER_GO_QUERY_CMD ENV found with "go-pluginserver -dump-all-plugins -plugins-directory /go-plugins"
2021/02/01 06:54:45 [debug] KONG_PG_PORT ENV found with "3433"
2021/02/01 06:54:45 [debug] KONG_ERROR_DEFAULT_TYPE ENV found with "application/json"
2021/02/01 06:54:45 [debug] KONG_TRUSTED_IPS ENV found with "<IP_ADDRESS>/0"
2021/02/01 06:54:45 [debug] KONG_PG_USER ENV found with "kong"
2021/02/01 06:54:45 [debug] KONG_PLUGINSERVER_GO_SOCKET ENV found with "go_pluginserver.sock"
2021/02/01 06:54:45 [debug] KONG_PG_HOST ENV found with "host"
2021/02/01 06:54:45 [debug] KONG_GO_PLUGINS_DIR ENV found with "/go-plugins"
2021/02/01 06:54:45 [debug] KONG_DATABASE ENV found with "postgres"
2021/02/01 06:54:45 [debug] KONG_ADMIN_ACCESS_LOG ENV found with "/dev/null"
2021/02/01 06:54:45 [debug] KONG_PROXY_ERROR_LOG ENV found with "/dev/stderr"
2021/02/01 06:54:45 [debug] KONG_CLIENT_MAX_BODY_SIZE ENV found with "100m"
2021/02/01 06:54:45 [debug] KONG_ADMIN_ERROR_LOG ENV found with "/dev/null"
2021/02/01 06:54:45 [debug] KONG_REAL_IP_HEADER ENV found with "X-Forwarded-For"
2021/02/01 06:54:45 [debug] KONG_PG_PASSWORD ENV found with "******"
2021/02/01 06:54:45 [debug] KONG_ANONYMOUS_REPORTS ENV found with "off"
2021/02/01 06:54:45 [debug] KONG_PLUGINS ENV found with "bundled,go-auth"
2021/02/01 06:54:45 [debug] admin_access_log = "/dev/null"
2021/02/01 06:54:45 [debug] admin_error_log = "/dev/null"
2021/02/01 06:54:45 [debug] admin_listen = {"<IP_ADDRESS>:8001"}
2021/02/01 06:54:45 [debug] admin_ssl_cert = {}
2021/02/01 06:54:45 [debug] admin_ssl_cert_key = {}
2021/02/01 06:54:45 [debug] anonymous_reports = false
2021/02/01 06:54:45 [debug] cassandra_contact_points = {"<IP_ADDRESS>"}
2021/02/01 06:54:45 [debug] cassandra_data_centers = {"dc1:2","dc2:3"}
2021/02/01 06:54:45 [debug] cassandra_keyspace = "kong"
2021/02/01 06:54:45 [debug] cassandra_lb_policy = "RequestRoundRobin"
2021/02/01 06:54:45 [debug] cassandra_port = 9042
2021/02/01 06:54:45 [debug] cassandra_read_consistency = "ONE"
2021/02/01 06:54:45 [debug] cassandra_refresh_frequency = 60
2021/02/01 06:54:45 [debug] cassandra_repl_factor = 1
2021/02/01 06:54:45 [debug] cassandra_repl_strategy = "SimpleStrategy"
2021/02/01 06:54:45 [debug] cassandra_schema_consensus_timeout = 10000
2021/02/01 06:54:45 [debug] cassandra_ssl = false
2021/02/01 06:54:45 [debug] cassandra_ssl_verify = false
2021/02/01 06:54:45 [debug] cassandra_timeout = 5000
2021/02/01 06:54:45 [debug] cassandra_username = "kong"
2021/02/01 06:54:45 [debug] cassandra_write_consistency = "ONE"
2021/02/01 06:54:45 [debug] client_body_buffer_size = "8k"
2021/02/01 06:54:45 [debug] client_max_body_size = "100m"
2021/02/01 06:54:45 [debug] client_ssl = false
2021/02/01 06:54:45 [debug] cluster_control_plane = "<IP_ADDRESS>:8005"
2021/02/01 06:54:45 [debug] cluster_data_plane_purge_delay = 1209600
2021/02/01 06:54:45 [debug] cluster_listen = {"<IP_ADDRESS>:8005"}
2021/02/01 06:54:45 [debug] cluster_mtls = "shared"
2021/02/01 06:54:45 [debug] database = "postgres"
2021/02/01 06:54:45 [debug] db_cache_ttl = 0
2021/02/01 06:54:45 [debug] db_cache_warmup_entities = {"services"}
2021/02/01 06:54:45 [debug] db_resurrect_ttl = 30
2021/02/01 06:54:45 [debug] db_update_frequency = 5
2021/02/01 06:54:45 [debug] db_update_propagation = 0
2021/02/01 06:54:45 [debug] dns_error_ttl = 1
2021/02/01 06:54:45 [debug] dns_hostsfile = "/etc/hosts"
2021/02/01 06:54:45 [debug] dns_no_sync = false
2021/02/01 06:54:45 [debug] dns_not_found_ttl = 30
2021/02/01 06:54:45 [debug] dns_order = {"LAST","SRV","A","CNAME"}
2021/02/01 06:54:45 [debug] dns_resolver = {}
2021/02/01 06:54:45 [debug] dns_stale_ttl = 4
2021/02/01 06:54:45 [debug] error_default_type = "application/json"
2021/02/01 06:54:45 [debug] go_plugins_dir = "/go-plugins"
2021/02/01 06:54:45 [debug] go_pluginserver_exe = "/usr/local/bin/go-pluginserver"
2021/02/01 06:54:45 [debug] headers = {"server_tokens","latency_tokens"}
2021/02/01 06:54:45 [debug] host_ports = {}
2021/02/01 06:54:45 [debug] kic = false
2021/02/01 06:54:45 [debug] log_level = "notice"
2021/02/01 06:54:45 [debug] lua_package_cpath = ""
2021/02/01 06:54:45 [debug] lua_package_path = "./?.lua;./?/init.lua;"
2021/02/01 06:54:45 [debug] lua_socket_pool_size = 30
2021/02/01 06:54:45 [debug] lua_ssl_trusted_certificate = {}
2021/02/01 06:54:45 [debug] lua_ssl_verify_depth = 1
2021/02/01 06:54:45 [debug] mem_cache_size = "128m"
2021/02/01 06:54:45 [debug] nginx_admin_client_body_buffer_size = "10m"
2021/02/01 06:54:45 [debug] nginx_admin_client_max_body_size = "10m"
2021/02/01 06:54:45 [debug] nginx_admin_directives = {{name="client_body_buffer_size",value="10m"},{name="client_max_body_size",value="10m"}}
2021/02/01 06:54:45 [debug] nginx_daemon = "on"
2021/02/01 06:54:45 [debug] nginx_events_directives = {{name="multi_accept",value="on"},{name="worker_connections",value="auto"}}
2021/02/01 06:54:45 [debug] nginx_events_multi_accept = "on"
2021/02/01 06:54:45 [debug] nginx_events_worker_connections = "auto"
2021/02/01 06:54:45 [debug] nginx_http_client_body_buffer_size = "8k"
2021/02/01 06:54:45 [debug] nginx_http_client_max_body_size = "100m"
2021/02/01 06:54:45 [debug] nginx_http_directives = {{name="ssl_dhparam",value="ffdhe2048"},{name="client_max_body_size",value="100m"},{name="ssl_prefer_server_ciphers",value="off"},{name="log_format",value=[[main
  escape=json '$remote_addr - [$time_local] $http_host req="$request" $status $body_bytes_sent
  "$http_referer" "$http_user_agent" $upstream_status upstream=$upstream_addr rt=$request_time
  uht=$upstream_header_time urt=$upstream_response_time req_body="$request_body"' ]]},{name="client_body_buffer_size",value="8k"},{name="ssl_protocols",value="TLSv1.2 TLSv1.3"},{name="ssl_session_timeout",value="1d"},{name="ssl_session_tickets",value="on"}}
2021/02/01 06:54:45 [debug] nginx_http_log_format = [[main
  escape=json '$remote_addr - [$time_local] $http_host req="$request" $status $body_bytes_sent
  "$http_referer" "$http_user_agent" $upstream_status upstream=$upstream_addr rt=$request_time
  uht=$upstream_header_time urt=$upstream_response_time req_body="$request_body"' ]]
2021/02/01 06:54:45 [debug] nginx_http_ssl_dhparam = "ffdhe2048"
2021/02/01 06:54:45 [debug] nginx_http_ssl_prefer_server_ciphers = "off"
2021/02/01 06:54:45 [debug] nginx_http_ssl_protocols = "TLSv1.2 TLSv1.3"
2021/02/01 06:54:45 [debug] nginx_http_ssl_session_tickets = "on"
2021/02/01 06:54:45 [debug] nginx_http_ssl_session_timeout = "1d"
2021/02/01 06:54:45 [debug] nginx_http_status_directives = {}
2021/02/01 06:54:45 [debug] nginx_http_upstream_directives = {}
2021/02/01 06:54:45 [debug] nginx_main_daemon = "on"
2021/02/01 06:54:45 [debug] nginx_main_directives = {{name="daemon",value="on"},{name="worker_rlimit_nofile",value="auto"},{name="worker_processes",value="auto"}}
2021/02/01 06:54:45 [debug] nginx_main_worker_processes = "auto"
2021/02/01 06:54:45 [debug] nginx_main_worker_rlimit_nofile = "auto"
2021/02/01 06:54:45 [debug] nginx_optimizations = true
2021/02/01 06:54:45 [debug] nginx_proxy_directives = {{name="include",value="/kong/proxy.nginx.conf"},{name="real_ip_header",value="X-Forwarded-For"},{name="real_ip_recursive",value="off"}}
2021/02/01 06:54:45 [debug] nginx_proxy_include = "/kong/proxy.nginx.conf"
2021/02/01 06:54:45 [debug] nginx_proxy_real_ip_header = "X-Forwarded-For"
2021/02/01 06:54:45 [debug] nginx_proxy_real_ip_recursive = "off"
2021/02/01 06:54:45 [debug] nginx_sproxy_directives = {}
2021/02/01 06:54:45 [debug] nginx_status_directives = {}
2021/02/01 06:54:45 [debug] nginx_stream_directives = {{name="ssl_dhparam",value="ffdhe2048"},{name="ssl_session_timeout",value="1d"},{name="ssl_protocols",value="TLSv1.2 TLSv1.3"},{name="ssl_prefer_server_ciphers",value="off"},{name="ssl_session_tickets",value="on"}}
2021/02/01 06:54:45 [debug] nginx_stream_ssl_dhparam = "ffdhe2048"
2021/02/01 06:54:45 [debug] nginx_stream_ssl_prefer_server_ciphers = "off"
2021/02/01 06:54:45 [debug] nginx_stream_ssl_protocols = "TLSv1.2 TLSv1.3"
2021/02/01 06:54:45 [debug] nginx_stream_ssl_session_tickets = "on"
2021/02/01 06:54:45 [debug] nginx_stream_ssl_session_timeout = "1d"
2021/02/01 06:54:45 [debug] nginx_supstream_directives = {}
2021/02/01 06:54:45 [debug] nginx_upstream_directives = {}
2021/02/01 06:54:45 [debug] nginx_worker_processes = "auto"
2021/02/01 06:54:45 [debug] pg_database = "kong"
2021/02/01 06:54:45 [debug] pg_host = "host"
2021/02/01 06:54:45 [debug] pg_max_concurrent_queries = 0
2021/02/01 06:54:45 [debug] pg_password = "******"
2021/02/01 06:54:45 [debug] pg_port = 3433
2021/02/01 06:54:45 [debug] pg_ro_ssl = false
2021/02/01 06:54:45 [debug] pg_ro_ssl_verify = false
2021/02/01 06:54:45 [debug] pg_semaphore_timeout = 60000
2021/02/01 06:54:45 [debug] pg_ssl = false
2021/02/01 06:54:45 [debug] pg_ssl_verify = false
2021/02/01 06:54:45 [debug] pg_timeout = 5000
2021/02/01 06:54:45 [debug] pg_user = "kong"
2021/02/01 06:54:45 [debug] plugins = {"bundled","go-auth"}
2021/02/01 06:54:45 [debug] pluginserver_go_query_cmd = "go-pluginserver -dump-all-plugins -plugins-directory /go-plugins"
2021/02/01 06:54:45 [debug] pluginserver_go_socket = "go_pluginserver.sock"
2021/02/01 06:54:45 [debug] pluginserver_go_start_cmd = "go-pluginserver -kong-prefix /usr/local/kong/ -plugins-directory /go-plugins"
2021/02/01 06:54:45 [debug] pluginserver_names = {"go"}
2021/02/01 06:54:45 [debug] port_maps = {}
2021/02/01 06:54:45 [debug] prefix = "/usr/local/kong/"
2021/02/01 06:54:45 [debug] proxy_access_log = "/dev/stdout main"
2021/02/01 06:54:45 [debug] proxy_error_log = "/dev/stderr"
2021/02/01 06:54:45 [debug] proxy_listen = {"<IP_ADDRESS>:8000","<IP_ADDRESS>:9000 http2"}
2021/02/01 06:54:45 [debug] real_ip_header = "X-Forwarded-For"
2021/02/01 06:54:45 [debug] real_ip_recursive = "off"
2021/02/01 06:54:45 [debug] role = "traditional"
2021/02/01 06:54:45 [debug] ssl_cert = {}
2021/02/01 06:54:45 [debug] ssl_cert_key = {}
2021/02/01 06:54:45 [debug] ssl_cipher_suite = "intermediate"
2021/02/01 06:54:45 [debug] ssl_ciphers = "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384"
2021/02/01 06:54:45 [debug] ssl_dhparam = "ffdhe2048"
2021/02/01 06:54:45 [debug] ssl_prefer_server_ciphers = "on"
2021/02/01 06:54:45 [debug] ssl_protocols = "TLSv1.1 TLSv1.2 TLSv1.3"
2021/02/01 06:54:45 [debug] ssl_session_tickets = "on"
2021/02/01 06:54:45 [debug] ssl_session_timeout = "1d"
2021/02/01 06:54:45 [debug] status_access_log = "off"
2021/02/01 06:54:45 [debug] status_error_log = "logs/status_error.log"
2021/02/01 06:54:45 [debug] status_listen = {"<IP_ADDRESS>:9254"}
2021/02/01 06:54:45 [debug] status_ssl_cert = {}
2021/02/01 06:54:45 [debug] status_ssl_cert_key = {}
2021/02/01 06:54:45 [debug] stream_listen = {"off"}
2021/02/01 06:54:45 [debug] trusted_ips = {"<IP_ADDRESS>/0"}
2021/02/01 06:54:45 [debug] untrusted_lua = "sandbox"
2021/02/01 06:54:45 [debug] untrusted_lua_sandbox_environment = {}
2021/02/01 06:54:45 [debug] untrusted_lua_sandbox_requires = {}
2021/02/01 06:54:45 [debug] upstream_keepalive_idle_timeout = 60
2021/02/01 06:54:45 [debug] upstream_keepalive_max_requests = 100
2021/02/01 06:54:45 [debug] upstream_keepalive_pool_size = 60
2021/02/01 06:54:45 [debug] worker_consistency = "strict"
2021/02/01 06:54:45 [debug] worker_state_update_frequency = 5
2021/02/01 06:54:45 [verbose] prefix in use: /usr/local/kong
2021/02/01 06:54:45 [verbose] preparing nginx prefix directory at /usr/local/kong
2021/02/01 06:54:45 [debug] searching for OpenResty 'nginx' executable
2021/02/01 06:54:45 [debug] /usr/local/openresty/nginx/sbin/nginx -v: 'nginx version: openresty/<IP_ADDRESS>'
2021/02/01 06:54:45 [debug] found OpenResty 'nginx' executable at /usr/local/openresty/nginx/sbin/nginx
2021/02/01 06:54:45 [debug] testing nginx configuration: KONG_NGINX_CONF_CHECK=true /usr/local/openresty/nginx/sbin/nginx -t -p /usr/local/kong -c nginx.conf
2021/02/01 06:54:45 [debug] sending signal to pid at: /usr/local/kong/pids/nginx.pid
2021/02/01 06:54:45 [debug] kill -0 `cat /usr/local/kong/pids/nginx.pid` >/dev/null 2>&1
2021/02/01 06:54:45 [debug] loading subsystems migrations...
2021/02/01 06:54:45 [verbose] retrieving database schema state...
2021/02/01 06:54:45 [verbose] schema state retrieved
2021/02/01 06:54:45 [debug] searching for OpenResty 'nginx' executable
2021/02/01 06:54:45 [debug] /usr/local/openresty/nginx/sbin/nginx -v: 'nginx version: openresty/<IP_ADDRESS>'
2021/02/01 06:54:45 [debug] found OpenResty 'nginx' executable at /usr/local/openresty/nginx/sbin/nginx
2021/02/01 06:54:45 [debug] sending signal to pid at: /usr/local/kong/pids/nginx.pid
2021/02/01 06:54:45 [debug] kill -0 `cat /usr/local/kong/pids/nginx.pid` >/dev/null 2>&1
2021/02/01 06:54:45 [debug] starting nginx: /usr/local/openresty/nginx/sbin/nginx -p /usr/local/kong -c nginx.conf
2021/02/01 06:54:46 [debug] nginx started
2021/02/01 06:54:46 [info] Kong started

Kong error logs (<KONG_PREFIX>/logs/error.log): empty
Kong configuration: default kong config
Operating system : kong-2.3.1-alpine

We've had lots of problems with environment compatibility for dynamically-linked Go programs, especially with musl libraries like on Alpine Linux.
Some users have reported an easier experience with the embedded server, which gives you a standalone microservice for each plugin.

Thanks for your reply. I try the embedded server. It seems work well and not error.

I have the same issue, the fix is (tested on 2.4 & 2.3):
KONG_PLUGINSERVER_GO_START_CMD="/usr/local/bin/go-pluginserver -kong-prefix /usr/local/kong/ -plugins-directory /go-plugins"
KONG_PLUGINSERVER_GO_QUERY_CMD="/usr/local/bin/go-pluginserver -dump-all-plugins -plugins-directory /go-plugins"

I hope that helped someone.


 A brief look at the code is pointing us to a SQLException when polling for a message in MySQLBaseDAO. It would have been helpful if the SQLException was logged somewhere.
This is likely because of a database misconfiguration. Tagging @picaron and @mashurex as they have more context.

this caused by the wrong mysql table structure, it fixed when i reinitializes the correct table structure

this caused by the wrong mysql table structure, it fixed when i reinitializes the correct table structure

我尝试将表结构由原来的MySQL改为了Oracle启动的时候一直打印和这一样的信息，不可以Oracle吗？


Case data fixed fields grammar & spelling fixes

UPDATE
ALL FINAL GRAMMAR, SPELLING, AND ORDERING OF VALUES IS IN THESE TWO DOCUMENTS:
https://docs.google.com/document/d/1z1X2xLXaVf1xfvM0Sk3E2jP6_nBjskemrL7s7L2vyv4/edit#
https://docs.google.com/document/d/1D_LW96J3geVsTm0hJHpagSBY7fhKsUZFbjbdCEk1O6M/edit

Also see #718 #436 #411

@jesicarson @dethe @LLPrin Do you guys want me to make a new case field editor which reflects all these changes?

@scottofletcher do you mean a spreadsheet?

@jesicarson Yes, or any other format that would be easier for you guys to use

@jesicarson @dethe can I get confirmation on this? I'd be happy to make an up-to-date field editor spreadsheet like this one for methods (which is almost complete!!): https://docs.google.com/spreadsheets/d/1byKG6bewQu3NOS__Zqv2sgBNFoaLI5f5AuINzGMaI6k/edit#gid=678179084

I’ll have a look when I’m back online at the methods one. Have you flagged existing stuff that changes?
I’m also wondering what the easiest way for Dethe/ Lydia to make all these edits would be or if it’s possible at all for me to get set up to do at least copy edits.. hmm. Let’s ask Dethe on the call tomorrow.

@jesicarson no rush on the methods (there are still a couple things we have yet to sign off on). I didn't flag existing stuff that changes because we literally threw out every single field and started from scratch. There are also a lot of fields that are different depending on whether the user indicates they are entering a 'Tool/Technique' or a 'Method' (which Dethe said was ok. It is complicated though.)
Yes, I'm adding it to the D&T agenda right now! Will @LLPrin be on the call? Might be a good idea so Dethe doesn't have to take time out to relay everything


HAS is not indexed

Problem or new feature
The "embedded" version of has is documented here (sorta), but not indexed.
Suggestions
Describe it properly, and also some usage patterns.

Closed as duplicate of https://github.com/Raku/doc/issues/2965


feat: BitVec.[toInt|toFin|getMsbD]_ofBool

This PR completes the basic API for BitVec.ofBool.

changelog-library

Could you rearrange the theorems so that these are adjacent to the other ofBool accessors, e.g. getLsbD_ofBool?

awaiting-review


[community] Add timeout control and retry for UC tool execution

Add timeout at client side for UCFunctionToolkit and add retry logic.
Users could specify environment variable UC_TOOL_CLIENT_EXECUTION_TIMEOUT to increase the timeout value for retrying to get the execution response if the status is pending. Default timeout value is 120s.

[ ] Add tests and docs: If you're adding a new integration, please include

a test for the integration, preferably unit tests that do not rely on network access,
an example notebook showing its use. It lives in docs/docs/integrations directory.

Tested in Databricks:

[x] Lint and test: Run make format, make lint and make test from the root of the package(s) you've modified. See contribution guidelines for more: https://python.langchain.com/docs/contributing/

Additional guidelines:

Make sure optional dependencies are imported within a function.
Please do not add dependencies to pyproject.toml files (even optional ones) unless they are required for unit tests.
Most PRs should not touch more than one package.
Changes should be backwards compatible.
If you are adding something to community, do not re-import it in langchain.

If no one reviews your PR within a few days, please @-mention one of baskaryan, efriis, eyurtsev, ccurme, vbarda, hwchase17.

@harupy Could you stamp this PR as well as you reviewed my last one :D Thanks!

converting to draft - let me know when it's ready for a review on the langchain side!
As I've mentioned on a few other PRs, it would make sense to migrate the UC tools to the langchain-databricks repo.

converting to draft - let me know when it's ready for a review on the langchain side!
As I've mentioned on a few other PRs, it would make sense to migrate the UC tools to the langchain-databricks repo.

Thanks, we'll have some new implementation for langchain UC tools support, so want to keep the old one here :)

@efriis Hey Erick! :) This one's ready for your review. Thanks!

Hi @efriis Could we merge this to catch the next release? Thanks!

Hi @baskaryan Could you help merge this PR? Thanks!

Sorry for the delay!


profileIconId of summoner Dto is null

profileIconId of summoner Dto is null. The DataMember is set to string but is should be int

#12


Remove redundant point, add transportation

Removed redundant point: Raspberry PI and home automation was written twice.
Added Linux use in transportation industry like planes, buses, and trains.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Congrats @JamBove on your first pull request (PR)! 🎉
Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


Switch to GitHub Actions

To restore consistency with other Trixi repos. Closes #20.

Preview of the docs: https://trixi-framework.github.io/P4est.jl/previews/PR23/

@ranocha Thank you very much for you assistance, I highly appreciate your help!

You're welcome. I updated the required checks and enabled automatic merging


Dynamically size index column

Uses the length of the keys array to determine the maximum amount of digits possibly visible in the index column of the report.
Fixes #53.

Thanks, @kleinfreund!


Microphone icon isn't updated when the muted status changes

Unlike the speaker icon, this icon isn't updated unless gBar is restarted (then the right icon is showing).

Should be fixed now.


Resolve test failures

I made a mistake and resolved the test conflicts in this branch instead of tests-editTask_tests. This should be up to date with all the changes made to master so please ignore the previous PR for tests-editTask_tests and review this one

Codecov Report
Base: 64.25% // Head: 68.85% // Increases project coverage by +4.60% :tada:

Coverage data is based on head (a36fde4) compared to base (bd9ded1).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #161      +/-   ##
============================================
+ Coverage     64.25%   68.85%   +4.60%
- Complexity      457      478      +21
============================================
  Files            91       91
  Lines          1600     1602       +2
  Branches        177      178       +1
============================================
+ Hits           1028     1103      +75
+ Misses          526      448      -78
- Partials         46       51       +5

Impacted Files
Coverage Δ

.../seedu/address/logic/commands/EditTaskCommand.java
86.48% <100.00%> (+86.48%)
:arrow_up:

.../main/java/seedu/address/model/person/Patient.java
94.73% <0.00%> (+7.89%)
:arrow_up:

...in/java/seedu/address/logic/parser/ParserUtil.java
93.18% <0.00%> (+14.77%)
:arrow_up:

...c/main/java/seedu/address/model/task/TaskList.java
88.23% <0.00%> (+47.05%)
:arrow_up:

...du/address/logic/parser/EditTaskCommandParser.java
100.00% <0.00%> (+100.00%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[MedalTV, GamerDVR, XboxClips/GameClips] Add 2 new extractors and fix 1 extractor

Please follow the guide below

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

Before submitting a pull request make sure you have:

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

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

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

What is the purpose of your pull request?

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

Description of your pull request and other information
Medal TV is a platform for gamers to record and share clips and videos. This is quite a popular site, so it was surprising that there is not an extractor for it yet. Although there is another pull request for Medal TV (https://github.com/ytdl-org/youtube-dl/pull/27118), this extractor provides all available formats (including source). The other pull request only supports 1080p or 720p. This extractor also provides error checking (in case a video does not exist for example). Furthermore, this extractor was tested on 1400 medal clips and every one produced expected behaviour.
GamerDVR is a website which allows users to find their Xbox One (Xbox DVR) game clips. This extractor allows videos to be downloaded from this website.
Lastly, the XboxClips extractor has been updated, because its domain has changed to GameClips.io. However, XboxClips links still work (they redirect to GameClips.io), so both sites are supported in this extractor.

create a seperate PR for each extractor.

Done!
MedalTV: https://github.com/ytdl-org/youtube-dl/pull/27149
GamerDVR: https://github.com/ytdl-org/youtube-dl/pull/27150
XboxClips: https://github.com/ytdl-org/youtube-dl/pull/27151


Rename .js containing JSX as .jsx for build systems

Hi there, thank you for your package.
It seems like some JavaScript files contains JSX and this is breaking some build systems assuming the contents based on the extension.
Would it be possible to rename some JS into JSX? I can send some PR if needed.
Thanks again!

Hey. Sorry for the delay. I don't see why not. What does it break?

@RaitoBezarius I'd have accepted your PR, but, tis the work of a moment, I renamed the files for you, as I can't see the harm, and it doesn't seem to break anything of mine. I've released it as 2.0.0 though, as though I don't imagine it'll cause any problems, I'm not sure I have any way to know for sure. It's an odd one. I'd still be interested to hear what the js extensions broke though?

@mwri As you can see, some builders like esbuild enable JSX transformers only for *.{jsx,tsx} by default (it is also an optimization based on the filename): https://esbuild.github.io/content-types/#jsx ; if you were using a project which enabled JSX transforms only for these extensions, installing this dependency broke your building system.
Closing this issue makes the initial installation process for end users friendlier and works "out of the box" as long as ~sane build systems are used.
Anyway, thank you for your release!

@RaitoBezarius I see, yes fair enough, you're welcome, sorry it took me a while to reply, I clearly missed an email somewhere a couple of weeks ago.

@mwri No worries! I have multiple suggestions in respect to your project, so I might come back in your issues soon ;)


Add documentation for AKSK

What type of PR is this?
Adds documentation for AKSK Generation using APIs

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind documentation

What this PR does / why we need it:
To enable users to generate AKSK to be used with SODA APIs.
Which issue(s) this PR fixes:

Fixes #
Test Report Added?:

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
kind TESTED

Test Report:

Special notes for your reviewer:

@kumarashit @anvithks @PravinRanjan10 Please review.

@NajmudheenCT , @kumarashit , @anvithks Please review and merge


[BUG] GH mode: Not all audio stems are loaded correctly

Is there an existing issue for this?

[X] I have searched the existing issues and none matched.

Operating System
Windows
CPU
No response
GPU
No response
Storage
No response
Game Version
4.14.0
Game Mode
gh
Theme
Soundwaves
Describe the problem
OutFox does not load/cache the following audio stems:

drums_2 - Drums audio for the snare drum, plus tom and cymbal audio if 3 and 4 are not present
drums_3 - Drums audio for toms, plus cymbal audio if 4 is not present
drums_4 - Drums audio for cymbals
vocals_2 - Backing/harmony vocals
keys - Keys audio
crowd - Background crowd noise/singing audio

This affects both .chart and .mid files.
In addition to this, some .chart files do not get all of their audio files loaded/cached. Can't figure out a concrete cause, will keep looking into it and update if I find something.
Describe what should happen
Any stems not specified by a gh chart should be searched for by these file names:

preview - Audio to play as the song preview
song - Background audio that never gets muted by gameplay, or the whole song as a single audio file
guitar - Lead Guitar audio, or the whole song as a single audio file if no other audio files are present
rhythm - Rhythm Guitar audio
bass - Bass Guitar audio
keys - Keys audio
drums - Drums audio as a single stem
drums_1 - Drums audio for the kick drum, plus snare, tom, and cymbal audio if 2-4 are not present
drums_2 - Drums audio for the snare drum, plus tom and cymbal audio if 3 and 4 are not present
drums_3 - Drums audio for toms, plus cymbal audio if 4 is not present
drums_4 - Drums audio for cymbals
vocals - Vocals as a single stem
vocals_1 - Main vocals
vocals_2 - Backing/harmony vocals
crowd - Background crowd noise/singing audio

Nearly all modern customs from the GH community use these specific names for audio files, and those who make .chart files don't always use the .chart metadata tags deliberately for specifying the audio in the chart.
Relevant Log output
Log files from after deleting my cache and starting the game:
info.txt
log.txt
userlog.txt
A couple charts I made to test this issue, along with the cache files generated for them
(note: the audio can get a bit grating after a while, you may want to turn down your volume a bit)

Fixed in 4.15


[zh-cn]Sync 1.25 kubelet-integration.md

Sync upstream
content/zh-cn/docs/setup/production-environment/tools/kubeadm/kubelet-integration.md

Replaced by your another PR.

#36281

/close


Skyline/work/20211218 update small mol tutorials for new column picker

Need docx files in Chinese and Japanese/outgoing for the retranslation of the documents. You just go through the tutorials again and paste Chinese or Japanese screenshots in place of the English screenshots. Text remains English in the outgoing .docx files. See the files in these folders for examples.

It's a little tricky - rather a lot of text has changed (because the new interface is WAY easier to use, with many fewer steps) so I'm not really sure what I'd be replacing Certainly I can drop the needed images in there but I don't know exactly how the English text fits in.
Also BTW these images use the prompt text as label rather than the proposed prompt text in the text box, is that what we want?

It's pretty routine once you understand what needs to be done. You just
take your current English tutorial and replace all the images in it with
new screenshots in the target language. Then we give the translators:

The outgoing .docx (English text with target language images)
The prior translated .docx
The prior English .docx file

They then use tools to decompose the prior .docx files by sentence into a
translation memory. They then translate only new or change sentences, and
then inject that translation memory into the .docx with the target images,
and we get a new translation for a lower translation cost than if you just
gave them #1 alone and they treated it like an entirely new tutorial.
Presumably, despite the extensive changes, there are still a lot of
sentences that remain unchanged from the previous translation.
On Sat, Dec 18, 2021 at 11:26 AM Brian Pratt @.***>
wrote:

Need docx files in Chinese and Japanese/outgoing for the retranslation of
the documents. You just go through the tutorials again and paste Chinese or
Japanese screenshots in place of the English screenshots. Text remains
English in the outgoing .docx files. See the files in these folders for
examples.
It's a little tricky - rather a lot of text has changed (because the new
interface is WAY easier to use, with many fewer steps) so I'm not really
sure what I'd be replacing Certainly I can drop the needed images in there
but I don't know exactly how the English text fits in.
Also BTW these images use the prompt text as label rather than the
proposed prompt text in the text box, is that what we want?
—
Reply to this email directly, view it on GitHub
https://github.com/ProteoWizard/pwiz/pull/1923#issuecomment-997273340,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACYBWUBPMUKHHF7J3NZOL3DURTN5BANCNFSM5KK6VESA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

That makes sense, no problem.

OK, this should be good to go.
Note that I added a "Copy to clipboard" button to the PauseForScreenshot dialog as an alternative to Alt-PrtScn when capturing images of Skyline windows for creating and updating tutorials.
The code deals with edge pixel schmutz due to overlapping windows by determining which color is most commonly seen in the captured edge pixels and then setting them all to that color. (I was getting really annoyed by the tedium of positioning each window over a clean background.)
I also added a "Copy Metafile" button for convenience.
N.B. once in a while these buttons don't grab what you think they're going to, it's rare enough that I've chosen not to pursue it - this isn't user facing and you can always go back to the manual way of doing things if needed. Just doesn't seem like a good use of my further time.

Have you tried TNT Capture? It's a pretty nifty program with a hotkey for capturing the window the mouse is hovering over. It handles my Windows 7 rounded corners very well. Fortunately the current metro style has square corners so it doesn't have that problem. But it would probably avoid the color issues you saw and the cases where your current approach doesn't work.

Interesting suggestion, thanks. I kinda like the fact that this is self contained (though admittedly it won't do well on rounded corners).
I actually hadn't noticed the issue with edge pixel schmutz until Brendan pointed it out - it's pretty subtle, just slight variations in color due to some kind of blending with whatever is behind the window. Are you sure TNT Capture deals with this?

Although when I think about it, probably not that hard to deal with rounded corners, presumably those areas have a zero alpha channel andit  should be easy to detect where the true edge begins.

What is the schmutz? What is up with the weird title bar in your screenshot above? The edge stops next to the red x and also on the left side of the title bar.

Does the code keep the right window activated? My concern with a button on
the pause window is that the form being captured may not have the focus.
Otherwise, it sounds great. Hopefully this is also using and improving on
Rita’s code which we use to auto-snapshot the “cover shots”.
On Tue, Dec 21, 2021 at 12:39 PM Brian Pratt @.***>
wrote:

Although when I think about it, probably not that hard to deal with
rounded corners, presumably those areas have a zero alpha channel andit
should be easy to detect where the true edge begins.
—
Reply to this email directly, view it on GitHub
https://github.com/ProteoWizard/pwiz/pull/1923#issuecomment-998970740,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACYBWUGCCKIBBSS2BEEMQ2LUSC3TXANCNFSM5KK6VESA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

What is the schmutz?

Here's an example, Skyline window on top of something else with red lines on white:

There's discoloration along the right hand edge. Easy to miss.

What is up with the weird title bar in your screenshot above? The edge stops next to the red x and also on the left side of the title bar.

I don't know, it's just how it is, whether you screen cap it or not.

Does the code keep the right window activated? My concern with a button on the pause window is that the form being captured may not have the focus. Otherwise, it sounds great. Hopefully this is also using and improving on Rita’s code which we use to auto-snapshot the “cover shots”.

Yes, it sets focus on the control before grabbing the screenshot. It does use our existing code for the actual grab.

OK, good to know about the discoloration. I don't see it in Win7 because its borders are so thick with "chrome". Haven't tested TNT on Win10 yet.
Is that red x from Windows 11 style?

I guess? Heavy use of ZedGraph in that window, which I don't really know a lot about.

Yes, it sets focus on the control before grabbing the screenshot. It does use our existing code for the actual grab.

I meant

I guess? Heavy use of ZedGraph in that window, which I don't really know a lot about.

Actually I think it's the docking window library we use.

Oh, and no, it's not Win11, this is on a Win10 machine. Didn't parse the question properly in my head.

Although when I think about it, probably not that hard to deal with rounded corners, presumably those areas have a zero alpha channel andit should be easy to detect where the true edge begins.

Oof, maybe not - this is a close up of an Alt-PrtScn on Win11

in context:

This just seems lazy, they're not even trying to deal with the rounded corners.
Well, I like my implementation for as long as we're on Win10, I guess.  And I can probably still detect that edge, it's just a bit trickier. Or maybe the smart move is programatically putting a big empty window behind the thing being snapshotted.

When all I need to do is screenshots, I just don’t find it takes that long.
I do this for Chinese and Japanese just after I complete the English
version. By far, the most time construction part is ensuring the tutorial
text and images stay in sync and provide meaningful instruction on best
practices.
I did fully automate the cover shots, but there I can truly leave it
overnight and wake to screenshots for all 20 tutorials in 3 languages in 2
different sizes and formats 120 images in all.
Just don’t want to keep spending a lot of time on this. Try to make it a
small investment when you are actually working on screenshots as you have
been. Otherwise, I am not convinced you are saving me much time and I have
been the primary consumer.
On Tue, Dec 21, 2021 at 3:03 PM Brian Pratt @.***>
wrote:

Although when I think about it, probably not that hard to deal with
rounded corners, presumably those areas have a zero alpha channel andit
should be easy to detect where the true edge begins.
Oof, maybe not - this is a close up of an Alt-PrtScn on Win11
[image: image]
https://user-images.githubusercontent.com/1200761/146989407-fd6c0460-802b-4a6c-aace-86555cc2c707.png
in context:
[image: image]
https://user-images.githubusercontent.com/1200761/146989926-eef7ef5c-e783-4884-b9dc-234988b7b8e8.png
This just seems lazy, they're not even trying to deal with the rounded
corners.
Well, I like my implementation for as long as we're on Win10, I guess. And
I can probably still detect that edge, it's just a bit trickier. Or maybe
the smart move is programatically putting a big empty window behind the
thing being snapshotted.
—
Reply to this email directly, view it on GitHub
https://github.com/ProteoWizard/pwiz/pull/1923#issuecomment-999058600,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACYBWUEQ3GWMB6DDA24U2O3USDMPNANCNFSM5KK6VESA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because your review was requested.Message ID:
@.***>

It's done, as far as I'm concerned. I was updating four tutorials in three languages, 198 screenshots in total, and finding it extremely tedious dealing with the edge schmutz issue. For me, at least, this change makes the tutorial maintenance task considerably faster and far less tedious.

Should page 20 in the Existing Experiments tutorial show the transition list column picker UI?


Create system for converting audio files down to desired format

This one is a bit bigger. Leave for Lute v4 or something...
It would be nice to have an option to set quality and format for storing audio files I upload to Lute. I know that tools like FFmpeg can convert just about anything. This way I can set my files to 192 or 128 and save on space.

This one should fall outside of Lute itself.  I don't control what tools people have on their machines, and wouldn't want to write a UI which would essentially map to control flags.  (But if someone else insists on implementing some kind of plug-in, it's not a bad idea :-) ).

Yeah, this is a bit of a stretch goal.


Add variables to hold processing times for modsecurity phases

Format Variables
ModSecurity-nginx provide times variables for particular phases that you can uses in nginx log_format:
*$modsecurity_req_headers_phase_time*
    request headers processing time in seconds with a microseconds resolution; time elapsed for processing headers in first phase by ModSecurity
*$modsecurity_req_body_phase_time*
    request body processing time in seconds with a microseconds resolution; time elapsed for processing request body in second phase by ModSecurity
*$modsecurity_resp_headers_phase_time*
    resposnse headers processing time in seconds with a microseconds resolution; time elapsed for processing response headers in third phase by ModSecurity
*$modsecurity_resp_body_phase_time*
    response body processing time in seconds with a microseconds resolution; time elapsed for processing response body in fourth phase by ModSecurity
*$modsecurity_logging_phase_time*
    logging processing time in seconds with a microseconds resolution; time elapsed for processing logging in fifth phase by ModSecurity

The following example show how to configure custom log_format with variables above and use them with custom access.log:
    log_format format_modsecurity 'modsecurity_req_headers_phase_time: $modsecurity_req_headers_phase_time, modsecurity_req_body_phase_time: $modsecurity_req_body_phase_time, modsecurity_resp_headers_phase_time: $modsecurity_resp_headers_phase_time, modsecurity_resp_body_phase_time: $modsecurity_resp_body_phase_time, modsecurity_logging_phase_time: $modsecurity_logging_phase_time';
    access_log /usr/local/nginx/logs/modsecurity.log format_modsecurity;

For waf performance, I'd like to implement as this (in nginx module):

when modsecurity context / transaction is created, record it as modsec_request_start_time
when ngx_http_modsecurity_process_intervention is finished, update it as modsec_request_end_time
Calc modsec_request_end_time - modsec_start_time as modsec_request_time.

For response, it's hard to implement, as there may be multi upstream (refer upstream_response_time in upstream module: http://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_response_time). However, I have commented out the response headers / body handlers, and have no modsec rules in phase 3 / 4.
For modsec rules performance, I'd like to implement it in modsecurity.

@awmackowiak Could you help to review https://github.com/SpiderLabs/ModSecurity-nginx/pull/273 and https://github.com/SpiderLabs/ModSecurity-nginx/pull/277?

Have you guys tried the performance instrumentation? The perf. instrumentation seems to have all the information that you guys are trying to collect.
https://github.com/SpiderLabs/ModSecurity-nginx/blob/master/ngx-modsec.stp
That is the output -

Alternatively you can the have the function level chart -

That is an interactive SVG, like this one -
https://www.brendangregg.com/FlameGraphs/cpu-mysql-updated.svg
Also, you can compare ModSecurity execution times outside nginx, by using the command line utilities -
https://github.com/SpiderLabs/ModSecurity/tree/v3/master/test
All that without having to patch a single line from ModSecurity.
Patching ModSecurity to support some sort of performance indicators was discussed here - https://github.com/SpiderLabs/ModSecurity/issues/1011

@zimmerle We'd like to record waf time in log...just as request_time and upstream_response_time...

@liudongmiao I made fixes as you suggests.

@liudongmiao could you review it again?

@ziollek These codes are ok.
However, we use another solution, calc the total modsec time, named it as "msc_request_time" and "msc_engine_time".

msc_request_time: the time cost between the beginning and complete
msc_engine_time: the time cost by modsecurity engine, sum all steps
And in production, msc_request_time is same as msc_engine_time for GET request, for large POST, msc_request_time is greater than msc_engine_time.

@liudongmiao thanks for reply.  Could you point out where these variables are described? Are they exposed as a nginx variables?
I would like to give you some insights what needs states behind this change.
We implemented those changes because we encountered a hard to diagnose performance issue (connected with this PR: https://github.com/SpiderLabs/ModSecurity/issues/2601). In order to increase WAF observability we want to measure libmodsecurity overhead. The simplest (from our point of view solutions) seems to be an adding such overhead of each request to nginx log (and later build appropriate metrics from nginx log).

@ziollek Yes, we have the same problem. We export it to nginx variables, and update the nginx log format.
In our production, we add three variables: msc_request_time / msc_engine_time / msc_rules_messages.
I have explained the msc_request_time and msc_engine_time.
In our production, the average msc_engine_time is about 1ms, and 95% is less than 5ms, which is acceptable by our team.

Have you guys tried the performance instrumentation? The perf. instrumentation seems to have all the information that you guys are trying to collect.
https://github.com/SpiderLabs/ModSecurity-nginx/blob/master/ngx-modsec.stp

Thanks for pointing out this tool, I was not aware of that. Lately, I had some spare time and I tried to profile using it, and I have some thoughts about it. First of all, it is really cumbersome using systemtap in a containerized environment (and currently it is quite common that such workload is run for example in k8s). Secondly, the script provided within the plugin is outdated, it tries tracking calls that no longer exist in libmodsecurity.so
And finally, I think that there is some misunderstanding of the purpose of such changes. We do not want to provide another way of profiling ModSecurity. We wanted to increase observability. Internally in our company, we have defined metrics based on times reported by introduced new variables. Our WAF ecosystem based partially on ModSecurity is complex and thanks to measuring the overhead of each component by such kinds of metrics we have insights that allow very fast tracing down the root cause of performance problems.


nucleo stm32f401re code - higher frame rate?

hello,
I've been trying to get higher frame rate with the nucleo stm32f401re code without any succes.
anyone here optimized it and got higher frame rate than one picture every 2 seconds?
I think its a problem with the reading function reading too slow.
thanks

The firmware for the GroupGets PureThermal 1 Lepton board will probably be of great interest to you... it's based on STM32F411! :)
You can get full 26 fps if you sync just the first line with CPU or interrupt driven transfers. Once you're in sync, you can dump the rest of the frame out to a buffer with a DMA transfer, and do your work as you kick off the next transfer. Take a look here:
https://github.com/groupgets/purethermal1-firmware/blob/master/Src/lepton.c#L44

thank you very much! I hope i can work it out, looks prety complicated


[FEATURE] Add Storage Class Options

What feature you'd like to add:
In the case of pathPattern or mount Options, you can refer to PVC's annotment as ${PVC.annotations....} but cannot refer to options such as mount-cpu-limit, so you need to create a new Storage Class every time you modify the mound pod option.
It would be convenient if the above options could also be used by referring to PVC's annotments.
AS-IS(Current)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: storage-class
provisioner: csi.juicefs.com
parameters:
  csi.storage.k8s.io/provisioner-secret-name: ${pvc.annotations['csi.juicefs.com/secret-name']}
  csi.storage.k8s.io/provisioner-secret-namespace: ${pvc.namespace}
  csi.storage.k8s.io/node-publish-secret-name: ${pvc.annotations['csi.juicefs.com/secret-name']}
  csi.storage.k8s.io/node-publish-secret-namespace: ${pvc.namespace}
  csi.storage.k8s.io/controller-expand-secret-name: ${pvc.annotations['csi.juicefs.com/secret-name']}
  csi.storage.k8s.io/controller-expand-secret-namespace: ${pvc.namespace}
  juicefs/mount-cpu-limit: 1000m
  juicefs/mount-memory-limit: 1Gi
  juicefs/mount-cpu-request: 500m
  juicefs/mount-memory-request: 500Mi
  juicefs/mount-delete-delay: "1m"

  pathPattern: "${.PVC.annotations.csi.juicefs.com/subdir}"
allowVolumeExpansion: true
reclaimPolicy: Delete
mountOptions:
  - ${.PVC.annotations.csi.juicefs.com/additional-mount-options}

TO-BE(Wanted)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: storage-class
provisioner: csi.juicefs.com
parameters:
  csi.storage.k8s.io/provisioner-secret-name: ${pvc.annotations['csi.juicefs.com/secret-name']}
  csi.storage.k8s.io/provisioner-secret-namespace: ${pvc.namespace}
  csi.storage.k8s.io/node-publish-secret-name: ${pvc.annotations['csi.juicefs.com/secret-name']}
  csi.storage.k8s.io/node-publish-secret-namespace: ${pvc.namespace}
  csi.storage.k8s.io/controller-expand-secret-name: ${pvc.annotations['csi.juicefs.com/secret-name']}
  csi.storage.k8s.io/controller-expand-secret-namespace: ${pvc.namespace}
  juicefs/mount-cpu-limit: ${pvc.annotations['csi.juicefs.com/mount-cpu-limit']}
  juicefs/mount-memory-limit: ${pvc.annotations['csi.juicefs.com/mount-memory-limit']}
  juicefs/mount-cpu-request: ${pvc.annotations['csi.juicefs.com/mount-cpu-request']}
  juicefs/mount-memory-request: ${pvc.annotations['csi.juicefs.com/mount-memory-request']}
  juicefs/mount-delete-delay:  ${pvc.annotations['csi.juicefs.com/mount-delete-delay']}

  pathPattern: "${.PVC.annotations.csi.juicefs.com/subdir}"
allowVolumeExpansion: true
reclaimPolicy: Delete
mountOptions:
  - ${.PVC.annotations.csi.juicefs.com/additional-mount-options}

Why is this feature needed:
The required resources for the mount pod vary depending on the characteristics of the PVC you use.
Like other options, if the option of the mount pod can be set in the pvc, I think it can be used flexibly.

/assign @zxh326


One Can not upload certificate with dot in the name using Rancher UI.

What kind of request is this (question/bug/enhancement/feature request): bug
Steps to reproduce (least amount of steps as possible):
Try to upload a certificate using Rancher UI and name the certificate with a name that contains a dot "." like tt.test
Result:
You will fail with an error message:
"Name" contains an invalid character. .
Other details that may be helpful:
Using kubectl certificate is uploaded without any problems.
kubectl create secret tls tt.test --cert=one.pem --key=one.key
secret/tt.test created
The issue is like issue rancher/rancher#25955
This one is reported in version 2.4.8
gz#13612

@gaktive  - Can you take a look at this with the UI team and confirm if it's a UI issue or if I need to circle back with RT?

The UI is technically producing that message, but because the the schema from the server for Certificate is wrong.  The name field is marked type: "dnsLabel", a dnsLabel cannot contain dots, and the UI is therefore validating that.
This should have been fixed in https://github.com/rancher/rancher/issues/25955#issuecomment-597952534 , but apparently nobody really went through the whole list.

Thanks @vincent99, I'll circle back with the BE team to get a fix for it on the radar.


Cache state issue on traffic monitor

Traffic monitor doesn’t show the correct state of a cache server in the following scenario:
First a cache server is deleted, then the same cache server is added.
The following is the detail:

initially three caches state are:   "isAvailable": true
[root@client ~]# curl http://monitor.cdn.com/publish/CrStates
{
"caches": {
"mid-se-1": {"isAvailable": true},
"edge-se-1": {"isAvailable": true},
"edge-se-2": {"isAvailable": true}
},
"deliveryServices": {"ds": {
"disabledLocations": [null],
"isAvailable": true
}}
}

cache "edge-se-1" is deleted from traffic ops.
[root@client ~]# curl http://monitor.cdn.com/publish/CrStates
{
"caches": {
"mid-se-1": {"isAvailable": true},
"edge-se-2": {"isAvailable": true}
},
"deliveryServices": {"ds": {
"disabledLocations": [null],
"isAvailable": true
}}
}

cache "edge-se-1" is added from traffic ops.
[root@client ~]# curl http://monitor.cdn.com/publish/CrStates
{
"caches": {
"mid-se-1": {"isAvailable": true},
"edge-se-1": {"isAvailable": "unknown"},
"edge-se-2": {"isAvailable": true}
},
"deliveryServices": {"ds": {
"disabledLocations": [null],
"isAvailable": true
}}
}
The state of "edge-se-1" is "unknown" instead of true.

This is found in the commit "cec280b7887d0e0f8c843a004d5ed98d9b93b8c0". The current commit "5fe80041da59390fd402f9ca6ec6da1e4eabd8af" also has this issue.

Confirmed this bug in the lab; it's definitely real, so this should be addressed in 1.6.0.

Confirmed that this is a regression due to changes made in 1.5.x; we will fix this in master and backport the fix to 1.5.x.


Minimizing the editor shrinks all panels

Godot version:
3.1 6c569c9
OS/device including version:
Windows 10 x64
Issue description:
A short video demonstrating the problem: https://streamable.com/doj64
Steps to reproduce:

Open a project
Resize any panel to whatever size
Minimize the window
Restore the window

I would just like to point out that this does not happen in v3.0.6.stable.custom_build.

I think it's a Windows issue, this has never happened on Linux Mint.

oops

This is probably no longer an issue thanks to #23728. Can someone test?

Checked in Windows 10 and it is fixed now.


AST: Remove DeclAttributes::getPotentiallyUnavailable()

This utility duplicated logic that is now meant to be encapsulated by getUnsatisfiedAvailabilityConstraint(). Update init(rawValue:) synthesis to use getUnsatisfiedAvailabilityConstraint() and improve test coverage.

@swift-ci please test

@swift-ci please test


fix(data): correct the id when storing V2 event

PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

If your build fails due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-examples/blob/master/.github/CONTRIBUTING.md.
What is the current behavior?

Issue Number: Fix https://github.com/edgexfoundry/edgex-go/issues/2770
What is the new behavior?
The V2 reading id didn't store correctly. Make them store the reading id
with collection prefix in Redis.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

recheck

Codecov Report

Merging #2778 into master will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master    #2778   +/-   ##
=======================================
  Coverage   38.61%   38.61%
=======================================
  Files         159      159
  Lines       12467    12467
=======================================
  Hits         4814     4814
  Misses       7372     7372
  Partials      281      281

Impacted Files
Coverage Δ

internal/pkg/v2/infrastructure/redis/event.go
0.00% <0.00%> (ø)

internal/pkg/v2/infrastructure/redis/reading.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f69fcd6...893771a. Read the comment docs.


Not able to Edit the text annotation on top of a Form field when PDF Documents has link annotations and native annotations on it

Attach (recommended) or Link to PDF file here:
test4filled.pdf
Configuration:

Web browser and its version: Any browser
Operating system and its version: Windows
PDF.js version: After pdf.js2.8 till latest We see this issue. this issue was not seen in pdf.js 2.5.207 and 2.8.
Is a browser extension:

Steps to reproduce the problem:

Open the attached document in mozilla.
Try Adding annotation text exactly on top of the form field.
Then try to edit the annotation

What is the expected behavior? (add screenshot)
We should be able to edit the text annotation on top of the form field.

What went wrong? (add screenshot)
We are not able to select the Text annotation as the form field annotation layer is rendered on top.

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

I understand that clicking the Text mode button brings the Text annotation layer to the top. Just wanted to know if there is a flag which can be enabled to bring the text annotation layer to the top always.

I understand that clicking the Text mode button brings the Text annotation layer to the top.

Yes, it's necessary to enable an edit-tool first in order to change a previously added annotation; hence this is working as intended here.

Just wanted to know if there is a flag which can be enabled to bring the text annotation layer to the top always.

No, there's not.


rook: Equal is an invalid value

This commit fixes the invalid value for node affinity.
Correct value is Equals, instead of Equal.
Signed-off-by: Imran Pochi<EMAIL_ADDRESS>

dont merge


[Addition]: cheating 13 hnt/daily 1 hotspot

Hotspot b58 Addresses
11266N1N7xtup3Wc7fnnvkzUquqBNDn2KuxG44NbwMGobLchrRrQ
Discord Handle
No response
Reason(s)
guys, you really should improve this net.

My Oh My! amazing hotspot :)
He is about 150  km from me, is like driving range but i can't look for a needle in the haystack.


Ready for AOT

Hello, some users were experiencing an issue (see #8) with AOT builds using Angular CLI. The issue revolved around using tsc instead of the Angular wrapper around it (i.e. ngc). ngc emits some files needed by Angular, more specifically, .metadata.json files.
I added @angular/compiler-cli, replaced references to tsc by ngc. I tested it against Angular 2.4.10.

Thanks! I also think this also fixes #6.
Would it be possible to push an update to npm? I think an increment to the patch number would do.


Updates to readme

Hi all, I started updating the readme. I added in the other image, and added in the analysis for it. I also removed some of the "future considerations", but we might want to remove more. Finally I added the acknowledgements section. We also might want to revise the makefile section/add some info on how the user can modify the FIPS code comparison.

I'll open a separate pull request with Makefile comments as suggested.


Consistent ME terminology

Update instances of "message extension" to "messaging extension" for consistency with existing Teams terminology.

Docs Build status updates of commit 8998eaf:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
:warning:Warning
View
Details

msteams-platform/m365-apps/prerequisites.md
:white_check_mark:Succeeded
View

msteams-platform/m365-apps/extend-m365-teams-message-extension.md

Line 40, Column 525: [Warning: bookmark-not-found] Cannot find bookmark '#preview-your-message-extension-in-outlook' in 'm365-apps/extend-m365-teams-message-extension.md', did you mean '#preview-your-messaging-extension-in-outlook'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 43a0eff:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
:white_check_mark:Succeeded
View

msteams-platform/m365-apps/prerequisites.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Hi @surbhigupta12, when you get a chance, would you mind taking a quick look and helping me merge this? Thank you!

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
89
42
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
93
24
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
89
42
link
:white_check_mark:

msteams-platform/m365-apps/prerequisites.md
93
24
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


merge the implementation of sentiment classification models

Added the following thing:

FFSingleMatrix: which is used in the aggregation function where merging FFMatrixBlock into a single large matrix
libFFAggMatrixToOneMatrix: aggregation class that merge the FFmatrixBlocks, and returns a FFSingleMatrix
libSemanticClassifierSingleBlock: the sentiment classifier with FFSingleMatrix as input version
implementation of different sentiment classifier

scons test passed


Add PERMANOVA effect size support

Now allows calculation of PERMANOVA effect sizes (omega-squared) for MultivariateDataHandler instances. Math according to https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4514928/ (cite in paper)
At the moment does not allow for calculation of power analysis from this effect size because the effect size is not F-distributed (same reason why PERMANOVA uses pseudo-F). @wasade do you think this is a critical missing component? Evident is set up to calculate power analytically and this will likely require some sort of involved simulation procedure.
See https://www.frontiersin.org/articles/10.3389/fmicb.2021.796025/full as well

I think a power analysis using permanova would be great. How difficult to you think it'll be?

I think it is doable. Will start working up a solution and hopefully get an update soon.

Ok so I implemented a bootstrap power analysis for PERMANOVA since there's no real numerical option. Basically I do two rounds of bootstrapping assuming N observations with groups equally distributed.
(1) Sample randomly with replacement without regard to class labels & calculate effect size
(2) Sample randomly with replacement within class labels & calculate effect size
In this way, (1) is the null hypothesis and (2) is the alternative hypothesis. These are each done for some number of permutations, P. Then we just use the definition of power to determine the percent chance that the null hypothesis is not rejected out of P. Result looks something like this:

@wasade @antgonza does this make sense?

Total observations is total number of samples assuming balanced classes (same as the rest of Evident)

Thank you @gibsramen; out of curiosity, how many samples and classes are in the original data in the plot? Also, what was it's original permanova values?

@antgonza

Thank you @gibsramen; is it me or does it look like it saturates power when you get to the same number of samples as you have in the original data? Also, could you add 2-3 lines in the plot using different alpha? Just to check my previous observation ?

Yeah I can look at that.

Curves are kinda wonky since

We're doing random permutations
Permutations are done with replacement (in contrast to regular PERMANOVA)

but I think the trend generally holds.

I upped the number of permutations from 999 -> 4999 which should be equivalent to doing your suggestion 5 times I think.

Nice! Thank you!

Agree, that looks really awesome

Cool! If one of you could review the PR that would be super.

Can do but before starting, what was the motivation to partially reimplement PERMANOVA?

The implementation of PERMANOVA from scikit-bio doesn't return the sums-of-squares values needed to calculate the effect size.
https://github.com/biocore/scikit-bio/blob/107fc8fba3df69ceea6dd3ef357212eecc1f9be3/skbio/stats/distance/_permanova.py#L130

Great, thanks!


N20: genesis, Shipyard, gba, rust-gpu

@StygianLightning @leudz @Lokathor @XAMPPRocky r?
Part of #531

This is the last content PR. Merging within an hour if there're no objections.


Operator waits for jobs it didn't create

The initdb job was never created due to an error in a cluster definition that wasn't rejected by the admission webhook (#2661). Instead the process errored out early due to being unable to create a job based on the invalid configuration. Using the YAML below with CNPG 1.20.2 resulted in no pod being created due to the invalid specification in the YAML but CNPG is waiting for the pod to become available and to initialize the DB though there are no jobs for such scheduled.
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: cnpg-issue-resources
spec:
  description: "Fails to Create Pod for Cluster"
  imageName: ghcr.io/cloudnative-pg/postgresql:15.3
  instances: 1

  storage:
    storageClass: standard
    size: 1Gi

  resources:
    requests:
      cpu: 50m
      memory: 256Mi
    limits:
      cpu: 75m
      memory: 128Mi

This appears to be the relevant item from the operator logs:
cnpg-cloudnative-pg-7dd9bf9949-r9694 manager {"level":"error","ts":"2023-08-31T22:15:27Z","msg":"Unable to create job","controller":"cluster","controllerGroup":"postgresql.cnpg.io","controllerKind":"Cluster","Cluster":{"name":"cnpg-issue-resources","namespace":"test"},"namespace":"test","name":"cnpg-issue-resources","reconcileID":"ac13adfc-1c0e-4914-b3d5-e3bece9b4871","uuid":"e3769c8b-484b-11ee-a5f3-72d6aa6f68c1","job":{"namespace":"test","name":"cnpg-issue-resources-1-initdb"},"error":"Job.batch \"cnpg-issue-resources-1-initdb\" is invalid: [spec.template.spec.containers[0].resources.requests: Invalid value: \"256Mi\": must be less than or equal to memory limit, spec.template.spec.initContainers[0].resources.requests: Invalid value: \"256Mi\": must be less than or equal to memory limit]","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:128\ngithub.com/cloudnative-pg/cloudnative-pg/controllers.(*ClusterReconciler).createPrimaryInstance\n\tcontrollers/cluster_create.go:1004\ngithub.com/cloudnative-pg/cloudnative-pg/controllers.(*ClusterReconciler).ReconcilePods\n\tcontrollers/cluster_controller.go:645\ngithub.com/cloudnative-pg/cloudnative-pg/controllers.(*ClusterReconciler).reconcileResources\n\tcontrollers/cluster_controller.go:499\ngithub.com/cloudnative-pg/cloudnative-pg/controllers.(*ClusterReconciler).reconcile\n\tcontrollers/cluster_controller.go:335\ngithub.com/cloudnative-pg/cloudnative-pg/controllers.(*ClusterReconciler).Reconcile\n\tcontrollers/cluster_controller.go:145\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:118\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:314\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:265\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\tpkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/internal/controller/controller.go:226"}

This is a duplicate of #2661 - closing


Remove iui-icon to be clickable in button

Mostly this remove the svg to be clickable in button which make mouseevent target the button element and never the svg or path element.

@maxime4000 thank you for your PR!
As per the the instructions in our Contributing guide, there is a need to have an issue created, so we could better understand what is the bug and what this PR fixes.
With your current description and a fix, it is really hard to understand and review.
Thanks!

I'm messing with button and mouseevent right now and when you click on a iconbutton on the icon part, the mouseevent will target path or svg, though the svg or path part is not interesting and if I'm not clicking on the svg, i will get button.iui-button. So this will force click on button where ever you click on the button, you will get an event targeting the button.iui-button. MouseEvent will be consistent with this fix.

Same thing would happen for iui-label in an iui-button. I'm doing it for iui-icon because I think it's fair to say that it will never be the case where you want to know which part of the SVG you click on. I'm not interested in iui-label because I don't have this use case. If you want to add iui-label to that, feel free to edit this PR.
My use case is that I have a parent that is listening to mouseevent and I want to exclude button click to this listener. It's simplier to know that mouseevent.target is iui-button than path from iui-button>svg>path

Have you tried event.currentTarget? https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget

Have you tried event.currentTarget? https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget

current target is null

@maxime4000 Have you tried applying your custom class (or inline styles) on the icon you are passing to the button component?
I am just afraid it is really specific and if we disable it, someone might come and say he needs it.. So we better do not remove things (and let users remove what they do not need) than vice versa.
And again, if we start removing from here ,we need to do it in other million places, which we do not really want to do now (otherwise, inconsistent behavior expected in different components).
.my-custom-icon {
  pointer-events: none;
}

...
<IconButton>
  <MySvg className="my-custom-icon" />
</IconButton>

I think it's consistency to always get the same result of mouseevent where ever you click in an icon button. We are not talking about custom button or other component and we are not talking about other children possibility in a button. In 90% of the case, you never use the mouseevent in button and when you do, 99% of the time it's about e.preventDefault() or switch(event.button). So I think my change is very specifics, but shouldn't be ignore. Anyway, can you give me a reason why would you want to know which part of a SVG you click on so you do a different behavior ? Pretty sure that goes against every rule of UX.

We are not talking about custom button or other component and we are not talking about other children possibility in a button.

Yes we are. You can pass any children in a button, and there can be a need for pointer events on those children. And if we change the pointer-events behavior in our button, it does some expectation that other components in our library would behave similarly.

why would you want to know which part of a SVG you click on so you do a different behavior

Maybe not specific parts of the svg but there can be a use case for knowing whether the svg itself was hovered (and then acting on that, e.g. changing fill or something).
Either way, you're missing the point. The svg is not part of the component, and we should not mess with the events there, especially since it's so easy for users to add this rule themselves.

Are we reviewing the same code, because it seem like you guys are searching any reason to not allow this simple change to be push...
.iui-button > .iui-icon:not(.iui-user-icon) {
    width: $iui-icons-default;
    height: $iui-icons-default;
    transition: fill $iui-speed-fast ease-out;
    pointer-events: none;  // This is the only added line
}

The change is only apply to iui-icon which is a direct child of iui-button so it should only be the case if you use a icon button... This change does not affect anything else.

@veekeys

if we disable it, someone might come and say he needs it.
Well he can do the same by enabled in it back with his custom classname. This change is considering that 99% of the time, it won't bother anyone. To the 1% chance a dev has to reset the pointer-events, he can add custom classname...

And again, if we start removing from here ,we need to do it in other million places, which we do not really want to do now

A million ? Where ? Give me 10 place that this change should be apply somewhere else which has a use case of having a onClick event listener in the first place. And if you do find 10 place to do it, fix it while your at it !
@mayank99

Yes we are. You can pass any children in a button, and there can be a need for pointer events on those children.

No we don't ! Anything else other than a icon as direct child of button will keep his pointer-events.

And if we change the pointer-events behavior in our button, it does some expectation that other components in our library would behave similarly.

No it does not make expectation that every other component should work the same because it's only apply to basic IconButton and nothing else.

Maybe not specific parts of the svg but there can be a use case for knowing whether the svg itself was hovered (and then acting on that, e.g. changing fill or something).

Dude we are talking about javascript or SCSS ? Javascript: Hover event can be done. SCSS : .iui-icon:hover {} will still work. What are you saying...

Either way, you're missing the point. The svg is not part of the component, and we should not mess with the events there, especially since it's so easy for users to add this rule themselves.

No I'm not ! SVG is part of the component as this rule imply it : .iui-button > .iui-icon:not(.iui-user-icon) {} So unless I'm very very very very very stupid and I don't understand this source code after 1 year of making change to it and using it every day to build a website. I think I know the source code.

I'm sorry if I'm arrogant right now, but we are debating on a freaking line that any front-end developer should already understand after 1 minutes of looking at it that this change won't do anything bad to iui-button... Can we just approve and never talk about this again ?

Here's my final comment, You can close this PR if it's not going to happen.
I still think this code under is never going to happen, because it make no sense for UX to suggest this type of behavior nor make sense to ever want to add onClick listener directly on iui-icon in a button. So I don't see why this fix could do anything wrong to iTwinUI
<Button onClick={(e) => {Do behavior1}}>
  <SvgSomething onClick={(e) => {Do behavior2}}/>
</Button>
// Or
const btnOnClick = (e) => {
  if(e.target.classList.include("iui-icon")){
    // Do behavior2
  } else {
    // Do behavior1
  }
};

And I'm pushing the change here (while it's already apply in my app) because it offer consistency on mouseevent in iui-button which I think is an improvement for iui-button, but will also avoid other the need to investigate this quirky case that can happen if they click at the wrong place in the button.


[fix] CMake error & warning fixes on develop

Status
PRODUCTION / DEVELOPMENT
Description
Fixes #1807 #1802
Related PRs
#1790 #1683
Tested using industrial_ci

@amc-nu I added the following in the feature/use_colcon branch to ensure that the autoware_driveworks_gmsl_interface package is a proper catkin package.
https://github.com/esteve/Autoware/commit/ca123aa402bb3fdf25518eb71ab5cf163ac1edfb
Basically, just adding a call to the catkin_package macro is enough.

LGTM

@esteve pushed the changes as we discussed, can you please review again,? and approve if you agree?
Thanks

@amc-nu looks great, thanks for fixing the issue and iterating on it.

@amc-nu one small change I just noticed, you now need to declare autoware_build_flags as a buildtool dependency in package.xml:
<buildtool_depend>autoware_build_flags</buildtool_depend>

@amc-nu I just saw that the dependency for autoware_build_flags wasn't introduced in this PR, but could you add it anyway? Thanks!

@esteve updated!
Thanks for noticing that!
Waiting for CI before merging

CI passed, yay! However, the current GitLab runner does not trigger the install target yet, so can't know for sure if the bug is fixed (though, I'm pretty sure it is).
https://gitlab.com/CPFL/Autoware/pipelines/42030601
@amc-nu I'm ok merging this PR, but I'll leave it up to you in case you want to make some more changes.


etcd: 3.5.13 -> 3.5.14

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for etcd is: Distributed reliable key-value store for the most critical data of a distributed system
meta.homepage for etcd is: https://etcd.io/
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 3.5.14 in filename of file in /nix/store/vzmcbs71l5fnc3lqi0g5frg3zafiwcfs-etcd-3.5.14

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

etcd
etcd_3_5

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vzmcbs71l5fnc3lqi0g5frg3zafiwcfs-etcd-3.5.14 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A etcd https://github.com/r-ryantm/nixpkgs/archive/61942f78e6bb4eb0d51a90b84dab920140d56a2d.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/61942f78e6bb4eb0d51a90b84dab920140d56a2d#etcd

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vzmcbs71l5fnc3lqi0g5frg3zafiwcfs-etcd-3.5.14
ls -la /nix/store/vzmcbs71l5fnc3lqi0g5frg3zafiwcfs-etcd-3.5.14/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

1 package built:

etcd

Maintainer pings
cc @offlinehacker @superherointj for testing.

@ofborg test etcd etcd-cluster
@ofborg build k3s.passthru.tests.etcd


🐛 Courier Prime font used for regular markdown text

Describe the bug
In the sample image on the GitHub page, the "regular" markdown text (not fountain syntax) is shown in default font while the fountain text is in courier.
In my file, all body text is rendered in courier.
What's the expected result?
Expect body text that is not fountain syntax to be rendered in default font.
Steps to reproduce the behavior
no special steps needed.
Fountain Editor - Plugin Version
No response
Obsidian Version
No response
What environment are you seeing the problem on?

[X] MacOS
[ ] Windows
[ ] Linux
[ ] Android
[ ] iOS

Participation

[ ] I am willing to submit a pull request for this issue.

Hello, can you attach a screenshot of this behaviour?
You may be looking for Fountain's Synopsis token, starting a line with =, which causes the rest of the line to not be processed for Fountain styling. This helps differentiate Synopsis/markdown from Fountain's Action syntax token (if you can call it that, basically the default token if no syntax marker is provided).

Heading 2
Here's a heading in Courier.
EXT. THE FARM
This all seems correct.
JILL
Yep. Looks right.

I see. So without the synopsis token it will simply treat text as action.
But Headers are exempt from formatting then?

Based Nord theme user. lol
Yea without the synopsis token, Fountain parsers just assume its action. So I mimicked that. And Headings do not have any implicit styles on them, I don't touch them! :D

Understood. Ty!

On Apr 30, 2024, at 10:37 AM, Chuang Caleb @.***> wrote:
Based Nord theme user. lol
Yea without the synopsis token, Fountain parsers just assume its action. So I mimicked that. And Headings do not have any implicit styles on them, I don't touch them! :D
—
Reply to this email directly, view it on GitHub https://github.com/chuangcaleb/obsidian-fountain-editor/issues/38#issuecomment-2085524128, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADGGBSM2WZBU65XAPL4VITY76UCVAVCNFSM6AAAAABG6HP3FSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAOBVGUZDIMJSHA.
You are receiving this because you authored the thread.


Add new public method to simply compile/check the code

Like the title said. This might make it easier to use as a plugin in various editors, when one needs more explanation about a syntax error possibly flagged by the editor.

:+1: :clap:

Need to

[ ] Add docstring
[ ] Add translation
[ ] Provide an explanation for FileNotFoundError ... which I do not do yet!
[ ] Add a new level (8?) so that the location of the error when a FileNotFoundError exception is raised does not show (it is Friendly-traceback's own code which cannot be excluded here)
[ ] review documentation; need to include information about check_syntax as well as review the information about the various ways to use friendly-traceback.

First complete implementation done - with basic documentation added. To do:

[ ] add unit tests.

@ntoll This is ready to be tested. There's a second function (run_code) which first calls check_syntax and, if no syntax error is found, will execute the code, and give a friendly traceback if any exception is raised. Thus it will give informative message for both syntax errors and run time errors.   I believe that something like this is what should be used in editors such as Mu: have the preferred Python interepreter run the user code but, if an exception is raised, give the option for the user to process that code using this friendly-traceback function.
Using this function only modifies sys.excepthook during the function call: it reverts back to the original Python version (sys.__excepthook__) at the end.
(I just realized that I should first make a copy of whatever is used for sys.excepthook, execute the code in the function, and restore sys.excepthook to what it was before rather than assuming that the Python default was used.)
The code for the function is found at https://github.com/aroberge/friendly-traceback/blob/master/friendly_traceback/core.py#L168  This is below the code for check_syntax.
A unit test is found in https://github.com/aroberge/friendly-traceback/blob/master/tests/test_run_code.py
I don't really have an idea as to how it should be incorporated into Mu ... but I think it should. :-)
Right now, it is not part of a release on pypi.  I'll try to make a new release tomorrow  (Sunday) afte making the change for properly restoring sys.excepthook.

@aroberge you can track what Mu is doing in this respect via the ticket I just created which references this one. Thank you for all your hard work so far on friendly-traceback. It's really appreciated and I'm looking forward to testing it out with out users (I have both beginner adults and kids with whom I can try it out and gather feedback as well as a bunch of teachers for whom this would be very interesting). In any case, I'll share any feedback I get.


Why is editor.suggest.maxVisibleSuggestions limited to 15

Testing #109394
With the new resize behavior I can make it larger than 15 items.

Yeah, the whole setting lost its value. It's now interpreted as the preferred size

There these options

remove the limit of 15 items (e.g use 100) but honour the setting.
deprecate the the setting

I am in favour of option 2 because custom sizes of the suggestion widget are also persisted/synced which makes the setting obsolete. Also, many users that have configured the setting will have a bad experience with resizing suggestions because till today it cannot be more than 15

Closing - the setting is deprecated and not honoured anymore


Back arrow returns to device list instead of previous folder

In previous versions, selecting the back arrow at the top left  would take you up one level in the directory tree.
In the last couple of releases it takes you all the way back to the root level/device selection menu.
Using the Android back button still works as expected.

Hmm... I thought it was labor to return from a deep hierarchy of directories, so I changed it.
https://developer.android.com/training/design-navigation/ancestral-temporal
However, I think that this behavior is not so good 😅

Perhaps having a back button and a home button might make sense?  Or even three, one for home, one for the root of the current device and a third for the device list?

I'm thinking about how to achieve better operability, :thinking:  so please wait for a while.

Since I could not come up with a good idea, I decided to make back arrow(up button) work as back key again. https://github.com/ohmae/DmsExplorer/commit/24ca51efc28230fb6fffd142b4ba47f567fd88f8


lesson plan

right @symmy596, fill the lesson plan with what you think should happen during it and then we can determine learning objectives and plan better.

I have added a rough outline of the 4 week practical. In the past the students finish in week 3 and use week 4 to write their report. This year we will give them an MD workshop in week 1 and this means that they will finish in week 4.


Serverless Python Requirements without the Docker

Hi.
We are programming in a very closed and strict environment. Given the nature of the policies that we have on our machines enabling, and deploying with Docker is not possible. This plugin looks promising and will greatly benefit us. My question is there any support for serverless python requirements without using Docker? at the moment we dont have the need to do cross compilation of our dependencies.

Yup, what @AndrewFarley said. Docker use is entirely optional and off by default.


How can I ensure I always end with the money as ethereum

Hi
Thanks for all this work
A question

can I make bot to finish always with the money as crypto?

if I just remove the —paper and I add my poloniex api key will zenbot will be fast enough to do the sell and buy

I have only used Coinbase to sell and buy so I don’t understand how a trader bot works
Please if someone can guide me a bit please

Dear issue reporter,
We have slightly changed our github issue policy and would now kindly request folks that have questions that they ask them in our zenbot subreddit.
You can find it here: https://reddit.com/r/zenbot
This issue will be closed, but if you disagree with your ticket being marked as a question feel free to leave a comment defending your case.
Thanks for contributing time and effort!
Greetings,
🤖


Use FFIExternalValueHolder in bindings

IIUC from Pablo, it is more correct to create the object to pass as pointer to FFI in this way:

BUT, saving in some global way e.g. FFIExternalValueHolder ofType: 'void*'.
The class FT2Types would be an example.

Maybe LGitWriteBackValueInt is good as example, too.

Note:
The diff above implies this other change in the FFI signature:


Tab order in Power BI

Hello,
I'm using the June 2021 version or PBI and I do not see an option to hide any objectss under Selection > Tab order. I am only able to change the order using the arrows. Am I looking in the right location?
I can hide objects in the Layers tab but this removes the object completely.
Thank you,
Joe

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 762701ab-7066-612d-cdc2-a729ba1b5483
Version Independent ID: 8a64d563-9737-16d3-d83e-fb56e8d3d95c
Content: Creating accessible reports in Power BI - Power BI
Content Source: powerbi-docs/create-reports/desktop-accessibility-creating-reports.md
Service: powerbi
Sub-service: pbi-reports-dashboards
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Thanks for your comment. This looks like a support request rather than documentation feedback. You might find a solution in the Power BI Community, found at https://community.powerbi.com. If not, you can get support by going to https://support.powerbi.com.


raspberry pi buster install error

Hello! I had to install a buster while making a ghost, so I tried to install it, but the following error occurred. How to solve it? Thanks for your help 😭😭
And the Python version is 2.7.18 and the latest version is also installed. The operating system is raspberry pi 4B.
Note: This article was written via Google Translate :)
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting buster
  Using cached https://www.piwheels.org/simple/buster/buster-0.1.3-py3-none-any.whl (5.5 kB)
Collecting async==0.6.1
  Using cached async-0.6.1.tar.gz (36 kB)
  Preparing metadata (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python3.6 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ldf0dmfw/async_4e5ddbb9379c4cf0bcaed97435d89ffd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ldf0dmfw/async_4e5ddbb9379c4cf0bcaed97435d89ffd/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-rsmys3ho
       cwd: /tmp/pip-install-ldf0dmfw/async_4e5ddbb9379c4cf0bcaed97435d89ffd/
  Complete output (6 lines):
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-ldf0dmfw/async_4e5ddbb9379c4cf0bcaed97435d89ffd/setup.py", line 24
      print "Ignored failure when building extensions, pure python modules will be used instead"
                                                                                ^
  SyntaxError: Missing parentheses in call to 'print'. Did you mean print(nt "Ignored failure when building extensions, pure python modules will be used instead")?
  ----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/3a/30/0f97c2e4563bcefaf050b81b300859092c1e003db4f8664a7709fe99ace0/async-0.6.1.tar.gz#sha256=41d14cc0456e03f34d13af284f65821d07d05c20e621bcaebd38f9ab5095d5d1 (from https://pypi.org/simple/async/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
Collecting buster
  Using cached https://www.piwheels.org/simple/buster/buster-0.1.2-py3-none-any.whl (4.9 kB)
  Using cached https://www.piwheels.org/simple/buster/buster-0.1.1-py3-none-any.whl (4.7 kB)
  Using cached https://www.piwheels.org/simple/buster/buster-0.1-py3-none-any.whl (4.7 kB)
ERROR: Cannot install buster==0.1, buster==0.1.1, buster==0.1.2 and buster==0.1.3 because these package versions have conflicting dependencies.

The conflict is caused by:
    buster 0.1.3 depends on async==0.6.1
    buster 0.1.2 depends on async==0.6.1
    buster 0.1.1 depends on async==0.6.1
    buster 0.1 depends on async==0.6.1

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

I didn't come up with a workaround so I ended up installing it in docker. If you are having the same problem as me, please install it with docker.


Forms - Autocomplete attributes

Add autocomplete attributes to all form fields and update form name values. Follow suggestions from this article
Note updating form name values is a breaking change for the backend API - so changes to the backend handler will need to follow front-end changes as well for this case.

Merged PR #150


Reuse wrappers to avoid unnecessary allocations.

@fatih would you have time to check PR?
would be great to get it merged. basically it fixes unnecessary mem allocations

I'm archiving and closing this project. It's not going to be maintained anymore. Thanks all for their valuable feedback and contributions. If you have questions, feel free to reach me from https://twitter.com/fatih


Many "statement may fall through" while installing

Description
While installing this package with npm, I'm getting a lot of warning: this statement may fall through [-Wimplicit-fallthrough=] as you can see here.
I absolutely need this package as it is a depedency for Enmap.
System information
Versions:

NPM: 6.4.1
Node: 10.15.2
Ubuntu: 18.04
GCC: 7.3.0

Additional comments
If any other information are needed, I'll be glad to provide them.
By the way, this might not be directly related to this package, but to better-sqlite3.

Yes, these errors come from better-sqlite3 itself and only happen when using GCC 7+, I've found this post you may be interested in:
https://stackoverflow.com/questions/45129741/gcc-7-wimplicit-fallthrough-warnings-and-portable-way-to-clear-them
However, these errors don't break the installation though, the driver can still work.

It kinda breaks it as Enmap doesn't recognise the package and still sends a warning, although it is installed.
It worked fine on my Windows 10 computer.

Here is the result of npm ls on Debian, and the one on Windows.


Removed all unnecessary entries from source and destination catalogs

Those are automatically added by Airbyte.

@cjwooo this one is for you. It appears that Airbyte adds all the sources/destinations anyway.