Merit_Feature parsing error

Something goes wrong in merit_feature parsing.

Hi,
when I try to run toshiba_ac_to_mqtt.py I get the following error messages (I changed the configuration section accordingly):
`~/Toshiba/Toshiba-AC-mqtt $ python3 toshiba_ac_to_mqtt.py
/usr/lib/python3/dist-packages/requests/init.py:91: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version!
RequestsDependencyWarning)
Traceback (most recent call last):
File "/usr/lib/python3.7/contextlib.py", line 188, in aexit
await self.gen.athrow(typ, value, traceback)
File "/home/pi/.local/lib/python3.7/site-packages/asyncio_mqtt/client.py", line 330, in unfiltered_messages
yield generator
File "toshiba_ac_to_mqtt.py", line 150, in mqtt_ac_task
devices = await device_manager.get_devices()
File "/home/pi/Toshiba/Toshiba-AC-mqtt/toshiba_ac/device_manager.py", line 149, in get_devices
self.http_api
File "/home/pi/Toshiba/Toshiba-AC-mqtt/toshiba_ac/device.py", line 91, in init
self.load_supported_merit_features(merit_feature, ac_model_id)
File "/home/pi/Toshiba/Toshiba-AC-mqtt/toshiba_ac/device.py", line 128, in load_supported_merit_features
floor, _, cdu_silent, pure_ion, fireplace, heating_8c, _, _ = struct.unpack('????????', bytes.fromhex('0' + '0'.join(f'{merit_byte:08b}')))
ValueError: non-hexadecimal number found in fromhex() arg at position 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "toshiba_ac_to_mqtt.py", line 78, in cancel_tasks
res.append( task.result() )
File "toshiba_ac_to_mqtt.py", line 57, in log_unfiltered_message
async for msg in messages:
File "/home/pi/.local/lib/python3.7/site-packages/asyncio_mqtt/client.py", line 382, in _message_generator
raise MqttError("Disconnected during message iteration")
asyncio_mqtt.error.MqttError: Disconnected during message iteration
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "toshiba_ac_to_mqtt.py", line 217, in
asyncio.run( main() )
File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run
return loop.run_until_complete(main)
File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete
return future.result()
File "toshiba_ac_to_mqtt.py", line 211, in main
await mqtt_ac_task()
File "toshiba_ac_to_mqtt.py", line 207, in mqtt_ac_task
logger.debug( 'mqtt_ac_task finished.' )
File "/usr/lib/python3.7/contextlib.py", line 652, in aexit
raise exc_details[1]
File "/usr/lib/python3.7/contextlib.py", line 635, in aexit
cb_suppress = await cb(*exc_details)
File "/usr/lib/python3.7/contextlib.py", line 545, in _exit_wrapper
await callback(*args, **kwds)
File "toshiba_ac_to_mqtt.py", line 89, in cancel_tasks
logger.error( f'Exception occured in cancelled task {task.get_name()}')
AttributeError: '_asyncio.Task' object has no attribute 'get_name'`
When I run python3 toshiba_ac_gui.py I get also some errors (dependancy warning), but the gui sample runs and I can control the AC. Does this help for troubleshooting?
/usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version!
Thanks for your help, very much appreciated. My current workaround is a HA instance on a Raspi Zero, which works, but it would be great if I don't have to run this additionally.
Regards

Thanks, that's at least pointing me to where the problem is, but I do not understand it in the moment.
I've made a new debug branch with a little bit more output: https://github.com/holgerpieta/Toshiba-AC-mqtt/tree/debug
Please check that out and run it, then post the output again.

With the debug version I only get the following output:
~/Toshiba/debug/Toshiba-AC-mqtt $ python3 toshiba_ac_to_mqtt.py Traceback (most recent call last):   File "toshiba_ac_to_mqtt.py", line 29, in <module>     from toshiba_ac.device_manager import ToshibaAcDeviceManager   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device_manager.py", line 24, in <module>     from toshiba_ac.http_api import ToshibaAcHttpApi   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/http_api.py", line 25, in <module>     from toshiba_ac.device import ToshibaAcDeviceEnergyConsumption   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device.py", line 130     merit_byte_join = '0' + '0'.join(f'{merit_byte:08b}')                   ^ SyntaxError: invalid syntax

Ah, sorry, I missed a bracket. Please pull and try again.

No problem, here the output:
~/Toshiba/debug/Toshiba-AC-mqtt $ python3 toshiba_ac_to_mqtt.py /usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version!   RequestsDependencyWarning) 2022-04-10 18:46:24,624:DEBUG:toshiba_ac.device: merit_byte: -84 2022-04-10 18:46:24,624:DEBUG:toshiba_ac.device: merit_byte:80b: -1010100 2022-04-10 18:46:24,624:DEBUG:toshiba_ac.device: merit_byte_join: 0-01000100010000 Traceback (most recent call last):   File "/usr/lib/python3.7/contextlib.py", line 188, in __aexit__     await self.gen.athrow(typ, value, traceback)   File "/home/pi/.local/lib/python3.7/site-packages/asyncio_mqtt/client.py", line 330, in unfiltered_messages     yield generator   File "toshiba_ac_to_mqtt.py", line 150, in mqtt_ac_task     devices = await device_manager.get_devices()   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device_manager.py", line 149, in get_devices     self.http_api   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device.py", line 91, in __init__     self.load_supported_merit_features(merit_feature, ac_model_id)   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device.py", line 132, in load_supported_merit_features     floor, _, cdu_silent, pure_ion, fireplace, heating_8c, _, _ = struct.unpack('????????', bytes.fromhex('0' + '0'.join(f'{merit_byte:08b}'))) ValueError: non-hexadecimal number found in fromhex() arg at position 1 During handling of the above exception, another exception occurred: Traceback (most recent call last):   File "toshiba_ac_to_mqtt.py", line 78, in cancel_tasks     res.append( task.result() )   File "toshiba_ac_to_mqtt.py", line 57, in log_unfiltered_message     async for msg in messages:   File "/home/pi/.local/lib/python3.7/site-packages/asyncio_mqtt/client.py", line 382, in _message_generator     raise MqttError("Disconnected during message iteration") asyncio_mqtt.error.MqttError: Disconnected during message iteration During handling of the above exception, another exception occurred: Traceback (most recent call last):   File "toshiba_ac_to_mqtt.py", line 217, in <module>     asyncio.run( main() )   File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run     return loop.run_until_complete(main)   File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete     return future.result()   File "toshiba_ac_to_mqtt.py", line 211, in main     await mqtt_ac_task()   File "toshiba_ac_to_mqtt.py", line 207, in mqtt_ac_task     logger.debug( 'mqtt_ac_task finished.' )   File "/usr/lib/python3.7/contextlib.py", line 652, in __aexit__     raise exc_details[1]   File "/usr/lib/python3.7/contextlib.py", line 635, in __aexit__     cb_suppress = await cb(*exc_details)   File "/usr/lib/python3.7/contextlib.py", line 545, in _exit_wrapper     await callback(*args, **kwds)   File "toshiba_ac_to_mqtt.py", line 89, in cancel_tasks     logger.error( f'Exception occured in cancelled task {task.get_name()}') AttributeError: '_asyncio.Task' object has no attribute 'get_name'

Thanks, I think I found the problem. Please try again.
Also that part of the library was significantly changed upstream, so we probably should not spend too much time fixing the old version. But if the change helps, that would still be nice.

Thanks, unfortunately there still are errors.
~/Toshiba/debug/Toshiba-AC-mqtt $ python3 toshiba_ac_to_mqtt.py /usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version!   RequestsDependencyWarning) 2022-04-10 19:02:13,126:DEBUG:toshiba_ac.device: merit_string: ac 2022-04-10 19:02:13,126:DEBUG:toshiba_ac.device: merit_byte: 172 2022-04-10 19:02:13,126:DEBUG:toshiba_ac.device: merit_byte:80b: 10101100 2022-04-10 19:02:13,127:DEBUG:toshiba_ac.device: merit_byte_join:<PHONE_NUMBER>010000 2022-04-10 19:02:13,127:DEBUG:toshiba_ac.device: [Wintergarten] Supported merit A features: Off, High Power, Eco, Floor, Cdu Silent 1, Cdu Silent 2, Heating 8C. Supported merit B features: Off, Fireplace 1, Fireplace 2. Pure ION supported: False ValueError: 0 is not a valid AcScheduler During handling of the above exception, another exception occurred: Traceback (most recent call last):   File "/usr/lib/python3.7/contextlib.py", line 188, in __aexit__     await self.gen.athrow(typ, value, traceback)   File "/home/pi/.local/lib/python3.7/site-packages/asyncio_mqtt/client.py", line 330, in unfiltered_messages     yield generator   File "toshiba_ac_to_mqtt.py", line 150, in mqtt_ac_task     devices = await device_manager.get_devices()   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device_manager.py", line 158, in get_devices     await asyncio.gather(*connects)   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/device.py", line 98, in connect     self.fcu_state = ToshibaAcFcuState.from_hex_state( self.initial_ac_state )   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/fcu_state.py", line 181, in from_hex_state     state.decode(hex_state)   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/fcu_state.py", line 266, in decode     self.ac_utc_minutes) = data   File "/home/pi/Toshiba/debug/Toshiba-AC-mqtt/toshiba_ac/fcu_state.py", line 442, in ac_scheduler     self._ac_scheduler = ToshibaAcFcuState.AcScheduler(val)   File "/usr/lib/python3.7/enum.py", line 310, in __call__     return cls.__new__(cls, value)   File "/usr/lib/python3.7/enum.py", line 564, in __new__     raise exc   File "/usr/lib/python3.7/enum.py", line 548, in __new__     result = cls._missing_(value)   File "/usr/lib/python3.7/enum.py", line 577, in _missing_     raise ValueError("%r is not a valid %s" % (value, cls.__name__)) ValueError: 0 is not a valid AcScheduler During handling of the above exception, another exception occurred: Traceback (most recent call last):   File "toshiba_ac_to_mqtt.py", line 78, in cancel_tasks     res.append( task.result() )   File "toshiba_ac_to_mqtt.py", line 57, in log_unfiltered_message     async for msg in messages:   File "/home/pi/.local/lib/python3.7/site-packages/asyncio_mqtt/client.py", line 382, in _message_generator     raise MqttError("Disconnected during message iteration") asyncio_mqtt.error.MqttError: Disconnected during message iteration During handling of the above exception, another exception occurred: Traceback (most recent call last):   File "toshiba_ac_to_mqtt.py", line 217, in <module>     asyncio.run( main() )   File "/usr/lib/python3.7/asyncio/runners.py", line 43, in run     return loop.run_until_complete(main)   File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete     return future.result()   File "toshiba_ac_to_mqtt.py", line 211, in main     await mqtt_ac_task()   File "toshiba_ac_to_mqtt.py", line 207, in mqtt_ac_task     logger.debug( 'mqtt_ac_task finished.' )   File "/usr/lib/python3.7/contextlib.py", line 652, in __aexit__     raise exc_details[1]   File "/usr/lib/python3.7/contextlib.py", line 635, in __aexit__     cb_suppress = await cb(*exc_details)   File "/usr/lib/python3.7/contextlib.py", line 545, in _exit_wrapper     await callback(*args, **kwds)   File "toshiba_ac_to_mqtt.py", line 89, in cancel_tasks     logger.error( f'Exception occured in cancelled task {task.get_name()}') AttributeError: '_asyncio.Task' object has no attribute 'get_name'

If you don't want to spend more time on this it is ok for me. As I said I have a working solution, it would just be nice to get rid of the additional Raspi Zero/HA instance.

Don't worry, we gonna dig into that some more.
We already solved the original problem and found a new one.
Please try again.

Nice, now it works! Thank you very much.
~/Toshiba/debug/Toshiba-AC-mqtt $ python3 toshiba_ac_to_mqtt.py /usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.9) or chardet (3.0.4) doesn't match a supported version!   RequestsDependencyWarning) 2022-04-10 19:17:29,684:DEBUG:toshiba_ac.device: merit_string: ac 2022-04-10 19:17:29,685:DEBUG:toshiba_ac.device: merit_byte: 172 2022-04-10 19:17:29,685:DEBUG:toshiba_ac.device: merit_byte:80b: 10101100 2022-04-10 19:17:29,686:DEBUG:toshiba_ac.device: merit_byte_join:<PHONE_NUMBER>010000 2022-04-10 19:17:29,686:DEBUG:toshiba_ac.device: [Wintergarten] Supported merit A features: Off, High Power, Eco, Floor, Cdu Silent 1, Cdu Silent 2, Heating 8C. Supported merit B features: Off, Fireplace 1, Fireplace 2. Pure ION supported: False 2022-04-10 19:17:29,740:INFO:toshiba_ac.device: [Wintergarten] Current state: Status: OFF, Mode: FAN, Temperature: 23, FanMode: AUTO, SwingMode: NOT_USED, PowerSelection: POWER_75, MeritBFeature: OFF, MeritAFeature: OFF, AirPureIon: OFF, IndoorTemperature: 22, OutdoorTemperature: UNKNOWN, Error: OK, Timer: TIMER6, RelativeHours: 0, RelativeMinutes: 0, SelfCleaning: OFF, LED: ON, Scheduler: UNKNOWN, UtcHours: 0, UtcMinutes: 0, IndoorHeatExchangerTemperature: NONE, IndoorPipeTemperature: NONE, IndoorFanRPM: NONE, CompressorOutletTemperature: NONE, CompressorInletTemperature: NONE, OutdoorHeatExchangerTemperature: NONE, CompressorFrequency: NONE, OutdoorFarnRPM: NONE, ValvePwmDutyCycle: NONE, IAC: NONE 2022-04-10 19:17:29,740:DEBUG:toshiba_ac.device: State reload sleeping for 303 seconds. 2022-04-10 19:17:29,742:INFO:toshiba_ac.device: [Wintergarten] Current state: Status: OFF, Mode: FAN, Temperature: 23, FanMode: AUTO, SwingMode: NOT_USED, PowerSelection: POWER_75, MeritBFeature: OFF, MeritAFeature: OFF, AirPureIon: OFF, IndoorTemperature: 22, OutdoorTemperature: UNKNOWN, Error: OK, Timer: TIMER6, RelativeHours: 0, RelativeMinutes: 0, SelfCleaning: OFF, LED: ON, Scheduler: UNKNOWN, UtcHours: 0, UtcMinutes: 0, IndoorHeatExchangerTemperature: NONE, IndoorPipeTemperature: NONE, IndoorFanRPM: NONE, CompressorOutletTemperature: NONE, CompressorInletTemperature: NONE, OutdoorHeatExchangerTemperature: NONE, CompressorFrequency: NONE, OutdoorFarnRPM: NONE, ValvePwmDutyCycle: NONE, IAC: NONE 2022-04-10 19:20:24,915:DEBUG:toshiba_ac.device: [Wintergarten] AC state from AMQP:<PHONE_NUMBER>4b0010167ffe0b00001001000000 2022-04-10 19:20:25,151:DEBUG:toshiba_ac.device: [Wintergarten] AC state from AMQP:<PHONE_NUMBER>4b0010167ffe0b00001001000000 2022-04-10 19:21:31,465:DEBUG:toshiba_ac.device: [Wintergarten] AC state from AMQP: ff451441ffff00ffffffffffffffffffffffff 2022-04-10 19:21:31,466:INFO:toshiba_ac.fcu_state: Wintergarten: Setpoint temperature changed from 23 to 20 2022-04-10 19:21:31,466:INFO:toshiba_ac.device: [Wintergarten] Current state: Status: OFF, Mode: FAN, Temperature: 20, FanMode: AUTO, SwingMode: NOT_USED, PowerSelection: POWER_75, MeritBFeature: OFF, MeritAFeature: OFF, AirPureIon: OFF, IndoorTemperature: 22, OutdoorTemperature: UNKNOWN, Error: OK, Timer: TIMER6, RelativeHours: 0, RelativeMinutes: 0, SelfCleaning: OFF, LED: ON, Scheduler: UNKNOWN, UtcHours: 0, UtcMinutes: 0, IndoorHeatExchangerTemperature: NONE, IndoorPipeTemperature: NONE, IndoorFanRPM: NONE, CompressorOutletTemperature: NONE, CompressorInletTemperature: NONE, OutdoorHeatExchangerTemperature: NONE, CompressorFrequency: NONE, OutdoorFarnRPM: NONE, ValvePwmDutyCycle: NONE, IAC: NONE
On the MQTT-Brokerside I get the following readings:
READINGS:      2022-04-10 15:34:55   IODev           [MQTTserv](http://<IP_ADDRESS>:8083/fhem?detail=MQTTserv)      2022-04-10 19:22:02   status          offline      2022-04-10 19:21:31   status_Name     Wintergarten      2022-04-10 19:17:29   status_Status_ac_air_pure_ion 16      2022-04-10 19:17:29   status_Status_ac_error 254      2022-04-10 19:17:29   status_Status_ac_fan_mode 65      2022-04-10 19:17:29   status_Status_ac_indoor_temperature 22      2022-04-10 19:17:29   status_Status_ac_led 1      2022-04-10 19:17:29   status_Status_ac_merit_a_feature 0      2022-04-10 19:17:29   status_Status_ac_merit_b_feature 0      2022-04-10 19:17:29   status_Status_ac_mode 69      2022-04-10 19:17:29   status_Status_ac_power_selection 75      2022-04-10 19:17:29   status_Status_ac_relative_hours 0      2022-04-10 19:17:29   status_Status_ac_relative_minutes 0      2022-04-10 19:17:29   status_Status_ac_self_cleaning 16      2022-04-10 19:17:29   status_Status_ac_status 49      2022-04-10 19:17:29   status_Status_ac_swing_mode 49      2022-04-10 19:21:31   status_Status_ac_temperature 20      2022-04-10 19:17:29   status_Status_ac_timer_mode 11      2022-04-10 19:17:29   status_Status_ac_utc_hours 0      2022-04-10 19:17:29   status_Status_ac_utc_minutes 0
Couldn't publish to the ac for now. Have to try a few things. Is there a "translation" between these numbers and the modes? Otherwise I am just testing through...

Nice. I've merged the changes into main, so you can switch back to it, if you want to. Also reduced the debug output again.
Then I noticed that the readme was wrong: The bridge subscribes to ac/.../cmd and not to ac/.../status.
You can find the mapping (or translation) in toshiba_ac/fcu_state.py lines 36 to 160. Please be aware that the numbers are hexadecimal on the AC side, but decimal on MQTT / node-red side. So you have to convert that.
BUT: You can actually send commands as strings, you do not need to use numbers.
So, say you want to set the fan to HIGH, which is hexadecimal 36 or decimal 54.
Topic: ac/Wintergarten/cmd
Payload: {"ac_fan_mode": "HIGH"}
This is the same as
Payload: {"ac_fan_mode": 54}
Make sure that you have "" around the strings, but none around the numbers.
If you send something the bridge doesn't understand, it will crash.
That is not good and I will try to fix it in the next days. In the moment just be careful what you send.
I guess you are German, because you AC is called "Wintergarten". If you run into a language barrier, you may write in German. But if English is fine for you, let's leave it like that such that other people can hopefully benefit from the discussion, too.

Thank you very much again. Yes, I am german but english is ok. I will try sending messages tomorrow and give you feedback.

Works like a charm. Thank you very much! Now I can control my AC with FHEM.
I still have one problem. I created a systemd file, according to yours but without podman:
[Unit] Description=autostart-toshiba-ac.service Wants=network.target After=network-online.target StartLimitIntervalSec=20m StartLimitBurst=3 [Service] ExecStart=/usr/bin/python3 /home/pi/Toshiba/Toshiba-AC-mqtt/toshiba_ac_to_mqtt.py Restart=always RestartSec=300 TimeoutStopSec=70 Type=forking [Install] WantedBy=multi-user.target default.target
When I try to start, I get the following errors:
sudo systemctl start toshiba-ac-mqtt.service Job for toshiba-ac-mqtt.service failed because the control process exited with error code. See "systemctl status toshiba-ac-mqtt.service" and "journalctl -xe" for details.
sudo systemctl status toshiba-ac-mqtt.service ● toshiba-ac-mqtt.service - autostart-toshiba-ac.service    Loaded: loaded (/lib/systemd/system/toshiba-ac-mqtt.service; disabled; vendor preset: enabled)    Active: activating (auto-restart) (Result: exit-code) since Mon 2022-04-11 09:54:18 CEST; 44s ago   Process: 8540 ExecStart=/usr/bin/python3 /home/pi/Toshiba/Toshiba-AC-mqtt/toshiba_ac_to_mqtt.py (code=exited, status=1/FAILU
`journalctl -xe
Apr 11 09:54:18 fhempi sudo[8537]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/systemctl start toshiba-
Apr 11 09:54:18 fhempi sudo[8537]: pam_unix(sudo:session): session opened for user root by (uid=0)
Apr 11 09:54:18 fhempi systemd[1]: Starting autostart-toshiba-ac.service...
-- Subject: A start job for unit toshiba-ac-mqtt.service has begun execution
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- A start job for unit toshiba-ac-mqtt.service has begun execution.
-- The job identifier is 4321.
Apr 11 09:54:18 fhempi python3[8540]: Traceback (most recent call last):
Apr 11 09:54:18 fhempi python3[8540]:   File "/home/pi/Toshiba/Toshiba-AC-mqtt/toshiba_ac_to_mqtt.py", line 27, in
Apr 11 09:54:18 fhempi python3[8540]:     import asyncio_mqtt
Apr 11 09:54:18 fhempi python3[8540]: ModuleNotFoundError: No module named 'asyncio_mqtt'
Apr 11 09:54:18 fhempi systemd[1]: toshiba-ac-mqtt.service: Control process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- An ExecStart= process belonging to unit toshiba-ac-mqtt.service has exited.
-- The process' exit code is 'exited' and its exit status is 1.
Apr 11 09:54:18 fhempi systemd[1]: toshiba-ac-mqtt.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- The unit toshiba-ac-mqtt.service has entered the 'failed' state with result 'exit-code'.
Apr 11 09:54:18 fhempi systemd[1]: Failed to start autostart-toshiba-ac.service.
-- Subject: A start job for unit toshiba-ac-mqtt.service has failed
-- Defined-By: systemd
-- Support: https://www.debian.org/support
-- A start job for unit toshiba-ac-mqtt.service has finished with a failure.
-- The job identifier is 4321 and the job result is failed.
Apr 11 09:54:18 fhempi sudo[8537]: pam_unix(sudo:session): session closed for user root
Apr 11 09:55:03 fhempi sudo[8995]:       pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/systemctl status toshiba
Apr 11 09:55:03 fhempi sudo[8995]: pam_unix(sudo:session): session opened for user root by (uid=0)
Apr 11 09:55:06 fhempi sudo[8995]: pam_unix(sudo:session): session closed for user root
`
When I start with the Exec-path, it starts without problems, only with the dependency warning... Do you have any idea?

Yes, I hope you didn't get a notification for each edit I made ;-)
I had to install the python packages (asyncio, etc) also for root user. It still runs into a timeout at the first start , but when it restarts it stays active. So this is fine for me.

Don't worry, I only got one notification. Only when I logged in to answer I found everything gone. :)
Anyway, please do not run the bridge as a system level service (i.e. as root). If there is something wrong with it, it could compromise the whole system.
If you put the service file in ~/.config/systemd/user/ you can use it like any other service, just that instead of sudo systemctl [rest of command] you use systemctl --user [rest of command] (without the sudo). Everything else stays basically the same. (Also use journalctl --user-unit=[name of the unit] to get the logs.)
This will run the service (and therefore the bridge) as the logged in user, i.e. pi I guess.
And you might want to read up on Python's virtual environments (venv), which allow you to install packages specifically for a project instead of messing up your global install. But I do not know how to use them in a service. Maybe you need to write a wrapper shell script.

Thanks for your hint. I will change it to run as user. I tried the venv install but had some problems at first and therefor used the global install. But as I know it works now I can try to use it in a venv. I am sure there is an instruction on the internet on how to use venv in a service ;-)

Thank you very much again. for your help. Runs perfectly. I have installed the bridge in a virtual env and changed my service-file to run it as user. If I would put it in the user directory as you suggested, the user has to be logged in. At least thats how it is described in the ubuntuusers.de-Wiki. In case someone else needs the config, here it is:
[Unit] Description=autostart-toshiba-ac.service Wants=network.target After=network-online.target StartLimitIntervalSec=20m StartLimitBurst=3 [Service] User=1000 Environment="PATH=/home/pi/env/bin/python3" ExecStart=/home/pi/env/bin/python3 /home/pi/env/Toshiba-AC-mqtt/toshiba_ac_to_mqtt.py Restart=always RestartSec=120 TimeoutStopSec=70 [Install] WantedBy=multi-user.target default.target

There are some buttons to press to make it work, but then you can also auto-start systemd user services at boot. I can confirm that it works, my smart-home raspi functions that way:
https://wiki.archlinux.org/title/systemd/User#Automatic_start-up_of_systemd_user_instances (don't forget to add sudo before the command).
Or in German:
https://wiki.ubuntuusers.de/systemd/User_Units/#User-Units-ohne-Anmeldung-starten

facepalm I should have read the article I linked to the end... Thanks, now it is running in venv and called by a user service. Really cool.
Is there a possibility to send you some coffee money for your work?

Thanks for the generous offer, but in the moment I'm just happy that there is at least one other people benefiting from my work. And that all the effort wasn't just for me alone.

Fixed in 05314addf808b081a8d250609d5818013deeca13 and ff97dc8bf58cfdc9fe302e683ec18d3ad3fc741f.
Issue closed.
Please continue discussing here if there are any issues left. Or open a new issue, if there is another problem.


Automatic interface generation with generics not working

Hi,
using a generic method seems to be not possible when [ViewModelGenerateInterface] is used. The generated interface is wrong, compilation not possible.
Method in class:

Generated method in interface:

Hi Telespaz,
thank you for reporting this. I'll look into it.

Thank you @Telespaz , will be part of the next release.


Fix expansion of tag values

Retrieving expanded values of tags from parsed sections doesn't make sense because it's impossible to undoubtedly match an unparsed tag to a parsed one. The same goes for validity of a tag.
Expand tag values on demand using macro expansion and remove the valid property.

/packit build

Packit test failures are probably flakes, definitely unrelated to changes in this PR.


Changed config priority in build options

Related to #1
Seems to be a CLI issue rather than the parsing functions.

Hi @virgilbugnariu - the default value passed to commander was wrong - thanks for the PR, I already pushed a fix on 1.0.8 and would rather not change the overrides order as I'd like to prioritise cli arguments over config values from the rc file.


Dotnet-SDK support for Centos Stream 8, 9 ?

I would be happy if you provide information about dotnet-sdk support for distro Centos Stream 8 and Centos Stream 9 which is the new red hat distro model (note: rolling release).
annoucement: https://www.redhat.com/en/topics/linux/what-is-centos-stream
and docker images provided: https://quay.io/repository/centos/centos?tab=tags
Quick test as of March 1st 2022
# docker run --rm -it quay.io/centos/centos:stream8
...
[root@43e8da7f83a7 /]# dnf search dotnet-sdk
Last metadata expiration check: 0:02:29 ago on Tue Mar  1 16:44:19 2022.
========================================================================================================== Name Matched: dotnet-sdk ===========================================================================================================
dotnet-sdk-2.1.x86_64 : .NET Core 2.1 Software Development Kit
dotnet-sdk-2.1.5xx.x86_64 : .NET Core 2.1.5xx Software Development Kit
dotnet-sdk-3.0.x86_64 : .NET Core 3.0 Software Development Kit
dotnet-sdk-3.1.x86_64 : .NET Core 3.1 Software Development Kit
dotnet-sdk-5.0.x86_64 : .NET 5.0 Software Development Kit
dotnet-sdk-6.0.x86_64 : .NET 6.0 Software Development Kit

and
# docker run --rm -it quay.io/centos/centos:stream9
...
[root@43e8da7f83a7 /]# dnf search dotnet-sdk
Last metadata expiration check: 0:00:07 ago on Tue Mar  1 16:47:37 2022.
========================================================================================================== Name Matched: dotnet-sdk ===========================================================================================================
dotnet-sdk-3.1.x86_64 : .NET Core 3.1 Software Development Kit
dotnet-sdk-6.0.x86_64 : .NET 6.0 Software Development Kit

note: we need it to support google/or-tools C++/.Net wrapper package on these distros...

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

ID: 577ce9b2-5b48-4ed2-c309-a78880015dd2
Version Independent ID: 26300783-8df5-56a1-4ab6-4b8511e37f51
Content: Install .NET on CentOS - .NET
Content Source: docs/core/install/linux-centos.md
Product: dotnet
Technology: dotnet-install
GitHub Login: @adegeo
Microsoft Alias: adegeo

@omajid Can you comment? Should we create CentOS Stream install pages?

My understanding of CentOS Stream is that it's literally a (rebuild of) the in-development versions of RHEL. CentOS Stream 9 is tracking changes going into the release of RHEL 9. CentOS Stream 8 is tracking changes that are going into the next minor version of RHEL 8, which is 8.6.
The .NET packages my team releases for RHEL 9 will be automatically built and included into CentOS Stream 9, as soon as they are built for RHEL 9. The same thing is true for RHEL 8, though CentOS Stream 8 picks up changes from RHEL 8 at a slightly slower pace.
I can definitely seem value in documenting this so anyone using CentOS Stream has direct documentation they can refer to. But I expect it to be pretty much a 100% duplicate of what's currently documented in RHEL docs. Any difference between RHEL and CentOS Stream would be either bugs or point-in-time issues that should disappear in days/weeks. Perhaps we can just extend/rename the RHEL docs to cover this? Would you like me to work on a PR for that?

As a side-note RHEL 9 and CentOS Stream 9 will only include .NET 6 on release. The 3.1 packages are about to be removed for a few reasons, including issues building/running against OpenSSL 3.0. See https://github.com/dotnet/corefx/pull/43078 for that.

Thanks for the info @omajid I can update the articles, adding info about CentOS Stream to the RHEL article. I'll put a CentOS Stream specific entry in the TOC though, but it will still link to the RHEL+CentOS Stream article.


Fix reference to a released stack variable in modem_context_sprint_ip…

Suggested fix for issue #38172. How can I test it?
Fixes #38172.

Fix the build errors

Please review the Contribution Guidelines and re-format the commit messages.

I hope this a correct comment message

@ssharks - just some whitespace changes in your commit message for CI to pass. Please modify with commit --amend and do a force push

Does anyone has an idea why the maintainers check failed this time?

@ssharks Try rebasing onto the latest master. A few entries in the MAINTAINERS.yml were fixed recently.

@
Collaborator
cfriedt ### Thanks for reminding, just overlooked it


fix bug in vue package

I made a mistake in build configuration.

have a mistake in release message


KeyNotFoundException System.ComponentModel.Annotation

Describe the bug
We are trying to upgrade some class libraries, currently built in .NET Framework 4.7.2, and will occasionally get a KeyNotFound Exception that references System.ComponentModel.Annotations. However this reference is not located in this project. We are not sure why this is happening. We have spoken with Microsoft and they recommended that I ask here. I am happy to provide the .csproj file and .clef files if requested, but does not look like I can upload it here.

To Reproduce
Can supply project files if requested.
Exceptions (if any)

Further technical details

Windows 64 bit

Thank you for your help.

@bswift-kj Could you please provide the .csproj file you are using and also the .clef file for logs? If you are unable to upload here, feel free to email to<EMAIL_ADDRESS>

I am unable to upload or email that emails address (RESOLVER.RST.SenderNotAuthenticatedForGroup; authentication required; Delivery restriction check failed because the sender was not authenticated when sending to this group).

I'm experiencing absolutely the same issue.
I follow the guide from the documentation https://docs.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-aspnetmvc with absolutely freshly created MVC project (.net 4.5.2). I run the upgrade-assistant and second step that converts the project file fails with 'Unexpected error applying step
System.Collections.Generic.KeyNotFoundException: The given key 'System.ComponentModel.Annotations' was not present in the dictionary.'
I even excluded 'System.ComponentModel.DataAnnotations'  and still same result.

any solution for this problem?

Recently, I also meet the same issue, and found a relation issue

Can not found dll，Could not load file or assembly 'System.ComponentModel.Annotations, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified

Use the dotnet-convert command to modify csproj to a new version of the template
After starting the host project, I found that the above exception was thrown
After analysis, it is found that it is called System. ComponentModel.DataAnnotations in netframework, and System. ComponentModel.Annotations in netstandard/netcore
At this time, use the multi-target version to solve this problem
First you need to add the corresponding target version, and then refer to different packages for different frameworks, as follows

<ItemGroup Condition="'$(TargetFramework)'=='net472' Or '$(TargetFramework)'=='net461'">
  <Reference Include="System.ComponentModel.DataAnnotations" />
</ItemGroup>

<ItemGroup Condition="'$(TargetFramework)'=='netstandard2.0'">
  <PackageReference Include="System.ComponentModel.Annotations" Version="5.0.0" />
</ItemGroup>


Maximum recursion depth exceeded in comparison for string

In the remove_creator function of the model wrapper, we need to solve the issue of maximum recursion depth exceeded in comparison, by separately processing for string

Resolved in https://github.com/apache/singa/commit/26deb2c7d750693e6be8eb50b456e4362712786b


Fix condition for timeout in worker task launcher

This fixes an issue where the controller would mistake a retrying worker task to timeout as soon as it is scheduled for a retry.
When a task retries, it is possible that recentFullyStartedWorkerTimeInMs refers to the time when the last task for the stage started. This would cause the retrying task to timeout if the mainLoop checks the status.

This PR has:

[ ] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] a release note entry in the PR description.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

@adarshsanjeev Nice catch. Apologies for introducing this bug.


Bug: Run_game.py script time controls do not get passed to server.

Will need a user-facing way to configure time controls via the run_game.py script.

Now passed to server as of commit https://github.com/pashneal/splendor-tournament/commit/1e148902d5f97ed05b91fb03a0838b9224f8b7ed


Global Rate Limit not working with mTLS

Bug description
We implemented the envoy rate limit service into our mesh but are not able to get it working with a mTLS connection between our ingress gateway and the rate limit service.
[ ] Docs
[ ] Installation
[x ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
Expected behavior
We want a secure and authenticated connection between our ingress gateway and the rate limit service.
Steps to reproduce the bug

Deploy the envoy rate limit service into a separate namespace.
Add the following envoyfilters and adapt them to your needs (service, ports, sni, etc.)

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: example-rate-limit
  namespace: istio-ingressgateway
spec:
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: GATEWAY
      listener:
        filterChain:
          filter:
            name: envoy.filters.network.http_connection_manager
            subFilter:
              name: envoy.filters.http.router
          sni: sub.example.com
    patch:
      operation: INSERT_BEFORE
      value:
        name: envoy.filters.http.ratelimit
        typed_config:
          '@type': type.googleapis.com/envoy.extensions.filters.http.ratelimit.v3.RateLimit
          domain: rate-limit-domain
          failure_mode_deny: true
          rate_limit_service:
            grpc_service:
              envoy_grpc:
                cluster_name: rate_limit_service
              timeout: 10s
            transport_api_version: V3
  - applyTo: CLUSTER
    match:
      cluster:
        service: rate-limit.rate-limit
    patch:
      operation: ADD
      value:
        connect_timeout: 10s
        http2_protocol_options: {}
        lb_policy: ROUND_ROBIN
        load_assignment:
          cluster_name: rate_limit_service
          endpoints:
          - lb_endpoints:
            - endpoint:
                address:
                  socket_address:
                    address: rate-limit.rate-limit
                    port_value: 8081
        name: rate_limit_service
        type: STRICT_DNS
  workloadSelector:
    labels:
      app: istio-ingressgateway

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: example-rate-limit-svc
  namespace: istio-ingressgateway
spec:
  configPatches:
  - applyTo: VIRTUAL_HOST
    match:
      context: GATEWAY
      routeConfiguration:
        vhost:
          name: sub.example.com:443
          route:
            action: ANY
    patch:
      operation: MERGE
      value:
        rate_limits:
        - actions:
          - header_value_match:
              descriptor_value: example-key
              headers:
              - contains_match: 'foo'
                name: X-Example-Header
        - actions:
          - request_headers:
              descriptor_key: example-key-two
              header_name: X-Example-Header-Two
          - header_value_match:
              descriptor_value: example-key-three
              expect_match: false
              headers:
              - contains_match: 'foo'
                name: X-Example-Header-Three
  workloadSelector:
    labels:
      app: istio-ingressgateway

Create a authorization policy

apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: rate-limit-allow-ingress
  namespace: rate-limit
spec:
  action: ALLOW
  rules:
  - from:
    - source:
        principals:
        - cluster.local/ns/istio-ingressgateway/sa/istio-ingressgateway-service-account
    to:
    - operation:
        ports:
        - "8081"
  selector:
    matchLabels:
      app.kubernetes.io/name: rate-limit

PERMISSIVE

Create a peer authentication policy in the rate limit namespace

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: rate-limit-mtls
  namespace: rate-limit
spec:
  mtls:
    mode: PERMISSIVE

You will get a rbac_access_denied_matched_policy[none] error in the rate-limit istio-proxy container

STRICT

Create a peer authentication policy in the rate limit namespace

apiVersion: security.istio.io/v1beta1
kind: PeerAuthentication
metadata:
  name: rate-limit-mtls
  namespace: rate-limit
spec:
  mtls:
    mode: STRICT

You will get a NR filter_chain_not_found error in the rate-limit istio-proxy container

Debug logs and information
When set to strict these logs are generated in the istio-proxy sidecar.
rate-limit-68b459b57f-xcvm6 istio-proxy 2021-06-22T09:19:40.281441Z	debug	envoy conn_handler	[C36532] new connection
rate-limit-68b459b57f-xcvm6 istio-proxy 2021-06-22T09:19:40.282182Z	debug	envoy conn_handler	[C36532] adding to cleanup list
rate-limit-68b459b57f-xcvm6 istio-proxy 2021-06-22T09:19:40.423327Z	debug	envoy filter	original_dst: New connection accepted
rate-limit-68b459b57f-xcvm6 istio-proxy 2021-06-22T09:19:40.423357Z	debug	envoy filter	tls inspector: new connection accepted
rate-limit-68b459b57f-xcvm6 istio-proxy 2021-06-22T09:19:40.423362Z	trace	envoy filter	tls inspector: recv: 417
rate-limit-68b459b57f-xcvm6 istio-proxy 2021-06-22T09:19:40.423380Z	debug	envoy conn_handler	closing connection: no matching filter chain found

istioctl proxy-config listeners rate-limit
ADDRESS       PORT  MATCH                                                   DESTINATION
<IP_ADDRESS>            15006 Trans: tls; Addr: *:8081                         Cluster: inbound|8081||

istioctl proxy-config routes rate-limit --name 8081
NAME     DOMAINS        MATCH     VIRTUAL SERVICE
8081       *                       /*
8081       rate-limit         /*

istioctl proxy-config cluster -n istio-ingressgateway  istio-ingressgateway
SERVICE FQDN                                      PORT     SUBSET     DIRECTION     TYPE                    DESTINATION RULE
rate-limit.rate-limit.svc.cluster.local    8081      -                  outbound        EDS
rate_limit_service                                  -             -                  -                       STRICT_DNS

We have configured many services with basically the same authorization policy and therefore it should work just fine.
So the question is, is this a bug or did I misconfigure anything?
Or is it just possible when adding clusters etc. manually with an envoy filter the mTLS configuration does not match anymore (is not configured correctly) and I therefore cant use mTLS?
Version
control plane version: 1.10.1
data plane version: 1.10.1
How was Istio installed?
Operator

cc @costinm for the complexity of rate limit envoyfilters.

Is there someone who can help me with this?

@ArchdukeNavaron Were you able to set mtls between rate limiting service and istio ingressgateway successfully?
I am facing the same issue. If I enable permissive peerauthentication for ratelimit service, everuthing works.
But if it is strict, ingressgateway sends 500 since it is not able to call ratelimiting service successfully.

@sachinsaju unfortunately not. In the end we just used nginx for rate limiting in front of our application. Not ideal but it kept the complexity down and we didn't have to spent more time investigating the cause of this.


"You can't sign in here with a personal account. Use your work or school account instead."

I've followed the tutorial however when i run the app and then attempt to use the device login via browser using the code, i am unable to login with either my personal account (which is setup for Office 365) or a new outlook.com account i created to test this app. Perhaps something has changed in Azure that this tutorial has not taken into account?

I reproduce this as well. I know that Azure initially did not support personal accounts with device code flow, but they had enabled it. It may be that something's changed - stand by.

Found the problem. This was from switching over to the new Azure.Identity library. It's an easy fix in code. In GraphHelper.cs, change this line in the Initialize function.
tokenCredential = new DeviceCodeCredential(callBack, clientId);

to this:
tokenCredential = new DeviceCodeCredential(callBack, "common", clientId);

Nice one that fixes it, thanks


v3. Main page. Available balance in popup to delegate.

The available amount of your balance to stake doesn't  show up correct in this pop-up. While you can see there is an amount available on the right. Clicking the max button does nothing either.
(Tested in Brave brower Version 1.59.117 Chromium: 118.0.5993.70)

The available amount of your balance to stake doesn't show up correct in this pop-up. While you can see there is an amount available on the right. Clicking the max button does nothing either. (Tested in Brave brower Version 1.59.117 Chromium: 118.0.5993.70)

Yes, this is a problem that I have already detected!
When you arrive on the dashboard, change pages, come back to the dashboard and try again!


Make target parameter optional (RDT-854)

Hello @hfudev,
I have proposal for possible enhancement for this project. Do you think it might be possible to make the target parameter optional especially for the build option? I have a use case where it will build the apps with default target (esp32) if not specified otherwise in the sdkconfig.defaults. What do you think about this? This way you can specify the targets in the sdkconfig.defaults and build it with one command. Thanks.

@Dzarda7 Thanks for the idea. yes, it makes sense to simplify the users inputs.
I'll set the default value targets=all. By specify the CONFIG_IDF_TARGET=esp32 inside your sdkconfig.defaults files, only esp32 will be built.

Thanks, I might use that in esp-serial-flasher.

Awesome, thanks for the quick improvement.

I tested it and it works.


Admins can view successful submissions

Problem Statement
As a PrimeAdmin, I need to be able view submission history for each organization
Design
[https://www.figma.com/file/VrSkTA87t8PPeXPugQ0i8O/ReportStream?node-id=1597%3A4628
Acceptance Criteria

Given I

Am logged into ReportStream as a PrimeAdmin

When I

Log into ReportStream

Then I

Can choose to view Submission History
Can view all of the organization's submissions listed in descending order by date/time submitted
Can view the following information for each successful submission

Date/time submitted
File (includes filename & extension)
Records Sent

Question: should we only include the number of records submitted after cleaning?

Confirmation Code
Warnings (total number of warning messages [i.e. unconsolidated] or "None" if there were no warnings)

Can see an indication of which files were submitted to multiple PHDs

Backend ticket https://app.zenhub.com/workspaces/pipeline-6182b02547c1130010f459db/issues/cdcgov/prime-reportstream/3347

PR: https://github.com/CDCgov/prime-reportstream/pull/3441


DeveloperGuide.adoc Updates

Coverage remained the same at 72.143% when pulling d910bd50dac16d79c0713414a984ce909ae6d3e6 on iMarbles:docs-DG into 6f4af8b12f8e1aee1e9585d27d9f41082f1097c6 on CS2103-AY1819S1-W16-2:master.


Let's confirm before closing issues for better tracking

Please let's verify if a feature is properly implemented or a bug is fixed after release before closing the issue.
Users stop using app as soon as they still see bugs that were told it would be fixed in the upcoming version. Or better test it and verify it very well before the release and closing the issue. Users don’t care about backend, they only want to use simple and perfect app (no-one cares about the code but the product)
A user told me

If eSteem is not capable of making a perfect mobile app then let's stick to Surfer.

I'm getting depressed of users' comment in my inbox about this mobile app. Check eSteem channel and see some people leaving to use other app. eSteem needs perfect mobile app to maintain its stands. It seems no one wants to hear it's still in Beta mode anymore.

@horpeyloaded Thanks for bringing this up! Please make sure users feedback is about v2 not legacy version. We will soon announce the deprecation of v1 or legacy app and production release of v2. That way there won't be any confusion about feedbacks. Majority of feedback/complain I receive is either about v1 or not using up to date version of v2.
As for issue tracking, I will ask team to provide test version for issue creators to test and close their own issues, instead of developer closing issues.

The feedbacks are for v2 not 1.0.6 @feruzm

We will change how we handle reported issues, as I mentioned. But it will add extra overhead/take some time from devs which we could focus on development, however it is important that user’s feedback is properly followed up. I have proposed better approach for team. We will give it a try and see how it goes

Thanks for your consideration @feruzm


starter demo for web3-react v8?

Hello, could you provide a starter demo for web3-react v8?

ok

Added


How to let LoomSDK continue running after SSH connection is closed?

when using LoomSDK on cloud Ubuntu server

"nohup ./loom run &"
now loom runs well. client tells me connection is good.
my ssh to the Ubuntu cloud server disconnects. And my loom client tells me "network error".

Closing this as this question has nothing to do with loom-js.


[#6535] Replace guava LoadingCache with caffeine LoadingCache

Make sure set the target branch to develop
What is the purpose of the change
#6535 In proxy ClusterMetadataService, we use guava LoadingCache to cache topicConfig and subscriptionGroupConfig.
Replaced guava LoadingCache with Cafeine Cache similar to used in proxy TopicRouteService.

@Oliverwqcwrw @aaron-ai Please review this

Codecov Report

Merging #6553 (d4e576f) into develop (9574165) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             develop    #6553      +/-   ##
=============================================
- Coverage      43.16%   43.09%   -0.07%
+ Complexity      9014     8994      -20
=============================================
  Files           1107     1107
  Lines          78255    78253       -2
  Branches       10201    10201
=============================================
- Hits           33777    33723      -54
- Misses         40241    40304      +63
+ Partials        4237     4226      -11

Impacted Files
Coverage Δ

...proxy/service/metadata/ClusterMetadataService.java
77.41% <100.00%> (-0.71%)
:arrow_down:

... and 31 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

close for duplication #6554


No settings button in 5 row mode for Horizontal and Vertical

I switched to 5 row mode in both vertical and horizontal viewing and now I am unable to get to settings. I had to uninstall and reinstall to switch back and get the settings button on the bottom left next to ?123
The settings button only exists in the 4-row Gingerbread layout
Verizon, Galaxy S7, Gingerbread

Did you try toggling option "Show Settings key"?

Did you try to change "Voice input" to Off or On symbols keyboard?
you can access to settings by long press the Voice input key.

@EnOne1 Is this fixed for you since recent update?

I just installed yesterday, and I have the same issue.  I can get to it via the long press on voice input key, but even if I set "Show settings key" to "Always show".  I haven't touched the "Voice input" settings.

set Voice imput to show On main keybord
and set imput options  to Allways hide
And disable softkeybord to only when no hardware keybord is available

After that hold voiceinput and settings will now show to


Implement Client::PatchObjectAcl

This fixes #843. It implements both overloads for the API: for
read-modify-write and for patch-without-read. It adds unit tests
for the API, an integration test, and sample snippets.

This change is

PTAL.

PTAL.


Implement 'Drilldown count': Hide found tasks and show count, with link to click and show tasks

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.

🔖 Feature description
Ability to hide every task matching the query and display the number of tasks rendered with a clickable link that shows the list of tasks counted.
This would be fabulous for summary dashboards.
✔ Solution
I would like to create a dashboard showing the number of tasks in different buckets, with an option to click each bucket and show the tasks that make up the total displayed.
❓ Alternatives
No response
📝 Additional Context
No response

This is similar to #1626 - but with the addition of allowing the tasks to be optionally displayed.

Interesting idea - thank you for the suggestion.

In view of these two comments https://github.com/obsidian-tasks-group/obsidian-tasks/issues/1626#issuecomment-1435328021 and https://github.com/obsidian-tasks-group/obsidian-tasks/issues/1626#issuecomment-1435336648 - I am closing this as 'not planned', due to being too specialised for the amount of work likely to be involved in the foreseeable future.
That doesn't mean it will never be done, but it means that currently it would never reach the top of the priority list.


Add not ONNX op support

Related Issues/PRs
Progress towards #1544
Changes
Added not ONNX op import support
Testing
Added unit tests for codegen and expected outputs

cast is required by the tests for not since torch exports with a cast node. Closing in favor of #1634 which combines both


Hi, how can I specify the download directory for the model

Checks

[X] This template is only for question, not feature requests or bug reports.
[X] I have thoroughly reviewed the project documentation and read the related paper(s).
[X] I have searched for existing issues, including closed ones, no similar questions.
[X] I confirm that I am using English to submit this report in order to facilitate communication.

Question details
Hi, how can I specify the download directory for the model

huggingface-cli download --resume-download SWivid/F5-TTS --local-dir

will close this issue, feel free to open if further questions


Empty folders can be clicked multiple times

This makes the returned path null because the path of the empty folder gets concatenated to the return e.g. /storage/usbotg/usbotg I think. You should check whether a path can be accessed and remove or disable it from the list if it can't be.

I agree, thanks for pointing it out @rickyManalo

No problem.


Multiplying scalar in mutate_with

Is it possible to multiply scalars within a mutate_with?
Below is a picture of the issue I'm running into using Explorer 0.3.0.
I don't have any problems when not multiplying by 60.
What am I doing wrong here?

Hi @joeybellerose :wave:
Sorry, this was a mistake: I forgot to add the multiply operation :/
Here is a PR fixing that: https://github.com/elixir-nx/explorer/pull/332
Thank you for pointing out :)

Thanks so much for the quick turn!


[FEAT] Separate Notification Add and Schedule Workflows

Is your feature request related to a problem? Please describe.
Currently, when any notification add endpoint is used, it automatically schedules the notifications. This is not ideal as other use cases may need different functionality. Also to ensure separation of concerns and single responsibility principle. Moreover, add endpoint can be confusing if it is also scheduling.
Describe the solution you'd like
These should be separated out and a parameter specified to schedule the requests when adding them. Moreover, a separate endpoint should be provided if want to schedule the notifications later. The following paths need to be added -
# To schedule a single notification
POST /projects/{projectId}/users/{subjectId}/notifications/{notificationId}/schedule

# To schedule a all notifications for the user
POST /projects/{projectId}/users/{subjectId}/notifications/schedule

# To schedule when adding batch notifications
POST  /projects/{projectId}/users/{subjectId}/notifications/batch?schedule=true

# To schedule when adding a single notifications
POST  /projects/{projectId}/users/{subjectId}/notifications?schedule=true

Describe alternatives you've considered
NA
Priority
4
Difficulty
5
Additional context
Add any other context or screenshots about the feature request here.

Hi @yatharthranjan, I can work on this issue. It would help me to know Appserver better.

hi @Hsankesara, sure. This is based on the Spring boot framework, so if you don't know about it, a read to it's intro would be good. I can give a detailed overview of the Appserver in our meeting on Monday.

Sounds, Great. I will look into spring boot framework meanwhile.


[bug] Issue with GibberishText package - False Validation

Describe the bug
guardrails-ai 0.4.5 is forcing to use Token. Without API token it is not allowing to configure further.
Also gibberish text is falsely reporting validation failure even on correct sentences
Sentence tested : "Hello how is the weather"

To Reproduce
Steps to reproduce the behavior:

RAIL spec
Runtime arguments (e.g. guard(...))
Please refer to the code screenshot
Expected behavior
A clear and concise description of what you expected to happen.

Library version:
guardrails-ai  0.4.5
Additional context
Add any other context about the problem here.
Please let us know if you need further information. Appreciate your kind support. Thanks

Hi there,
For issue the first problem regarding the token. Once you install guardrails, you can run
guardrails configure
to get a token. Following the steps there should resolve your issue.
For problem regarding the validator, the validator is an ML based model. It will not always be perfect, so you'll need to adjust the threshold according to the model that is used and the types of inputs you will be using. In this case, if you lower the threshold to .4 it will pass.
Setting the threshold will depend on the system that you are using. If this is a system that involves humans, you may need to lower the threshold to accommodate spelling/grammatical errors. With LLMs, it may be higher. In fact, if you change the input to "How is the weather today?" (using punctuation like an LLM would), then the validator successfully passes.

Hi Wylandsford,
Thanks for looking into this issue. I tested both situations after configuring Guardrails. It would be tricky to ensure that always a context text would end in a specific way. Could you suggest the optimum threshold value that could work in most of cases. Appreciate your kind support.
Regards,
Kashyap


Implement Decodable for FromStr and Encodable for ToString

Hello all,
When trying to encode/decode SocketAddr I noticed that it was neither encodable or decodable despite implementing both 'ToString' and 'FromStr'.
fn main() {
    if let Ok(ref addr) = "<IP_ADDRESS>:1234".parse::<std::net::SocketAddr>() {
        println!("{:?} == {:?}", addr.to_string(), addr)
    }
}

"<IP_ADDRESS>:1234" == V4(<IP_ADDRESS>:1234)

Here the to_string() almost gives us an Encodable type and parse/FromStr almost gives us a Decodable type.
Any chance that we can get the following?
impl<T: std::string::ToString> Encodable for T { }
impl<T: std::str::FromStr> Decodable for T { }

Cheers,
DarkFox.

The problem with this is that without impl specialization, impl<T: ToString> Encodable for T will conflict with several other trait implementations. So until impl specialization is in, we can't do much about that.

Would it be possible to include an impl of Encodable/Decodable for SocketAddr in rustc-serialize?

@Boscop It is equally as held back by the lack of specialization.

@james-darkfox Do you know what I can use as a encodable/decodable monotonic timestamp since 1970? I haven't found any such time type, all the types from std::time like Instant, SystemTime etc. can't even be converted to/from string.

@Boscop That is irrelevant to this thread. Your question may be better asked on reddit/r/rust or on IRC. ircs://irc.mozilla.org:6697/#rust and ircs://irc.mozilla.org:6697/#rust-offtopic

I'm going to close this now that this crate is deprecated in favor of serde. We're discontinuing feature development in rustc-serialize but will still continue to merge bug fixes if they arise.


Bump runtime version

Bump runtime version

Coverage remained the same at 33.681% when pulling fcf252a5d18e209288078a49fd457759b725b4b4 on binyli/bump-runtime into 19e11d88e5fb6221e47f0150d89c3755237cb13b on master.


StatusPage.io alert banner

Statuspage API call and alert banner logic.

 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.

Hello @justinwhall,Thanks again for the PR! We want to show our appreciation by sending                                              you some swag. Could you please fill out                                              this form so we can send it to you? Thanks!                                             Team SendGrid DX


Validated version with 2 annotations instead of 3 should be available to save and to finish with warning

Came from UAT
During the course of the project, the requirement can be changed for business reasons, and the number of annotations is reduced to 2.
Preconditions:

Annotation job with 3 annotators is created

Steps to reproduce:

Try to finish the job with 2 annotators only.

Expected result:
Validated version with 2 annotations instead of 3 should be available to save and to finish with warning.

User, who can manage job, can remove annotator from this job and "redestribute" not finished tasks between other annotators.
@DaryaGurtovenko please, verify it's working

Admin is able to re-distribute existing job between another set (via 'Edit') of annotators, so this workaround can be used.

#304 #331 should be done to fix an issue

need changes on backend side: "extensive_coverage" field returns wrong

@andrei-shulaev

@andrei-shulaev
If User try to save edited job, the following error appears:
"Failed request to the Annotation Manager: 500, message='Internal Server Error', url=URL('http://annotation/jobs/1962')"
And there is 422 response for the job request (as far as I understand)

Will be closed during: https://github.com/epam/badgerdoc/issues/425

Can't complete validated version. The following popup appears, but "Confirm validation" doesn’t work.
Job is http://dev1.badgerdoc.com/annotation/tasks/3971

Bug2:
Precondition:
Create an extraction with 2 annotators and 2 validators. One of them is an annotator and validator (e.g. annotator1).  The second one is the annotator only (annotator2)
Create an annotation with annotator2, but do not finish the annotation task.
STR:

Go to the extraction
Tap on Edit
Delete the annotator2 (the same as validator)
Save the extraction
Go to the extraction jobs
Open the validator job
tap on the annotation made by annotator2

AR:
The tab on the right has an empty name.

ER:
The tab on the right is named after deleted annotator2, who created the annotation.

Fixed. Editing the Extraction is working.


Close on click outside

Added changes for closing the options when you click outside of the component, (even if its another ng2-select component)

Codecov Report

Merging #712 into development will increase coverage by 0.09%.
The diff coverage is 37.5%.

@@               Coverage Diff               @@
##           development     #712      +/-   ##
===============================================
+ Coverage        31.77%   31.86%   +0.09%
===============================================
  Files               11       11
  Lines              450      455       +5
  Branches            71       72       +1
===============================================
+ Hits               143      145       +2
- Misses             307      310       +3

Impacted Files
Coverage Δ

src/select/select-item.ts
20.68% <0%> (-1.54%)
:x:

src/select/select.ts
20.59% <50%> (+0.41%)
:white_check_mark:

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 3afaf63...e189932. Read the comment docs.

@valorkin Hello! can you check if it's good to merge?

@valorkin Ultra-urgent PR as mentioned in #680 !

@maximelafarie indeed! will be nice to get it merged but, still haven't got any response from @valorkin

👍

Merge this pls... @valorkin

@varrob112 Awaiting @valorkin merge it (and if it's urgent for you), you can do it your own as I done here : https://github.com/maximelafarie/ng2-select. You just need to merge the @Manny91 branch in the main and you're done 😉

Merge this pls... @valorkin

is it resolved? :)


Low FPS with pion

Your environment.

Version: 89d7de178734
Browser: Chrome Linux 83.0.4103.61

What did you do?
I was trying out the broadcast example locally, but I found that the performance was very poor. The framerate was only around 10 fps.
For comparison, I tried streaming directly between chrome on two different computers over the internet and I was able to get nearly 60 fps.
In either case, my cpu was under less than 20% load.
I was able to find those numbers in the webrtc-internals.

Chrome to Pion video stream stats
timestamp	27/06/2020, 23:45:54
ssrc<PHONE_NUMBER>
isRemote	false
mediaType	video
kind	video
trackId	RTCMediaStreamTrack_sender_86
transportId	RTCTransport_0_1
codecId	RTCCodec_0_Outbound_96
[codec]	VP8 (96)
firCount	0
pliCount	0
nackCount	0
qpSum	37312
[qpSum/framesEncoded]	106
mediaSourceId	RTCVideoSource_86
packetsSent	1103
[packetsSent/s]	36.998553332627644
retransmittedPacketsSent	0
[retransmittedPacketsSent/s]	0
bytesSent	1084839
[bytesSent_in_bits/s]<PHONE_NUMBER>068173
headerBytesSent	13236
[headerBytesSent_in_bits/s]	3551.8611199322536
retransmittedBytesSent	0
[retransmittedBytesSent_in_bits/s]	0
framesEncoded	352
[framesEncoded/s]	11.999530810581938
keyFramesEncoded	1
totalEncodeTime	2.175
[totalEncodeTime/framesEncoded_in_ms]	6.333333333333302
totalEncodedBytesTarget	1177062
[totalEncodedBytesTarget_in_bits/s]<PHONE_NUMBER>8469795
totalPacketSendDelay	36.287
[totalPacketSendDelay/packetsSent_in_ms]	33.81081081081075
qualityLimitationReason	none
qualityLimitationResolutionChanges	0
contentType	screenshare
encoderImplementation	libvpx

Chrome to Chrome video stream stats
timestamp	27/06/2020, 23:29:46
ssrc	227755097
isRemote	false
mediaType	video
kind	video
trackId	RTCMediaStreamTrack_sender_84
transportId	RTCTransport_0_1
firCount	0
pliCount	0
nackCount	0
mediaSourceId	RTCVideoSource_84
packetsSent	23120
[packetsSent/s]<PHONE_NUMBER>4508396
retransmittedPacketsSent	0
[retransmittedPacketsSent/s]	0
bytesSent	22092624
[bytesSent_in_bits/s]	1499301.282963873
headerBytesSent	566900
[headerBytesSent_in_bits/s]	37891.97502637186
retransmittedBytesSent	0
[retransmittedBytesSent_in_bits/s]	0
framesEncoded	6410
[framesEncoded/s]	58.00608508048902
keyFramesEncoded	3
totalEncodeTime	26.898
[totalEncodeTime/framesEncoded_in_ms]	4.344827586206877
totalEncodedBytesTarget	36483864
[totalEncodedBytesTarget_in_bits/s]	2601888.94901313
totalPacketSendDelay	408.319
[totalPacketSendDelay/packetsSent_in_ms]	17.798969072165107
qualityLimitationReason	none
qualityLimitationResolutionChanges	0
codecId	RTCCodec_0_Outbound_96
[codec]	VP8 (96)
contentType	screenshare
encoderImplementation	libvpx
qpSum	101249
[qpSum/framesEncoded]	15
remoteId	RTCRemoteInboundRtpVideoStream_227755097

What can I do to improve the performance with pion?

Are you sending receiver reports or REMB reports?  Chrome won't increase its data rate unless it gets feedback from the receiver.

Closing due to inactivity


Possibly verbose config files

Please correct me if wrong, but I suppose some config files, e.g. configs/cifar10/al/RESNET18_DBAL.yaml, are verbose.
Would you please give instructions on choice of config files?

My current practice is
train_al.py
--cfg
../configs/cifar10/al/RESNET18.yaml
--init
vae
--al
dbal
--exp-name
al_cifar10_vae_trial1


LogFactory Flush without threads and introduce FlushAsync

Make LogFactory.Flush() synchrone without spinning up threads. Instead provide Task FlushAsync()  if wanting parallel target-flush capability.
Allow NLog to work out-of-the-box on platforms with limited thread-support. See also  #4266

Could be interesting to implement IAsyncDisposable.DisposeAsync so one could do this without explicit call to LogFactory.Shutdown():
await using var nlogFactory = NLog.LogManager.Setup().LogFactory;

Maybe include IAsyncDisposable for LogFactory, that can perform async-flush and async-close. Thus also resolving #3958


liquid: mismatch types in resources quota structs

While working on the liquid-ceph implementation, we have found a potentially problematic (albeit unlikely) issue with how quota values are defined.
See the specification for ResourceQuotaRequest, where Quota is an unsigned 64-bit int.
Then, on ResourceUsageReport, the value for Quota becomes a signed 64-bit int.
(This is also applicable to per-Availability Zone quota)
As one might see, this loss of precision may lead to an integer overflow when reporting quota on usage request.
Again, albeit this is unlikely due to storage capacity in real-life scenarios, it still feels odd that we are subject to this mismatch, loss of precision, and opening ourselves to unforeseen issues, now or in the future.

Works as intended. OpenStack will report "no quota" as -1, so we have to use negative values for backend quotas, while Limes uses unsigned values for frontend quotas.


fix(runtime-core): should not rewrite ref when fallthrough slot

fix #1311

Since the bug is actually from cloneVNode, we should fix that instead. See be69beed


Question: Variable node height and arrows

Have a situation where my nodes may have different heights. What I'm seeing is that when this occurs the arrow line starts at the original location, as if the node was the default height. Is there a method to adjust the arrows to the variable height of the node?

Hmm, I don't see any problems w/ arrows (although I just made a fix having to do with the blue pulse indicator being misplaced with dynamic blocks. Maybe you could check it out again?

I can't merge that change in, my css differs so much now that change breaks the indicator all together =/

I can't merge that change in, my css differs so much now that change breaks the indicator all together =/
Where does the arrow start position get set? I'll have to start there.

Agh I see. It gets set at the rearrangeMe function, the variable arrowy (which is then added as a SVG coordinate to draw the arrow). I'm not sure what version you have, you'd just have to make sure that the block height is taken into consideration + get rid of getComputedStyle(), I'm not sure why that was in there in the first place but it doesn't give accurate values.
I'll close this as it's not a library-specific issue, if you need more help though feel free to reach out :)


[nrfconnect] Optimized external flash power consumption.

Problem

QSPI consumes ~1.8 mA in active mode
this is default mode for nRF53, even if the external flash is not used (no DFU ongoing)
such high power consumption is a no-go for SED

Change overview
Force the QSPI into sleep mode and wake it up only on demand, i.e. right before the DFU
Testing

tested on nrf53 and lock-app example, i.e. measured the power consumption before/during/after DFU in SED configuration

@andy31415 can we fast-track this PR?


Please add support for decimal properties

Hi there,
My model consists of decimal properties labeled as [Feature] and [Label], and I'm getting the following exception in Jest.cs. It appears DoubleConverter.CanConvertTo(typeof(decimal)) returns false causing this exception.
As a workaround I've switched all properties to Double, but I'm wondering if anything can be done about it.
System.InvalidCastException was unhandled by user code
HResult=-2147467262
Message=Cannot convert 20 to Decimal
Source=numl
StackTrace:
at numl.Utils.Ject.Convert(Double val, Type t) in z:\Builds\work\6fc28cb662d1e0f0\numl\Utils\Ject.cs:line 287
at numl.Model.Property.Convert(Double val) in z:\Builds\work\6fc28cb662d1e0f0\numl\Model\Property.cs:line 79
at numl.Supervised.DecisionTree.DecisionTreeGenerator.BuildLeafNode(Double val) in z:\Builds\work\6fc28cb662d1e0f0\numl\Supervised\DecisionTree\DecisionTreeGenerator.cs:line 243
at numl.Supervised.DecisionTree.DecisionTreeGenerator.BuildTree(Matrix x, Vector y, Int32 depth, List1 used) in z:\Builds\work\6fc28cb662d1e0f0\numl\Supervised\DecisionTree\DecisionTreeGenerator.cs:line 172        at numl.Supervised.DecisionTree.DecisionTreeGenerator.Generate(Matrix x, Vector y) in z:\Builds\work\6fc28cb662d1e0f0\numl\Supervised\DecisionTree\DecisionTreeGenerator.cs:line 91        at numl.Learner.GenerateModel(IGenerator generator, Matrix x, Vector y, IEnumerable1 examples, Double trainingPct) in z:\Builds\work\6fc28cb662d1e0f0\numl\Learner.cs:line 143
at numl.Learner.<>c__DisplayClasse.b__d(Int32 i) in z:\Builds\work\6fc28cb662d1e0f0\numl\Learner.cs:line 110
at System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.b__c()
InnerException:

@DashNY you guys make the Dash App by any chance?

Nope, not me.


QR Barcode Scanner App Added

What does this PR do?
This application scans the QR code and Barcode and displays the embedded links and code.
Test Plan
This application is fully operational and works fine.
UI Improvement
This app can be modified for some new UI updates
Have you read the Contributing Guidelines?
Yes

@gargk747 The app is very nice. Thank you so much for your valuable contribution. Keep Contributing!

Give a start to our repo if you like it.


restore database gives error UnsupportedOperationException

I'm following this less than precise tutorial Data Mining The City

I've create the database from the studio and it shows in my databases folder as "soufun_db".
I downloaded the soufun.zip file into the directory "db" that I created in the orientdb folder
Then I connect to the"soufun_db" database from the console
     CONNECT remote:localhost/soufun_db admin admin
Then I run my restore database command
    "RESTORE DATABASE /home/mustafa/Desktop/orientdb-community-2.1.0/db/soufun.zip
Output is:

     "Restoring database database /home/.../soufun.zip
       Error: java.lang.UnsupportedOperationException: restore"

hi @MustafaAdam
remote restore is not supported  you should use
plocal connection


[wct] Update chalk to the latest version

We need to update chalk to the latest version. Besides adding new functionalities, it resolves issues with using it in vscode (see chalk changelog).

Closing due to inactivity.

Please consider re-opening this. The chalk package required by web-component-tester:
https://github.com/Polymer/tools/blob/2f5749613d1ecf5a396345b2888fe620b539e9e6/packages/web-component-tester/package.json#L63
is now three major versions out-of-date, and the API you're using is incompatible with the latest version.

I would if there would be a chance for it to get merged. As you can see it was open for over a year with no activity from maintainers, so there's not much I can do.


Blocking programatically

This plugin is also blocking programatically jump to other pages... that would be no need for pageviews if its not able to move right?

Sorry @KabluBR but I'm not sure to understand what you mean. Could you elaborate?

My fault, lol...
The thing is... when you configure to swipe only to one side, you cannot move to the opposite side programmatically.
So for an example, if you turn off swiping to the left, you cannot navigate by commands like "pageController.nextPage".
I was thinking on using it to not allow user to swipe to the next screen, but can swipe back to previous.
👍 Thanks!!!

@KabluBR not sure if this will be helpful to you but ...
We've had a similar requirement when using carousel_slider which I assume is pretty much a wrapper on top of PageView / PageController etc.
We do use LeftBlockedScrollPhysicsand RightBlockedScrollPhysics there, but what we do is that when we need to "scroll anyway" (in our case, we disallow swiping, but a button on the page allows to "go to next" anyway), we temporarily set the ScrollPhysics to a AlwaysScrollableScrollPhysics until the next page, and set it back to a "blocked" scroll once we are done moving.
I hope this helps a bit :P

Thank you for the answer! It is a good idea, I just don`t know how to change physics from inside a page of the pageview.

@KabluBR, @tsimbalar approach is the way to go. In order to manage this from the pages of your PageView you'll need to be able to conditionally rebuild the PageView. One option would be to use a StreamBuilder, and have a way to manage the stream from your pages (via blocs or by simply exposing the stream).

something like this:
double applyBoundaryConditions(ScrollMetrics position, double value) {
    final axisDirection =
        (position.pixels <= value) ? AxisDirection.up : AxisDirection.down;
    if (!flagCallback(axisDirection)) {
      return value - position.pixels;
    }

    return super.applyBoundaryConditions(position, value);
  }


Opening editor is slow with big files

Look into having computational heavy tasks happen on another thread, via web workers. Perhaps even just traj.compute off main thread would help.

Dard has been mentioning this issues as well. Especially during zoom sessions. Will be partly obviated by the new preference for having a single performance section for each uploaded audio file. But, still should be addressed, as part of editor refresh / modularize project.


Issue with multiprocessing

I am getting the following error while trying implement batch processing
C:\ProgramData\Miniconda3\envs\syncerti\lib\multiprocessing\reduction.py in dump(obj, file, protocol)      58 def dump(obj, file, protocol=None):      59     '''Replacement for pickle.dump() using ForkingPickler.''' ---> 60     ForkingPickler(file, protocol).dump(obj) AttributeError: Can't pickle local object 'Sharpen.<locals>.create_matrices'
This is happening during batch augmentor phase. if I use small augmentation pipeline, everything is working but if use heavy augmentation (like 10 -15 augmentations) my code blows and throws this error.

The convolutional augmenters transfer functions to the background processes in order to dynamically generate convolution kernels per image. That process can cause problems due to the transfer of the functions. Might need some further improvement. Usually it should work though. Are you using the augmentation sequence stand-alone or closely coupled with something else (e.g. Keras' fit_generator function)? Otherwise it might be somehow related to the windows versions of libraries.
Anyways, you should be able to get rid of this error by removing the following augmenters: Convolve, Sharpen, Emboss, EdgeDetect, DirectedEdgeDetect.

I think I've managed to work with Convolution based augmenters and multiprocessing (at least in pytorch).
I'm getting the closure create_matrices out to a wrapper class, create an instance of that class instead and pass the method. This required a minor modification to convolutional.py
For example for MotionBlur:
 import imgaug as ia
 from imgaug.augmenters import convolutional as iaa_convolutional
 from imgaug import augmenters as iaa

 class CreateMatricesWrapper:
     '''

     '''
     def __init__(self, k_param, angle_param, direction_param, order):
         self.k_param = k_param
         self.angle_param = angle_param
         self.direction_param = direction_param
         self.order = order

     def create_matrices(self, image, nb_channels, random_state_func):
         # avoid cyclic import between blur and geometric
         from imgaug.augmenters import geometric as iaa_geometric

         # force discrete for k_sample via int() in case of stochastic parameter
         k_sample = int(self.k_param.draw_sample(random_state=random_state_func))
         angle_sample = self.angle_param.draw_sample(random_state=random_state_func)
         direction_sample = self.direction_param.draw_sample(random_state=random_state_func)

         k_sample = k_sample if k_sample % 2 != 0 else k_sample + 1
         direction_sample = np.clip(direction_sample, -1.0, 1.0)
         direction_sample = (direction_sample + 1.0) / 2.0

         matrix = np.zeros((k_sample, k_sample), dtype=np.float32)
         matrix[:, k_sample // 2] = np.linspace(float(direction_sample), 1.0 - float(direction_sample), num=k_sample)
         rot = iaa_geometric.Affine(rotate=angle_sample, order=self.order)
         matrix = (rot.augment_image((matrix * 255).astype(np.uint8)) / 255.0).astype(np.float32)

         return [matrix / np.sum(matrix)] * nb_channels

def MotionBlur(k=5, angle=(0, 360), direction=(-1.0, 1.0), order=1, name=None, deterministic=False, random_state=None):
    """
    Blur images in a way that fakes camera or object movements.
    dtype support::
        See ``imgaug.augmenters.convolutional.Convolve``.
    Parameters
    ----------
    k : int or tuple of int or list of int or imgaug.parameters.StochasticParameter, optional
        Kernel size to use.
            * If a single int, then that value will be used for the height
              and width of the kernel.
            * If a tuple of two ints ``(a, b)``, then the kernel size will be
              sampled from the interval ``[a..b]``.
            * If a list, then a random value will be sampled from that list per image.
            * If a StochasticParameter, then ``N`` samples will be drawn from
              that parameter per ``N`` input images, each representing the kernel
              size for the nth image.
    angle : number or tuple of number or list of number or imgaug.parameters.StochasticParameter, optional
        Angle of the motion blur in degrees (clockwise, relative to top center direction).
            * If a number, exactly that value will be used.
            * If a tuple ``(a, b)``, a random value from the range ``a <= x <= b`` will
              be sampled per image.
            * If a list, then a random value will be sampled from that list per image.
            * If a StochasticParameter, a value will be sampled from the
              parameter per image.
    direction : number or tuple of number or list of number or imgaug.parameters.StochasticParameter, optional
        Forward/backward direction of the motion blur. Lower values towards -1.0 will point the motion blur towards
        the back (with angle provided via `angle`). Higher values towards 1.0 will point the motion blur forward.
        A value of 0.0 leads to a uniformly (but still angled) motion blur.
            * If a number, exactly that value will be used.
            * If a tuple ``(a, b)``, a random value from the range ``a <= x <= b`` will
              be sampled per image.
            * If a list, then a random value will be sampled from that list per image.
            * If a StochasticParameter, a value will be sampled from the
              parameter per image.
    order : int or iterable of int or imgaug.ALL or imgaug.parameters.StochasticParameter, optional
        Interpolation order to use when rotating the kernel according to `angle`.
        See :func:`imgaug.augmenters.geometric.Affine.__init__`.
        Recommended to be ``0`` or ``1``, with ``0`` being faster, but less continuous/smooth as `angle` is changed,
         particularly around multiple of 45 degrees.
     name : None or str, optional
         See :func:`imgaug.augmenters.meta.Augmenter.__init__`.
     deterministic : bool, optional
         See :func:`imgaug.augmenters.meta.Augmenter.__init__`.
     random_state : None or int or imgaug.random.RNG or numpy.random.Generator or
         numpy.random.bit_generator.BitGenerator or numpy.random.SeedSequence or numpy.random.RandomState, optional
         See :func:`imgaug.augmenters.meta.Augmenter.__init__`.
     Examples
     --------
     >>> aug = iaa.MotionBlur(k=15)
     Apply motion blur with a kernel size of ``15x15`` pixels to images.
     >>> aug = iaa.MotionBlur(k=15, angle=[-45, 45])
     Apply motion blur with a kernel size of ``15x15`` pixels and a blur angle
     of either ``-45`` or ``45`` degrees (randomly picked per image).
     """
     # TODO allow (1, None) and set to identity matrix if k == 1
     k_param = iap.handle_discrete_param(k, "k", value_range=(3, None), tuple_to_uniform=True, list_to_choice=True,
                                         allow_floats=False)
     angle_param = iap.handle_continuous_param(angle, "angle", value_range=None, tuple_to_uniform=True,
                                               list_to_choice=True)
     direction_param = iap.handle_continuous_param(direction, "direction", value_range=(-1.0 - 1e-6, 1.0 + 1e-6),
                                                   tuple_to_uniform=True, list_to_choice=True)

     if name is None:
         name = "Unnamed%s" % (ia.caller_name(),)

     cmw = CreateMatricesWrapper(k_param, angle_param, direction_param, order)

     return iaa_convolutional.Convolve(cmw.create_matrices, name=name, deterministic=deterministic,
                                       random_state=random_state)

and in convolutional.py changed:
...
      elif isinstance(matrix, types.FunctionType):
          self.matrix = matrix
          self.matrix_type = "function"
...

to:
...
      elif isinstance(matrix, (types.FunctionType, types.MethodType)):
          self.matrix = matrix
          self.matrix_type = "function"
...


Overseerr

Hi,
how does this work with Overseerr?
Or this only works with the predefinate apps?

Hi, this works only with predefined apps, I manually create the iframes.

how does this work with Overseerr?

Do you want an iframe to show your media requests on Overseerr? If so, you can use the "Media Requests" built-in widget.

I wanted to use Overseerr requests for homepage (https://github.com/gethomepage/homepage) in an iframe
Is this possible?

Maybe you reach more people if you offer this not just for homarr user

So, you want an iframe with your Overseerr requests, like the image below, so that you can use it on homepage?

Yes, I think this would be useful for more user

Ok, I can do it. I'll comment here when it's done.

works fine, thanks for your work!
looking forward to see more apps

I told the homepage Discord community about your repo  - hopefully you receive more stars


Gauge Auto Shift/ARS

From beatoraja and Sound Voltex.
The selected gauge type is the gauge you start on, and you can work your way down the gauge types (Death > ExHard > Hard > Normal <> Easy <> Assist Easy)

This has been achieved in LR2 by using an external hook.


"Modernize" many aspects of the plugin

Update Gradle and all dependencies to the latest available versions.
Use the kotlin-dsl plugin to use Kotlin-specific Gradle extension functions that simplify a few lines of code.
Don't catch and swallow exceptions; let the user decide what to do instead.
Use the task's logger for logging.

Only log a minimum by default and remove the verbose option in favor of giving more details in the info and debug log levels.
Make logged file paths clickable.

Fix source directories lookup relying on known plugins being applied on the same project, breaking for scenarios where a root project aggregates JaCoCo reports.
Remove the extension in favor of task properties and make the default task name accessible. This allows users to set up multiple tasks while also being able to configure the single default task that's automatically added when applying the plugin.
Use known constants, e.g., for the task's group name.
Add support for the JaCoCo and JaCoCo Report Aggregation plugins by default without requiring additional configuration.
Update the Readme for all changes.

Resolves #8.

Apologies for just dropping such a big PR here!
I had a few needs to adjust the plugin to support being applied in a root project that aggregates multiple reports from various subprojects. This PR makes that work, but also "modernizes" the rest of the plugin at the same time. I've tested it in my own projects with great results.
Let me know if this seems useful. I'm happy to look into changing anything or splitting up this PR further, should that be of interest.
Thanks for open-sourcing this in the first place ❤

Hello, thanks for take the time to do all that. let me know when you think you're done with it, I'll do some tests and Merge it.

@razvn I've just finished some final tests of this on my private projects. This PR is good to review/test now 🙇

@razvn this would help significantly with source directory lookup 🙌  Is there anything that would block merging?

Sorry busy times I'll check and validate it and make the new release this weekend.

Made a few updates, got to do some git config before pushing them but I don't have time right now. I'll try to do it asap.

@martinweu Yes! The changes in this PR result in the configuration cache working with this plugin and all its tasks. I've been running these changes for months on internal projects without issues and can thus properly confirm it that way as well.

@razvn is there a way you can release a beta version for this? I would have the possibility to try it on a multi-module project. (however not a multi-platform project)


This demo doesn't work

What doesn't work exactly? Without an error log or more information I'm unable to help.

maybe is because by default the code is using firebase instead of the mock


PHPCast: Now playing text not resetting on playback finish.

When a song naturally stops playing the playing song text does not reset back to 'Nothing is playing...' This function needs to automatically update when the playback stops this issue is a cosmetic issue.

This issue was fixed by #12 This issue has been closed.


Two login buttons in header

Describe the bug
Two login buttons are displaying in the navbar.
Expected behavior
Only one login button should be there.
Screenshots (Mandatory)

Additional Context (Mandatory )
Are you contributing under any open-source program ?
Yes I am contributing under GSSOC 2024

can you please assign me this issue to fix it

@parkhibhandula already #696 is present there regarding this issue . So sorry to close this issue . But u can still raise new issues on which u want to work on.


Fixed compatibility with Python3

It's unfortunate to see the Python3 pull requests on this library left hanging. Should this project be considered dead at this point? Is there a better / currently maintained repo we should be using?


Option to disable .viv workspace creation

on a related note of capa/vivisect, is there any way (e.g. command-line switch parameter) to disable the creation of the extra ".viv" workspace file?
Originally posted by @evandrix in https://github.com/vivisect/vivisect/issues/383#issuecomment-808953663

should we disable all viv file creation? still use the viv if it happens to be there, but not create them ourselves?
this would reduce clutter on users' systems but reduce performance in the case that capa is run multiple times on the same program.

hmm, I'm torn as I like the performance boost on multiple runs but can see how it can be unnecessary or even confusing to create the workspaces for most users
@evandrix in what way are the viv files causing issues for you?

it's more a pain point / convenience if there was such an option, than a real issue that needs help fixing
my use case: "on a 48-core, 128GB Linux VM on ESXi, I have a corpus of 500k+ malware samples in a folder, that i'm running capa on, via parallel (initially was using the capa release binary, later switched to pip-installing capa + git cloneing capa-rules, because of all the _MEI* folders it was creating under /tmp - which I later found could be configured to pwd) all i want out of doing this is input:malware sample binary => output:list of values that are in the "mbc" fields of the output JSON
the execution died when i ran out of space on /tmp, due to the _MEI* folders (typical for a PyInstaller exe), and then later ran out of space on pwd, because the .viv can be substantially large, as i later found out

additionally, more details of how i'm running it, for your reference here https://github.com/fireeye/capa/issues/509
it doesn't complete on those samples mentioned in that issue, for some reason

i feel your pain :-)
when we run floss and capa within our pipelines, we restrict the resources and bail if its looking like the analysis won't work. for example, i think we set runtime cap at 5mins and memory usage at maybe 1GB. in our experience, if this isn't enough, its unlikely that waiting longer or working harder is likely going to make much difference.

see discussion here: https://github.com/fireeye/capa/discussions/581
re-raising the idea of disabling .viv creation by default

If we disable it by default, which may make sense for the general user only running capa once on a sample, we should add an option and/or a config file we can use to enable it for (rule) developers.

what if we just support running capa against existing .viv files and leave it up to rule authors to generate .viv files, such as with vivbin -B malware.exe, if they want this performance boost?

I'm against the additional step to create the viv file. I'm more and more leaning towards a profile/config file. That could store things like shown below and be reused by the IDA plugin.
SAVE_WORKSPACE = True
RULE_USER_NAME = @mr-tz
RULES_DIR = /home/user/rules
...

https://github.com/welbornprod/easysettings

during weekly phone sync, we generally agreed to disable workspace creation by default, while keeping an option to enable for advanced users, such as rule developers.
TODO: explain rational here

TODO: describe how this will be configured

Adding to this, I think we can easily use both 3) and 1) (at a later point) in tandem.
We currently have the analyzing program spinner. Maybe we can extend this to indicate how users can potentially speed things up if they analyze files multiple times, e.g.
a)
$ capa sample.exe
loading : 100%|██████| 582/582 [00:00<00:00, 1292.01 rules/s]
\ analyzing program (program analysis .viv file is not saved, enable saving via CAPA_SAVE_WORKSPACE to speed up future analysis of this file)

or in a separate line
b)
$ capa sample.exe
loading : 100%|██████| 582/582 [00:00<00:00, 1292.01 rules/s]
program analysis .viv file is not saved, enable saving via CAPA_SAVE_WORKSPACE to speed up future analysis of this file
\ analyzing program


dcmartin/open-horizon selected

Here is selected subset of content from dcmartin/open-horizon/, including setup for Open Horizon exchange/ and EdgeX Foundry edgex/ as well as makefiles and scripts for basic CI/CD process.

Thanks for contributing.  As discussed, we've not yet begun accepting unsolicited contributions, and each contribution should be related to an open issue.


bump build number to trigger new build

Anaconda Cloud is missing a 1.1.0 noarch: python build of the package,
https://anaconda.org/conda-forge/python-oauth2/files?version=1.1.0
which cases issue when using --strict-channel-priority in a Python 3.7 environment with package which require python-oauth2, for example conda-forge/conda-feedstock#92.

You were faster than me :-)
But can we go with #4 b/c of the license file?

But can we go with #4 b/c of the license file?

Sounds good to me!


flash.bat for the intel edison doesnt work with Github shell

Currently it seems Github shell is not capable of running flash.bat and one has to be sure to use powershell to run flash.bat and flash and intel edison.

switched Edison getting started to recommend Flash Lite utility as default, so this shouldn't be a necessary update any more


Error when replying to code comment from "Conversation" tab

Description
Replying to a code comment from "Conversation" tab gives an error on https://demo.gitea.com.
When replying to the same comment from the "Files Changed" tab, it works fine.
JS error:
Error: TypeError: e.closest(...) is null
    C0 repo-diff.ts:58
    Be dom.ts:361
repo-diff.ts:90:14
    C0 repo-diff.ts:90
    Be dom.ts:361

Gitea Version
1.23.0+dev-727-ga1f56f83bf
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots

Git Version
No response
Operating System
No response
How are you running Gitea?
https://demo.gitea.com/jpraet/test/pulls/1
Database
None

Could be a regression from #32596.

Fix JS error when reply commenton Conversation page #32685