Unable to add a printer using PPD through web UI

When trying to add a printer through the web UI and providing a path to a PPD instead of selecting make/model, upon hitting the Add Printer button, I'm taken back to the Administration page and the printer is not added. At least, it's not listed in the list of printers in the web ui. I can see it in the Gnome Printers, but it's somehow crippled with no address/settings available.
This what I've got from journalctl -u cups -f while pressing the Add Printer button:
click to see the journal output
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] POST<EMAIL_ADDRESS>HTTP/1.1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] Read: status=200, state=6
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] No authentication data provided.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] 2.0 Get-Printer-Attributes 37828
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Get-Printer-Attributes<EMAIL_ADDRESS>Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Get-Printer-Attributes client-error-not-found: The printer or class does not exist.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] Returning IPP client-error-not-found for Get-Printer-Attributes<EMAIL_ADDRESS>from localhost.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] Content-Length: 130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Expiring subscriptions...
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] con->http=0x563c6b0611f0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=130, response=0x563c6b0b95e0(IPP_STATE_DATA), pipe_pid=0, file=-1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] bytes=0, http_state=0, data_remaining=130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] Flushing write buffer.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] New state is HTTP_STATE_WAITING
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 164] Waiting for request.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] POST<EMAIL_ADDRESS>HTTP/1.1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Read: status=200, state=6
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Authorized as root using PeerCred.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] 2.0 Get-Printer-Attributes 37829
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Get-Printer-Attributes<EMAIL_ADDRESS>Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Get-Printer-Attributes client-error-not-found: The printer or class does not exist.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Returning IPP client-error-not-found for Get-Printer-Attributes<EMAIL_ADDRESS>from localhost.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Content-Length: 130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] con->http=0x563c6b0e1090
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=130, response=0x563c6b0a3530(IPP_STATE_DATA), pipe_pid=0, file=-1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] bytes=0, http_state=0, data_remaining=130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Flushing write buffer.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] New state is HTTP_STATE_WAITING
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Waiting for request.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] POST / HTTP/1.1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Read: status=200, state=6
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Authorized as root using PeerCred.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] 2.0 Get-Jobs 37830
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Get-Jobs<EMAIL_ADDRESS>Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Get-Jobs client-error-not-found: The printer or class does not exist.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Returning IPP client-error-not-found for Get-Jobs<EMAIL_ADDRESS>from localhost.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Content-Length: 130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] con->http=0x563c6b0e1090
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=130, response=0x563c6b0ed600(IPP_STATE_DATA), pipe_pid=0, file=-1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] bytes=0, http_state=0, data_remaining=130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Flushing write buffer.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] New state is HTTP_STATE_WAITING
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Waiting for request.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] POST /admin/ HTTP/1.1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Read: status=200, state=6
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Authorized as root using PeerCred.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] 2.0 Pause-Printer 37831
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Pause-Printer<EMAIL_ADDRESS>Jan 09 18:13:24 localhost.localdomain cupsd[13317]: Pause-Printer client-error-not-found: The printer or class does not exist.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Returning IPP client-error-not-found for Pause-Printer<EMAIL_ADDRESS>from localhost.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Content-Length: 130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] con->http=0x563c6b0e1090
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=130, response=0x563c6b0b95e0(IPP_STATE_DATA), pipe_pid=0, file=-1
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] bytes=0, http_state=0, data_remaining=130
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: REQUEST localhost - root "POST /admin/ HTTP/1.1" 200 220 Pause-Printer client-error-not-found
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Flushing write buffer.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] New state is HTTP_STATE_WAITING
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: [Client 165] Waiting for request.
Jan 09 18:13:24 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Not busy"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Server address is "<IP_ADDRESS>".
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Accepted from localhost:52218 (IPv4)
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for request.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: Expiring subscriptions...
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] POST /admin HTTP/1.1
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Read: status=200, state=6
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Authorized as "mbocek" using Basic.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Read: status=100, state=6
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] argv[0] = "/usr/lib/cups/cgi-bin/admin.cgi"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[0] = "CUPS_CACHEDIR=/var/cache/cups"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[1] = "CUPS_DATADIR=/usr/share/cups"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[2] = "CUPS_DOCROOT=/usr/share/cups/www"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[3] = "CUPS_FONTPATH=/usr/share/cups/fonts"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[4] = "CUPS_REQUESTROOT=/var/spool/cups"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[5] = "CUPS_SERVERBIN=/usr/lib/cups"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[6] = "CUPS_SERVERROOT=/etc/cups"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[7] = "CUPS_STATEDIR=/var/run/cups"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[8] = "HOME=/var/spool/cups/tmp"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[9] = "PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[10] =<EMAIL_ADDRESS>Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[11] = "SOFTWARE=CUPS/2.2.12"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[12] = "TMPDIR=/var/spool/cups/tmp"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[13] = "USER=root"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[14] = "CUPS_MAX_MESSAGE=2047"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[15] = "CUPS_SERVER=/var/run/cups/cups.sock"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[16] = "CUPS_ENCRYPTION=IfRequested"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[17] = "IPP_PORT=631"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[18] = "AUTH_TYPE=Basic"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[19] = "LANG=en_US.UTF8"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[20] = "REDIRECT_STATUS=1"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[21] = "GATEWAY_INTERFACE=CGI/1.1"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[22] = "SERVER_NAME=localhost"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[23] = "SERVER_PORT=631"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[24] = "REMOTE_ADDR=<IP_ADDRESS>"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[25] = "REMOTE_HOST=localhost"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[26] = "SCRIPT_NAME=/admin"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[27] = "SCRIPT_FILENAME=/usr/share/cups/www/admin"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[28] = "REMOTE_USER=mbocek"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[29] = "SERVER_PROTOCOL=HTTP/1.1"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[30] = "HTTP_COOKIE=org.cups.sid=fabfefcdc64b2986cac23fc8462f1fe4"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[31] = "HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 10.0; rv:68.0) Gecko/20100101 Firefox/68.0"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[32] = "HTTP_REFERER=http://localhost:631/admin"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[33] = "REQUEST_METHOD=POST"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[34] = "CONTENT_LENGTH=13284"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] envp[35] = "CONTENT_TYPE=multipart/form-data; boundary=---------------------------2082381158153355970423699230"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: cupsdAddCert: Adding certificate for PID 70676
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] Started /usr/lib/cups/cgi-bin/admin.cgi (PID 70676)
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Started "/usr/lib/cups/cgi-bin/admin.cgi" (pid=70676, file=21)
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: REQUEST localhost - mbocek "POST /admin HTTP/1.1" 200 13284 - -
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [CGI] admin.cgi started...
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Server address is "/var/run/cups/cups.sock".
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Accepted from localhost (Domain)
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Waiting for request.

Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] 2.0 Get-Subscriptions 1
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: Get-Subscriptions ipp://localhost/
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: Expiring subscriptions...
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Returning IPP successful-ok for Get-Subscriptions (ipp://localhost/) from localhost.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Content-Length: 351
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] cupsdSendHeader: code=200, type="application/ipp", auth_type=0
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] con->http=0x563c6b0f4830
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=351, response=0x563c6b0ed600(IPP_STATE_DATA), pipe_pid=0, file=-1
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] bytes=0, http_state=0, data_remaining=351
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Flushing write buffer.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] New state is HTTP_STATE_WAITING
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Waiting for request.

Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=2147483647, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Script header: Content-Type: text/html;charset=utf-8
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Script header:
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Sending status 200 for CGI.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdSendHeader: code=200, type="(null)", auth_type=0
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] CGI data ready to be sent.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1025] Closing connection.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Active clients", busy="Active clients"
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] CGI data ready to be sent.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] CGI data ready to be sent.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: PID 70676 (/usr/lib/cups/cgi-bin/admin.cgi) exited with no errors.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] con->http=0x563c6b0e4590
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_CHUNKED, data_remaining=0, response=(nil)(), pipe_pid=70676, file=21
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for CGI data.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: REQUEST localhost - mbocek "POST /admin HTTP/1.1" 200 17904 - -
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Sending 0-length chunk.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Flushing write buffer.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] New state is HTTP_STATE_WAITING
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: [Client 1024] Waiting for request.
Jan 09 18:13:25 localhost.localdomain cupsd[13317]: cupsdSetBusyState: newbusy="Not busy", busy="Active clients"
Jan 09 18:13:26 localhost.localdomain cupsd[13317]: Expiring subscriptions...

What works though:
sudo lpadmin -p MF645C -v ipp://Canonccd748.local:631/ipp/print -P /opt/cel/ppd/cel-mf645c-ps-en.ppd.gz -E
I'm on Fedora 31 and the ppd I'm using for my Canon MF645C is from the package CQue_v4.0.5_Linux_64_EN.rpm.

Note: @mbocek tries to install print queue with ppd because ppd generator for IPP everywhere does not generate grayscale color mode as it is mentioned in #5713 , so 'everywhere' model and cups temporary queue (that could be that crippled queue in gnome - gtk does not differ between temporary and permanent queue).
The package @mbocek mentions is provided by manufacturer.

@bocekm The crash is connected to permissions/ownership of mentioned ppd - what is the ownership+permissions of the file? PPDs shipped in Fedora have 664 or 644 permissions, owned by root:root.
Though web ui could give a hint rather then going back to Admin page.

Please report this to the OpenPrinting CUPS project.


add utility to strip localhost results from search rank file

expand the, or potentially add another, CLI tool with an additional command:

stripping (the last)|(all) localhost stored searches from a .searchrank file

Turns out manually iterating through all the various pieces to see how it was doing was kind of a pain, and a CLI tool to do that would be SO much nicer.
It may well be that I'd like to re-capture for all local searches as well - so not just "get rid of", but also "add one for this search", just to make the iterative development a bit easier.

reset the model, so this is no longer relevant.


Encapsulate inserted GIFs in inline image markdown

Summary
Changes Markdown inserted by GIF picker from
https://thumbs.gfycat.com/LikableValidAlpineroadguidetigerbeetle-size_restricted.gif

to
![Beverly Hills Cop - OK gesture](https://thumbs.gfycat.com/LikableValidAlpineroadguidetigerbeetle-size_restricted.gif)

Ticket Link
As per Other notes of [MM-12290]
Screenshots

Release Note
Improved default rendering of images inserted via the GIF picker.

Hello @Roy-Orbison,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Adding myself to check the CodeQL alert created on this PR

Is this check somehow aware of Markdown syntax, thus expecting the .replace() to also escape possible \ in title properties? Or is it balking at the escaped [ in the regex? Or incorrectly parsing the escaped \ in the replacement string?

@Roy-Orbison the alert did not consider the Markdown syntax and hence it's a false positive. The changes LGTM and I have dismissed the alert.

I tested on that build instance, and the gif markdown worked in all three contexts that receive the updated function parameter (create post, edit post, create comment).


T-SQL query being auto-detected as Dockerfile

Open new untitled editor
Type in a T-SQL query such as SELECT * FROM sys.databases

The language auto detection identifies this as a Dockerfile instead of SQL

I'm gonna move this example into the meta issue: #131450 thanks!


Update semanticdb-scalac to 4.8.0

About this PR
📦 Updates org.scalameta:semanticdb-scalac from 4.7.8 to 4.8.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "semanticdb-scalac" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scalameta", artifactId = "semanticdb-scalac" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:semver-spec, commit-count:1

Superseded by #279.


Retrieve lowest height from gRPC

The lowest block height of the node might not be 1. Retrieve the lowest height from the node itself.

See https://github.com/cosmos/cosmos-sdk/issues/22421


OpenVPN service does not run / allow client to connect

In raising this issue, I confirm the following:
{please fill the checkboxes, e.g: [X]}

[X] I have read and understood the contributors guide.
[X] The issue I am reporting can be replicated.
[X] The issue I am reporting can be is directly related to the pivpn installer script.
[X] The issue I am reporting isn't a duplicate (see FAQs, closed issues, and open issues).

Issue
Using my configuration route, the server is not running/listening.
Have you searched for similar issues and solutions?
yes, I have only found the correct scenario represented in some logs, but I have a problem trying getting that far.
Also, maybe many do not choose 4096 key size, so finding my exact .pem string and situation to search for does not find many issues either.

Console output of      curl -L install.pivpn.io | bash
pi@pivpn:~ $ curl -L install.pivpn.io | bash 2>&1
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   178  100   178    0     0    681      0 --:--:-- --:--:-- --:--:--   684
100 55086  100 55086    0     0   126k      0 --:--:-- --:--:-- --:--:--  126k
:::
::: sudo will be used for the install.
::: Did not detect perfectly supported OS but,
::: Continuing installation at user's own risk...
::: Update option selected.
::: Verifying free disk space...
:::
::: Checking apt-get for upgraded packages.... done!
:::
::: Your system is up to date! Continuing with PiVPN installation...
::: Using IP address: ...
::: Using interface: ...
::: Using User: ...
::: Using protocol: ...
::: Using port: ...
:::
::: Static IP already configured.
:::
::: Checking for existing base files...
:::    Checking /etc/.pivpn is a repo...:::    Cloning https://github.com/pivpn/pivpn.git into /etc/.pivpn... done!
:::
::: Stopping OpenVPN service... done.
:::
::: Installing scripts to /opt/pivpn... done.
set_var EASYRSA_ALGO       rsa
set_var EASYRSA_KEY_SIZE   4096
::: Building CA...
Generating RSA private key, 4096 bit long modulus (2 primes)
..........++++
...............................++++
e is 65537 (0x010001)
Can't load /etc/openvpn/easy-rsa/pki/.rnd into RNG
3069190160:error:2406F079:random number generator:RAND_load_file:Cannot open file:../crypto/rand/randfile.c:98:Filename=/etc/openvpn/easy-rsa/pki/.rnd

::: CA Complete.

Note: using Easy-RSA configuration from: ./vars

Using SSL: openssl OpenSSL 1.1.1c  28 May 2019
Generating a RSA private key
.........++++
................++++
writing new private key to '/etc/openvpn/easy-rsa/pki/private/server_r7SAWzBKWQ3TkPoL.key.TGFM3rU9To'
-----
Using configuration from /etc/openvpn/easy-rsa/pki/safessl-easyrsa.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'server_r7SAWzBKWQ3TkPoL'
Certificate is to be certified until Jun 25 01:48:07 2022 GMT (1080 days)

Write out database with 1 new entries
Data Base Updated
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--     0curl: (7) Failed to connect to 2ton.com.au port 443: Connection refused

Console output of      pivpn add or pivpn add nopass
  Output Here

Console output of      pivpn debug
pi@pivpn:~ $ pivpn debug
::: Generating Debug Output
grep: /etc/openvpn/easy-rsa/pki/Default.txt: No such file or directory
::::            PiVPN debug              ::::
=============================================
::::            Latest commit            ::::
commit 8e3a95152412a9d35b67d51bfc80379350815252
Author: 4s3ti<EMAIL_ADDRESS>Date:   Fri Jun 7 16:30:41 2019 +0200

    Merge pull request #767 from pivpn/test

    Test into Master.
=============================================
::::        Installation settings        ::::
/etc/pivpn/DET_PLATFORM -> Raspbian
/etc/pivpn/INSTALL_PORT -> 5194
/etc/pivpn/INSTALL_PROTO -> udp
/etc/pivpn/INSTALL_USER -> pi
/etc/pivpn/NO_UFW -> 1
/etc/pivpn/pivpnINTERFACE -> eth0
=============================================
::::    setupVars file shown below       ::::
sed: -e expression #1, char 0: no previous regular expression
=============================================
::::  Server configuration shown below   ::::
dev tun
proto udp
port 5194
ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server_0X5X41EQeMY4jIJa.crt
key /etc/openvpn/easy-rsa/pki/private/server_0X5X41EQeMY4jIJa.key
dh /etc/openvpn/easy-rsa/pki/dh4096.pem
topology subnet
server <IP_ADDRESS> <IP_ADDRESS>
# Set your primary domain name server address for clients
push "dhcp-option DNS <IP_ADDRESS>"
push "dhcp-option DNS <IP_ADDRESS>"
# Prevent DNS leaks on Windows
push "block-outside-dns"
# Override the Client default gateway by using <IP_ADDRESS>/1 and
# <IP_ADDRESS>/1 rather than <IP_ADDRESS>/0. This has the benefit of
# overriding but not wiping out the original default gateway.
push "redirect-gateway def1"
client-to-client
keepalive 1800 3600
remote-cert-tls client
tls-version-min 1.2
tls-auth /etc/openvpn/easy-rsa/pki/ta.key 0
cipher AES-256-CBC
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
crl-verify /etc/openvpn/crl.pem
status /var/log/openvpn-status.log 20
status-version 3
syslog
verb 3
#DuplicateCNs allow access control on a less-granular, per user basis.
#Remove # if you will manage access by user instead of device.
#duplicate-cn
# Generated for use by PiVPN.io
=============================================
::::  Client template file shown below   ::::
/opt/pivpn/pivpnDebug.sh: line 29: /etc/openvpn/easy-rsa/pki/Default.txt: No such file or directory
=============================================
::::    Recursive list of files in       ::::
::: /etc/openvpn/easy-rsa/pki shows below :::
/etc/openvpn/easy-rsa/pki/:
ca.crt
extensions.temp
index.txt
index.txt.attr
index.txt.old
issued
openssl-easyrsa.cnf
private
renewed
revoked
safessl-easyrsa.cnf
serial
serial.old

/etc/openvpn/easy-rsa/pki/issued:
server_r7SAWzBKWQ3TkPoL.crt

/etc/openvpn/easy-rsa/pki/private:
ca.key
server_r7SAWzBKWQ3TkPoL.key

/etc/openvpn/easy-rsa/pki/renewed:
private_by_serial
reqs_by_serial

/etc/openvpn/easy-rsa/pki/renewed/private_by_serial:

/etc/openvpn/easy-rsa/pki/renewed/reqs_by_serial:

/etc/openvpn/easy-rsa/pki/revoked:
private_by_serial
reqs_by_serial

/etc/openvpn/easy-rsa/pki/revoked/private_by_serial:

/etc/openvpn/easy-rsa/pki/revoked/reqs_by_serial:
=============================================
::::            Self check               ::::
:: [OK] IP forwarding is enabled
:: [OK] Iptables MASQUERADE rule set
:: [ERR] OpenVPN is not running, try to start now? [Y/n] y
Done
:: [OK] OpenVPN is enabled (it will automatically start on reboot)
:: [ERR] OpenVPN is not listening, try to restart now? [Y/n] y
Done
[INFO] Run pivpn -d again to see if we detect issues
=============================================
::::      Snippet of the server log      ::::
Jul 11 02:46:53 pivpn ovpn-server[11576]: Options error: --dh fails with '/etc/openvpn/easy-rsa/pki/dh4096.pem': No such file or directory (errno=2)
Jul 11 02:46:53 pivpn ovpn-server[11576]: Options error: Please correct these errors.
Jul 11 02:46:53 pivpn ovpn-server[11576]: Use --help for more information.
Jul 11 02:46:59 pivpn ovpn-server[11589]: Options error: --dh fails with '/etc/openvpn/easy-rsa/pki/dh4096.pem': No such file or directory (errno=2)
Jul 11 02:46:59 pivpn ovpn-server[11589]: Options error: Please correct these errors.
Jul 11 02:46:59 pivpn ovpn-server[11589]: Use --help for more information.
Jul 11 02:47:05 pivpn ovpn-server[11592]: Options error: --dh fails with '/etc/openvpn/easy-rsa/pki/dh4096.pem': No such file or directory (errno=2)
Jul 11 02:47:05 pivpn ovpn-server[11592]: Options error: Please correct these errors.
Jul 11 02:47:05 pivpn ovpn-server[11592]: Use --help for more information.
Jul 11 02:47:10 pivpn ovpn-server[11670]: Options error: --dh fails with '/etc/openvpn/easy-rsa/pki/dh4096.pem': No such file or directory (errno=2)
Jul 11 02:47:10 pivpn ovpn-server[11670]: Options error: Please correct these errors.
Jul 11 02:47:10 pivpn ovpn-server[11670]: Use --help for more information.
Jul 11 02:55:26 pivpn ovpn-server[12172]: Options error: --dh fails with '/etc/openvpn/easy-rsa/pki/dh4096.pem': No such file or directory (errno=2)
Jul 11 02:55:26 pivpn ovpn-server[12172]: Options error: --cert fails with '/etc/openvpn/easy-rsa/pki/issued/server_0X5X41EQeMY4jIJa.crt': No such file or directory (errno=2)
Jul 11 02:55:26 pivpn ovpn-server[12172]: WARNING: cannot stat file '/etc/openvpn/easy-rsa/pki/private/server_0X5X41EQeMY4jIJa.key': No such file or directory (errno=2)
Jul 11 02:55:26 pivpn ovpn-server[12172]: Options error: --key fails with '/etc/openvpn/easy-rsa/pki/private/server_0X5X41EQeMY4jIJa.key': No such file or directory (errno=2)
Jul 11 02:55:26 pivpn ovpn-server[12172]: WARNING: cannot stat file '/etc/openvpn/easy-rsa/pki/ta.key': No such file or directory (errno=2)
Jul 11 02:55:26 pivpn ovpn-server[12172]: Options error: --tls-auth fails with '/etc/openvpn/easy-rsa/pki/ta.key': No such file or directory (errno=2)
Jul 11 02:55:26 pivpn ovpn-server[12172]: Options error: Please correct these errors.
Jul 11 02:55:26 pivpn ovpn-server[12172]: Use --help for more information.
=============================================
::::            Debug complete           ::::
:::
::: Debug output completed above.
::: Copy saved to /tmp/debug.txt
:::

Have you taken any steps towards solving your issue?
root@pivpn:/etc/openvpn/easy-rsa# ls pki/dh*
ls: cannot access 'pki/dh*': No such file or directory

root@pivpn:/etc/openvpn/easy-rsa# curl "https://2ton.com.au/getprimes/random/dhparam/4096" -o "/etc/openvpn/easy-rsa/pki/dh4096.pem"
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--     0curl: (7) Failed to connect to 2ton.com.au port 443: Connection refused

https://www.isitdownrightnow.com/2ton.com.au.html

2ton.com.au is DOWN for everyone

My only problem was not having the dh pem file, and maybe that .rnd file too.  Any others errors are new to re-running the install script for the purposes of opening this issue.  Also, this is the third install script run.  The second failed not being able to utilize a repo stored in the /etc/.pivpn folder which did not exist.
Just got it again on the 4th run:
pi@pivpn:~ $ ./install.sh
:::
::: sudo will be used for the install.
::: Did not detect perfectly supported OS but,
::: Continuing installation at user's own risk...
::: Reconfigure option selected
::: Verifying free disk space...
:::
::: Checking apt-get for upgraded packages.... done!
:::
::: Your system is up to date! Continuing with PiVPN installation...
::: Static IP already configured.
::: Using User: pi
:::
::: Checking for existing base files...
:::    Checking /etc/.pivpn is a repo... OK!
:::     Updating repo in /etc/.pivpn... [/]  fatal: repository '' does not exist
./install.sh: line 565: cd: /etc/.pivpn: No such file or directory

It seems an interesting facet of this probably unrelated error resolves itself on every other run of the install script.

Are you on Raspbian Buster?

My only problem was not having the dh pem file, and maybe that .rnd file too.

As you saw, the script failed to get the dh file because the service was down (now it's up again). Regarding that .rnd file, it doesn't seem to cause problems https://github.com/OpenVPN/easy-rsa/issues/261.

Any others errors are new to re-running the install script for the purposes of opening this issue. Also, this is the third install script run. The second failed not being able to utilize a repo stored in the /etc/.pivpn folder which did not exist.

This is caused by the script attempting to run git clone while inside a deleted directory. I have submitted a pull request addressing this.


Fix: CMAKE_MODULE_PATH contents is being overriden with -D contents, not merged with

Current code defines the CMAKE_MODULE_PATH as a cache variable[1]. As a result, if one passes the -DCMAKE_MODULE_PATH=<something> to the cmake invocation, its contents override the paths to netcdf-bundled cmake modules. Based on code and attempt to use Shell-PATH-like expansion, it looks as unintended behavior. Moreover, it's quite common in CI/CD systems to pass extra cmake module paths (e.g., we have to do so for AWS SDKs, on which netcdf depends optionally). This tiny fix replaces that with list(APPEND) which adds paths to netcdf-provided modules to the user-passed -DCMAKE_MODULE_PATH. At the same time, if user doesn't passes this variable - the previous behavior is preserved, as netcdf paths will be added to that CMAKE_MODULE_PATH currently holds (if netcdf is built as standalone project and not as a subproject of our project - it's an empty list).
References:
[1] https://github.com/Unidata/netcdf-c/blob/d694d38823719575f81ae541f16ccda32f537060/CMakeLists.txt#L21

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

The failures are unrelated to the PR, and are part of an issue we're fixing on the Unidata side. This looks good and will be merged shortly.

@WardF thank you!

@WardF thank you!


7 seg displays

Im going to be using a 7 seg display in an upcoming project, so I thought it was time it was added to gpiozero, can I get some comments on my thinking so far:

class name of 7SegmentDisplay
extending LEDCollection
overwriting value to take natural values of numbers and letters to display on the 7 seg display i.e. 7seg.value = "3" would display a 3, likewise 7seg.value = "a" would display A.

Next step would be to create a multi digit 7 segment display. The way these work (generally) is that in addition to the 8 pins for the display they have additional pins to state which digit should be turned on. To make each digit show a different number you would use plexing to flash individual digits to give the appearance of  a multi digit display.

7SegmentDisplay is not a valid class name in Python, and 7seg is not a valid object name :P
I'm not sure about seg.value = "a" because .value should be boolean or float to be compatible with the rest of the library.
Other than that, sounds good. Do various 7seg displays tend to work the same way?

I'm not sure about seg.value = "a" because .value should be boolean or float to be compatible with the rest of the library.

Yeah, that was my gut reaction too - glad to see I wasn't alone ;-)
But it then begs the question, how do we map the LEDs illuminated on a 7-segment display (or 8-segment if it also contains a decimal-point) to a single .value between 0 and 1 (or -1 and +1)? There doesn't seem to be any obvious solution...
The only thing I can think of is to treat the 8-segments as elements of a bit-field, and than divide by 256.0 to get a floating-point value (so all segments off would be 0.0; all segments on would be 1.0; and segments 'a' and 'c' turned on would be ((2**0 + 2**2) / 256.0) = ((1 + 4) / 256.0) = 0.01953125). So we could then do seg2.source = seg1.values, and it'd work as expected, provided seg1 and seg2 were initialised with their segments in the same order.
But to maintain ease-of-use, we'd also want some kind of .character property, where you could do seg.character = 3 (with the int automatically being converted to str) or seg.character = "A".
Or perhaps seg.number = 3 and seg.hexnumber = 0xa? *shrug*
P.S. Another approach would be to treat SevenSegmentDisplay as a CompositeOutputDevice subclass, and have .value be a tuple of bools (so my earlier segments a and c example would be (False, False, False, False, False, True, False, True)). *double shrug*

I'm not sure about seg.value = "a" because .value should be boolean or float to be compatible with the rest of the library.

Yeah I thought it was a bit weird, one of the reasons I asked for comment. Less weird would be an 8 bit field, represented as 0 - 1.
It should definitely have a 'friendly' method for showing a number/character how about .display?

.display would work.
It might make sense to have .value as an n-tuple, like (I assume) LEDCollection already is.

Thought about it a bit:
Inheriting LEDCollection will bring CompositeOutputDevice and value will be a tuple of booleans.
A couple of methods:

display(char)
decimal_point(bool)

which would obviously set the tuple in the .value property

Just having had another look at the docs, I wonder if it would make more sense to just inherit from LEDBoard, rather than LEDCollection? And then add the display and decimal_point methods that you mention. Being a geeky programmer type, I'd love there to be a hexdisplay function too ;-)
I'll try to have a more in-depth look at #357 this evening, while these ideas are fresh in my mind.

I vote for hex too.
On 17 Oct 2016 17:10, "Andrew Scheller"<EMAIL_ADDRESS>wrote:

Just having had another look at the docs
http://gpiozero.readthedocs.io/en/v1.3.1/api_boards.html#ledboard, I
wonder if it would make more sense to just inherit from LEDBoard, rather
than LEDCollection? And then add the display and decimal_point methods
that you mention. Being a geeky programmer type, I'd love there to be a
hexdisplay function too ;-)
I'll try to have a more in-depth look at #357
https://github.com/RPi-Distro/python-gpiozero/issues/357 this evening,
while these ideas are fresh in my mind.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/RPi-Distro/python-gpiozero/issues/485#issuecomment-254236118,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASiRnOxKFhG3yehJrxRNx-Bpuy-FKZw4ks5q04__gaJpZM4KYjMj
.

First stab in the dark at SevenSegmentDisplay:
It needs a display_hex function.
Some thoughts:

Should pins be passed in as a, b, c, d, e, f, g and constructed into a
Are layouts associated to the class the 'right' thing to do?
Common anode / cathode is supported by the active_high property, this could be changed to common_cathode to make it more descriptive

from gpiozero import LEDCollection, LEDBoard
from time import sleep

class SevenSegmentDisplay(LEDBoard):
    layouts = {"1": (False, True, True, False, False, False, False),
        "2": (True, True, False, True, True, False, True),
        "3": (True, True, True, True, False, False, True),
        "4": (False, True, True, False, False, True, True),
        "5": (True, False, True, True, False, True, True),
        "6": (True, False, True, True, True, True, True),
        "7": (True, True, True, False, False, False, False),
        "8": (True, True, True, True, True, True, True),
        "9": (True, True, True, True, False, True, True),
        "0": (True, True, True, True, True, True, False),
        " ": (False, False, False, False, False, False, False),
        "A": (True, True, True, False, True, True, True),
        "B": (True, True, True, True, True, True, True),
        "C": (True, False, False, True, True, True, False),
        "D": (False, True, True, True, True, False, True),
        "E": (True, False, False, True, True, True, True),
        "F": (True, False, False, False, True, True, True),
        "G": (True, False, True, True, True, True, False),
        "H": (False, True, True, False, True, True, True)}

    def __init__(self, *pins, **kwargs):
        # 7 segment displays must have 8 pins
        if len(pins) < 7 or len(pins) > 8:
            raise ValueError('7 segment display must have 7 or 8 pins')
        # Don't allow 7 segments to contain collections
        for pin in pins:
            assert not isinstance(pin, LEDCollection)
        pwm = kwargs.pop('pwm', False)
        active_high = kwargs.pop('active_high', True)
        super(SevenSegmentDisplay, self).__init__(*pins, pwm=pwm, active_high=active_high)

    def display(self, char):
        char = char.upper()
        if char in SevenSegmentDisplay.layouts.keys():
            layout = SevenSegmentDisplay.layouts[char]
            for led in range(0,7):
                self[led].value = layout[led]

    def decimal_point(self, on):
        # does the 7seg display have a decimal point (i.e pin 8)
        if len(self) > 7:
            self[7].value = on

Looking good...
Some comments:  (apologies if there's too much here!)

I guess "must have 8 pins" was supposed to be "must have 7 or 8 pins"
Your "8" layout is identical to "B" - IMHO you should use the 'standard' hex-letters https://en.wikipedia.org/wiki/Seven-segment_display#Displaying_letters
I guess you could add other letters like "-"
GpioZero code generally seems to prefer single-quotes to double-quotes for creating strings
Personally I'd insert a newline after the first opening bracket of the layouts dict
Perhaps the constructor should check for left-over kwargs, like LEDBarGraph does https://github.com/RPi-Distro/python-gpiozero/blob/master/gpiozero/boards.py#L498
IMHO the display method should throw an exception if you try to show an invalid char, which is easiest to do if you just remove the if char in SevenSegmentDisplay.layouts.keys(): line
I wonder if the display method should clear the decimal point? Perhaps display could have a clear_decimal_point=True parameter?
Perhaps the value-setter should be over-ridden, so that value can always be set from a 7-tuple or an 8-tuple, regardless of whether this 7-segment has a dp or not (with the dp being ignored as necessary) ? This woud make it easier to chain source and values.
With the previous change in place, I believe for led in range(0,7): self[led].value = layout[led] could then be replaced by self.value = layout
Your example code doesn't need the from time import sleep ;-)
range(0,7) is the same as range(7) ;-)
if x in somedict.keys(): is the same as if x in somedict:
It might be worth upper-casing LAYOUTS to make it clear it's a constant (unless we decide to allow the user to add their own layouts, in which case it should remain lower-case)
If you changed char = char.upper() to char = str(char).upper() then it'd also work with ints
After converting char to a str, you should check that it has a len of 1, and throw a ValueError otherwise
Maybe decimal_point could be made a (gettable and settable) property?

Common anode / cathode is supported by the active_high property, this could be changed to common_cathode to make it more descriptive

For consistency, it should remain as active_high. You could always enhance the active_high docstring to make it clearer, as RGBLED does.

It needs a display_hex function.

That's easy:
    def display_hex(self, hexnumber):
        self.display(hex(hexnumber)[2:])

Should pins be passed in as a, b, c, d, e, f, g...

There's part of me that still wonders if that's the best approach (see my comments in https://github.com/RPi-Distro/python-gpiozero/issues/357#issuecomment-254356623 ) as that way it'd create a namedtuple, so you could do sevenseg.b.on() in addition to sevenseg[1].on()

@lurch Thanks for the comments, they are really useful.

Closing issue, PR #488 submitted.


Recover better from Mustache parser syntax errors

Either ignore the errors or show a validation error to the user so they can fix their email text.

Sorry, wrong project :)


rutupgrade not working properly

I was expecting that rutupgrade would upgrade the installed version to v3.9, but it upgraded to v3.10-beta instead. It's probably because there is v3.10-beta release.
$ sudo rutupgrade
Installed version: 3.8
   Latest version: 3.9
Choose which build to install, (if you are not sure select 1)
1. Use the latest stable release
2. Use the most recent master build
Select 1 or 2: 1

Installing version 3.9 of rutorrent
Your existing rutorrent folder will be moved to /home/harupong/rutorrent_old

If you are not happy with the upgrade you can restore the old version, by rerunning this script

Installing Rutorrent (v3.10-beta)
Setting permissions, Starting services

Installation of RuTorrent complete

ruTorrent v3.10-beta is the newest release, but it's marked as Pre-release. Since the script doesn't differentiate between types of releases, it works as expected and it installed the correct release. v3.10-beta is over 80 commits and several months behind the most recent master build. You can specify if you for instance want to install v.3-9. Please close the issue since everything is fine.


[FLINK-31891][runtime] Introduce AdaptiveScheduler per-task failure enrichment/labeling

https://issues.apache.org/jira/browse/FLINK-31891

Introduce async task failure as part of AdaptiveScheduler#updateTaskExecutionState
Propagate labels as part of ExceptionHistoryEntry
Extend AdaptiveSchedulerTests to validate functionality

@dmvk  @zhuzhurk this is the next one on the pipeline, PTAL :)

Thanks for the thorough review @dmvk ! PR is now updated :)


Add m_boxmean_volume feature

Ideally, it would be possible to track the changes in volume as defined by a density range and a spatial mask.
We should be able to add m_boxmean_volume as a feature following m_boxmean_theta. Some planning and thinking needs to be done.

 Establish dynamic objective function MITgcm feature


Update issue templates

Was trying to add a 4th issue template type, but apparently it's restricted to only Bug, Feature, and Custom right now. This was a second "Custom" so it tried to overwrite it.
I'm just going to add this content into the Bug template instead


Scale to multiple containers

Thank you @alexle-dev, I'll look into it!
By the way, can you share what is your case of running multiple copies of same container on a single machine?

@Wowu I have a React app behind a Traefik reverse proxy, and I scale it to multiple instances in order to balance the load between all available cores. Traefik takes care of the loadbalancing for me, and it automatically detects new containers.

To add two cents, I also run scaled containers with docker-compose, mostly for service availability.
With docker-compose one can set a ranged port mapping: ports: [ '18080-18090:8080'] (this may be difficult to support as a shell script though) or let multiple container share 1 host port. I have been using the latter for a few times.

@alexle-dev I decided to remove --scale flag, as we can detect scale from the running number of container. Let me know if setting scale manually is required for your use case 😃

@martiGIT released in v0.3


ERROR: fs dependency was not found in ./node_modules/snapdragon/lib/source-maps.js

Is this a bug report?
Yes
Steps to reproduce

I am working on an Ethereum project. I am under college proxy and we always need to set the proxy address (<IP_ADDRESS>) everywhere. In react, I could simply add a proxy property in package.json but now I need to send requests from the backend, so I require to set a proxy using your package.
Installed the package from npm.
Put a require statement in the js file I'm working on.
Got error.

Expected behavior

I thought I will install this package from npm.
Set require statement to variable name proxy.
Use proxy() method as in the documentation and get my work done.

Actual behavior

As I am using next.js, I entered in terminal npm run dev. And it gave me this error.
 ERROR  Failed to compile with 1 errors                                                                                2:35:18 AM

This dependency was not found:

* fs in ./node_modules/snapdragon/lib/source-maps.js

To install it, you can run: npm install --save fs
>

Setup

http-proxy-middleware: 0.19.1
http-proxy-middleware configuration
server: next @ 4.1.4
other relevant modules: fs-extra web3 truffle-hd-wallet-provider

client info

MacOS
target server info

This is a next server. I'm trying to first send a request from the server using infura api and then send the output HTML to the client.
Reproducible Demo

I've uploaded my project on github
https://github.com/zemse/kickchainer/blob/master/ethereum/web3.js

Sound more like you didn't install the dependencies correctly.
Closing this issue.
Feel free to re-open, if you still think it's a bug in http-proxy-middleware.
Please provide a minimal setup in which this can be reproduced, so it can be investigated.
StackOverflow would be a better place to troubleshoot your project.


Unity: create prototypes of globe scenes

These prototypes should be used in asset

Will be a part of another ticket


Fix handling of SegmentedList initial capacity

@sharwell can you share more details about this change?

@brianrob Sure! See https://github.com/microsoft/perfview/pull/1006#discussion_r335124131


Invalid id token: ‘aud’ must be a string containing the client_id : google  OAuth2.0 Client Id mismatch when signing in with android and apple platform

How frequently does the bug occur?
-- select --
Description
So I am using google auth in my android and ios application. Now the application I created on atlas-app services allows only one client Id. But for android authentication to work, I need to add the web Client id in the google auth setting and for it to work on ios I need to add Ios client Id. otherwise one of them gives this aud error.
Stacktrace & log output
When I add ios Client Id android gives this error, signin on ios works.

AUTH_ERROR(realm::app::ServiceError:47): invalid id token: 'aud' must be a string containing the client_id
2023-01-25 03:06:22.969 21705-21705 System.err              com.friends.pets W  	at io.realm.internal.network.NetworkRequest.onError(NetworkRequest.java:68)
2023-01-25 03:06:22.969 21705-21705 System.err              com.friends.pets W  	at io.realm.internal.objectstore.OsJavaNetworkTransport.nativeHandleResponse(Native Method)
2023-01-25 03:06:22.969 21705-21705 System.err              com.friends.pets W  	at io.realm.internal.objectstore.OsJavaNetworkTransport.handleResponse(OsJavaNetworkTransport.java:98)
2023-01-25 03:06:22.969 21705-21705 System.err              com.friends.pets                W  	at io.realm.internal.network.OkHttpNetworkTransport$1.run(OkHttpNetworkTransport.java:102)
2023-01-25 03:06:22.970 21705-21705 System.err              com.sciforearth.pets                W  	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
2023-01-25 03:06:22.970 21705-21705 System.err              com.friends.pets                W  	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
2023-01-25 03:06:22.970 21705-21705 System.err              com.friends.pets                W  	at java.lang.Thread.run(Thread.java:1012)

and when I replace it with webClient Id signin on android works and gives this error on iOS:

Error Domain=io.realm.app Code=24 "invalid id token: 'aud' must be a string containing the client_id" UserInfo={Server Log URL=https://realm.mongodb.com/groups/63b6d0cee8d6c1420b7fbed7/apps/63b6d39ea9e76e8f428c7f93/logs?co_id=63d050da927603235424f1f9, NSLocalizedDescription=invalid id token: 'aud' must be a string containing the client_id, HTTP Status Code=401}

Can you reproduce the bug?
-- select --
Reproduction Steps
here is the android code
binding.googleSigninButton.setOnClickListener(view1 -> {
Intent intent = gsc.getSignInIntent();
startActivityForResult(intent, GOOGLE_REQUEST_Code);
binding.progressBar4.setVisibility(View.VISIBLE);
});
    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestIdToken(getString(R.string.default_web_client_id))
            .requestEmail()
            .build();
    gsc = GoogleSignIn.getClient(this, gso);

    oneTapClient = Identity.getSignInClient(this);
    signInRequest = BeginSignInRequest.builder()
            .setGoogleIdTokenRequestOptions(BeginSignInRequest.GoogleIdTokenRequestOptions.builder()
                    .setSupported(true)
                    // Your server's client ID, not your Android client ID.
                    .setServerClientId(getString(R.string.default_web_client_id))
                    // Only show accounts previously used to sign in.
                    .setFilterByAuthorizedAccounts(true)
                    .build())
            .build();

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == GOOGLE_REQUEST_Code){
        Task<GoogleSignInAccount> acc = GoogleSignIn.getSignedInAccountFromIntent(data);
        if(acc.isSuccessful()) {
            HandleSignInTask(acc);
        }

    }

}

public void HandleSignInTask(Task<GoogleSignInAccount> task){

    String token = task.getResult().getIdToken();
    if(token != null){
        Credentials cred = Credentials.google(token, GoogleAuthType.ID_TOKEN);

            App app =((Initialize)getApplication()).app;
            app.loginAsync(cred, result -> {
                if(result.isSuccess()) {
                    Log.i("TAG", "onResult: -->" );
                    startActivity(new Intent(Login.this, MainActivity.class));
                    finish();
                }
                else {
                    result.getError().printStackTrace();
                    Log.i("TAG", "googleAuthErrorMongo:--> "+ result.getError().toString());
                }

        }).addOnFailureListener(e -> Log.i(TAG, "onFailure: " + e.getLocalizedMessage()));
    }
    else{
        binding.progressBar4.setVisibility(View.GONE);
        Snackbar.make(binding.getRoot(),"Something went wrong",Snackbar.LENGTH_SHORT).show();
    }
}

and here is the ios code:
GIDSignIn.sharedInstance.signIn(withPresenting: self) { [self] signInResult, error in
guard error == nil else { return }
        let credential = GoogleAuthProvider.credential(withIDToken: (signInResult?.user.idToken?.tokenString)!,
                                                       accessToken: (signInResult?.user.accessToken.tokenString)!)

        Auth.auth().signIn(with: credential) { result, error in

            guard error == nil else{

                print("error while signing in firebase.... \(error)")
                do{
                    try! Auth.auth().signOut()
                } catch _ {}
                return
            }

            signInResult?.user.refreshTokensIfNeeded { user, error in
                    guard error == nil else { return }
                    guard let user = user else { return }

                    let idToken = user.idToken

                let cred = Credentials.googleId(token: idToken?.tokenString ?? "nil")

                self.app.login(credentials: cred) { result in

                    do {
                        try  print("ios google auth successfull userId.. \(result.get().id)")

                        DispatchQueue.main.async {

                            let sb = UIStoryboard(name: "Main", bundle: nil)
                            let nextViewController = sb.instantiateViewController(withIdentifier: "MainViewController") as! ViewController
                            self.dismiss(animated: false)
                            self.present(nextViewController, animated: true)
                        }

                    } catch let error {print("error while signin in to realm--> \(error)")}

                }
                }
        }

    }

}

Version
master
What Atlas Services are you using?

No
Platform OS and version(s)
every
Build environment
Xcode version: ...14.2 (14C18)
Dependency manager and version: ...

Hi @deepanshubalyan01 This is noted in the docs: https://www.mongodb.com/docs/atlas/app-services/authentication/google/ could you follow the steps listed here and see if that helps?

the way it works is that I need to pass my ios ClientId and reversed client  ID in the info.plist file only then the google auth opens else it crashes. But for android To work in the google auth setting(realm app) I have put Web client id and secret. and iOS just won't work with that client Id as it needs iosClient Id configured. so No. you have to come up with multiple client id or something.

@deepanshubalyan01 there is a similar issue where this was discussed https://github.com/realm/realm-swift/issues/7506 which could help to make this work on both Android and iOS.

Hi @deepanshubalyan01 did you try any of the mentioned workarounds?

Closing this as there is no response from the user


Adding deployment/create_missing_apps which will check Github for alread...

...y created applications based on a locally kept file and create any missing ones

@ericwolinetz Can you generalize this a bit before bringing it in? It contains local directory names specific to you, and hard coded application names from your project. Also a little readme and a "usage()" method would be nice. See https://github.com/redhat-consulting/ose-utils/blob/master/installation/openstack/provision.sh as an example.


Review Icon _ Request

Similar to edit icon, need a review icon with pen paper and stars

Can you provide me an example?

HelloMaybe a pencil and some stars with it. Like we rate 5/5On Jul 11, 2020 8:22 AM, "Zaw W. Lwin"<EMAIL_ADDRESS>wrote:
Can you provide me an example?
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.


Feature request, show LIPS measurement

Concerning: The demo video here:
https://github.com/trealla-prolog/trealla/issues/134#issuecomment-1460146877
What does "Goals" count? I don't remember, does Trealla Prolog show LIPS?
Currently Trealla gives me:
/* Trealla Prolog 2.13.0 */
?- time((between(1,1000,_), fail; true)).
   % Time elapsed 0.000112s
   true.

But if you have a goal counter you can also show LIPS, like here:
/* Dogelog Player 1.0.5 */
?- time((between(1,1000,_), fail; true)).
% Time 1 ms, gc 0 ms, 3089000 lips
true.

I am doing the computation like this:
/* R the measured time in milliseconds, T the measured goals, L = LIPS */
(R =\= 0 -> L is truncate(T*1000/R); L = 0)

SWI-Prolog shows also LIPS, Logical Inferences per Second. I think what is
counted is usually the call port, see byrd box for info on what the call port is,
but I could be also mistaken.

I think there is still a small glitch in Dogelog Player,
during an auto-yield, the call port is counted twice?
But this happens only 60 times per second, so it doesn't
change the LIPS so much. You can query the call count if you want:
?- statistics(call_count, A),
   (between(1,1000,_), fail; true),
   statistics(call_count, B),
   C is B-A.
A = 45043, B = 48066, C = 3023.

Since I am using a pure Prolog implementation of between/3,
the count is higher than for example in SWI-Prolog I guess,
which has a native implementation of between/3.
Usually the inarts of a built-in are not counted. But you could
do that as well. The none native between/3 has around 3 call
ports per iteration, this is some arithmetic comparison and evaluation.

This here seems reasonable:
% time(fib(29, _)) [auto-yield every 20ms / check every 10,000 goals]
You can use LIPS to calibrate the auto-yield rate. There is
the simple formula, if you want n-times auto-yield per second,
the LIPS/n is the number of counts that are the basis for your
LIPS, you have to wait, before the next auto-yield. I wrote an
auto tuning Prolog system for experimentation, but have it currently
hard coded. At the moment the values are:
GC_MAX_INFERS = 50000, JavaScript nodeJS
GC_MAX_INFERS = 30000, JavaScript browser
GC_MAX_INFERS = 15250, Python PyPy

Some tweaks to Goals measurements (excluded control constructs) and added
Lips count
~/trealla (devel) $ swipl
?- time((between(1,10000000,_), fail; true)).
% 10,000,002 inferences, 0.512 CPU in 0.512 seconds (100% CPU, 19529899
Lips)
true.
?- ^D
~/trealla (devel) $ tpl
?- time((between(1,10000000,_), fail; true)).
% Time elapsed 0.874537s 11.435 MLips)
true.
?-
On Thu, Mar 9, 2023 at 10:17 AM Jean-Luc-Picard-2021 <
@.***> wrote:

This here seems reasonable:
% time(fib(29, _)) [auto-yield every 20ms / check every 10,000 goals]
You can use LIPS to calibrate the auto-yield rate. There is
the simple formula, if you want n-times auto-yield per second,
the LIPS/n is the number of counts that are the basis for your
LIPS, you have to wait, before the next auto-yield. I wrote an
auto tuning Prolog system for experimentation, but have it currently
hard coded. At the moment the values are:
GC_MAX_INFERS = 50000, JavaScript nodeJS
GC_MAX_INFERS = 30000, JavaScript browser
GC_MAX_INFERS = 15250, Python PyPy
—
Reply to this email directly, view it on GitHub
https://github.com/trealla-prolog/trealla/issues/137#issuecomment-1461069954,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFNKSERZ5FPZTRQO7LEEYLTW3EOTDANCNFSM6AAAAAAVUM2AMQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Seems to be available now:
?- time((between(1,1000,_), fail; true)).
% Time elapsed 0.000097s, 1002 Inferences, 10.330 MLips)
      true.

Wasn't sure whether its also available on the non-WASM version.
One could say its not needed? But maybe it comes handy
and your ideas of coroutines span both WASM and non-WASM?
Dunno exactly coroutines in Trealla are marked experimental.
And who knows, maybe the SWI-Prolog related library(engine) is
also experimental? At least the new "heatbeat" Prolog flag is
very young, was only introduced a few months ago in release 8.5.15,
copied from Dogelog Player, which had the auto-yield first.
[Aug 6 2022]
ADDED: heartbeat mechanism: by setting the Prolog flag heartbeat,
the multifile predicate heartbeat/0 is called every N inferences.
https://www.swi-prolog.org/ChangeLog?branch=development&from=8.5.15&to=8.5.16

Ok more of a historical excursion. Actually I published
about auto-yield on medium.com in Feb 3, 2022:

Non-Blocking Browser for Dogelog Player
https://medium.com/@janburse_2989/non-blocking-browser-for-dogelog-player-b296ec832168

So the delay for adoption of Dogelog Player stuff by
SWI-Prolog is around 6 months? Good to know. I will
soon make a little medium.com article about task contexts.
But since LIPS stuff works now, closing this ticket.


Possible unhandled promise rejection

I'm trying to work this out, I'm getting an annoying YellowBox warning that reads "Possible Unhandled Promise Rejection: Network error: Network request failed" when running my app without an internet connection for testing purposes.
As explained in the docs: "The promise should be rejected in the case of a network error".
This is the code, it goes to the catch but it also throws the YellowBox warning, and I'm trying to get rid of it
client.query({ query: gql`...`, }).then((data) => {
    console.log(data);
}).catch((error) => {
    console.log(error); // works
});

Duplicate of: https://github.com/apollostack/apollo-client/issues/423
There's an idea for a fix there, could you submit a PR for it?


Guideline or checklist on writing good (unit) tests

Hi,
while I was working on improving the coverage for some code parts, I discovered some nice things about testing in Go in particular. Those things may be fundamental to others but weren't for me when I started. Therefore, I created a document to write down my findings.
I'm going to update this document during the work I do now but I'd be happy for any comments or feedback if we want to have such a document in general.
It can be a living document for which we accept many PRs.
Unlike @sanbornsen 's email based on ALR's talk on testing, my document so far targets Go in particular. But we can incorporate the email here as well.
Regards.

Current coverage is 20.13% (diff: 100%)

Merging #249 into master will not change coverage

@@             master       #249   diff @@
==========================================
  Files            32         32
  Lines          1167       1167
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            235        235
  Misses          888        888
  Partials         44         44

Powered by Codecov. Last update 5c04a5b...f5e5eda

@kwk I don't know the state of this PR, although it LGTM. However I 'd say that the creation of blackbox tests can be optional, not required.

Let's handle this in a while. I need to revise the PR.


multiple link-to per row

I think I can wrap my mind  around using onRowClicked to construct some complex transistionTo's.
I think I can wrap my mind around using a cellComponent to construct a simple transitionTo.
I am having a difficult time figuring out how to give the route that is consuming ELT the ability to build complex transitions: "/this-route/:this_id/that-rout/:that_id.
Using github's code explorer as an example, where one can click on  a file name or one can click on a commit comment, how would you do that in ELT?

@ChrisLincoln I would consider using tableActions.
{{#light-table table tableActions=(hash
  transitionTo=(route-action 'transitionTo')
) as |t|}}

That way you can handle all the transitions in the route instead of a cell component.

Closing as this issue has been abandoned.


[Bug] Short click group header does not select group

Short click on group title deselects group on mouse up.
https://github.com/user-attachments/assets/7e984d41-bd6f-41c2-bdbe-fae6977bf073


Give access to s3 DB backups for govuk-users

This attempts to give access to the s3 bucket for govuk-users, my assumption is that other users who currently have access won't lose it.
https://trello.com/c/h7CNr5H5/51-dev-vm-replication

We tested the current permissions for GOVUK users, this wouldn't be needed


deprecate set-output; update actions

The set-output has been deprecated - see https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Some of the actions have been updated to fix this issue - update those actions
The create-release action has been deprecated
https://github.com/actions/create-release
the highest rated replacement is
https://github.com/marketplace/actions/create-release
reset existing commit after rebase to add without another commit
Signed-off-by: Rich Megginson<EMAIL_ADDRESS>Date:      Fri Jan 27 18:52:02 2023 -0700

interactive rebase in progress; onto 70d998b
Last commands done (4 commands done):
squash 6c249a9 reset existing commit after rebase to add without another commit
fixup 3c9a9e6 more
No commands remaining.
You are currently rebasing branch 'updates' on '70d998b'.

Changes to be committed:
modified:   inventory/host_vars/journald.yml
modified:   inventory/inventory.yml
modified:   playbooks/templates/.github/workflows/changelog_to_tag.yml
modified:   playbooks/update_files.yml

Untracked files:
.ansible-lint
git-commit-msg
graphql/
output
playbooks/graphql_files/
playbooks/update_branch_protection_rules.yml

lgtm
Just wondering if the lines starting with # are supposed to be in the commit message? Might be useful info, but a bit cryptic to me...
    Signed-off-by: Rich Megginson<EMAIL_ADDRESS>
    # Date:      Fri Jan 27 18:52:02 2023 -0700
    #
    # interactive rebase in progress; onto 70d998b
    # Last commands done (4 commands done):
    #    squash 6c249a9 reset existing commit after rebase to add without another commit
    #    fixup 3c9a9e6 more
    # No commands remaining.
    # You are currently rebasing branch 'updates' on '70d998b'.
    #
    # Changes to be committed:
    #       modified:   inventory/host_vars/journald.yml
    #       modified:   inventory/inventory.yml
    #       modified:   playbooks/templates/.github/workflows/changelog_to_tag.yml
    #       modified:   playbooks/update_files.yml
    #
    # Untracked files:
    #       .ansible-lint
    #       git-commit-msg
    #       graphql/
    #       output
    #       playbooks/graphql_files/
    #       playbooks/update_branch_protection_rules.yml
    #


App behaviour when not connected to internet

Send max rather the whole send screen should be disabled with no data connection.

Unable to replicate(tried it on iOS simulator). @cakesoft-swati Let me know if you can replicate it.

App not crashes on Send Max but Send max rather the whole send screen should be disabled with no data connection..

When there is no internet connection, there should be a message on the top saying: 'no internet connection, tap to try connecting'. @Arpanjainson - UX needed here.
And the following functions should not work and the options should be greyed:

Send
Add F&F
Add/ Change/ reshare Keeper
Add Donation account
Change Donation settings
Refresh of Account, Manage BackUp, and F&F. The screen simply does not pull down.
Dev to look at what other areas in the app, a backend connection is needed. Same treatment as above.

Do we want to do this?


Aseprite integration

LDtk has first class support for aseprite files. At a minimum, bevy_ldtk_asset should provide an asset handle to these assets when referenced by an LDtk project.

Looking further into this, It seems that .aseprite files are used simply as a tileset definition, with the embedded atlas used as the tileset definition's source image.
This will remain open, as we should consider using them in a similar manner. Possible integration path: simply copy the image to a Bevy Image, and store the Handle<Image> in the same manner we are currently with png files.


unsafe_map.UnsafeSetIndex cost much memory

When i deserialized a json string, it size is about 40KB. and in benchmark case ,  I found the UnsafeSetIndex method cost much memory, it's about 40% memory, and the gc can't collection immediately. and this problem trouble me a lot

the json deseriazed framework is json-iterator, and it use reflect2 to map json to interface{}, and in my scenes, the interface type actually is map[string]map[string]interface{}

can you provide a benchmark to reproduce the case? do you have a rough idea on why gc is not collecting it immediately. Or is it collected eventually? If memory actually leaked, we can produce the issue reliably by running it over and over again.

I find this problem is relation with go , i will close this issue. sorry


TTS engine not found

I have version 0.2.7

I tested again the web page and it seems working properly.
Both text and audio file.
Did you solve your problem?

Could you please tell me how to install engine files (from https://github.com/roleoroleo/yi-hack-utils)  into Yi camera.
Sorry, to ask but I am not good at linux.
I try to copy file into SD card and ssh
then I don't know which folder should I install
I tried

tar xzvf curl.tgz

and get error (which I don't know what it means)
curl
libcurl.so
tar: can't create symlink libcurl.so to libcurl.so.4.6.0: Operation not permitted
libcurl.so.4
tar: can't create symlink libcurl.so.4 to libcurl.so.4.6.0: Operation not permitted
libcurl.so.4.6.0
Please help. Thank you in advance.


Add a zstyle tunable to opt for traditional backward movement

Like I mentioned here, backward movements kind of radically changed, so this PR is about providing a compatibility option to make a backward movement always land on each word beginning if enabled.
Before submitting your PR (pull request), please
check the following:

[x] There is no other PR (open or closed)
similar to yours. If there is, please first
discuss over there.
[x] Each commit messages follows the Seven
Rules of a Great Commit
Message.
[x] Each commit message includes
Fixes #<bug> or Resolves #<issue> in its
body (not subject) for each issue it resolves
(if any).
[x] You have
squashed
any redundant or insignificant commits.

Thanks for wanting to contribute!👍🏽 However, I decided to solve it a bit differently: 9cd412d


Improve API documentation for input components

Pull Request
🤨 Rationale
Ongoing efforts towards #824. This PR covers input components:

select
combobox
radio group
text area
text field
number field
checkbox
switch

👩💻 Implementation
Generally follow patterns from previous PRs like #2126 and #2117. A few interesting notes:

components have different behaviors regarding whether they sync their value property to an attribute. I documented the behavior I observed by adding a new table category for properties that don't have attributes (also used by checkbox indeterminate property).
not yet documenting a recommendation to use form association / CVAs instead of change events and value properties. Until I do so, the placeholder docs for select are outside any table category.
added another new table category for localizable strings.
not yet documenting list option API in the select and combobox stories. We (probably Meyer) are going to tackle this in a follow up after #2111.

🧪 Testing

✅ Checklist

[x] I have updated the project documentation to reflect my changes or determined no changes are needed.

@m-akinc would you mind being my buddy for API docs changes while Milan is out of town?

Bypassed @rajsite due to OOO.


[Q] some fault of svs

sorry, i found some fault when using the method='svs'

Hi,
would you mind sharing some more information one the occurring error so that we can try to locate the issue?
(e.g., Error Message, Function Calls, Parameters used or in the best Case a Minimal Sample )

2023-04-13 14:32:12"Jacqueline Höllig" @.***>写道：
hello, thank you for your email; when i use the example in the notebooks whiche names 'TSR_torch.ipynb' ,and i find that there will be a runtimeerror:the size of tensor a(100) must match the tensor b(6), maybe the fault is in the api to captum.attribution.shapley value sampling, or please tell some more detail to change, hope for your email in soon
Hi,
would you mind sharing some more information one the occurring error so that we can try to locate the issue?
(e.g., Error Message, Function Calls, Parameters used or in the best Case a Minimal Sample )
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.
Message ID: @.***>

Hi @asas21212aa ,
I just rechecked the notebook locally and for me it seems to work. Therefore I would need a bit more information:
(The easiest would be if you share the exact code you are using.)

What is your version of TSInterpret? (pip show TSInterpret)
What are the input/Output shapes?
int_mod=TSR(model, train_x.shape[-1],train_x.shape[-2], method='SVS', \   mode='feat')
When using mode='feat' with 'Basic_Motion'  train_x.shape[-1] is supposed to be 100 and  train_x.shape[-2] is supposed to be 6. For mode='time' it is the other way around.
item = np.array([test_x[0,:,:]]) label = int(np.argmax(test_y[0]))
exp=int_mod.explain(item,labels=label,TSR = False)
item has shape (1,6,100) for feat or  (1,100,6) if you chose time

here is my code, you can try it, my edition is 0.0.12
2023-04-13 16:19:58"Jacqueline Höllig" @.***>写道：
Hi @asas21212aa ,
I just rechecked the notebook locally and for me it seems to work. Therefore I would need a bit more information:
(The easiest would be if you share the exact code you are using.)
What is your version of TSInterpret? (pip show TSInterpret)
What are the input/Output shapes?
int_mod=TSR(model, train_x.shape[-1],train_x.shape[-2], method='SVS', \ mode='feat')
When using mode='feat' with 'Basic_Motion' train_x.shape[-1] is supposed to be 100 and train_x.shape[-2] is supposed to be 6. For mode='time' it is the other way around.
item = np.array([test_x[0,:,:]]) label = int(np.argmax(test_y[0]))
exp=int_mod.explain(item,labels=label,TSR = False)
item has shape (1,6,100) for feat or (1,100,6) if you chose time
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @asas21212aa,
Would you mind updating the TSInterpret version  to 0.1.3?
pip install --upgrade TSInterpret
Your version is quite old (its from August 2022). Multiple updated version are in-between and we did some major changes in the implementation. Therefore the current notebook implementations will not work with the older package versions.
If you still have issues, let me know.

sorry i always find some trouble , and when i use pip install TSinterpret, there is no version 0.1.3 in the selection edition
-----原始邮件-----
发件人:"Jacqueline Höllig" @.>
发送时间:2023-04-13 19:20:43 (星期四)
收件人: fzi-forschungszentrum-informatik/TSInterpret @.>
抄送: asas21212aa @.>, Mention @.>
主题: Re: [fzi-forschungszentrum-informatik/TSInterpret] [Q] some fault of svs (Issue #27)
Hi @asas21212aa,
Would you mind updating the TSInterpret version to 0.1.3?
pip install --upgrade TSInterpret
Your version is quite old (its from August 2022). Multiple updated version are in-between and we did some major changes in the implementation. Therefore the current notebook implementations will not work with the older package versions.
If you still have issues, let me know.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Hi @asas21212aa ,
I am sorry but I do not understand what you mean by "Selection Edition".
The version is there  https://pypi.org/project/TSInterpret/. Please make sure you use a python version >= 3.9.
Maybe you need to update pip before installing TsInterpret: pip install --upgrade pip or python -m pip install --upgrade pip.  As I am not sure what you mean by Selection Edition I am unsure how to do that there.

Closed due to inactivity


Remove twitter template from scripts

Overview: What does this pull request change?

Motivation and Explanation: Why and how do your changes improve the library?
This is not relevant to the main library and should be moved to https://github.com/ManimCommunity/manim-tweets
Links to added or changed documentation pages

Further Information and Comments

Reviewer Checklist

[ ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[ ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[ ] If applicable: newly added functions and classes are tested

cc @kolibril13

True. In case that someone still needs it, one can simply search "twitter template" in the GitHub search bar


Stuck at Linux Boot Loader

Hi guys, I'm currently having the following issue:

I could install ChimeraOS no problem in my ROG Ally. The system boots, I logged in on Steam, downloaded some games, etc., everything went super smooth.
At some point I had to reboot the device and got the following (I took the image from this reddit post because I can't seem to know how to take a decent picture, just replace the first option with ChimeraOS' current version):

This wouldn't be a huge problem if I could just select the first option, but it seems there's no way to select anything unless there's a keyboard plugged in. None of the ROG Ally's controls work, except the power and volume buttons.

Is this boot screen expected? (I don't remember seeing it the first few times the system rebooted)
Can I just default to ChimeraOS somehow and avoid it? I'm not interested in selecting anything, I just want to boot into ChimeraOS.

As a workaround on the ROG Ally I found I could do the following:

Boot into the firmware setup / utility mode (power on + volume down button when the ROG Ally logo appears).
Go down, select the "Boot Menu" option. Press A.
Select "Linux Boot Manager". Press A.
The boot menu from the screenshot will appear, but this time the ROG Ally's controls will work. Just select the first option and boot into ChimeraOS.

Just for future reference, I could finally fix this...
It turns out it may not be a ChimeraOS bug, or maybe it is but I don't know why...
So, I first edited the options in boot/loader/loader.conf until it looked like this:
timeout 0
default frzr.conf
auto-firmware no

But nothing happened, still stuck, except that the "Reboot into firmware interface" disappeared. So: some of the options were being detected, and some of the options were not.
After some further research I found out that EFI vars overwrite loader.conf vars if they exist.
If you write efivar --list | grep -i Timeout on your Linux console and get one or more results, then your configuration is being overwritten. And that's what for some reason was happening to me.
The fix:
sudo bootctl set-timeout 0 (pass: gamer)
And then reboot and it should be fixed.


Hazard Hunt / Hazard Information - UI Implementation

See the wiki information

Questions:

Is there any content available for these views?
Do these views need authentication/login?

Hi @steve-bate - we currently don't have content for these views. They do not require authentication/login.
Examples of Hazard Information can be found here:
https://mil.wa.gov/hazards
Examples of Hazard Hunt could be:
Gas Shut Off - knowing where the gas shut off valve to the home is located, and how to operate it.
Secure furniture - bookshelves, curios, and other similar types of furniture can fall, secure them to the wall with brackets and straps.
@schuback - feel free to elaborate more here or add additional information to the wiki :)


[Bugfix] Fix crashing of setRichTextColor

Writing description of PR would take longer time, but not longer than I was figuring the issue :D
Long story short, setting instance of RichTextColor to any default NSAttribute causes crashes. So here is the fix :D
This function is (not yet) used in the project, it will be used in https://github.com/danielsaidi/RichTextKit/pull/105

Cool, I'll merge it so that you can pull in the latest main 👍


Added Ben Walczak's Scraper

This scraper functions the same as the previous one created with only minor differences. However, no version of my scraper exists on the GitHub, so I thought I would add a version of it to the GitHub.


Add Codecov badge to README

Tom from Codecov here. I thought I would go ahead and add the Codecov badge here in case it's useful!

@thomasrockhu thanks, this looks very helpful! Please sign the CLA by following the instructions above so that we can accept this.

Will close this and add a badge ourselves. Thanks for the doc.


[Bug]: health check rolls back “old container” while deploying medusa

Description
For some reason, the health check keeps failing, and it roll backs the container, which makes the deployment fail.

Minimal Reproduction (if possible, example repository)

Create new medusa app pnpm dlx create-medusa-app@latest (or use npx)
save it to your own repo (you need posgres for your dev server)
add your env-vars
deploy (enabling Redis should be optional) but in case 👇🏻
uncomment this on medusa-config.js

const modules = {
	eventBus: {
		resolve: "@medusajs/event-bus-redis",
		options: {
			redisUrl: REDIS_URL,
		},
	},
	cacheService: {
		resolve: "@medusajs/cache-redis",
		options: {
			redisUrl: REDIS_URL,
		},
	},
};

Exception or Error
Health check fails, no error from medusa, there are no errors in the log
Solution:
✅ Disable health check, and it should fully deploy correctly
Version
v4.0.0-beta.146

disabling health check is not really a solution, is it?

disabling health check is not really a solution, is it?

It kind of is, the issue if that health check default endpoint does not exist on medusa.
There is no way to have the health check automatically detect what endpoint to hit, without having to manually set it up for every deployable service.
You should be able to edit what endpoint the health check is hitting.

any updates? this is not a solid solution it works but..

I have been able to deploy the backend by doing this

@nazimboudeffa two question:

does the start period works for you?
is the path really called? Do you see any logs about it? 🤔

I don't understand what you mean by the start period
I don't know if the path is called but it doesn't do the healthcheck 10 times
The problem with the logs is that I have this message, if you can help me fix it
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/***/json": dial unix /var/run/docker.sock: connect: permission denied

So after fixing, that log problem, by doing sudo usermod -aG docker ubuntu where ubuntu is the sudo user of my VPS at OVHCloud
I get this in the log
::ffff:<IP_ADDRESS> - - [23/Apr/2024:07:05:57 +0000] "GET /health HTTP/1.1" 200 2 "-" "curl/7.81.0"

Would you be so kind to share the dockerfile and compose file used for deploying? I cant get it to work, relatively new to both docker and coolify

Had a similar issue. None of my new applications would send the healthcheck requests, failing the deployments.
Restarting the VPS worked


fix(readme): can't create release

See: #284

This seems to be more like an edge-case in the context of this action or tauri apps, so i'd prefer to close this PR for now. I think this issue&pr is enough of a documentation for this unless more people report this problem.
Thank you!

I think it should be added to the examples in the README, because as a user I expect them to work as is in most basic circumstances.


Use NonZeroUsize instead of panicking on zero

The documentation states:

Capacity must be a positive number. If cap is zero, this function will panic.

This could be fixed by taking a NonZeroUsize instead.

This would make the API more cumbersome to use without helping much:
let (s, r) = async_channel::bounded(NonZeroUsize::new(n).unwrap());

We still need to either do .unwrap() to panic or do something else to handle the case when n is zero. However, I imagine in nearly 100% cases people would just do .unwrap().


net/haproxy: add support for time format

From the HAProxy documentation:

Some parameters involve values representing time, such as timeouts. These
values are generally expressed in milliseconds (unless explicitly stated
otherwise) but may be expressed in any other unit by suffixing the unit to the
numeric value.

This obviously improves readability of these values and supports lower and higher values. Previously some values were limited to a value between<PHONE_NUMBER>ms, which was an unnecessary limitation.

@fichtner: I've fixed the regex.

Merged, thank you. :)


Improve error handling

@vweevers thanks. just noticed, will this arrive in a new npm version?

Yes, on Friday.

2.0.0

thank you!


DeepFuze TTS Not Generating Audio

DeepFuze TTS is not generating a cloned voice.  Instead, it is copying the input mp3.
The log window has the following error:

Traceback (most recent call last):
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\tts_generation.py", line 10, in
from TTS.api import TTS
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\TTS\api.py", line 10, in
from TTS.utils.manage import ModelManager
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\TTS\utils\manage.py", line 14, in
from TTS.config import load_config, read_json_with_comments
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\TTS\config_init_.py", line 10, in
from TTS.config.shared_configs import *
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\TTS\config\shared_configs.py", line 5, in
from trainer import TrainerConfig
ModuleNotFoundError: No module named 'trainer'

trainer>=0.0.36, is missing.  Install generates the following error in Python 3.12.3.

ERROR: Ignored the following versions that require a different python version: 0.0.10 Requires-Python >=3.6.0, <3.10; 0.0.11 Requires-Python >=3.6.0, <3.11; 0.0.12 Requires-Python >=3.6.0, <3.11; 0.0.13 Requires-Python >=3.6.0, <3.11; 0.0.14 Requires-Python >=3.6.0, <3.11; 0.0.15 Requires-Python >=3.6.0, <3.11; 0.0.16 Requires-Python >=3.6.0, <3.11; 0.0.17 Requires-Python >=3.6.0, <3.11; 0.0.18 Requires-Python >=3.6.0, <3.11; 0.0.19 Requires-Python >=3.6.0, <3.11; 0.0.20 Requires-Python >=3.6.0, <3.11; 0.0.21 Requires-Python >=3.6.0, <3.11; 0.0.22 Requires-Python >=3.6.0, <3.11; 0.0.23 Requires-Python >=3.6.0, <3.11; 0.0.24 Requires-Python >=3.6.0, <3.11; 0.0.25 Requires-Python >=3.6.0, <3.11; 0.0.26 Requires-Python >=3.6.0, <3.11; 0.0.27 Requires-Python >=3.6.0, <3.12; 0.0.28 Requires-Python >=3.6.0, <3.12; 0.0.29 Requires-Python >=3.6.0, <3.12; 0.0.30 Requires-Python >=3.6.0, <3.12; 0.0.31 Requires-Python >=3.6.0, <3.12; 0.0.32 Requires-Python >=3.6.0, <3.12; 0.0.33 Requires-Python >=3.6.0, <3.12; 0.0.34 Requires-Python >=3.6.0, <3.12; 0.0.35 Requires-Python >=3.6.0, <3.12; 0.0.36 Requires-Python >=3.6.0, <3.12; 0.0.5 Requires-Python >=3.6.0, <3.10; 0.0.6 Requires-Python >=3.6.0, <3.10; 0.0.7 Requires-Python >=3.6.0, <3.10; 0.0.8 Requires-Python >=3.6.0, <3.10; 0.0.9 Requires-Python >=3.6.0, <3.10
ERROR: Could not find a version that satisfies the requirement trainer (from versions: none)
ERROR: No matching distribution found for trainer

There is a suggestion here to use a replacement:
https://github.com/coqui-ai/Trainer/issues/146
Opened a bug report to request a new build of trainer
https://github.com/coqui-ai/Trainer/issues/147

I added the fork of trainer:

pip install coqui-tts-trainer

This seems to have fixed the dependency error, but I'm now getting an error about a missing config.json file.

Traceback (most recent call last):
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\tts_generation.py", line 36, in
main()
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\tts_generation.py", line 30, in main
tts = TTS(model_path=args.model,config_path=os.path.join(args.model,"config.json")).to(device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\TTS\api.py", line 65, in init
self.config = load_config(config_path) if config_path else None
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI-master\custom_nodes\ComfyUI-DeepFuze\TTS\config_init_.py", line 88, in load_config
with fsspec.open(config_path, "r", encoding="utf-8") as f:
File "C:\Python\Python312\Lib\site-packages\fsspec\core.py", line 105, in enter
f = self.fs.open(self.path, mode=mode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Python312\Lib\site-packages\fsspec\spec.py", line 1303, in open
f = self._open(
^^^^^^^^^^^
File "C:\Python\Python312\Lib\site-packages\fsspec\implementations\local.py", line 191, in _open
return LocalFileOpener(path, mode, fs=self, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python\Python312\Lib\site-packages\fsspec\implementations\local.py", line 355, in init
self._open()
File "C:\Python\Python312\Lib\site-packages\fsspec\implementations\local.py", line 360, in _open
self.f = open(self.path, mode=self.mode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'C:/ComfyUI-master/models/deepfuze/config.json'

@mmcc1 Did you download models?

@mmcc1 Did you download models?

That was it.  I thought that section of the ReadMe was for the Mac, so I skipped over it.  Seems to be working now.


RFC: Bluetooth: Update indication callback parameters

Implementing the RFC described in #29357
Closes #29357

Implementing the RFC described in #29357

Excellent, thank you! Could you please send an email to the mailing list as well, as described in the process?

Rebased, usage_count renamed to ref, documentation updated.

@jhedberg do you want to take another look?

Implementation has been switched to the callback mechanism.
There is the potential for usage_faults in downstream code if the indication_params struct is not initialized as 0's (stack variable) and the user doesn't set the destroy callback, as the pointer will be random.
I don't believe this can be mitigated, but as this is already a stable API change I think its ok?


Typo "istiio" in ControlZ dashboard

Resolves https://github.com/istio/istio/issues/24039
Fixes the typo and provides descriptions for two scopes that lacked them before.

In response to a cherrypick label: new pull request created: #24043


[Improvement] on ServiceDescriptor

ServiceDescriptor should throw exception in the constructor if the implementation type/object doesn't inherit from the provided service type.

Sounds like a good check, though I'd like to see the effect on startup performance (if any) as we register > 100 descriptors.
/cc @pakrym

The check could be optional, disabled by default, and passed to the ServiceCollectionContainerBuilderExtensions.BuildServiceProvider, so we could enable it during development and catch errors during the startup if our projects.

This issue was moved to aspnet/Home#2345


Could not find the requested service splunk: host - attack_range_local

Hello team,
PFA

Even before this error, splunk package was unable to download automatically so, I manually downloaded and extracted the tar file and then it doesnt get past this step.

Hello team,
Can someone please update me on this issue?

Hi @pud99, sorry for my late reply. Does this issue still exists? The Attack Range Local is not designed that you download it manually. I would suggest we fix the download issue.

@pud99 are you still having the same issue, this seemed to be specific to your environment if is not able to download. Feel free to reply to this message to reopen the issue if anything.


Switch Role fails if there is no role history

If the user doesn't have an entry in the native AWS console role history list then none of the switch role links will work. They are missing the csrf token in the form request. When a switch role link is clicked the user is sent to the 400 Bad Request page.
A user may not have any roles in the native history list if:

they are starting from a fresh install
they have cleared all local data

Perhaps the configured switch role links should not be shown or shown as disabled (grayed out) if the csrf token cannot be extracted?

It has already been dealt with by https://github.com/tilfin/aws-extend-switch-roles/blob/master/src/lib/content.js#L49, but the behavior of AWS MC may have changed.


first try fetch

Well, looks that this and #14 are still entangled, so let's address all of this in #14.


refactor: function parameter and do not override output (options.outputPath)

Pass the full filePath into outputPath function. Use this parameter, user can generate more dynamic output path
Do not override 'outputPath' if user have set it

@d3viant0ne I agree with you that I should not include the outputPath override changes in this PR, it's removed now. Can you review?

For the outputPath override, I found an issue about this: https://github.com/webpack-contrib/file-loader/issues/219
Can I send a PR to fix this one?