Apcupsd NUT Wrapper Script issues with WebNUT Container

I'm trying to get it to work with  WebNUT container and I'm getting this kind of a log from the script:
Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> USERNAME monuser OK

Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 PASSWORD secret

Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> PASSWORD secret OK

Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 LIST UPS

Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> Serving all the names of the UPSs

Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 LIST VAR ups

Fri 15 Mar 2024 09:40:14 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> Requested all VARs for UPSNAME=ups

Fri 15 Mar 2024 09:40:15 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> returned all VARs

Fri 15 Mar 2024 09:40:15 PM EET REM_IP=<IP_ADDRESS> PID=2426534 GET UPSDESC ups

Fri 15 Mar 2024 09:40:15 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> failed to process command

Fri 15 Mar 2024 09:40:15 PM EET REM_IP=<IP_ADDRESS> PID=2426534 LOGOUT

Fri 15 Mar 2024 09:40:15 PM EET REM_IP=<IP_ADDRESS> PID=2426534 >>> Logout, exiting script

Hi,
thx for opening the issue.
Is WebNUT not showing any value at all, or did it just miss the description?
Ciao
Martin

@TechaNima hi, i have uploaded a new version in the "test" branch. can you try that out please and paste the LOG again here?
It should at least now get one step further. The question is, if WebNUT is requesting the description later on for each and every variable.
You can get the updated version here: https://raw.githubusercontent.com/gitmachtl/various/test/upsnutwrapper/upsnutwrapper.sh

WebNUT

Nada. It doesn't see any UPS info coming from the Proxmox host. I'll have a look at the updated script tomorrow after work. Apcupsd is working normally. I can see all the info correctly on the host and on its built in web page.
I have verified that the WebNUT port is open on the Container host VM and docker-compose is fine as well.
I'll paste the log after I update the script.

root@pve:/usr/local/bin# cat /tmp/upsnutwrapper.log
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     USERNAME monuser
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> USERNAME monuser OK
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     PASSWORD secret
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> PASSWORD secret OK
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     LIST UPS
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> Serving all the names of the UPSs
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     LIST VAR ups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> Requested all VARs for UPSNAME=ups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> returned all VARs
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     GET UPSDESC ups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> Requested upsdescription for UPSNAME=ups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     LIST VAR qnapups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> Requested all VARs for UPSNAME=qnapups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> returned all VARs
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     GET UPSDESC qnapups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> Requested upsdescription for UPSNAME=qnapups
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     LOGOUT
Tue 19 Mar 2024 08:17:43 PM EET REM_IP=<IP_ADDRESS>       PID=3960328     >>> Logout, exiting script
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     USERNAME monuser
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     >>> USERNAME monuser OK
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     PASSWORD secret
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     >>> PASSWORD secret OK
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     LIST UPS
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     >>> Serving all the names of the UPSs
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     LOGOUT
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961361     >>> Logout, exiting script
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     USERNAME monuser
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     >>> USERNAME monuser OK
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     PASSWORD secret
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     >>> PASSWORD secret OK
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     LIST VAR ups
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     >>> Requested all VARs for UPSNAME=ups
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     >>> returned all VARs
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     GET DESC ups server.info
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     >>> failed to process command
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     LOGOUT
Tue 19 Mar 2024 08:18:07 PM EET REM_IP=<IP_ADDRESS>       PID=3961369     >>> Logout, exiting script@gitmachtl I can see both UPSs on WebNUT with the updated script. However, now I'm getting an internal server error when I click either of them in WebNUT.
WebNUT dashboard
`Internal Server Error
The server encountered an unexpected internal server error
(generated by waitress)`
Here's the log from the script:

ok, now WebNUT tries to request GET DESC ups server.info
have to implement the GET DESC <upsname> <varname> command into the script. as a background, this script was made to work with synology and qnap nas devices, and they never requested extra info like that. but ok... give me a bit to add this too.
its just a bit strange, that WebNUT cannot handle such things well. i would also open up a issue on the WebNUT github repo. because my script is returning an ERR UNKNOWN-COMMAND when it does not recognize a command. which is a normal behavior. that should not force WebNUT to crash.
i will get back to you when the GET DESC command is implemented.

i would also open up a issue on the WebNUT github repo. because my script is returning an ERR UNKNOWN-COMMAND when it does not recognize a command. which is a normal behavior. that should not force WebNUT to crash.

Honestly, all the interactions between your script and WebNUT goes way above my understanding. You'd be much better at explaining this to them.
I'm a bit surprised that the script picked up my QNAP at all. It's not setup as a UPS master atm. Honestly, I had forgotten I had even plugged the other UPS into it.
Thank you for taking your time to make the script work with WebNUT. I definitely would not be able to.

@TechaNima  please check the updated version 1.7
! The QNAP is not picked up. The script is originally made to be used with Synology and QNAP nas devices. And those devices need a specific name on the Nut-Server. ups for Synology NAS devices and qnapups for QNAP devices. So the script presents those two names as available UPS names.
I don't know your setup. The script should be run on the machine that has the apcupsd installed. And than devices like Synology, QNAP or your WebNUT can connect to it as NUT-Clients.

Looks clean at a glance
root@pve:~/bin# cat /tmp/upsnutwrapper.log
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      USERNAME monuser
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      >>> USERNAME monuser OK
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      PASSWORD secret
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      >>> PASSWORD secret OK
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      LIST UPS
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      >>> Serving all the names of the UPSs (ups)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      LOGOUT
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123641      >>> Logout, exiting script
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      USERNAME monuser
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> USERNAME monuser OK
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      PASSWORD secret
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> PASSWORD secret OK
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      LIST VAR ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested all VARs for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned all VARs
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups server.info
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=server.info for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_server_info=Server information
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups driver.parameter.pollfreq
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=driver.parameter.pollfreq for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_driver_parameter_pollfreq=Driver poll frequency (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.voltage
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.voltage for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_voltage=Input voltage (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.transfer.high
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.transfer.high for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_transfer_high=High voltage transfer point (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.charge
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.charge for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_charge=Battery charge (percent)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.serial
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.serial for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_serial=UPS serial number (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups output.current
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=output.current for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_output_current=Output current (A)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.beeper.status
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.beeper.status for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_beeper_status=UPS beeper status (enabled, disabled or muted)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.vendorid
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.vendorid for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_vendorid=Vendor ID for USB devices (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.transfer.reason
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.transfer.reason for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_transfer_reason=Reason for last transfer to battery
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.id
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.id for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_id=UPS system identifier (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.mfr.date
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.mfr.date for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_mfr_date=Battery manufacturing date (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.test.date
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.test.date for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_test_date=Date of last self test (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups output.voltage
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=output.voltage for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_output_voltage=Output voltage (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.productid
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.productid for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_productid=Product ID for USB devices
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.frequency.nominal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.frequency.nominal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_frequency_nominal=Nominal input line frequency (Hz)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.voltage.nominal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.voltage.nominal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_voltage_nominal=Nominal battery voltage (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.voltage.maximum
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.voltage.maximum for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_voltage_maximum=Maximum incoming voltage seen (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups driver.parameter.pollinterval
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=driver.parameter.pollinterval for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_driver_parameter_pollinterval=Driver poll interval (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.voltage
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.voltage for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_voltage=Battery voltage (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.test.result
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.test.result for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_test_result=Results of last self test (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.timer.shutdown
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.timer.shutdown for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_timer_shutdown=Time before the load will be shutdown (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.status
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.status for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_status=UPS status
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.date
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.date for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_date=Battery manufacturing date (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.mfr
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.mfr for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_mfr=UPS manufacturer
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups output.voltage.nominal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=output.voltage.nominal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_output_voltage_nominal=Nominal output voltage (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.voltage.nominal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.voltage.nominal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_voltage_nominal=Nominal input voltage (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.power.nominal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.power.nominal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_power_nominal=Nominal value of apparent power (Volt-Amps)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.mfr.date
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.mfr.date for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_mfr_date=UPS manufacturing date (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups device.type
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=device.type for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_device_type=Device type (ups, pdu, scd, psu, ats)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.charge.low
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.charge.low for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> no description found for variable battery.charge.low (DESC_battery_charge_low)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups driver.version.internal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=driver.version.internal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_driver_version_internal=Internal driver version
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups driver.version.data
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=driver.version.data for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_driver_version_data=Version of the internal data mapping, for generic drivers
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.runtime.low
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.runtime.low for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_runtime_low=Remaining battery runtime when UPS switches to LB (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.timer.reboot
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.timer.reboot for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_timer_reboot=Time before the load will be rebooted (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.sensitivity
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.sensitivity for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_sensitivity=Input power sensitivity
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.load
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.load for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_load=Load on UPS (percent)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups driver.name
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=driver.name for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_driver_name=Driver name
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.runtime
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.runtime for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_runtime=Battery runtime (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups device.model
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=device.model for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_device_model=UPS model
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups device.description
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=device.description for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_device_description=Description of the device (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.charge.warning
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.charge.warning for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_charge_warning=Battery level when UPS switches to Warning state (percent)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.delay.shutdown
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.delay.shutdown for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_delay_shutdown=Interval to wait after shutdown with delay command (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.timer.start
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.timer.start for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_timer_start=Time before the load will be started (seconds)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups device.mfr
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=device.mfr for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_device_mfr=Device manufacturer
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.delay.start
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.delay.start for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> no description found for variable ups.delay.start (DESC_ups_delay_start)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.frequency
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.frequency for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_frequency=Input line frequency (Hz)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.type
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.type for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_type=Battery chemistry (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups device.serial
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=device.serial for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_device_serial=Device serial number (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups battery.temperature
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=battery.temperature for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_battery_temperature=Battery temperature (degrees C)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.voltage.minimum
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.voltage.minimum for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_voltage_minimum=Minimum incoming voltage seen (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.firmware.aux
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.firmware.aux for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_firmware_aux=Auxiliary device firmware
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups input.transfer.low
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=input.transfer.low for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_input_transfer_low=Low voltage transfer point (V)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.model
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.model for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_model=UPS model
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.firmware
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.firmware for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_firmware=UPS firmware (opaque string)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.realpower.nominal
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.realpower.nominal for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_realpower_nominal=Nominal value of real power (Watts)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      GET DESC ups ups.temperature
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Requested description for VAR=ups.temperature for UPSNAME=ups
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> returned desc for DESC_ups_temperature=UPS temperature (degrees C)
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      LOGOUT
Wed 20 Mar 2024 06:34:51 PM EET REM_IP=<IP_ADDRESS>       PID=123649      >>> Logout, exiting script

@TechaNima yea thx, i did a super rush implementation for the DESC command so you can check it out.
Can you run the apcaccess command on the CLI and paste the output?
The values are only populated if they also showup in the apcaccess output.

@gitmachtl
root@pve:~# apcaccess
APC      : 001,036,0863
DATE     : 2024-03-21 21:47:31 +0200
HOSTNAME : pve
VERSION  : 3.14.14 (31 May 2016) debian
UPSNAME  : pve
CABLE    : USB Cable
DRIVER   : USB UPS Driver
UPSMODE  : Stand Alone
STARTTIME: 2024-03-15 20:37:47 +0200
MODEL    : Back-UPS RS 1500G
STATUS   : ONLINE
LINEV    : 235.0 Volts
LOADPCT  : 15.0 Percent
BCHARGE  : 100.0 Percent
TIMELEFT : 44.6 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 5 Minutes
MAXTIME  : 0 Seconds
SENSE    : Medium
LOTRANS  : 176.0 Volts
HITRANS  : 288.0 Volts
ALARMDEL : No alarm
BATTV    : 27.3 Volts
LASTXFER : Automatic or explicit self test
NUMXFERS : 0
TONBATT  : 0 Seconds
CUMONBATT: 0 Seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x05000008
SERIALNO : 3B1309X13002
BATTDATE : 2022-08-01
NOMINV   : 230 Volts
NOMBATTV : 24.0 Volts
NOMPOWER : 865 Watts
FIRMWARE : 878.L4 .I USB FW:L4
END APC  : 2024-03-21 21:47:53 +0200

thx, your ups is not reporting a value for the apparent power [VA] via the NOMAPNT value. that would be the ups.power.nominal value you asked about earlier. the value reported as NOMPOWER - 865 W in your case - is reported back as the ups.realpower.nominal value. is webNUT showing this value?

There is a new version btw -> https://raw.githubusercontent.com/gitmachtl/various/test/upsnutwrapper/upsnutwrapper.sh
You can set the UPS_ups_power_nominal="1500" value in the default settings for your ups if you like. So it gets listed in webNUT even apcaccess does not report it. Most of the time, APC ups devices show more data via apcaccess if they are connected via modbus and not via usb.

@TechaNima i have uploaded a new version 1.9. In that version i also included your ups "Back-UPS RS 1500G" with the apparent power value.
https://raw.githubusercontent.com/gitmachtl/various/test/upsnutwrapper/upsnutwrapper.sh

is reported back as the ups.realpower.nominal value. is webNUT showing this value?

Sure is https://gyazo.com/3e8dbf900bfcd623a07b6be234ebff67
New script looks like it's working perfectly.
Is it safe to leave logging on? Or is it going to leave the log file to grow until it can't anymore?
I know it only makes new lines when it's accessed, but it makes a lot of them at once.
Would be nice if non-reported values didn't show up in WebNUT, but that sounds like a problem for WebNUT devs and I don't care enough to bug them about it tbh.
Thank you for updating everything to work with WebNUT <3
I've been wanting to have a centralized place to see both UPS' and with this I can finally do it.
Then to figure out how to get this to work on my QNAP... Oh joy..

Is it safe to leave logging on? Or is it going to leave the log file to grow until it can't anymore?
I know it only makes new lines when it's accessed, but it makes a lot of them at once.

The logfile would grow and grow. Is only ment to be used for troubleshooting, but not very useful in the longturm.
You can also remove the "qnapups" entry in this line and only leave "ups" in or give it a name on your own. It must be a single word with no spaces or special chars. Than you would only see one ups listed and not "ups" and "qnapups" like right now.
Glad i works for you.
Best regards, Martin


The column was specified multiple times for 't0'.

I am using a nightly build
"EntityFramework.SqlServer": "7.0.0-beta6-13735",
When including multiple relationships in a query, I am getting an exception thrown with
The column 'DeletedDate' was specified multiple times for 't0'.
The duplicate column names are in Profile and ProfileSkill
var querybuilder = dbContext.Person
.Include(p => p.GeoData)
.Include(tp => tp.Profile)
.ThenInclude(s => s.ProfileSkill)

@Aequoris Could you also include the model you are using, DbContext and all relevant entities (Person, GeoData, Profile, ProfileSkill)

unable to reproduce based on provided information, closing


Unable to grant access other projects access to my service connection

Hey,
in accordance to the guid "Organization level permissions" : https://docs.microsoft.com/en-us/azure/devops/pipelines/library/service-endpoints?view=azure-devops&tabs=yaml#organization-level-permissions
I should be able to grant organization level access to my service connections, but i am not allowed to do this, i can only see the project option!
/regards A

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

ID: 72b90dd0-49f9-4ed4-3010-9a64dde6ae5a
Version Independent ID: 6e679d50-4e94-eee3-8793-af884cc909ca
Content: Service connections in Azure Pipelines & TFS - Azure Pipelines
Content Source: docs/pipelines/library/service-endpoints.md
Product: devops
Technology: devops-cicd-library
GitHub Login: @RoopeshNair
Microsoft Alias: ronai

@allanmoller -- thank you for your feedback.  You may find answers here:

Azure DevOps Support Bot
Azure DevOps on Stack Overflow

@RoopeshNair -- please look into this issue.

thx, but have been unable to find a solution to this problem! so any help would be appricated :-)

Hi allanmoller,
As mentioned in the doc, the cross project sharing feature is under preview and will be enabled next deployment. If you want preview access of this feature, please share the account details and we will enable the feature for you.

thx @ashokirla i would like to test this feature org name allanmoller79 also when will this go GA?

Hello @ashokirla


fix(stream): cast timestamps as ints

python datetime/time timestamps will sometimes be floats, such as when you do this:
>>> time.mktime(datetime.datetime.now().timetuple())

The HTTP throws non-specified errors when these are passed. Casting them as int() resolves this.

Thanks a lot @jcderr !
@yannmh Can you review merge and release when you'll have a chance ?

Thanks @jcderr ! I am merging your contribution.


the machine gives different results between normal mode and mode debugging (react native)

Bug
Description:
Expected result: for examples fetchMachine.initialState.nextEvents give me the different event in the state
Actual result: in the normal mode, he gives me just the first event of the State

Not sure how this is possible. What version? Please check on the latest version of XState.

Closing this as invalid - please provide a code reproduction if this is still the case after upgrading.


[Storage][DataMovement] Add support for resource options on resource containers

This change adds a new property ResourceOptions to BlobStorageResourceContainerOptions which allows users to specify options specific to individual resources that will be applied to all resources in the container. ResourceOptions is a new type BlobStorageResourceOptions which is a base class of the existing Block|Page|AppendBlobStorageResourceOptions that contains all common properties from the existing options classes.
Other options related changes here:

Removed Traits and States from container options as they were not being used and it was decided they were not needed.
Refactored a lot of the docstrings for resource options to be more user friendly.

Removed references to what methods they are used in since those are called internally and likely don't make sense to customers.
Standardized format including around which transfer types each options applies to.

API change check
API changes are not detected in this pull request.

/check-enforcer override


Requirements for our build for 20/07

Free5gc connected to mininet
UERANSIM with ue+GNB connected to mininet (no NS-3)
ONOS working with Reactive Forwarding

Our build is late @felipebastosb


BUG: Fix bug with artifact download

https://github.com/mne-tools/mne-installers/actions/runs/9764227628/job/26953942126 actually failed so I'll change the merge reqs to have the Release step required and sanity check this one by eyeballing the ls -al ./ step

Okay the Release contents ls -al ./:

Match the ones we'd expect to upload based on the previous release assets:


Windows types and unknown type name

I'm new to CppSharp. In my C library I have #ifdef _WIN32 and define windows specific functions that use windows types from windows.h
How can I make it work? Or what's the best way to make it work?

error: unknown type name 'UINT'
error: unknown type name 'HANDLE'
error: unknown type name 'HANDLE'

You need to add the necessary defines or undefines to the options of the parser.

How should I do this? I tried:
var parserOptions = driver.ParserOptions;
parserOptions.Defines.Add("UINT=unsigned int");
parserOptions.Defines.Add("HANDLE=void*");

These are types, not macros. I was talking about _WIN32: define or undefine it as needed.

Thanks. Solved.


EqualsGetClass description is confusing

https://errorprone.info/bugpattern/EqualsGetClass says

"Requiring the argument to equals to be of a specific concrete type is incorrect,"

but Error Prone rejects code that is not this pattern.
(Maybe Error Prone rejects any use of getClass() in the equals method? Anyway, it rejects seemingly-correct code that uses getClass(), but never compares it to a concrete type.)
I suggest that either the Error Prone check be changed, or the text be changed, so that they are consistent.
The discussion never gives an example of wrong code (that, a poorly-structured equals implementation).
I suggest that an example be added, both in the "The problem" section and also in the "Extending a value class to add attributes".
The current text assumes the reader is very familiar with the details of the cited Bloch book.
The text references an .asPoint() method without describing it.  The text also seems to assume that the reader knows the equals() implementation that the author has in mind.
Much of the text of https://errorprone.info/bugpattern/EqualsGetClass is about whether subclassing or composition is a better way to extend classes.  I think the text would be clearer if it focused on the problem with equality, and made it concrete.
I suggest replacing most of the text with a succession of 2 or 3 equals() methods, showing a bad one and a good one.
Or, if the pattern is really "use composition instead of subclassing", then please give the pattern a different name (not EqualsGetClass) that makes clear that the problem is not the equals method, but the larger design.
Related: #1144 has a discussion that the current text could be improved (and that the check itself may be a bit too aggressive), but that predated the version of the text that I read. The edits that came about as a result of that discussion actually removed specifics like examples of equals methods.  So I'm sorry to complain about the result of an attempt to fix a problem. :-/

Would add on to this ticket that this passage, in particular, seems to minimize the importance of .equals() symmetry and almost seems to indicate it's not important:

Unfortunately, equals now creates a big problem. Two Points should be seen
as interchangeable whenever they have the same x and y coordinates. But two
ColoredPoints are only equivalent if their coordinates and color are the
same. This, plus the general contract of equals (e.g. symmetry), ends up
forcing Point(1, 2) to respond false if asked whether it is equal to
ColoredPoint(1, 2, BLUE).

This can be achieved by changing equals to be based on getClass instead of
instanceof. But do we even want to do that? Recall the main advantage we cited
for using subtyping: so that we "can pass ColoredPoint to anything that
expects a Point", we said. Yet we are in fact not achieving that after all.
Put simply, ColoredPoint is incapable of functioning properly as a Point
because it cannot participate in equality checks with other Points.

It's not clear here what that refers to, and could be read as the last major concept brought up (general contract of equals, symmetry).
More broadly, the document doesn't distinguish between the separate concerns of Point.equals and ColoredPoint.equals. The correct solution (and the one I'm assuming is being advocated for) is that Point.equals uses instanceof Point, and ColoredPoint.equals does not exist at all (i.e. do not override nontrivial .equals implementations). The current documentation makes little effort to clarify this approach, allowing for the easy misinterpretation of "Point.equals uses instanceof Point, ColoredPoint.equals uses instanceof ColoredPoint".

The latest version of the documentation tries to put more emphasis on symmetry and the idea that the recommendation is to not use inheritance to model examples like Point / ColoredPoint e.g. with https://github.com/google/error-prone/commit/974f48057a0de49151a99020c33efc286cb5c612#diff-eb5c596b9b92f6e8dc6c2c981392f3f106dfcd336aa445145057ed182b4cf281

The latest version of the documentation tries to put more emphasis on symmetry and the idea that the recommendation is to not use inheritance to model examples like Point / ColoredPoint e.g. with https://github.com/google/error-prone/commit/974f48057a0de49151a99020c33efc286cb5c612#diff-eb5c596b9b92f6e8dc6c2c981392f3f106dfcd336aa445145057ed182b4cf281


Help me build the #IDEAsPlatform.

If you are interested, let's chat.
I'll give you some links as well.

💃

🗡


Refactor / Extend VideoOverlay Tutorial (ImageOverlay, SVGOverlay)

Tutorial: https://leafletjs.com/SlavaUkraini/examples/video-overlay/
Would be happy to discuss the following changes and resolve more checkboxes. I wanted to check if I am on the right path before continuing. I have added a couple of questions (bold text in the brackets)

[x] Rename the header.

Explain ImageOverlay (Despite checkboxes below being under ImageOverlay section, I have added them in the VideoOverlay context since it is a VideoOverlay-Tutorial after all. Please correct me if I got it wrong.)

[x]  The general explanaition can be used from VideoOverlay

[ ] If know-how available add a sample how to use different sources

[x] Explain that the option interactive is per default false. This means that no mouse events are triggered. Can be changed with L.ImageOverlay(coords, {interactive: true})

[x] Sample with errorOverlayUrl option

[x]  Explain that it is import for accessibility to add a alt option.

Explain VideoOverlay

[ ] Check if the existing ImageOverlay sections are still relevant (If you mean the "Bounds of an image overlay" section, it still seems valid, but not sure how relevant. From my understanding, the purpose of it was to create an ImageOverlay and show that VideoOverlay is very similar to it, but I might be wrong)

[x] Explain the playInline option from 1.8. (Default true) On iPhone, https://github.com/Leaflet/Leaflet/pull/7928 (I saw this PR merged but i still didn't see this playInline "option" added to the Docs for VideoOverlay. Please correct me if I am wrong. I would assume maybe to add it to the Docs before Tutorial if it is still not there or is there some special docs related to the mobile?)

[x] Explain On some browsers autoplay will only work with muted: true

Explain SVGOverlay (SVGOverlay wasn't mentioned in the Tutorial, so there is no context for it. Should I just add it somewhere in the end?)

@Falke-Design ,
I made more massive changes in the new commits and also added SVGOverlay section with an example (example-svg.md).
When I run "npm run docs" it creates a file with Docs only. How can I generate "Tutorials"? For now, I am just checking the result by opening this index.md file in IDE.

You need to install Ruby and then run npm run serve. The link, that i posted above, should redirect you to the correct section with the steps that you need.

You need to install Ruby and then run npm run serve. The link, that i posted above, should redirect you to the correct section with the steps that you need.
Thanks, @Falke-Design! It works.
I included all of your remarks and worked with styling and typos in my recent commit. Tested in the generated webpage.

The title and description would need to be updated to reflect the new content:
https://github.com/Leaflet/Leaflet/blob/7847cc6913c296fb7e409e086a57366237c42728/docs/SlavaUkraini/examples.md?plain=1#L102-L103

changed, thanks @Malvoz

If you get it work, it would be good to rename the directory from examples/video-overlay/index.md to examples/overlays/index.md. Else we can do it

If you get it work, it would be good to rename the directory from examples/video-overlay/index.md to examples/overlays/index.md. Else we can do it

Could you give me a hint?
If I am trying to change a folder, a server is still trying to look for /video-overlay/
for example, Request URL: http://<IP_ADDRESS>:4000/SlavaUkraini/examples/video-overlay/thumbnail.gif

Here:
https://github.com/Leaflet/Leaflet/blob/25546fc04fbff9c5fec26f1cb42bda710be8c7ae/docs/SlavaUkraini/examples.md?plain=1#L100-L102
You can keep the thumbnail but please change the title

Here:
https://github.com/Leaflet/Leaflet/blob/25546fc04fbff9c5fec26f1cb42bda710be8c7ae/docs/SlavaUkraini/examples.md?plain=1#L100-L102
You can keep the thumbnail but please change the title

Got it, thank you!

@KonstantinBiryukov thank you for your contribution!


Are the two input files for scale  the same?

https://github.com/GEOS-ESM/GEOSldas/blob/433ee5c2c15c7eb0d8ac7614ae5de17b354fab27/src/Applications/LDAS_App/process_rst.csh#L356-L372
it seems to me the two input files for Scale program are the same. 1) The first step is regriding. The output cdrc1, cdcr1 and vgwmax are calculated from BCs.  2) For the second step, the three output are still from the same BCs. So they are supposed to be the same.  3) the third step is scaling, it seems to me it is more like re-calibrating so the parameters become more consistent. If so, we only nee one restart for the scaling purpose.  Please let me know if my understanding is correct or not. @gmao-rreichle @gmao-jkolassa

@weiyuan-jiang: One more thought (following the discussion at our tag-up meeting this morning). After scanning through process_rst.csh in its entirety, I'm no longer sure that the hard-wired number ("26") in Line 372 is correct:
${SCALE} OutData.1/M2Restart OutData.2/M2Restart ${MODEL}_internal_rst $SURFLAY 26 $WEMIN_OUT
I'm wondering if "26" needs here to be replaced with $WEMIN_IN.  If this line is only used for MERRA-2 restarts, WEMIN=26 is correct.  But if this line is ever used for re-tiling restarts other than MERRA-2, the "26" number may be incorrect.   For example, Line 255 seems to copy a GEOS-FP ("G") source/origin restart file into the file M2RESTART:
/bin/cp -p $rstfile $EXPDIR/$EXPID/mk_restarts/InData/M2Restart
Also, the if blocks in Lines 273-321 could (correctly) result in $WEMIN_IN=13 (if a newer GEOS FP restart is used as the source/origin restart).  In other words, it's possible that the hard-wired "26" in Line 372 is a bug.

@gmao-rreichle Thanks. I think I understand this now. old restart is re-tiled and the new restart has new BC in it.   closed

@weiyuan-jiang, thanks for the update.  I'm still not convinced that the hard-wired "26" is correct, see my comment above.  I'm reopening the issue to remind us that this still needs to be addressed.

Looks to be correct in process_rst.py as of 29 Jun 2023.


Unicode with dmd

Hello Ronon,
How can we implement regional fonts using Unicode for the p10 display???
Can you help me??

Ok thanks for the support

And sorry for typo mistake


Custom Keybinds

I'm planning on adding support for specifying custom keybinds this weekend. This is the general gist of how I want to expose it
# Custom keybinds for actions
# Each entry maps an action to a key combo
# Action -> predefined list of possible interactions to perform
# Key Combo -> Either a single modified key or an array of modified keys
# Modified Key -> Either an unmodified key or an obj with a key and modifiers
# Possible Modifiers: ["Alt", "Ctrl", "Os", "Shift"]
#     (Note: shift can only be used on keys that don't have a different key for
#     no-shift and shift like "Enter" or "Space")
# Possible Actions: [
#     "ToTop", "ToBottom",
#     "ScrollUp", "ScrollDown",
#     "PageUp", "PageDown",
#     "ZoomIn", "ZoomOut", "ZoomReset",
#     "Copy",
#     "Quit",
# ]
# Possible Keys: [
#     ... All the typical letters, numbers, and symbols
#     "Enter", "Space", "Tab", Backspace", "Esc", PageUp", "PageDown",
#     "PageLeft", "PageRight", "Home", "End", "Delete", "Insert", "F1"-"F12", etc.
# ]
keybinds = [
    ["ToTop", "Home"],
    ["ToBottom", "End"],
    ["Copy", { key = "c", mod = ["Ctrl"] }],
    ["ToTop", ["g", "g"]],
    ["ToBottom", "G"],
    ["Copy", "y"],
]

One thing that I noticed that may complicate things is that a surprising number of keys don't get picked up with a VirtualKeyCode on my keyboard like $%^&() etc.
Another thing is that there may be system differences here too. I noticed that @trimental uses VirtualKeyCode::Equals+Shift to detect a "+", but for me it registers as a VirtualKeyCode::Plus. It's actually impossible for me to use VirtualKeyCode::Equals with shift on my keyboard layout. Switching to using the scancode could fix this and the missing keys issue

Looks like the scancode doesn't make sense for this application :/
I'll have to dig into why the virtual keycodes aren't always resolved / are resolved to different keys

Meh rust-windowing/winit#1806
May just be an issue we get to live with for a bit. I'll just start working on customizable keybindings and then hopefully a future update to winit resolved these issues

@LovecraftianHorror Yeah I ran into the issue that VirtualKeyCode::Plus isn't emitted. A really annoying 'bug' of winit, or just some macOS behaviour they're yet to consolidate. Honestly looking at how long it's taken to get a clipboard feature added into winit (still waiting), it seems like we could wait a while for that to be fixed.
The problem is that with every platform winit supports, there's a thousand things that become too complicated to support properly. I created smithay-clipboard in 2019 to get around winit not handling clipboarding by pumping its own wayland events on a background thread (major hack) and its still used today by Alacritty.
Moral of that story is hacking your way around winit is practically the officially supported way to do things. I'll have a look if alacritty's solved this or its just another hack.

It seems Alacritty uses macros to parse key bindings into winit VirtualKeyCodes and checks for modifiers.
I would suggest just choosing some sensible defaults for key bindings and then let users configure the key bindings that work for their system. $%^&() probably is just 456790 plus Shift in your case. It'll annoy users but theres really no way around it right now, at least they have the option to try out the binding that works.

$%^&() probably is just 456790 plus Shift in your case

I wish it made that much sense :/
It seems like it doesn't resolve to a virtual keycode at all for some reason. 4 gets picked up, but 4+Shift is None
[2022-08-24T00:15:55Z DEBUG inlyne] Keyboard input: scancode=5 keycode=Some(Key4)
[2022-08-24T00:15:56Z DEBUG inlyne] Keyboard input: scancode=54 keycode=Some(RShift)
[2022-08-24T00:15:56Z DEBUG inlyne] Keyboard input: scancode=5 keycode=None

I guess as a last resort we can let user's specify the scancodes. It's not a portable solution, but I think it's fine as long as we clearly state that it's a last resort

I would suggest just choosing some sensible defaults for key bindings and then let users configure the key bindings that work for their system

That's the plan :+1:


Changing an to a in title - Licence assignment problems page

The title has "Resolve license assignment problems for an group - Azure Active Directory | Microsoft Docs" instead of "Resolve license assignment problems for a group - Azure Active Directory | Microsoft Docs".

@KevinLamb : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Thanks for catching this! @KevinLamb


I would like to ask how to visualize after training?

I would like to ask how to visualize after training?

Hi, you can use the cv2_visualize_keypoints for visualization function for visualization. For example, You can save the visualization results during inference by adding this line to the validate function.


why can't login ?  myself compile and run

i download u code , compile release and run ,
signed up is ok.
click "signed in", but can't login, it always redirect to login page.
and , found err by signed up , use  name : 123456
thread 'tokio-runtime-worker' panicked at 'called `Result::unwrap()` on an `Err` value: SkyError(UnexpectedDataType)', src/handlers/signup.rs:88:41
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Hey, which version of Skytable are you using locally? Jotsy depends on the latest version (the one in the next branch, and also the one available with the latest docker image for Skytable).

me,too. but I installed it through the commands in README

Looks like this is the offending line:
https://github.com/ohsayan/jotsy/blob/6d17a9bf53b07ea905a8379e66df663139f27959/src/handlers/signup.rs#L88
So the switch is causing a panic. Let me investigate this

@5waker Couldn't repro this locally. Which tag of jotsy are you running? Try running docker-compose images from the jotsy directory
sayan@sayan-workstation:~/jotsy$ docker-compose images
  Container      Repository      Tag       Image Id       Size
----------------------------------------------------------------
jotsy_app_1     ohsayan/jotsy   latest   b7ce5a361dad   132.1 MB
jotsy_skydb_1   skytable/sdb    latest   588363ebf129   137.4 MB

@ohsayan Container      Repository      Tag       Image Id       Size
jotsy_app_1     ohsayan/jotsy   latest   0efaed216bc2   133.1 MB
jotsy_skydb_1   skytable/sdb    latest   806c014286f6   137.5 MB

@5waker run this:
sudo docker pull ohsayan/jotsy && sudo docker-compose up -d

This should update your image

ok, let me try

Hey, @pkptzx, it seems like I can reproduce this, even with the latest tag 1797097a9515. Working on a fix now

This has been fixed in #8. If you still have issues, feel free to re-open the issue

Because cookie set "Secure", the login is always directed to the login page without https.
can u customer set ? when test/dev in locally

@pkptzx If I understand you correctly, you want to be able to disable the setting of the Secure attribute for Set-Cookie? Why would you want to do that, however?
Quoting from MDN docs, using the Secure attribute only works with HTTPS, with the exception for localhost:

A cookie with the Secure attribute is only sent to the server with an encrypted request over the HTTPS protocol. It's never sent with unsecured HTTP (except on localhost), which means man-in-the-middle attackers can't access it easily. Insecure sites (with http: in the URL) can't set cookies with the Secure attribute. However, don't assume that Secure prevents all access to sensitive information in cookies. For example, someone with access to the client's hard disk (or JavaScript if the HttpOnly attribute isn't set) can read and modify the information.

It doesn't matter, I solve it myself. Since I am remote development is not local access.
👀　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　👀

Great! If you have anything else to report, don't hesitate to create an issue :)


/v4/cores/query seems to be ignoring the posted body parameters

I want a populated list of launches for a particular core and am posting:
{
  "options" : {
    "limit" : 100,
    "populate" : [
      "launches"
    ]
  },
  "query" : {
    "id" : "5fe3b906b3467846b3242183"
  }
}

But, no matter what I post or how I change the parameters I get the same result:
{
  "pagingCounter" : 1,
  "limit" : 10,
  "page" : 1,
  "totalPages" : 8,
  "hasPrevPage" : false,
  "totalDocs" : 77,
  "nextPage" : 2,
  "docs" : [
    {
      "serial" : "Merlin1A",
      "status" : "lost",
      "rtls_landings" : 0,
      "block" : null,
      "asds_attempts" : 0,
      "rtls_attempts" : 0,
      "reuse_count" : 0,
      "asds_landings" : 0,
      "last_update" : "Engine failure at T+33 seconds resulted in loss of vehicle",
      "id" : "5e9e289df35918033d3b2623",
      "launches" : [
        "5eb87cd9ffd86e000604b32a"
      ]
    },
   ...
  ],
  "offset" : 0,
  "hasNextPage" : true,
  "prevPage" : null
}

for anyone who might find this post, don't forget to set the HTTP header value "Content-Type" to "application/json".  In Swift:
request.addValue("application/json", forHTTPHeaderField: "Content-Type")

Also note: https://github.com/r-spacex/SpaceX-API/issues/938

If e.g. using Postman or similar tools, also make sure "Content-Length" is not accidently unticked.


Revert doc change to AdbCommands.Push.

https://github.com/google/python-adb/pull/8 wasn't merged yet. Somehow my mind registered that it had been merged.
FTR, I prefer it to not be merged, since it makes the API asymmetric.

Actually, Push does directories, Pull doesn't, so the API is asymmetric. Adding directories to Pull (in #8) will make it symmetric again.


Update README.md: add installation for docker

I'm sorry, I didn't meet the requirements, now I went to apply and signed, could I try it once?

This docker image helped me a lot, thanks.  Do you have a docker file for it?

I'm sorry, I didn't build the image with dockerfile, because I'm too green and it always fails with dockerfile, I just went straight into the container and installed it manually.


Buildfox does not work with python 3.7

...due to

Python 3.6.8 (default, Feb  1 2019, 22:21:15)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> print(re.escape("/"))
\/

Python 3.7.2 (default, Jan 10 2019, 23:51:51)
[GCC 8.2.1 20181127] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> print(re.escape("/"))
/

I know probably noone uses this library (except for me), just posting that here so that noone has to debug it except for me.


work on website logo . Enhancing Website Logo Placement

The website logo currently appears as part of the navbar, but I want to change its placement and make it look more appealing.
@maniyaom plz assign this issue to me .

@maniyaom plz assign me this issue


docs(sample): get sink metadata

Codecov Report

Merging #5 (a3a7bee) into master (08b8603) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage     76.67%   76.67%
  Complexity      680      680
=========================================
  Files            44       44
  Lines          4249     4249
  Branches        287      287
=========================================
  Hits           3258     3258
  Misses          826      826
  Partials        165      165

Continue to review full report at Codecov.

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

build failure unrelated to this changes


redo(ticdc): simplify reader initialization

What problem does this PR solve?

Issue Number: ref #8056
What is changed and how it works?
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
Please refer to [Release Notes Language Style Guide](https://pingcap.github.io/tidb-dev-guide/contribute-to-tidb/release-notes-style-guide.html) to write a quality release note.

If you don't think this PR needs a release note then fill it with `None`.

/run-all-tests

/cc @hicqu  @amyangfei

/run-all-tests

/merge


[MRG] [CODE] Rotation Proxy

Add rotation proxy.

Caution, the use of the proxy increases the execution time.
It is advised to use it only for a massive use. Otherwise, for personal use, the proxy is not recommended.


Add Icon Right to unexpanded field

Before the dropdown is expanded we should be able to give it an icon on the right hand side. For example, a down facing chevron from vector icons. That would be great, thanks!

I would like this feature as well, if I have time, I will try to work on it and send a PR. This package is great, but it misses couple of stuff to make it even better.

Try this https://github.com/Kishanjvaghela/react-native-modal-dropdown
Added support for renderRightComponent.
Now you can render anything in right side including icon as well.
<ModalDropdown
            isFullWidth
            textStyle={{ flex: 1 }}
            renderRightComponent={() => (
              <Image />
            )}
            {...rest} />

it looks like the latest version does not have renderRightComponent nor renderButtonComponent in its props. When I use it, it works but I get typescript error:
Property 'renderRightComponent' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<ModalDropdown> & Readonly<ModalDropdownProps> & Readonly<...>'.
Is this by design?

Try this https://github.com/Kishanjvaghela/react-native-modal-dropdown
Added support for renderRightComponent.
Now you can render anything in right side including icon as well.
<ModalDropdown
            isFullWidth
            textStyle={{ flex: 1 }}
            renderRightComponent={() => (
              <Image />
            )}
            {...rest} />

How can we change the icon like chevron facing up when dropdown is opened and facing down when it's not? Is there any prop for that?

Try this https://github.com/Kishanjvaghela/react-native-modal-dropdown
Added support for renderRightComponent.
Now you can render anything in right side including icon as well.
<ModalDropdown
            isFullWidth
            textStyle={{ flex: 1 }}
            renderRightComponent={() => (
              <Image />
            )}
            {...rest} />

How can we change the icon like chevron facing up when dropdown is opened and facing down when it's not? Is there any prop for that?

To change the right view on list visibility toggle:
const [visibleChevron, setVisibleChevron] = useState(<Icon as={ChevronDown} size={24} />));

<ModalDropdown
	...
	onDropdownWillShow={
		() => {
			setVisibleChevron(
				(<Icon as={ChevronUp} size={24} />)
			);
		}
	}
	onDropdownWillHide={
		() => {
			setVisibleChevron(
				(<Icon as={ChevronDown} size={24} />)
			);
		}
	}
	renderRightComponent={
		() => {
			return (visibleChevron);
		}
	}
	...
/>


Expose isParameterized and isSuite on Test.Snapshot, and Test.Case.Argument.ID.init, as SPI

This exposes a couple convenience querying properties (isParameterized and isSuite) on Test.Snapshot, as well as Test.Case.Argument.ID.init(bytes:), as SPI.
Motivation:
Exposing these helps facilitate further integration of the testing library with supporting tools.
Checklist:

[x] Code and documentation should follow the style of the Style Guide.
[x] If public symbols are renamed or modified, DocC references should be updated.

Resolves rdar://119614246

@swift-ci please test


Dumb PGP generating screen DESKTOP-1610

What?
Another fun screen for the PGP management flow. This one shows a loading icon for when a new PGP key is being generated. It has a single prop, onCancel, which allows the user to stop the generation.
This PR also adds two additional features to meet these ^^ ends:

Add BodySmallItalic to Text
Add the infinity loader to the icon set

Misc Notes

Here's a plant + hoverboard that represents the tangible embodiment of this PR

@keybase/react-hackers

👍


Show public folders in logged out menubar

@keybase/react-hackers
@cecileboucheron

Enables public folder thingy if logged out
Make background white and icon red

Logged in view is unchanged

Looking good, just one thing bothering me: the placeholder in the input should be light grey, not black. It used to be good but it got messed up somehow... Also the 'new private' input field has the same issue.

@cecileboucheron For what it's worth, it's black because this is still a dz1 widget, and (as far as I remember) it was always black on dz1.  I was gonna leave it at dz1 until we have a dz2 widget for this screen, but we can change it.

https://github.com/keybase/client/pull/2412

@cjb Hmm, I'm 99.9% sure it was grey some time, a few weeks ago...

Ah, okay, I believe you.  Last time I was touching it it was already black, so perhaps that's after it changed from grey.


Migrate localization tooling to Lunaria

Description
This PR migrates the localization tooling to use Lunaria. (PR removing all the old code as follow-up)
Note: this PR will need some Vercel deploy magic. locally, the dashboard will be built to docs/dist/lunaria/index.html.
A few screenshots for y'all

That's all! And don't forget:
MERRY CHRISTMAS, BABY!

size-limit report 📦

Path
Size

/index.html
5.21 KB (0%)

/_astro/*.js
21.42 KB (0%)

/_astro/*.css
13.04 KB (0%)


Note Symmetric Difference to sort array & fix test

Tested locally. Closes #7221

Add instructions that returned array should be sorted from least to greatest
Fix tests so that the array asked for it actually sorted
Fix last test by removing unnecessary formatting

Rather than add in additional requirements that are not related to symmetric differences I'd prefer we do something like change the tests from deepEquals (which is order sensitive) to sameMembers (order agnostic) in combination with making sure the length is correct. This length check is necessary because sameMembers will not throw for something like sameMembers([1,2,3], [1,2,3,3]);

@ltegman No problem. I can easily change the deepEquals to sameMembers but just to be clear, to check length, I should just make a separate test for it? Or is there a way to check members with sameMembers and check length in one test?

Awesome -- sorry for not responding but I think this is the best approach. They could be combined, but it would probably result in an overcomplicated frankenstein monster of a test. :+1:


PR - load_ts_file

Add load_ts_file() function to load .ts files into Julia, load .ts file from hard drive and return IndexedTable without intermediate step of writing .csv file

Codecov Report

Merging #3 into master will decrease coverage by 0.01%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master      #3      +/-   ##
=========================================
- Coverage    0.71%   0.70%   -0.02%
=========================================
  Files           4       4
  Lines         139     141       +2
=========================================
  Hits            1       1
- Misses        138     140       +2

Impacted Files
Coverage Δ

src/MLJTime.jl
100.00% <ø> (ø)

src/datapath.jl
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

Closing in favour of #4


Account Microservice User API Endpoints

User Endpoint
POST /v1/user/

Create new user

GET /v1/user/{user_id}/

Get user - returns JSON object of the User resource

PUT /v1/user/{user_id}/

Update user  - PUT a JSON object and the backend should do a lookup and make updates only by key/value

QA Notes:

Need to validate that the email post is a valid email
Need to handle cases if a user already exists
Need to handle cases if a user does not exist

Tagging @matthewhou19  since he is working on this

'I will work on it


Gaps between list items

First, thank you for this amazing library.
I am working on a calendar that would allow schedule blocks to be dragged around to different times throughout the day.  I'm wondering if this is possible with Sortable?  The below example is what I am looking for:

The above was actually made with Sortable, I've done some preliminary work writing a "Timeline" plugin and I'd be willing to develop it further if this is something that can't already be done some other way and if you are interested in having plugin support for this.
The gist of what I've written is based on CSS grids:
drop(params) {
      const grid_rows = window.getComputedStyle(this.sortable.el).gridTemplateRows
      const row_height = parseInt(grid_rows.split("px")[0])
      const height = parseInt(window.getComputedStyle(this.sortable.el).height.replace("px", ""))
      const drop_y = params.originalEvent.offsetY

     gridPosition = Math.ceil(drop_y / row_height)
}

From there I return grid_position.  In the the Sortable event I use onEnd to update the item's evt.item.style.gridRow = evt.gridPosition.
I realize this is very half baked and it dosen't account for even most functionality but I wanted to run it by the maintainers before I started working on a PR for a plugin like this.

Hi! You don't need gaps. You just need to create hidden elements. Add a few elements with style.visibility = "hidden"; then remove them accordingly to your needs when you need to fill out their places.

Thanks @Beyondo I'm refactoring a few of our backend functions this week I'll be looping around this next week, I'll let you know how it goes.

@Beyondo thanks for the tip, it took me a while to come back to this (the feature was on the back burner for a bit) but I've implemented your suggestion.  I'm not sure what you mean about changing the element visibility to hidden.  I've added several placeholder elements, eg. <div class="placeholder"> and set Sortable's filter param to filter: '.placeholder'.  Then I just keep track of the sequence in which items are scheduled and render div's with the placeholder class when an empty row is called for.
My only issue is that this seems to lead to unreliable indexes when dragging, evt.oldIndex and evt.newIndex seems to be disregarding the filter'ed items, which I guess makes sense but it's causing issues when dragging items around on the schedule.


[Feature]: would like to add hovering effects on counter clock page.

🚀 Feature Request
📝 Feature Description
would like to add hovering effect over precise time ,, smart sync,, data security,, abut counter clock our vision. Also would like to add blue shade colors to our features. they r looking so bald nd boring.

kindly assign me this issue under gssoc-ext and hacktoberfest good level issue.
🔧 How Will This Enhance the App?
will make it more presentable.
🎯 Use Cases

📦 Suggested Implementation

📸 Additional Context

Okay.Let's see  what you can do.


Fix #581: Elasticache - handle None topic ARNs

cc: @lgomezma

awesome!

@achantavy I will close my PR since this is the optima solution. Thanks for the fix!


Insights for ArcGIS

Please create a cookbook for installing Insights for ArcGIS.

ArcGIS Chef Cookbooks now include arcgis-insight cookbook.
The cookbook recipes are described at https://github.com/Esri/arcgis-cookbook/wiki/arcgis‐insights-Cookbook-Recipes.


Add Holistic tests for WrappedMaterialsProvider using AESWrap

This adds new holistic tests for using WrappedMaterialsProvider with a symmetric AES wrapping key in AES KeyWrap mode.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

LGTM


feat(tests): add utils for tests

closes: #40

make a fn that will make a FakeWorld with random blocks


Add cors support for queries like series

Hi,
This pr fixes a problem on grafana when you want to have dashboard with parameters.
The request send by grafana for that is something like that: https://trickster.veepeez.io/api/v1/series?match[]=probe_success&start=1554912065&end=1554913865
but grafana can't display the result.
in the browser console I have the following message:

@trickster-reviewers

 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.

@jranson Do you have an ETA for the next release on master ?

Should be ready in the next 12 hours. There are some changes since 0.1.7 release that were merged to master that I want to review one more time before cutting a release since it's been a few weeks.


Can't represent Time with specific offset

This generates the following issues:

Formatting a Time uses the offset for now which has a high chance to be wrong: DST may be applied or not, timezone offset may have change, or ENV["TZ"] was changed; formatted time that isn't UTC is thus likely to be wrong by 30 minutes, 1 hour, or more;
Parsing a datetime with a specific offset currently applies the offset by manipulating the time, and loses the offset information.

Follow up to https://github.com/crystal-lang/crystal/pull/2481#issuecomment-212793322

I tried to see if we could cram in the offset into the UInt64.
Offsets are comprised between -12:00 and +14:00, in increments of 15 minutes, thus need a sign (+/-), 0..14 hours and 0, 15, 30 or 45 minutes (bold assumption that it won't change). It could be encoded as a 7 bits integer (sign = 1 bit, hours = 4 bits, minutes = 2 bits).
But we don't have that much available in the UInt64, even if we drop the kind, and reduce the precision to microseconds (instead of a 10th of microsecond), the maximum date (9999-12-31T23:59:59.999) still uses up to 59 bits, so only 5 bits are available.
BTW: even thought Time has microsecond precision, there is no Time#microsecond accessor.

In #4556 we've agreed that storing only an offset does not help at all, because from that you can't infer what timezone transition rules to apply. A time with offset is merely presentational, to properly handle DST and other quirks, each time instance needs reference to a specific time zone (i.e location where this time applies). From this location's transition rules, the applicable offset at each point in time can be derived.
Time will need a pointer to a location, meaning each instance will require 24 instead of the current 16 bytes (on 64bit).
However, I think we should also have a floating time type without any zone or offset. This would be the current Time struct without kind. This could be named NaiveTime (similar to Rust::Chrono) and embedded into the zoned Time type. I don't think it makes sense to do it the other way round (having naive Time and ZonedTime) because the default Time should be a zoned time, that's what people most commonly need.
While a floating, zoneless time could theoretically be indicated by a special location, it makes more sense to have a dedicated type for this: For one, it gives type safety. Floating times should not be confused with absolute time instances. And it also saves space, so if you have an application where you need to store a lot of time instances wich don't need a location, because they all share the same or is not important, you can just use a naive time.
I've been experimenting with a Location type with a reader for binary time zone data, inspired by Go's implementation which seems very reasonable for this. This basic step was fairly easy but the more complex task will be proper integration into Crystal (though I have already replaced Time::Kind successfully with minimal effort and most specs passing) and os environment.
I'm still refactoring a bit, but I will upload a working branch later.

Im afraid we wont accept having different implementations for time. There should be just one Time struct that works with offsets, not different solutions with different features that are confusing, or require lots ofto_time calls.

Adding this naive time implementation would just be an additional step, anyway. So we don't need to discuss this in detail for now now and we should probably keep this other detail for a subsequent issue. The first thing is supporting proper timezones for Time.
I just thought I'd mention this as the (for me) logical next step.


Add code owners

Summary
Add @dthuerck and @Sofranac-Boro as code owners.
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.029%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4511

Relevant Lines:
4849

💛  - Coveralls

CLA seems stuck - usually pushing an empty commit will re-trigger things and it will go through.


Printing Slide Title To Stderr Should Be Abstracted

Today it's a plain print() with no attempt to standardise. Or to clean the message.

Done.


[feat] Support ARM64 Windows

Describe the problem
It looks like that Tauri doesn't have ARM64 Windows support, while Electron has that. VSCode is one of the famous examples of Electron applications that supports ARM64 Windows.
Describe the solution you'd like
Add support for ARM64 Windows (Rust triplet being aarch64-pc-windows-msvc).
May need cross-compilation support.
Alternatives considered
No response
Additional context
No response

Unless you add specific rust crates that can't be compiled to arm, you can compile tauri apps to aarch64 just fine. I'll try to add docs for it soon, but for now i'll add the instructions here.
Oh and building on arm is a little tricky because our cli can't be compiled to aarch64 currently (because we do use aforementioned crates in it - ring).

Compiling Tauri apps for Windows currently only works on Windows (no cross-compilation from Linux etc). Also we only officially support the msvc rust toolchain, which is also the only one i used to test building for arm.
Open the Visual Studio Installer, click on "Individual Components" and install the arm64 build tools - As of today the exact name in the english client is MSVC v143 - VS 2022 C++ ARM64 build tools (Latest) (may differ if you still use VS2019).
Add the rust toolchain via rustup toolchain add aarch64-pc-windows-msvc
Build the tauri app npm run tauri build -- --target aarch64-pc-windows-msvc (yarn and pnpm don't need the extra --).
You'll find the app in <src-tauri>/target/release/aarch64-pc-windows-msvc/

Note that if you're using tauri-action (our official github action) then it won't be able to upload the compiled app, as it currently don't support non-default targets, see https://github.com/tauri-apps/tauri-action/issues/243 (i'll get to it soon ™)


Doesn't build with Go 1.5

jb@syno:~/src/github.com/syncthing/discosrv (psql-to-master) $ go install
package github.com/syncthing/discosrv
	imports github.com/syncthing/syncthing/internal/discover: use of internal package not allowed

We need to not do that as of Go 1.5, as package internalness is now enforced...

FIXED


[Feature Request] Updating Lavaplayer to 1.3.22

This change could potentially resolve all current JMusicbot issues about lavaplayer and YouTube since the data format of YouTube changed several times the last 3 lavaplayer builds which now handle these formats correctly so Audio of Videos can be played back correctly.

I already have this fixed locally


HyperNeRF Point Cloud Issue

Hi,
I am using your script to generate the point cloud with COLMAP for HyperNeRF scenes, and I found some misalignment (plz see the image below) when I project all points onto the image. Could you please host the point cloud for HyperNeRF somewhere? Thank you.

Hi,
please refer this  link

Thank you!


[Event Change] Codeunit 5763 "Whse.-Post Shipment" - OnBeforeSalesLineModify

Hi AL-Team,
can you add the var parameter to WarehouseShipmentLine?
[IntegrationEvent(false, false)]
// NEW >>>>
// local procedure OnBeforeSalesLineModify(var SalesLine: Record "Sales Line"; WarehouseShipmentLine: Record "Warehouse Shipment Line"; var ModifyLine: Boolean; Invoice: Boolean)
local procedure OnBeforeSalesLineModify(var SalesLine: Record "Sales Line"; var WarehouseShipmentLine: Record "Warehouse Shipment Line"; var ModifyLine: Boolean; Invoice: Boolean)
// NEW <<<<
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Lighting

Describe the feature you'd like
Lighting using spot and point lights. It should look like the screenshots below.
Screenshots

Additional links
lwjgl book has a great chapter on this

I've decided to leave it up to the user to decide how to do lighting.


IMPRO-1338 Intersphinx variable changes

Updated the variables such as
Iris.cube.Cube => iris.cube.Cube
numpy.arra     => numpy.ndarray
np.ndarray     => numpy.ndarray
string         => str
Float          => float

Testing:

[x ] Ran tests and they passed OK

CLA

[x] If a new developer, signed up to CLA

A quick bit of grepping shows up the following still in need of change:
generate_ancillaries/generate_ancillary.py:            landmask (numpy array):
generate_ancillaries/generate_ancillary.py:            orog_band (numpy array):
generate_ancillaries/generate_ancillary.py:            mask_data (numpy array):
nbhood/circular_kernel.py:            kernel (Numpy array):
nbhood/recursive_filter.py:            grid (numpy array):
nbhood/recursive_filter.py:            alphas (numpy array):
nbhood/recursive_filter.py:            grid (numpy array):
nbhood/recursive_filter.py:            grid (numpy array):
nbhood/recursive_filter.py:            alphas (numpy array):
nbhood/recursive_filter.py:            grid (numpy array):
utilities/spatial.py:            diff_along_axis (numpy array):
utilities/pad_spatial.py:        data (Numpy array):
utilities/spatial.py:        x, y (floats):
utilities/spatial.py:        latitude/longitude (floats):


Sections Not Updating Correctly

've discovered a small bug with the library:

Suppose there are two objects in our current Realm objects array [ A : { "name" = "John"}, B : {"name" = "Sam"} ]. The sectionKeyPath = "name".
At this point, there will be 2 sections in the UITableView: John and Sam.
Now if we change object B's name to "John" it'll put object A and B in the section "John". This is fine.
However, once we change object B's name back to "Sam" it still remains in the section "John" rather than deleting itself from the existing section and creating a new one called "Sam" (like in the beginning).

The current workaround seems to be to check if the old object and new object's sectionKeyPath value has changed (via an if statement) and then calling then forcing the RealmResultsController to re-execute the query via fetch().
Good job with the library, though, love its design!

Hey @kermankohli thanks reporting the bug and for the nice words :)
We'll look into this, we are currently thinking about re-designing the library to use the new Realm features so it may take a bit to see this fixed in master. If you think this should be an easy quick fix, feel free to open a PR and we will merge it in the current version :)
Thanks again!!!

Any update on this?


bugfix: Don't allow multiple infix operators after newline

Previously, if we had two infix operators after newline they would be treated as whole expression together with the previous line. That, however, is not allowed by the parser. Now, we don't continue the expression if there are two infix operators after newline.
Fixes https://github.com/scalameta/scalameta/issues/2880

@tgodzik is this still active?

@tgodzik is this still active?

I was meaning to get back to it, but for now I have failed to do so :sweat:

@tgodzik is this still active?

I was meaning to get back to it, but for now I have failed to do so 😓

should we release without it, for now?

@tgodzik is this still active?

I was meaning to get back to it, but for now I have failed to do so sweat

should we release without it, for now?

I think so, I haven't really got back to it since it's a pretty rare scenario.


Warn when trying to open res:// or user:// with OS.shell_open()

OS.shell_open() will pass on the path directly to the OS' shell handler (which can handle file paths or URLs). It can't handle Godot-specific paths, so these need to be converted with ProjectSettings.globalize_path() first.

On 3.2, resolving res:// while running in the editor just points to the project path, but trying to resolve res:// when exported returns an empty string.
Should this be clarified?

@FlashDaggerX I know there's precisely an issue about this, but I can't find it right now.

Thanks!

Cherry-picked for 3.2.2.


feat(ONYX-255): add analytic tracking support for new component flows

This PR resolves ONYX-255
Description

Add tracking for "Browse Similar Artworks" button, but not for the "Create Alert" button. We already track the "Create Alert" modal inside the modal: see code.

Browse Similar Artworks
Create alert

PR Checklist

[x] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

add analytic tracking support for the auction header alert CTA -daria

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Dev changes (add analytic tracking support for the auction header alert CTA -daria)

  Generated by :no_entry_sign: dangerJS against 55ce18ef4f76ef914d170f3510ff67bc0fe63296


I would like to ask when will the random object 0x8 be available on the testnet?

I would like to ask when will the random object 0x8 be available on the testnet?

This PR will enable 0x8 on testnet with the new testnet release.


Replace copyContainer with viewContainerVersion

The copyContainer API did not properly handle scenarios where the sequenceNumber from the old container was present in the summary that was used to establish the new container.  In this case, the document was corrupted due to a "sequenceNumber from the future" breaking expectations.  In 2.0, there is additionally an assert that blocks attempting the copy altogether (added in #17706).
This PR moves away from the copyContainer approach in favor of just loading the historic version for viewing - the customer can then decide what to do with the data.  Most likely usage pattern would be:

Load the version for viewing
Create a new container with the same schema
Iterate over the old container's data, writing it into the new container
Attach the new container

AB#6411
AB#7712

@ChumpChief were you able to validate full recovery flow?
Also please open the ADO item that tracks work needed to updated service docs showing the recovery workflow. Maybe we need to chat with them how their docs are distinguishing 1.x and 2.x scenarios.

@ChumpChief were you able to validate full recovery flow?

Yes, I did manual verification that I could get versions, use the new API to load from those versions, and retrieve the data (and that the data was in the prior state).

Also please open the ADO item that tracks work needed to updated service docs showing the recovery workflow. Maybe we need to chat with them how their docs are distinguishing 1.x and 2.x scenarios.

Opened AB#7917


test fix of eslint workflow

eslint job is not checking PRs properly.  I don't fully understand why

Coverage remained the same at 94.037% when pulling 49b980af08bc373f2d04835fcf8a4d93da4f10e6 on boneskull:boneskull/fix-eslint into 8318dff017996b015edc4d43e4640972d6a97497 on mochajs:master.


Andro kev nowtv

Now you can download a season or the full serie!
example:
http://www.nowtv.at/rtl/das-supertalent/list/free-staffel-8
http://www.nowtv.at/rtl/das-supertalent
both works now and download the season 8 (url1) or the whole serie (url2)

It should be implemented as separated extractor.

I tried it but I had an problem with the valid url:
http://www.nowtv.de/rtl2/berlin-tag-nacht/berlin-tag-nacht-folge-934/player
_VALID_URL = r'https?://(?:www.)?nowtv.(?:de|at|ch)/(?:rtl|rtl2|rtlnitro|superrtl|ntv|vox)/(?P.+?)/(?:player|preview)' <--works
but now i need a valid url for this:
http://www.nowtv.at/rtl/stern-tv/list/aktuell
and this:
http://www.nowtv.at/rtl/das-supertalent/list/free-staffel-8

any ideas how i get this to work?
ps. https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/prosiebensat1.py
uses also only one extractor


fix: when extension is always framework and %env(::)% evaluation

fixes: #4239, #4240

I fixed some phpstan errors, but there is still the Cognitive complexity one, I find it is really too strict and is counterproductive at a value of 8 (especially given that parts of the code already have a value of 22)

The code complexity check is on purpose, so the code is readable even to non-author.
The snippet is quite complex already, and I'm unable to read the logic there.

@TomasVotruba That's my point actually, the methods I'm modifying already have a complexity of 9 (already failling phpstan), I'm adding a simple if to them and to fix it I would need to completely refactor the function, which is not really the scope of a fix PR

@Tofandel I agree. They should be made simler. At first sight it seems like a collector pattern. E.g. for input string, there should be method to handle it.

Btw, I'm fixing the PHPStan reports in new php-cs-fixer here: https://github.com/symplify/symplify/pull/4243
So PHPStan reports only relevant errors.

It seems this PR contains constant and env refactoring together. It's hard to review as I don't know which is which.
Could you separate those to 2 PRs?

That's because the const refactor also fixes the env issue, but I'll separate the when framework PR and the const refactor


Remove -webkit-clip-path property from sr-only class

Describe the Issue
The Building a Balance Sheet course uses the sr-only class (beginning on Step 31) to visually hide text for accessibility. This class is using the fallback -webkit-clip-path property which is not needed any more as all browsers have supported clip-path for quite a while now. Furthermore, all modern recommended patterns for visually hiding text do not include it.
The anatomy of visually-hidden
WebAIM: Invisible Content Just for Screen Reader Users
CSS-Tricks: Inclusively Hidden
I think it would be a good idea if we removed it from the course as campers are never going to use -webkit-clip-path and do not need to learn it here. It will also allow us to remove a regex test for step 31 (see PR #49546).
Affected Page
https://www.freecodecamp.org/learn/2022/responsive-web-design/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/step-31
Your code
N/A
Expected behavior
Course does not use -webkit-clip-path in sr-only class.
Screenshots
No response
System
N/A
Additional context
No response

I am happy for this to be removed, for the reasons you have outlined.
I did not create this project/step, but did create one using .sr-only, and also used the -webkit-clip-path property, because it was in Bootstrap 4's  CSS at the time of writing:
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;-webkit-clip-path:inset(50%);clip-path:inset(50%);border:0}

I now see it has been removed, as of 4.1.3.

An issue with the https://github.com/freeCodeCamp/freeCodeCamp/labels/first timers only label is open for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors.
If you would like to contribute, and have not read the contributors docs, please do so here: https://contribute.freecodecamp.org/#/
If you have any issues with contributing, be sure to join us on the contributors channel, or on the contributors sub-forum

To Close Issue:

Remove mention/instruction of -webkit-clip-path.
Remove test looking for the property
Remove the property from all following lessons/steps

Affected Files

https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fdac1e31692f9a9ad97295.md
All files thereafter.

Notes:

Be sure to read the contributors docs
Only make changes to the English files