White LED lamp connection issues

I managed to install the integration and sync my account and it fetched the correct light bulb. Integration added the light entity correctly but I cannot interact with it. For what I can gather from the logs, it clearly finds something but isn't quite happy:
2021-01-17 18:40:50 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 5.009 seconds
2021-01-17 18:40:50 INFO (MainThread) [custom_components.awox.awox_mesh] Shutdown mesh
2021-01-17 18:40:50 INFO (MainThread) [custom_components.awox] setup config flow entry {'mesh_name': 'xxxxxx', 'mesh_password': 'xxxxxx', 'mesh_key': 'xxxxx', 'devices': [{'mesh_id': xxxxx, 'name': 'EGLOBulb', 'mac': 'a4:c1:xx:xx:xx:xx', 'model': 'ESMLm-w9w', 'manufacturer': 'AwoxByEglo', 'firmware': '1.6.27', 'hardware': '4.0', 'type': '.ble.tlmesh.light.switch.white.dimming.', 'supported_features': 1}]}
2021-01-17 18:40:50 DEBUG (MainThread) [custom_components.awox.light] entry [{'mesh_id': xxxxx, 'name': 'EGLOBulb', 'mac': 'a4:c1:xx:xx:xx:xx', 'model': 'ESMLm-w9w', 'manufacturer': 'AwoxByEglo', 'firmware': '1.6.27', 'hardware': '4.0', 'type': '.ble.tlmesh.light.switch.white.dimming.', 'supported_features': 1}]
2021-01-17 18:40:50 INFO (MainThread) [custom_components.awox.awox_mesh] Registered [a4:c1:xx:xx:xx:xx] xxxxx
2021-01-17 18:40:50 INFO (MainThread) [custom_components.awox.light] setup entry [xxxxx] EGLOBulb
2021-01-17 18:40:50 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 18:40:50 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 18:40:50 ERROR (MainThread) [custom_components.awox.awox_mesh] Error fetching awox data: No device connected

Sometimes it doesn't want to connect the first time. Not exactly sure yet why, but normally it will a second or third attempt.
It should try to connect again after 30seconds.

Sometimes it doesn't want to connect the first time. Not exactly sure yet why, but normally it will a second or third attempt.
It should try to connect again after 30seconds.

Yeah it seems that it tries to reconnect but now it get following errors in regular basis:
2021-01-17 20:40:48 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:40:49 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)]
2021-01-17 20:40:49 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 1.612 seconds
2021-01-17 20:41:19 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:41:19 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 20:41:19 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.849 seconds
2021-01-17 20:41:49 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:41:49 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 20:41:49 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.550 seconds
2021-01-17 20:42:19 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:42:19 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)]
2021-01-17 20:42:19 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.827 seconds
2021-01-17 20:42:49 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:42:49 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 20:42:49 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.497 seconds

Other bluetooth devices work just fine

Yeah it seems that it tries to reconnect but now it get following errors in regular basis:
2021-01-17 20:40:48 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:40:49 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)]
2021-01-17 20:40:49 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 1.612 seconds
2021-01-17 20:41:19 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:41:19 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 20:41:19 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.849 seconds
2021-01-17 20:41:49 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:41:49 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 20:41:49 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.550 seconds
2021-01-17 20:42:19 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:42:19 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)]
2021-01-17 20:42:19 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.827 seconds
2021-01-17 20:42:49 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 20:42:49 WARNING (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Failed to connect to peripheral a4:c1:xx:xx:xx:xx, addr type: public]
2021-01-17 20:42:49 DEBUG (MainThread) [custom_components.awox.awox_mesh] Finished fetching awox data in 0.497 seconds

Other bluetooth devices work just fine

Is it close enough to the HA system to connect?
With the 0.0.2 version you should get a rssi value in the logs. On startup is tries to detect which device from the mesh is closest

Is it close enough to the HA system to connect?
With the 0.0.2 version you should get a rssi value in the logs. On startup is tries to detect which device from the mesh is closest

Yeah I've been testing that the bulb is right next to the server.
When I scan for devices with bluetoothctl it finds the MAC address which matches the mesh name:
A4:C1:xx:xx:xx:xx Caylxxxxx
Here's more log after updating to 0.0.2:
2021-01-17 21:29:36 INFO (MainThread) [custom_components.awox] setup config flow entry {'mesh_name': 'Caylxxxxx', 'mesh_password': 'xxxxxxxx', 'mesh_key': 'xxxxxxxx', 'devices': [{'mesh_id': xxxxx, 'name': 'EGLOBulb', 'mac': 'a4:c1:xx:xx:xx:xx', 'model': 'ESMLm-w9w', 'manufacturer': 'AwoxByEglo', 'firmware': '1.6.27', 'hardware': '4.0', 'type': '.ble.tlmesh.light.switch.white.dimming.', 'supported_features': 1}]}
2021-01-17 21:29:36 DEBUG (AwoxMeshCommands-Caylxxxxx) [custom_components.awox.awox_mesh] get item from queue
2021-01-17 21:29:36 DEBUG (MainThread) [custom_components.awox.light] entry [{'mesh_id': xxxxx, 'name': 'EGLOBulb', 'mac': 'a4:c1:xx:xx:xx:xx', 'model': 'ESMLm-w9w', 'manufacturer': 'AwoxByEglo', 'firmware': '1.6.27', 'hardware': '4.0', 'type': '.ble.tlmesh.light.switch.white.dimming.', 'supported_features': 1}]
2021-01-17 21:29:36 INFO (MainThread) [custom_components.awox.awox_mesh] Registered [a4:c1:xx:xx:xx:xx] xxxxx
2021-01-17 21:29:36 INFO (MainThread) [custom_components.awox.light] setup entry [xxxxx] EGLOBulb
2021-01-17 21:30:06 INFO (MainThread) [custom_components.awox.awox_mesh] Search for AwoX devices to find closest (best rssi value) device
2021-01-17 21:30:06 INFO (MainThread) [custom_components.awox.scanner] Scanning 30 seconds for AwoX bluetooth mesh devices!
2021-01-17 21:30:36 DEBUG (MainThread) [custom_components.awox.awox_mesh] devices: {'a4:c1:xx:xx:xx:xx': {'mac': 'a4:c1:xx:xx:xx:xx', 'name': 'Caylxxxxx', 'rssi': None}}
2021-01-17 21:30:36 INFO (MainThread) [custom_components.awox.awox_mesh] async_update: Request status
2021-01-17 21:30:36 DEBUG (AwoxMeshCommands-Caylxxxxx) [custom_components.awox.awox_mesh] process 0/0 - {'command': 'requestStatus', 'params': {'dest': xxxxx, 'withResponse': True}, 'callback': <function AwoxMesh._async_add_command_to_queue.<locals>.command_executed at 0x7f1141cdbc10>, 'allow_to_fail': False}
2021-01-17 21:30:36 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['tryconn'], 'dst': ['a4:c1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 21:30:37 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['conn'], 'dst': ['a4:c1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]
2021-01-17 21:30:37 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)]

Yeah I've been testing that the bulb is right next to the server.
When I scan for devices with bluetoothctl it finds the MAC address which matches the mesh name:
A4:C1:xx:xx:xx:xx Caylxxxxx
Here's more log after updating to 0.0.2:
2021-01-17 21:29:36 INFO (MainThread) [custom_components.awox] setup config flow entry {'mesh_name': 'Caylxxxxx', 'mesh_password': 'xxxxxxxx', 'mesh_key': 'xxxxxxxx', 'devices': [{'mesh_id': xxxxx, 'name': 'EGLOBulb', 'mac': 'a4:c1:xx:xx:xx:xx', 'model': 'ESMLm-w9w', 'manufacturer': 'AwoxByEglo', 'firmware': '1.6.27', 'hardware': '4.0', 'type': '.ble.tlmesh.light.switch.white.dimming.', 'supported_features': 1}]}
2021-01-17 21:29:36 DEBUG (AwoxMeshCommands-Caylxxxxx) [custom_components.awox.awox_mesh] get item from queue
2021-01-17 21:29:36 DEBUG (MainThread) [custom_components.awox.light] entry [{'mesh_id': xxxxx, 'name': 'EGLOBulb', 'mac': 'a4:c1:xx:xx:xx:xx', 'model': 'ESMLm-w9w', 'manufacturer': 'AwoxByEglo', 'firmware': '1.6.27', 'hardware': '4.0', 'type': '.ble.tlmesh.light.switch.white.dimming.', 'supported_features': 1}]
2021-01-17 21:29:36 INFO (MainThread) [custom_components.awox.awox_mesh] Registered [a4:c1:xx:xx:xx:xx] xxxxx
2021-01-17 21:29:36 INFO (MainThread) [custom_components.awox.light] setup entry [xxxxx] EGLOBulb
2021-01-17 21:30:06 INFO (MainThread) [custom_components.awox.awox_mesh] Search for AwoX devices to find closest (best rssi value) device
2021-01-17 21:30:06 INFO (MainThread) [custom_components.awox.scanner] Scanning 30 seconds for AwoX bluetooth mesh devices!
2021-01-17 21:30:36 DEBUG (MainThread) [custom_components.awox.awox_mesh] devices: {'a4:c1:xx:xx:xx:xx': {'mac': 'a4:c1:xx:xx:xx:xx', 'name': 'Caylxxxxx', 'rssi': None}}
2021-01-17 21:30:36 INFO (MainThread) [custom_components.awox.awox_mesh] async_update: Request status
2021-01-17 21:30:36 DEBUG (AwoxMeshCommands-Caylxxxxx) [custom_components.awox.awox_mesh] process 0/0 - {'command': 'requestStatus', 'params': {'dest': xxxxx, 'withResponse': True}, 'callback': <function AwoxMesh._async_add_command_to_queue.<locals>.command_executed at 0x7f1141cdbc10>, 'allow_to_fail': False}
2021-01-17 21:30:36 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['tryconn'], 'dst': ['a4:c1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]
2021-01-17 21:30:36 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 21:30:37 DEBUG (SyncWorker_8) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['conn'], 'dst': ['a4:c1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]
2021-01-17 21:30:37 INFO (MainThread) [custom_components.awox.awox_mesh] [a4:c1:xx:xx:xx:xx][EGLOBulb] Failed to connect, trying next device [Bluetooth command failed (code: 14, error: Request attribute has encountered an unlikely error)]

[custom_components.awox.awox_mesh] devices: {'a4:c1:xx:xx:xx:xx': {'mac': 'a4:c1:xx:xx:xx:xx', 'name': 'Caylxxxxx', 'rssi': None}}

Looks like your Homeassistent system doesn't find the light after a 30 seconds scan of bluetoothctl (code is using bluetoothctl under the hood).
How long does it take to find the light if you run it manually?

[custom_components.awox.awox_mesh] devices: {'a4:c1:xx:xx:xx:xx': {'mac': 'a4:c1:xx:xx:xx:xx', 'name': 'Caylxxxxx', 'rssi': None}}

Looks like your Homeassistent system doesn't find the light after a 30 seconds scan of bluetoothctl (code is using bluetoothctl under the hood).
How long does it take to find the light if you run it manually?

Now it seems it found the signal:
2021-01-17 22:18:17 INFO (MainThread) [custom_components.awox.scanner] Scanning 30 seconds for AwoX bluetooth mesh devices!
2021-01-17 22:18:48 DEBUG (MainThread) [custom_components.awox.awox_mesh] devices: {'A4:C1:xx:xx:xx:xx': {'mac': 'A4:C1:xx:xx:xx:xx', 'name': 'Caylxxxx', 'rssi': -64}}
2021-01-17 22:18:48 INFO (MainThread) [custom_components.awox.awox_mesh] async_update: Request status
2021-01-17 22:18:48 DEBUG (AwoxMeshCommands-Caylxxxx) [custom_components.awox.awox_mesh] process 0/0 - {'command': 'requestStatus', 'params': {'dest': 65535, 'withResponse': True}, 'callback': <function AwoxMesh._async_add_command_to_queue.<locals>.command_executed at 0x7f113d786430>, 'allow_to_fail': False}
2021-01-17 22:18:48 INFO (MainThread) [custom_components.awox.awox_mesh] [A4:C1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['tryconn'], 'dst': ['A4:C1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['conn'], 'dst': ['A4:C1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]

But the light is still inoperable.
Another thing I noticed, when I reloaded the integration from the ui the HassOS's virtual machine outputs loads of these rows to console:
Bluetooth: hci0: advertising data len corrected
and cpu usage jumps to 100%

Now it seems it found the signal:
2021-01-17 22:18:17 INFO (MainThread) [custom_components.awox.scanner] Scanning 30 seconds for AwoX bluetooth mesh devices!
2021-01-17 22:18:48 DEBUG (MainThread) [custom_components.awox.awox_mesh] devices: {'A4:C1:xx:xx:xx:xx': {'mac': 'A4:C1:xx:xx:xx:xx', 'name': 'Caylxxxx', 'rssi': -64}}
2021-01-17 22:18:48 INFO (MainThread) [custom_components.awox.awox_mesh] async_update: Request status
2021-01-17 22:18:48 DEBUG (AwoxMeshCommands-Caylxxxx) [custom_components.awox.awox_mesh] process 0/0 - {'command': 'requestStatus', 'params': {'dest': 65535, 'withResponse': True}, 'callback': <function AwoxMesh._async_add_command_to_queue.<locals>.command_executed at 0x7f113d786430>, 'allow_to_fail': False}
2021-01-17 22:18:48 INFO (MainThread) [custom_components.awox.awox_mesh] [A4:C1:xx:xx:xx:xx][EGLOBulb] Trying to connect
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['tryconn'], 'dst': ['A4:C1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - set timeout to 5
2021-01-17 22:18:48 DEBUG (SyncWorker_43) [custom_components.awox.awoxmeshlight] _waitResp - resp [{'rsp': ['stat'], 'state': ['conn'], 'dst': ['A4:C1:xx:xx:xx:xx'], 'mtu': [0], 'sec': ['low']}]

But the light is still inoperable.
Another thing I noticed, when I reloaded the integration from the ui the HassOS's virtual machine outputs loads of these rows to console:
Bluetooth: hci0: advertising data len corrected
and cpu usage jumps to 100%

Bluetooth: hci0: advertising data len corrected

Had also a lot of these messages last week. They went away after a reboot of the host.
Not sure what the reason was looked like the bluetooth adapter didn't correctly release some processes for some reason

Bluetooth: hci0: advertising data len corrected

Had also a lot of these messages last week. They went away after a reboot of the host.
Not sure what the reason was looked like the bluetooth adapter didn't correctly release some processes for some reason

Do you still have the high cpu load?

Sorry for delayed answer but haven't had time to tinker lately.
CPU load is not high anymore, but I still can't get the bulb to work.
I still get these messages in HassOS's virtual machine:
Bluetooth: hci0: advertising data len corrected
When I install the integration, it discovers my bulb, but I cannot interact with it.

There were some more connection improvements last month. But not directly related to the initial connect.
If you still have issues please provide some more logs.


Rename "API Reference" to "Add an OpenAPI specification to your documentation"

Context
We recently used this template to document an API, and very nearly missed the useful feature which automatically generates good-looking documentation from an OpenAPI spec. It was hidden under the the term "API reference", which is not very explicit.
Changes proposed in this pull request
Change the menu item "API reference" to "Incorporate an OpenAPI spec", and change the associated page title too.
While we're here, add a link to the swagger.io /about page to help those who don't know what OpenAPI is.
Guidance to review
a) agree/disagree that the existing menu item is a bit obscure
b) consider whether the replacement could be better worded

Reworded


Still works?

I start the project but nothing happens.

@XxStR abandoned

@oleghalin
That sad :/
Anyway, I'm updating thank you very much.

@XxStR check Arcana repo

@XxStR If you want I can try to help you.
You can share your code here or to t.me/KhalinOleg

@oleghalin  Thanks.
Project

@oleghalin Hi, did you get a view on the project?


Attempt waiting for bucket access before trying to launch workflow [QA-1679].

Add polling to make sure the user has bucket write location before we try to launch a workflow. Otherwise the launch will fail with a message in the dialog suggesting that they refresh and try again, and that is a difficult thing to work around in the integration test.
<!--
Hello, friend!
Remember to mention what sort of testing/verification you performed in the course of building this PR, i.e. checking functionality in the browser locally.
Thanks!
--!>

Very happy to see this flakiness fixed with a production-code solution that also helps users

Oh no, this change is just test-only. In the test, we are waiting for the bucket write access before we get to the point of launching the workflow.


Lily/LooksPlus: fix "this sprite" in clones

https://github.com/TurboWarp/extensions/issues/611

in hindsight it probably would've made sense to keep the menus working the same but add another option for eg. "myself", but oh well, we're stuck with this now


Improve styling for application

Centralise CSS colours to root
Minor changes to color scheme
Command input/output boxes styled to be more like cmd
** Just a preliminary change, can be improved with further PRs

Closes #49

Looks good!


Integration Test - Release - 2019/11/19 17:16:05

Auto create for integration test. IssueCommandFlow

#pri1

Just type '#pri3'

#pri2

#pri3

#assign PRMergerTest1

#assign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#reassign PRMergerTest2

GitHub user PRMergerTest2 has been removed from the MicrosoftDocs organization, so they were automatically removed as an assignee.

#reassign NonAllowedUser

NonAllowedUser is not a valid GitHub ID, or is not a collaborator on this repo.

#please-close


Feature/updating dependencies

Current coverage is 88.28% (diff: 100%)

Merging #11 into master will not change coverage

@@             master        #11   diff @@
==========================================
  Files             3          3
  Lines           128        128
  Methods          28         28
  Messages          0          0
  Branches         31         31
==========================================
  Hits            113        113
  Misses           15         15
  Partials          0          0

Powered by Codecov. Last update 912927a...646c52e


Update Azure ML tutorial screenshot

The Azure ML Quickstart tutorial (GitHub) includes a screenshot that no longer matches the code in the tutorial.
If a student fills in their credentials in the ml_client function call as directed by the screenshot, then the call to WS_NAME later ends up breaking.
Notebook's code:
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

# authenticate
credential = DefaultAzureCredential()

SUBSCRIPTION="<SUBSCRIPTION_ID>"
RESOURCE_GROUP="<RESOURCE_GROUP>"
WS_NAME="<AML_WORKSPACE_NAME>"
# Get a handle to the workspace
ml_client = MLClient(
    credential=credential,
    subscription_id=SUBSCRIPTION,
    resource_group_name=RESOURCE_GROUP,
    workspace_name=WS_NAME,
)

Existing screenshot:

@sdgilley

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

#sign-off -- I am the docs team owner of this article.

@Jak-MS I tried to sign-off but keep getting blocked.

@sdgilley - just FFR, even though automation throws an error if the file in the PR doesn't contain an author metadata value that matches the GitHub alias of the person signing off, the PR Review monitors the PRs twice a day to check if an authorized person (like yourself) has approved or signed off.


Codebase

When will the codebase be added ?

Hi,
The code might be available in the next two months. I cannot promise, but I'll try.

Hi,
Thanks for your interest, the initial codebase is given, and other parts will be ready soon. Enjoy!


:bug: use net.JoinHostPort instead of Sprintf

fmt.Sprintf doesn't work well in IPV6 env.
e.g. we expect [::1]:23456 instead of ::1:23456.
See: https://golang.org/pkg/net/#JoinHostPort and https://golang.org/pkg/net/#SplitHostPort
Etcd health check is matching if "serving client requests on " + listenUrl.Hostname() show up in the stderr.
Ref: https://github.com/etcd-io/etcd/blob/8037e6e08727d4a17649f782cb4dbc482b8fe780/embed/serve.go#L144
It's a little brittle, since listenUrl.Hostname() returns an IPV6  address w/o [], but stderr has [] around the address.

/assign @apelisse @hoegaarden

This looks like a really reasonable thing to do
/lgtm
@hoegaarden I'll let you approve.

/lgtm
/approve
thanks!


Redactor button - link to an asset doesn't allow you to attach asset

Description
In version 2.2.5 this is working fine. But in version 2.3.1 it is broken. Essentially, there are JS errors and therefore I am not able to link to an asset in a redactor field
Steps to reproduce

Have a redactor field with the link button to link to an asset
When you try to add an asset it is not possible to attach to the text (the select button on the asset selection modal is disabled)

Other information

Embedded Assets version: 2.3.1 (also tried with latest version)
Craft CMS version: 3.5.14

Thanks for reporting this, it's fixed now in Embedded Assets 2.4.2.


Clean up

Introduces trivial fixes and code clean-up.

Clean ups, some fixes and some additions for testing. Approved


Chapter 5: Electronic not translated

Section concerned
Chapter 5: Electronic not translated
Text concerned

Chapter not translated
Reference to VESC wich is not used anymore.

Correct text

Translate
Replace reference to VESC by reference to KYDBL 2430-1E

Updated issue


modify fn regex to allow non-English characters

When I use Chinese characters, the regex remove my title. Thus, I prefer the following change.

I understand the issue and it's a good point, however this solution cannot be used as it will result in a breaking change

Hi,
Sorry for the delay. It handles non English characters now


Disabling dates by a function is not working

Your Environment

flatpickr version used:
Browser name and version: chrome
OS and version: windows 10

Hi, I used the code from https://flatpickr.js.org/examples/#disabling-dates for disabling the weekends:
{
    "disable": [
        function(date) {
            // return true to disable
            return (date.getDay() === 0 || date.getDay() === 6);

        }
    ],
    "locale": {
        "firstDayOfWeek": 1 // start week on Monday
    }
}

And I added to my Jquery codes:
//set translations
                        flatpickr.localize(flatpickr.l10ns.pt);
                        flatpickr('.flatpickr-input');
                        //set format
                        $('.flatpickr-input').each( function(){
	flatpickr( $(this)[0] ).set('dateFormat', 'dd/mm/yyyy');
	flatpickr( $(this)[0] ).set('disable', function( date) { return (date.getDay() === 0 || date.getDay() === 6); });
						});

But it's not working. I also wrote to Stackoverflow and Elementor but nobody could find out the problem. Could you please check it out?
if you need all jQuery file: https://codepen.io/bulut-duman/pen/JQgRYq

As per the documentation, the function needs to be inside of an array for disable.
flatpickr( $(this)[0] ).set('disable', [function( date) { return (date.getDay() === 0 || date.getDay() === 6); }]);
As said yesterday, this is not an issue with flatpickr. Please don't open any other issues unless you confirm that the problem is with flatpickr itself. We have too little time to put into this project without having to debug other people's code.

but who can help me with it? I tried copied and pasted the code, still not working

yes, i am also facing this issue


this program crashes after i put in a chonky function

i put in sin(x)=cos(y) and then zoomed out and it crashed
fix pls

C:\Users\Michael\Documents\Programming\github\YEquals\debug\debug_1636970530.3316612.log

debug_1636970530.3316612.log

use control +/- instead of ,mouse wheel


[RFE] change API call to collect more data

Hi @ecoen66
wanted to check if you might be interested in evolving the code for gathering not just the overview of the site but some more information as the following:
oveview API return the following info:
<overview> <lastUpdateTime>2020-05-15 10:29:15</lastUpdateTime> <lifeTimeData> <energy>1.5900604E7</energy> <revenue>4820.456</revenue> </lifeTimeData> <lastYearData> <energy>3811718.0</energy> </lastYearData> <lastMonthData> <energy>585475.0</energy> </lastMonthData> <lastDayData> <energy>8780.0</energy> </lastDayData> <currentPower> <power>1197.2842</power> </currentPower> <measuredBy>INVERTER</measuredBy> </overview>
the proposal is to use currentPowerFlow API instead which return the following info:
<siteCurrentPowerFlow> <updateRefreshRate>3</updateRefreshRate> <unit>kW</unit> <GRID> <status>Active</status> <currentPower>0.0</currentPower> </GRID> <LOAD> <status>Active</status> <currentPower>1.07</currentPower> </LOAD> <PV> <status>Active</status> <currentPower>2.53</currentPower> </PV> <STORAGE> <status>Charging</status> <currentPower>1.46</currentPower> <chargeLevel>26</chargeLevel> <critical>false</critical> </STORAGE> <connections> <connection> <from>PV</from> <to>Load</to> </connection> <connection> <from>PV</from> <to>Storage</to> </connection> </connections> </siteCurrentPowerFlow>
currentPowerFlow could be then used to represent:

a light sensor showing GRID consumption/feed (unit is KW although represented in lux)
a light sensor showing HOUSE/SITE consumption (unit is KW although represented in lux)
a light sensor showing PV production (unit is KW although represented in lux)
a light sensor showing BATTERY load (unit is KW although represented in lux)
a humidity sensor showing BATTERY state of charge (unit is %)

what do you think?

@stepir That sounds like it would work.  My inverter does not support that API, so I won’t be developing the code for that.
Feel free to create a fork off of my code and add what you need.

I've done it - but I have never coded before so was only able to do it given I just changed your. I don't it's properly written to publish it for others.
Thanks anyway your work was very helpful!

@stepir That looks great!  You should go ahead and publish it so others can learn from it (and use it for their homes).  I would love to look at your code.  I was thinking of modifying my code to send actual kW day to HomeKit first the Eve app.  Eve has a lot more dat that it knows how to display, and it can track history as well.
For a good example of an Accessory that shows a little information in Home, but a lot of information in Eve, just add homebridge-ws to your homebridge.

I think you can use fakegato-history for it!
I've created a private repo for my code - here is the code. There is a lot of space of improvement - eg collecting the info once and pass it over the to the right accessories.

Hi, uploading it allows other to review and maybe improve it. But great job!
Best,
Frank
Send from my mobile device

Op 16 mei 2020 om 16:45 heeft stepir<EMAIL_ADDRESS>het volgende geschreven:

I think you can use fakegato-history for it!
I've created a private repo for my code - here is the code. There is a lot of space of improvement - eg collecting the info once and pass it over the to the right accessories.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

thanks it's available here
https://github.com/stepir/homebridge-solaredge


Make boss a default module

update defaults
add documentation
set version to 4.0 (no beta/alpha)

What is "boss"? :)

@phillipadsmith "GUI based Concierge module management (boss is to Concierge what luci is to OpenWRT)"

Basically it is a way to make interacting with and setting up the entire system easier, plus gives some debugging tools.
You can test out the current (mostly working) version by /kpm install boss, then go to port 8080 and login as admin:admin. Note to install it you need at least NPM version 3.10.0 - not sure why, but the older NPMs seem to fail to install all of its dependencies properly.


onboarding: Remove hotspot scroll past menu sidebar.

In "hotspots.js" remove "scroll" from hotspot update UI event list.
Motive: To prevent hotspot from moving past menu sidebar when scrolling down.
Fixes: https://github.com/zulip/zulip/issues/20526
Screenshots and screen captures:
https://user-images.githubusercontent.com/53523512/163091602-85dcd2ca-7154-427d-b308-f9a8a7806c79.mp4
Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Thanks for working on this! I would expect the hotspot to scroll with the associated content until it gets to the edge, rather than remaining fixed in place.

Hi @alya! Thanks for taking a look at this! Is this what we're looking for?
https://user-images.githubusercontent.com/53523512/163259576-a28e27d7-7ea6-4a1a-9e52-0855f5a01209.mp4

Yeah, that seems reasonable to me!

Hi @alya, this should be ready for review!


How to build this?

how can I build this?
what are the requirements?

Thanks! It looks useful.

Use PlatformIO to build or upload it.
The requirements is in the file platformio.ini


Step target example broken

Separated from a private correspondence:  the RNA-seq DE example workflow now is broken.  To reproduce:
cd sos-docs/src/examples
sos run RNASeqDE.ipynb align -j 2 --samples SRR1039508

Error message:
ERROR: Multiple steps hg19_reference_1, hg19_reference_2, hg19_reference_3 to generate target sos_step("hg19_reference")

This used to work, though. I guess maybe it is similar to issue in #981 introduced due to recent changes of target dependency codes.

In this example, you have
[hg19_reference_1 (download)]
[hg19_reference_2 (decompress hg19.fa)]
[hg19_reference_3 (gene annotations)]

and then
depends: sos_step('hg19_reference')

so are you depending on a subworkflow?

Yes. I wonder if this is okay, because I believe it used to work.

I never knew it worked, so I would say it was an undefined behavior and we need to formalize now. It is like triggering a subworkflow from dependents. I mean, if you can do
[sub_1]
[sub_2]

[step]
depends: sos_step('sub')

instead of
[sub_1]
[sub_2]

[step]
sos_run('sub')

why would not we allow formal workflow here?
[A_1]
[A_2]
[B_1]

[step]
depends: sos_step('A+B')

Sorry I'm a bit confused. Is this a proposal? It seems reasonable, if not difficult ... right?

I do not know how difficult it is. I am just saying that the behavior was undefined before and triggers an error now, and if we are to support it, we are essentially allowing the triggering of an entire workflow, not just sos_step, and then if we are triggering workflow, sos_step('A+B') makes sense, then the name sos_step might be inappropriate though.

I see. I'm okay with the name sos_step though if we decide to support it.
But do we want to support it? It seems an natural extension and feature; but if it is not a robust feature and can cause potential problems we then would rather not have it? Currently we do not have an immediate need for it -- in the RNA-seq DE example I wanted to demonstrate the feature. Though I can also try to use file targets, the logic seems more intuitive with this dependency on the mini-workflow. What do you think?

In our manuscript, I specifically said something like: the trunk of the workflow can be outcome based where process-oriented subworkflows are triggered ... So conceptually speaking this is what we want to do, and we do not have an explicit syntax for it.

Indeed ... I guess we should formalize it. I think you've make it clear about the behavior, but we need new syntax like workflow_target() because we have file_target()? Or sos_workflow() similar to sos_variable()?

Yes, sos_workflow() is clearer than sos_step(workflow), but sos_step has caused enough trouble and I do not know if I want to stab into sos_workflow now.

a does not match a_1 etc now. The loophole was for a_0 as far as I remember but now a would not even match to a_0.

In your case
[hg19_reference_1 (download)]
[hg19_reference_2 (decompress hg19.fa)]
[hg19_reference_3 (gene annotations)]

[default]
depends: sos_step('hg19_reference')

would not work now, but
[hg19_reference_1 (download)]
[hg19_reference_2 (decompress hg19.fa)]
[hg19_reference_3 (gene annotations)]

[default]
depends: sos_step('hg19_reference_1'), sos_step('hg19_reference_2'), sos_step('hg19_reference_3')

would work. I am wondering if we can allow something like
[hg19_reference_1 (download)]
[hg19_reference_2 (decompress hg19.fa)]
[hg19_reference_3 (gene annotations)]

[default]
depends: sos_step('hg19_reference_*')

It is conceptually not a workflow, but multiple sos_step specified using a wildcard character.

I agree with not messing too much with the code at this moment until there is a real need. For mini-workflow, one can always do
[C]
sos_run('A+B')

[default]
depends: sos_step('C')

right? then it should be good to claim handling mini-workflows. But I think the _* case is one particular exception that worth a special handling. Because this is what people might often do -- the most common type of process-oriented subworkflow is one with numeric ordering. So i think it would be good to support sos_step('hg19_reference') directly and under the hood we expend it to match all steps.

There is a minor difference here: we claim the "connectedness" of workflow steps so in sos_run('a') we know that a_2 would inherit output from a_1. In sos_step('a_1'), sos_step)('a_2') (or sos_step('a') as you proposed), the steps are not connected and are executed as separate steps.
So in the end there might be a difference between
[C]
sos_run('A')

[default]
depends: sos_step('C')

and
[default]
depends: sos_step('A')

although the latter might just work in a majority of the cases.

ok, I can ensure order so sos_step('a') would essentially be sos_workflow('a'), which actually make the latter unnecessary because sos_workflow('a+b') is rarely needed and users can use the extra-step trick if needed.
The problem with the implementation is that we are using separate DAGs for sos_run('a') but in this case the steps would be added to the master DAG, which assumes one numerically ordered forward-style trunk. Adding multiple numerically ordered mini-workflows would complicate the DAG building (but not necessarily difficult though).

Hmm now I guess my nested dependency has made things more complicated:
$ sos run RNASeqDE.ipynb align --samples SRR1039508

ERROR: Defined output fail to produce expected output: /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/hg19.2bit /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/twoBitToFa generated, /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/genomeParameters.txt expected.

Unfortunately, sos_step('a') does not work because it fails to connect the input / output. Here is MWE:
[hg_1]
output: "1.txt"
run:
  touch 1.txt

[hg_2]
output: "2.txt"
run: expand = True
   echo {_input[0]} > 2.txt

[default]
depends: sos_step('hg')

and it throws IndexError: list index out of range

Okay, now I get this error:
$ sos run RNASeqDE.ipynb star
INFO: download (index=0) is ignored due to saved signature
INFO: output:   /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/hg19.2bit, /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/twoBitToFa
INFO: decompress hg19.fa (index=0) is ignored due to saved signature
INFO: output:   /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/hg19.fa
INFO: gene annotations (index=0) is ignored due to saved signature
INFO: output:   /home/gaow/GIT/LargeFiles/RNAseqDE/hg19/Homo_sapiens.GRCh38.91.gtf.gz
INFO: Target unavailable: sos_step("hg19_reference")
ERROR: Completed target sos_step("hg19_reference") is being re-executed. Please report this bug to SoS developers.

Trying to figure out how to trigger this bug from the test case
[a_1]
output: "a_1"
sh:
  echo whatever > a_1

[a_2]
output: "a_2"
sh: expand=True
  cp {_input} {_output}

[default]
depends: sos_step('a')

It was caused by the _ inside hg19_reference. Fixed now.

At this point I was able to test and verify separately the 2 commands:
sos run RNASeqDE.ipynb star
sos run RNASeqDE.ipynb align

but
sos run RNASeqDE.ipynb align

by itself still fails. See this thread for details: https://github.com/vatlab/SoS/issues/983#issuecomment-397780187

I see
$ sos run RNASeqDE.ipynb star
INFO: download (index=0) is ignored due to saved signature
INFO: output:   /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/hg19.2bit, /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/twoBitToFa
INFO: decompress hg19.fa (index=0) is ignored due to saved signature
INFO: output:   /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/hg19.fa
INFO: gene annotations (index=0) is ignored due to saved signature
INFO: output:   /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/Homo_sapiens.GRCh38.91.gtf.gz
STAR --runMode genomeGenerate \
   --genomeDir /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19 \
   --genomeFastaFiles /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/hg19.fa \
   --sjdbGTFtagExonParentTranscript /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/Homo_sapiens.GRCh38.91.gtf.gz \
   --runThreadN 4
Jun 16 14:13:27 ..... started STAR run
Jun 16 14:13:27 ... starting to generate Genome files

EXITING because of INPUT ERROR: could not open genomeFastaFile: /Users/bpeng1/GIT/LargeFiles/RNAseqDE/hg19/hg19.fa

Jun 16 14:13:27 ...... FATAL ERROR, exiting
ERROR: [star]: Executing script in docker returns an error (exitcode=104).
The script has been saved to /Users/bpeng1/sos/sos-docs/src/examples/.sos/docker_run_76367.sh. To reproduce the error please run:
docker run --rm   -v /private/tmp:/private/tmp -v /Users/bpeng1/sos/sos-docs/src/examples/.sos/docker_run_76367.sh:/var/lib/sos/docker_run_76367.sh    -t -P -w=/private/tmp -u<PHONE_NUMBER>:895809667    gaow/debian-ngs /bin/bash -ev /var/lib/sos/docker_run_76367.sh

I suppose this is because the Large file stuff is outside of the current working directory, right? Note that we do not mount home by default now.

@BoPeng yes. and I already updated the notebook to reflect the change, and added a note. Please pull the latest version.
currently the star pipeline by itself works though you are welcome to test it. The issue is, that we'd want that step to be triggered by align so people only have to type one command. It is designed that way, but not working now.

Yes, I have made a note that it requires 30g+ memory. My computer is 64G. This example is meant to be reproduced so I didn't make it external task. The other RNA seq example is external task with 96G memory requirement not meant to be reproduced.

Come on, I only ordered 32G of RAM for my new mac and thought that it would be enough even for virtual machines... Now I can not run the star step.

Well I guess that is why many people want to use tophat instead. But there is a sparse mode in STAR that will half the memory. I believe I have implemented its interface in this notebook too. I assume users can reserve an interactive cluster node for the full version though? I will make a note

BTW there should be no need to use VM for this one because I think most tools are dockerized. Maybe it fits if you don't use VM? My desktop is a $2600 Linux machine of 40 threads 64G memory ...

$ sos run RNASeqDE.ipynb align --samples SRR1039508

should be fixed.


Do not test upgrades on Travis

We reduce the tests in Travis so we do not hit the respective test timeout.
Upgrades are tested in GH [1] so this PR does not have an imparct in test coverage.
[1] https://github.com/ubuntu/microk8s/blob/master/.github/workflows/build-snap.yml#L42

@justinmclark this will fix some of the timeout failures we see in Travis.
@joedborg this works towards your plan to reduce the travis testing.

Is travis still going to be the long term CI? Or the plan is to fully use github actions?

Is travis still going to be the long term CI? Or the plan is to fully use github actions?

I do not have a preference, they are both great CI tools. We may want to keep both and have them testing separate use cases.
Your thoughts @balchua ?
The travis and GH actions play the role of PR gates. The actual CI is a jenkins that runs all the tests (*) before promoting the snap to the proper channels. The code for the jenkins jobs is in [2] and the snap builds are automated with launchpad builders [3].
(*) In travis and GH actions we run only what is marked with UNDER_PRESSURE [1].
[1] https://github.com/ubuntu/microk8s/blob/master/tests/test-addons.py#L86
[2] https://github.com/charmed-kubernetes/jenkins/tree/master/jobs/microk8s
[3] https://code.launchpad.net/~kos.tsakalozos/microk8s/+git/microk8s/+snaps

I don't have preference too. Im fine with travis and GH.
Since the installers are now using GH actions, I thought there's plan to also move microk8s build in GH actions.

GH actions do build the snap to run the tests.
The launchpad builders every few hours build the snap from the respective branch and push it to the edge channel. We could have had GH or travis do that if we shared the snapstore credentials. It is an option we haven't explored. The multipass team is doing that fro snaps.


syncthingtray-minimal: 1.6.1 -> 1.6.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Martchus/syncthingtray/releases.
meta.description for syncthingtray-minimal is: Tray application and Dolphin/Plasma integration for Syncthing
meta.homepage for syncthingtray-minimal is: https://github.com/Martchus/syncthingtray
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.6.2 with grep in /nix/store/s99b9lcwqs3v9ryi1x6dcwxpi37q6g5j-syncthingtray-1.6.2
found 1.6.2 in filename of file in /nix/store/s99b9lcwqs3v9ryi1x6dcwxpi37q6g5j-syncthingtray-1.6.2

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

syncthingtray
syncthingtray-minimal

Instructions to test this update (click to expand)

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

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

Or:
nix build github:r-ryantm/nixpkgs/68500452ba73f22f43332a42e31cc6b32a09e793#syncthingtray-minimal

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

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

2 packages built:

syncthingtray
syncthingtray-minimal

Maintainer pings
cc @doronbehar for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Repeating duplicate https://github.com/NixOS/nixpkgs/pull/341816 .


JONES, jETH, jgOHM, jDPX logos

Unable to open issue in sushiswap/default-token-list because the repo is This repository has been archived by the owner. It is now read-only..
The issue content would be:

[x] I understand that token listing is not required to use the SushiSwap Interface with a token.
[x] I understand that filing an issue or adding liquidity does not guarantee addition to the Sushi default token list.
[x] I will not ping the Discord about this listing request.

Please provide the following information for your token.
Network: Arbitrum
Token Address (checkSum): 0x10393c20975cF177a3513071bC110f7962CD67da
Token Name (from contract): Jones DAO
Token Decimals (from contract): 18
Token Symbol (from contract): JONES
SushiSwap V2 Pair Address of Token: 0xe8EE01aE5959D3231506FcDeF2d5F3E85987a39c
Link to sushiswap/assets PR: https://github.com/sushiswap/assets/pull/394
Link to the official homepage of token: https://jonesdao.io
Link to CoinMarketCap or CoinGecko page of token: https://coinmarketcap.com/currencies/jones-dao/
Link to official Twitter account: https://twitter.com/DAOJonesOptions

Network: Arbitrum
Token Address (checkSum): 0x662d0f9Ff837A51cF89A1FE7E0882a906dAC08a3
Token Name (from contract): Jones ETH
Token Decimals (from contract): 18
Token Symbol (from contract): jETH
SushiSwap V2 Pair Address of Token: 0xDF1A6Dd4E5b77d7F2143eD73074bE26c806754c5
Link to sushiswap/assets PR: https://github.com/sushiswap/assets/pull/394
Link to the official homepage of token: https://jonesdao.io
Link to CoinMarketCap or CoinGecko page of token: -
Link to official Twitter account: https://twitter.com/DAOJonesOptions

Network: Arbitrum
Token Address (checkSum): 0x5375616bB6c52A90439fF96882a986d8FCdCe421
Token Name (from contract): Jones gOHM
Token Decimals (from contract): 18
Token Symbol (from contract): jgOHM
SushiSwap V2 Pair Address of Token: 0x292d1587a6Bb37E34574c9AD5993F221D8a5616C
Link to sushiswap/assets PR: https://github.com/sushiswap/assets/pull/394
Link to the official homepage of token: https://jonesdao.io
Link to CoinMarketCap or CoinGecko page of token: -
Link to official Twitter account: https://twitter.com/DAOJonesOptions

Network: Arbitrum
Token Address (checkSum): 0xF018865b26fFAb9cd1735DCca549D95b0CB9Ea19
Token Name (from contract): Jones DPX
Token Decimals (from contract): 18
Token Symbol (from contract): jDPX
SushiSwap V2 Pair Address of Token: 0xEeB24360C8C7A87933d16B0075E10E1a30Ad65B7
Link to sushiswap/assets PR: https://github.com/sushiswap/assets/pull/394
Link to the official homepage of token: https://jonesdao.io
Link to CoinMarketCap or CoinGecko page of token: -
Link to official Twitter account: https://twitter.com/DAOJonesOptions

I saw that https://partner.sushi.com/ now exists.
I've submitted 4 issues through it.
https://github.com/sushiswap/list/pull/49
https://github.com/sushiswap/list/pull/50
https://github.com/sushiswap/list/pull/51
https://github.com/sushiswap/list/pull/52


Moving workspaces(1) resource to v1beta1 version

Moving workspaces 1 resource to v1beta1 version

[ ]  aws_workspaces_workspace

Resorce created but have an error:
message: 'apply failed: workspace creation failed: ResourceExists.WorkSpace: A
WorkSpace already exists for the specified user.:
workspace.yaml.txt
workspaces_logs.txt
workspaces.aws.upbound.io_workspaces.yaml.txt

Extracted from #435


Inconsistent use of $INPUT

Documentations like chaining-functions do use "$input". The your-first-prompt uses $INPUT and every other parameter is in uppercase too. The ContextVariables.MainKey is defined as "INPUT" and the Plugins.Core.SemanticFunctionConstants.cs uses the variable in its template like this: {{$INPUT}}. But all other samples I found are using lowercase. This is quite confusing for newcomers as  the first thing I assumed was: "Alright UPPERCASE means global available variable and will be chained to the next one and lowercase means local variable".
Any chance to fix that in a housekeeping session? Additionally an idea would be to include a reference to prompt-template-syntax in your-first-prompt as I went through the page but did not recognise it in the navigation. I think a short paragraph mentioning that and maybe a reference in the bottom section would be good enough.
Another finding:
https://learn.microsoft.com/en-us/semantic-kernel/ai-orchestration/plugins/chaining-functions?tabs=Csharp#passing-a-context-object-to-runasync where snake_case is used.
Maybe it would be good to mention the preferred style in prompt-template-syntax. Is it camelCase, PascalCase, UPPERCASE, snake_case or kebab-case?

Syntax changed with handlebars templates, closing therefore my issue.


Rendering special characters in templating

🐛 Bug description
Entities characters (ie: &), provided by search results, are not displayed correctly when using templating in instantsearch.js (v4.7.1) and using { "attribute" : "text" } syntax

Can you please replicate the behavior in this InstantSearch.js sandbox?

I tried to reproduce it, but couldn't: https://codesandbox.io/s/amazing-dhawan-f6rv9?file=/src/app.js. Before v4 we used to have an issue where escapeHTML was called multiple times, but I don't think that's possible here, so yes @drano, could you show how and when this happens?

By example, I've received from algolia this text "Something  & Something", and "&" is displayed directly in html

do you mean you have html entities in your records? Could you send a screenshot of the record in question on the algolia dashboard @drano?

I cannot show you a screenshot. But yes, I can see  "Something & Something" on algolia dashboard

And I confirm that Algolia rest api returns the & character

could you show this in an example? I can't reproduce this unfortunately? You can create a new free application to show it :)

Could not reproduce this unfortunately. If the Algolia engine returned &, that normally means the records also contained &, which as expected will show as the literal text & in the InstantSearch frontend (unless escapeHTML is false, which is not recommended)


[ Feature ] workflow visual representation

Feature Description
Add support for visual representation of workflow
Screenshots
Flow rendering of workflow

Duplicate of #26037


BitNet Support

Hello. Awesome project! Microsoft has published BitNet (https://github.com/microsoft/BitNet). Any plans to support it?

I haven't tested but these models should work.


fix #2819: Add more unit tests for ViewLocalizer and HtmlLocalizer

:watch:

@dougbu updated

:shipit: with one more scenario covered in each test class.

merged 3da2c35e3ecff8314205ca3ff0c46755748e2cff


Fix manager application

Fix manager application
Summary
Fix errors due to server refactoring, in particular they are due to the refactoring of the messages.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Setting player username

Discussed in https://github.com/3arthqu4ke/headlessmc/discussions/163

Originally posted by TheNuclearNexus July 20, 2024
Is it currently possible to the player's username when launching in offline mode?
I didn't seen anything directly in the code base that allows for this, so unless I am missing something a CLI arg I assume no?

Hey I went ahead and updated the code locally to support setting this from both config and the CLI, I can publish the fork if you want to take a look at it. Might be helpful, not sure if it is how you would've gone about doing it though.

Hey I went ahead and updated the code locally to support setting this from both config and the CLI, I can publish the fork if you want to take a look at it. Might be helpful, not sure if it is how you would've gone about doing it though.

Sure, but I might only be interested in the config properties, as I have some plans for new commands regarding the config system.

Here you go: https://github.com/TheNuclearNexus/headlessmc


More user friendly experssions.

When I used timeago first thing I realized is experssions like 8days ago.Instead of  it it will be  more comfortable to saying "at 2 Jun".

Then you missed the point and/or don't need an auto-updating fuzzy timestamp library.


[Bug Report] API Compatibility and GymEnvironment wrapper

Describe the bug
It seems that the GymEnvironment environment and the API compatibility wrapper are applied in the wrong order for environments that are registered with gym and use the old API.
Use case: I'm working on migrating mbrl-lib to gymnasium. However, mbrl-lib currently supports environments from pybullet-gym which still uses gym.registry, and use the old step API.
I'm trying to use env = gymnasium.make("GymEmvironment-v0", env_id="HumanoidPyBulletEnv-v0", apply_api_compatibility=True) to convert the pybullet-gym env into a gymnasium env using the new API.
However, env.reset() fails for me (see stack trace). It looks like this is because the EnvCompatibility wrapper is applied before the GymEnvironment wrapper, which means the GymEnvironment wrapper still expects a gym environment that uses the new API, which is not what I intended. How can I pass the apply_api_compatibility=True down to gym instead?
Code example
>>> import gymnasium as gym
>>> import pybulletgym
>>> env = gym.make("GymV26Environment-v0", env_id="HumanoidPyBulletEnv-v0", apply_api_compatibility=True)
pybullet build time: Jan 30 2023 14:22:52
/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/spaces/box.py:127: UserWarning: WARN: Box bound precision lowered by casting to float32
  logger.warn(f"Box bound precision lowered by casting to {self.dtype}")
WalkerBase::__init__
>>> env.reset()
/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/utils/passive_env_checker.py:174: UserWarning: WARN: Future gym versions will require that `Env.reset` can be passed a `seed` instead of using `Env.seed` for resetting the environment random number generator.
  logger.warn(
/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/utils/passive_env_checker.py:187: UserWarning: WARN: Future gym versions will require that `Env.reset` can be passed `options` to allow the environment initialisation to be passed additional information.
  logger.warn(
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/wrappers/order_enforcing.py", line 42, in reset
    return self.env.reset(**kwargs)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/wrappers/env_checker.py", line 45, in reset
    return env_reset_passive_checker(self.env, **kwargs)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/utils/passive_env_checker.py", line 192, in env_reset_passive_checker
    result = env.reset(**kwargs)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/wrappers/compatibility.py", line 96, in reset
    return self.env.reset(), {}
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/external/gym_env.py", line 67, in reset
    return self.gym_env.reset(seed=seed, options=options)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/wrappers/time_limit.py", line 68, in reset
    return self.env.reset(**kwargs)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/wrappers/order_enforcing.py", line 42, in reset
    return self.env.reset(**kwargs)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/wrappers/env_checker.py", line 45, in reset
    return env_reset_passive_checker(self.env, **kwargs)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/utils/passive_env_checker.py", line 192, in env_reset_passive_checker
    result = env.reset(**kwargs)
TypeError: WalkerBaseBulletEnv.reset() got an unexpected keyword argument 'seed'

System info
Gymnasium 0.26.3
gym 0.26.3
MacOS, Python 3.10.8
Additional context
No response
Checklist

[X] I have checked that there is no similar issue in the repo

Closed, nvm: env = gym.make("HumanoidPyBulletEnv-v0", apply_api_compatibility=True), then env = gymnasium.make("GymV26Environment-v0", env=env) works as intended. My apologies!

Are you able to use gymnasium.make("GymV22Environment-v0", env_id="HumanoidPyBulletEnv-v0") if you have gym and shimmy installed?

By the way, I can't use gymnasium=0.27.1, had to downgrade to 0.26.3, I get an error related(?) to shimmy I think.
>>> import gymnasium as gym
>>> import pybulletgym
>>> gym.make("GymV22Environment-v0", env_id="HumanoidPyBulletEnv-v0")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 654, in make
    raise e
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 642, in make
    env = env_creator(**_kwargs)
TypeError: _raise_shimmy_error() got an unexpected keyword argument 'env_id'
>>> gym.make("GymV26Environment-v0", env_id="HumanoidPyBulletEnv-v0")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 654, in make
    raise e
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 642, in make
    env = env_creator(**_kwargs)
TypeError: _raise_shimmy_error() got an unexpected keyword argument 'env_id'

With gymnasium==0.26.3:
>>> import gymnasium as gym
>>> import pybulletgym
>>> gym.make("GymV22Environment-v0", env_id="HumanoidPyBulletEnv-v0")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 569, in make
    _check_version_exists(ns, name, version)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 219, in _check_version_exists
    _check_name_exists(ns, name)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/envs/registration.py", line 197, in _check_name_exists
    raise error.NameNotFound(
gymnasium.error.NameNotFound: Environment GymV22Environment doesn't exist. Did you mean: `GymV26Environment`?
>>>

That works too.

Actually, sorry, this works with env.reset(), but not env.step() somehow (the first solution does):
>>> env.step(env.action_space.sample())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/wrappers/order_enforcing.py", line 38, in step
    return self.env.step(action)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/wrappers/env_checker.py", line 37, in step
    return env_step_passive_checker(self.env, action)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gymnasium/utils/passive_env_checker.py", line 230, in env_step_passive_checker
    result = env.step(action)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/shimmy/openai_gym_compatibility.py", line 242, in step
    obs, reward, done, info = self.gym_env.step(action)
  File "/Users/rapotdar/miniforge3/envs/mllib/lib/python3.10/site-packages/gym/wrappers/time_limit.py", line 50, in step
    observation, reward, terminated, truncated, info = self.env.step(action)
ValueError: not enough values to unpack (expected 5, got 4)

Are you using Gym v0.26? I think there is an issue when you are using a gym v0.21 environment with gym v0.26 installed and shimmy.
Is it fixed if you use gym v0.21 rather than v0.26?


chore: Improve test coverage

Fix https://github.com/ietf-tools/www/issues/378.

Refactor the existing tests to use wagtail-factories and clean them up a bit.
Fix an annoying issue where running tests locally would pollute the shared memcache and break the generation of page URLs for the development instance.
Remove some unused or overly complicated code (e.g. the OrderedSet implementation).
Add tests for previously untested areas of the code (e.g. bibliography, snippets, cache purging, the megamenu).
Fix a couple of subtle bugs:

The blog redirect to IESG statements would format the date_to URL parameter incorrectly.
The megamenu URLs for direct children of the menu item's page would be generated incorrectly.

Mark some bits of the code as # pragma: no cover because they are impractical / not useful to test.

I've pushed an update to cover IAB-specific pages too.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.89%. Comparing base (4ad3143) to head (faa8ad6).
Report is 7 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #395       +/-   ##
===========================================
+ Coverage   82.72%   95.89%   +13.16%
===========================================
  Files         124      143       +19
  Lines        2599     3117      +518
===========================================
+ Hits         2150     2989      +839
+ Misses        449      128      -321

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@SharmaineLim I've added more docstrings and comments. I've also updated CONTRIBUTING.md to explain the use of pytest.


Add minifiedAjax method to minify url generated when using get request.

Fixes php artisan serve and IE issues on long URL.
Related Issues:
https://github.com/yajra/laravel-datatables/issues/1225
https://github.com/yajra/laravel-datatables/issues/1205
https://github.com/yajra/laravel-datatables/pull/826
https://github.com/yajra/laravel-datatables/pull/671
etc..
USAGE
Update html method on your service class to:
    /**
     * Optional method if you want to use html builder.
     *
     * @return \Yajra\Datatables\Html\Builder
     */
    public function html()
    {
        return $this->builder()
                    ->columns($this->getColumns())
                    ->minifiedAjax()
                    ->addAction(['width' => '80px'])
                    ->parameters($this->getBuilderParameters());
    }

I've tested using minifiedAjax method, but columns ordering and search is not working (applied). Data is transmitted, but with model default ordering. I can see lesser GET params are sent which does not cause 404 anymore, but maybe some necessary info is being stripped?
Looks like a step in the right direction 👍
My observations:
-I feel that sending data thru GET with PHP format is too much. If you take APIs, the format is generally very compact such as ?q=search-value&f=field1|field2|field3&o=field1,asc|field2,desc. I don't know all the intricacies of DataTables, so I may not be aware of some limitations...
-I think also sticking to GET method is necessary, since POST is for something else

Hey, just noticed that using
->ajax(url('admin/users'))
does not seem to cause 404 errors anymore
..maybe it's a coincidence? same table and config as before

@isometriq thanks for testing. I forgot to commit the changes needed on the main repo. Updates released on v7.8.1. Kindly check again.

Ok, I will try soon
However, in my last test, the ->ajax() method this did not cause 404 anymore
Are we supposed to still use it or ->minifiedAjax() only?

I suggest to use minifiedAjax because it is indeed a weird bug where Laravel returns 404 on valid routes. I also encountered that way back and was really confused on what's happening :).

On Laravel 5.5 release, I think I will also default it to minifiedAjax. Can't do it now cause its a potential BC.

This is not a fix for very big table. Still generating very long url even after minifiedAjax applied.
POST method is an only way for some case. But current version of laravel-datatables-button not support for POST method.

@herzcthu Does the issue occurs only export? If yes, then maybe this PR https://github.com/yajra/laravel-datatables-buttons/pull/41 would help?


fix(console): prevent multiple save on api design

gravitee-io/issues#8447
Issue
https://github.com/gravitee-io/issues/issues/8447
https://graviteecommunity.atlassian.net/browse/APIM-4769

🚀 CI was able to deploy the build of this PR, so you can now try it directly here
Notes: The deployed app is linked to the management API of APIM master. (Same login and password as APIM master)

@ThibaudAV have you already seen this kind of error?

It's next to this PR : https://github.com/gravitee-io/gravitee-ui-particles/pull/167 right ?
So no.
IMHO is more a workaround 🤷♂ i don't know how really made the "duplicate" backend frontend policy-studio


Feature/3258/link orcid

dockstore/dockstore#3258

Not blocking for this but I think we are reaching a point where our account linking page is outgrowing the format. We should consider how to better organize it now that we will have 8 account cards.


Add documentation for FormatNumber component

Closes #3465
Description
Added documentation for format-number component.
Current behavior (updates)
N/A
New behavior
N/A
Is this a breaking change (Yes/No):
No
Additional Information
N/A

@taroj1205
This PR should make the documentation branch the target branch.
You will need to create a new one, probably with a diff.


Fulltext index

Closing pull request because we don't want to merge this branch in master as of now. some experimental code is here.


Prioritize app assets over engine assets

Make the app assets always have priority when resolving them, if there is another asset with the same name in a gem. For example:
bin/importmap pin trix

You would have a vendor/javascript/trix.js file. If you call "trix" from importmap, it would still take the one from Action Text gem instead. Not anymore.

Not anymore.

Are you seeing a regression compared to sprockets after migrating to propshaft?
I think we need to consider warning users in cases of ambiguous asset names, and also be clear/explicit in the documentation and configuration about load order.
Is the specific engine you're using provided from a public gem?


Clarify toleration timeouts for kube-apiserver

I understand the values to assign to "--default-not-ready-toleration-seconds" and "--default-unreachable-toleration-seconds" options in kube-apiserver should be equal or lower than the value assigned to "--pod-eviction-timeout" option in kube-controller-manager, not making sense to add a greater value for those two kube-apiserver options
(note default value for all three is 5 min / 300 seconds)
If being right here I think it would be good to add this clarification in the section for each of these two kube-apiserver options (i.e. "--default-not-ready-toleration-seconds" and "--default-unreachable-toleration-seconds")

As there are not comment related to this issue I wonder if it is because

no one share my reasoning (about the relationship between these two kube-apiserver options ("--default-not-ready-toleration-seconds" and "--default-unreachable-toleration-seconds") and the "--pod-eviction-timeout" option in kube-controller)
it is not clear enough
others?

/retitle Clarify toleration timeouts for kube-apiserver

/sig scheduling

@antaloala could you explain which web page(s) you're discussing here? You didn't mention that yet.

It might be that you're asking about changes to the help text that is built in to Kubernetes components. If so, you should request that upstream.

Sorry @sftim for the delay.
I am referring (ops, I did not realize I forgot to include it, sorry also about this) to the doc about the built-in  DefaultTolerationSeconds admission plugin: https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#defaulttolerationseconds

What do you think then on adding some clarification to explain that the values to set for these input parameters in kube-apiserver and kube-controller-manager must be properly related (i.e. values to assign to "--default-not-ready-toleration-seconds" and "--default-unreachable-toleration-seconds" options in kube-apiserver should be equal or lower than the value assigned to "--pod-eviction-timeout" option in kube-controller-manager) ?

The upstream code is here: https://github.com/kubernetes/kubernetes/blob/master/plugin/pkg/admission/defaulttolerationseconds/admission.go#L35-L41
The reference doc are generated from the upstream source code, so please propose your fix to the upstream repo.

/close


createGlyphVector prints in worse quality than drawString

Platform and architecture
Windows 10 x64
Java version
AdoptOpenJDK 11.0.4+11 HotSpot
Summary
Per Apache PDFBOX-4709, printing using GlyphVector produces poorer quality output versus using Graphics.drawString(...).  There's a significant quality difference -- especially on low-dpi (e.g. thermal) printers printing printing with createGlyphVector versus drawString.  Leveraging RenderingHints does not appear to help.

✅ drawString

🚫 createGlyphVector

Details
Quoting the PDFBOX developer Tilman Hausherr:

I'm now able to reproduce the effect [...] without using [Apache] PDFBox [...] please submit it to OpenJDK support with the sample code that does not use [Apache] PDFBox.

Steps
(Note, these steps include installing a proprietary printer driver to visually observe the issue, but the Apache PDFBOX developer was able to observe it without the proprietary driver and printing to a PDF instead)

Using Windows 10, install the latest ZDesigner driver from Zebra's website.  The driver chosen was ZDesigner TLP 2884-Z although any ZPL driver should technically work.
Using Google Chrome, install the Zpl Printer plugin.  If not already, open the Zpl Printer application and click it to "On".
Manually add a new Standard TCP/IP printer port to the system with an IP address of <IP_ADDRESS> (the OS took a long time to timeout and allow me to finish the port addition, but it does eventually let you.
Manually add a new printer to the system pointing it to the newly added TCP/IP port.
Select the ZPL driver (eg. TLP 2884-Z)
From the newly added printer properties, go to  Preferences, Options and change the size to 4x6 inches (otherwise our example will throw PrinterException("Paper's imageable height is too small.");
Set the printer as the system's default printer.

import javax.print.PrintServiceLookup;
import java.awt.*;
import java.awt.font.FontRenderContext;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.awt.print.PrinterException;
import java.awt.print.PrinterJob;

public class PrintQuality {

    public static void main(String[] args) throws Exception {
        //print using Graphics2D.drawString(...)
        new DrawStringTest();

        //print using Graphics2D.getFont().createGlyphVector(...)
        new GlyphVectorTest();
    }

    static class DrawStringTest implements Printable {
        DrawStringTest() throws PrinterException {
            PrinterJob job = PrinterJob.getPrinterJob();
            job.setPrintService(PrintServiceLookup.lookupDefaultPrintService());
            job.setPrintable(this);
            job.print();
        }

        private void paint(Graphics2D g2d) {
            g2d.setFont(new Font("Times New Roman", Font.PLAIN, 8));
            g2d.setColor(Color.BLACK);

            g2d.drawString("Thermal test [drawString]", 100f, 128f);
            g2d.drawRect(72, 72, 128, 64);
        }

        @Override
        public int print(Graphics graphics, PageFormat pageFormat, int index) {
            if (index == 0) {
                Graphics2D g2d = (Graphics2D)graphics;
                paint(g2d);
                return PAGE_EXISTS;
            } else {
                return NO_SUCH_PAGE;
            }
        }
    }

    static class GlyphVectorTest implements Printable {
        GlyphVectorTest() throws PrinterException {
            PrinterJob job = PrinterJob.getPrinterJob();
            job.setPrintService(PrintServiceLookup.lookupDefaultPrintService());
            job.setPrintable(this);
            job.print();
        }

        @Override
        public int print(Graphics graphics, PageFormat pageFormat, int index) {
            if (index == 0) {
                FontRenderContext frc = new FontRenderContext(new AffineTransform(), true, true);
                Graphics2D g2d = (Graphics2D)graphics;
                g2d.setFont(new Font("Times New Roman", Font.PLAIN, 8));
                GlyphVector gv = g2d.getFont().createGlyphVector(frc, "Thermal test [GlyphVector]");
                Shape outline = gv.getOutline();
                g2d.translate(100f, 127f);
                g2d.fill(outline);
                g2d.translate(-100f, -127f);
                g2d.drawRect(72, 72, 128, 64);
                return PAGE_EXISTS;
            } else {
                return NO_SUCH_PAGE;
            }
        }
    }

}

Unfortunately, my attempts to render at a larger size and then shrink explicitly using AffineTransform still result in poor quality.

I also tried to create a default transform and render everything at a larger size and the bug still occurs, nearly identically...

// Snag the old transform so we can use it for scaling
AffineTransform backup = ((Graphics2D) graphics).getTransform();

// Reset to a default transform
((Graphics2D) graphics).setTransform(new AffineTransform());
double fontSize = 8;
double patchedSize = fontSize * backup.getScaleX();
graphics2D.setFont(new Font("Times New Roman", Font.PLAIN, (int)patchedSize));
GlyphVector gv = graphics2D.getFont().createGlyphVector(frc, "Thermal test [GlyphVector]");

I even tried coercing the AffineTransform to use a higher (10.0f) and lower (0.001f) value for the scaling factors, but all resulted in the same poor quality output.

After a bunch of digging I had a suspicion that the bug was rooted in SunGraphics2D, but naturally I'm having a hard time running any experiments against it.  Interestingly, when reading some unit tests against SunGraphics2D I found this blurb...
// REMIND: We will allow this test to pass silently on Windows
// (when OGL is not enabled) until we fix the GDI pipeline so that
// its stroked/filled GeneralPaths match our software loops (see
// 6322554).  This check should be removed when 6322554 is fixed.
GraphicsConfiguration gc = frame.getGraphicsConfiguration();
if (gc.getClass().getSimpleName().startsWith("Win")) {
   System.out.println("GDI pipeline detected: " +
      "test considered PASSED");
   frame.dispose();
   return;
}

So I looked up JDK-6322554 and found this old bug... which is marked as affecting JDK6, JDK9 for Windows.  It's currently classified as "Fix Understood".  Here's the description:

GDIRenderer has noticeable problems with matching fill(Shape) and draw(Shape) methods.
So, should perform drawing through new subpixel rendering code.

So I kept digging... I found reference to another issue, JDK-7129078.
This issue has a much better writeup and although it contains information specific to Swing drawing routines and double-buffering, I feel it may be applicable as it reads very similar to what we're observing.  I'll quote the whole thing as I feel it's all relevant...

This issue is present only when double buffering is enabled.
In the sample provided, with double buffering enabled, the two draw calls uses two different renderers for blit operations.
In paint, the RepaintManager gives the Graphics object from the VolatileOffscreenBuffer and all the path drawing operations happens on it through java2d/loops/DrawPath.
However, in the second drawing part, where the Graphics object is obtained from the Panel, path drawing operations are routed to java2d/windows/GDIRenderer.
The GDI Renderer uses the WinGDI calls MoveToEx, LineTo and PolyBezierTo to complete the path drawing operations.
For line drawing operations, when comparisons were done with the values being calculated for the two renderers, it was found that the loops renderer rounds the float coordinate values to the nearest int, whereas the GDIRenderer uses floor to convert the floating values to int. Because of this line drawing having floating coordinate values above x+0.5 (say 130.6 as given in the test) was behaving differently across the two renderers. (Refer to attachment "Line_Drawing_Floor_Coords.png")
When double buffering is disabled, (RepaintManager.currentManager(panel).setDoubleBufferingEnabled(false)), both the rendering happens through the GDIRenderer and no disparity is observed.
Changing the GDIRenderer to round the float coordinate to the nearest int fixes the issues for Line Rendering. (Refer to attachment "Line_Drawing_Round_Coords.png")
However, if we extend the test case to include other shapes viz qaudratic and cubic curves through quadTo and curveTo interfaces we can still see some disparity in rendering with the two methods, with round and floor both (Refer to attachments "Path_Drawing_Floor_Coords.png" and "Path_Drawing_Round_Coords.png").
A proper solution to fix this issue, for all shapes, is to make GDIRenderer use ProcessPath routines, doFillPath and doDrawPath. However this causes a performance impact as detailed out in https://bugs.openjdk.java.net/browse/JDK-6322554

So am I getting close?  Is there a way to force quality over performance using the information provided in JDK-7129078?

Thanks, @tresf  - @johnoliver can you take a look at the code samples in those two OpenJDK bug reports and see if you can repro?

This issue seems to be caused by precision loss in WPrinterJob.lineTo which maps to wingdi.h LineTo. In all of the native functions, float are passed, but in native, only ints and longs are accepted. This causes each node to 'snap to' a integer value, this include bezier curve control points. The drawString  function utilizes the wingdi DrawText function and is seemingly able to avoid this limitation.

Perhaps GDI+? It seems to support floating point coordinates.

I wonder if it would be possible to set a transform (ModifyWorldTransform ?) for the windows calls (e.g. 1/1000 scale), this would allow to increase the precision (then * 1000 for all curves / lines values).
(I tried the same in java, it didn't help)

I wonder if it would be possible to set a transform (ModifyWorldTransform ?) for the windows calls (e.g. 1/1000 scale), this would allow to increase the precision (then * 1000 for all curves / lines values).
(I tried the same in java, it didn't help)

There's SetMapMode(...) which is used at least once in the JDK.  I'm not familiar enough to know how to use it, but it does offer other precision values (none of which will be as good as a float, but perhaps a stop-gap until GDI+ is used)

This issue has been escalated to a new team of JDK developers.  The new bug report is private but any patches or workarounds are expected to be public so I'll post any important updates here as they arrive.

@lukas-w has helped us create a basic GDI/GDI+ example, attached.
Quoting:

... attached is a zip containing a simple test demonstrating that rounding is bad... It draws four small circles of diameter 2, 4.5, 7, and 9.5px using GDI, using GDI with a SetMapMode scale of 100, and using GDI+. You can see that the GDI result (left) does not have the circle drawn with the same center because the circle's bounding box coordinates are rounded. GDI+ (right) looks a bit better. The surrounding box is bigger with GDI+, I suppose there are some semantic differences between the APIs like the box size not including the pen width. GDI with SetMapMode unfortunately produces exactly the same image as GDI.

Source: gdi-res-example.zip

I'm providing this here for historical purposes.  It's still uncertain if we'll be able to ever actually utilize this improved API, quoting our vendor:

Regarding GDI+, it is deprecated and it will require a huge code change in Class Library area and that is not suggestable given that related AWT component is in maintenance mode. In maintenance mode we do not really make huge changes in the codebase.
To talk about GDI+, both GDI & GDI+  are deprecated and it will require a huge code change in these area and that is not suggestable given that both are deprecated as well as awt component is in maintenance mode. In maintenance mode we do not really make huge changes in the codebase.
We have also interacted with Microsoft to explore alternate options for LineTo() function taking float as arguments. As per the update received yesterday from Microsoft, there is no line drawing API in GDI that takes a FLOAT data type.

This is very sad for Java, as -- if true -- it means it will continue to suffer quality issues on thermal printers.  I'll continue to post updates as I receive them.

@THausherr assuming this is a lost cause, would you be willing to entertain this option as a boolean for projects which require it?

[...] the workaround solution would be to use graphics.drawString(), but this would work only on fonts based on type1 or truetype fonts [...]

@tresf - I saw an old note that setting -Dsun.java2d.d3d=true might force a difference rendering pipeline - is that something you can quickly test your side?

@karianna, -Dsun.java2d.d3d=true yields identical results.

@tresf This was written without thinking much. I looked at our current code, one would first have to get the the font stream and then open it with Java (not all types of valid fonts can be opened in java). This is what PDFBox 1.8 was doing. So I did it with your "drug-print.pdf" test file on jdk14 and there are many error messages, java can't open the font and uses another font instead. (That is the reason why we have our own font engine that does the complete rendering) Try the PDFBOX 1.8 app jar on your printer to see what you get... My output didn't really look good at 300dpi.

My output didn't really look good at 300dpi.

Hmm... well, 1.8 didn't have the rendering hints added yet, would that impact it?  I'll see what it draws like on the emulator.

The emulator's results for 1.8 confirm @THausherr's suspicions that it may not help a whole lot for the PDF that inpired the bug report. Here're my results.

And here's the results printing to a PDF printer, zoomed in to illustrate the inaccuracies that are created:

@THausherr this is quite different from what the drawString(...) results showed.  Do you know why?

I've recompiled and added 3 rendering hint commands before the drawString() command and it is a bit better. I'm going to sleep soon so if you want to test this, get the source, search for Pagedrawer.java and add these 3 lines before "font.drawString"
            graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
            graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
            graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);

or whatever else you think might help.

I've recompiled and added 3 rendering hint commands before the drawString() command and it is a bit better.

It may be marginally better, but since the rounding issues:

Occur using 1.8, 2.0 as well as createGlyphVector(...)
Do NOT occur using drawString(...)

I'm inclined to believe that the underlying rounding issues that are plaguing Windows won't be fixed using 1.8.  Evidence of this is here.  These same artifacts do not occur when using drawString(...).

Our primary JDK support provider has attempted and failed to fix this issue through GDI by working directly with Microsoft. As a result they've reached out to the openjdk mailing list for advice on how to fix this moving forward: https://mail.openjdk.java.net/pipermail/2d-dev/2020-September/011071.html
Our secondary JDK support provider is taking a different approach by adding a System property to Java which allows switching to GDI+.  This impacts quite a bit of code due to API changes between GDI and GDI+.  Results already look promising although I'm not certain as to the chances of this being accepted upstream, or if we'll be on a forked release for eternity as a result of this change.  I'll provide updates as I receive them.

Good news, testing our secondary JDK support provider's code, @lite1979 and I were able to achieve near-identical results to Ubuntu.

This isn't as good as Adobe, but it's more readable than the current JDK and the vendor was able to do so both with GDI and GDI+ to near identical results.  The current plan is to submit the pure-GDI patch to openjdk for approval.  Currently, the setting is toggled using a system property, which we'll share when the feature is closer to landing upstream.

Despite the "good news" from previous post, it turns out that neither GDI nor GDI+ really help improve this to even come close to CUPS/Adobe, so the vendor has taken a second approach.
This new approach is to scale the content 1000x so that when GDI transforms it, it maintains most of the quality.
Although instinct would say to only do this for large fonts, I've been able to visually see these artifacts even on highdpi printers (600dpi, 1200dpi) if I look closely, so I'm quite confident that this technique will be welcomed by all print jobs -- albeit not necessarily needed for readability. 🚀
Here's a before/after:

The vendor has a JDK patch ready, we'll be testing shortly.

The vendor's patch was tested with mixed results.  Although the shapes improve, the lack of outer stroke causes them to still suffer from quality issues.  Adding a stroke causes them to be too bold.  The vendor is still working towards a palatable solution.

Upstream PR created: https://github.com/openjdk/jdk/pull/1183.  This doesn't entirely fix the problem, something with the missing text outline when using fill just never achieves the same quality as drawString.  So in addition to this bug, we're looking into patching PDFBOX downstream per @THausherr recommendation in PDFBOX-4709, quoting:

Tilman, would PDFBOX entertain adding something in that allows a user to go back to this?  The reason I ask is because the low-dpi PDFs/fonts are often prepared by controlled environments, so it at least offers a stop-gap for shops that need good quality PDF printing on Windows..

It seems difficult. It might be done by the user by extending PageDrawer and PDFRenderer and implementing the showFontGlyph method.

we're looking into patching PDFBOX downstream per @THausherr recommendation in PDFBOX-4709, quoting:

The PDFBOX downstream bug report has been documented here, and can be tracked as such: https://issues.apache.org/jira/browse/PDFBOX-5093
I'm leaving this bug report open since JDK-8256264 hasn't landed on any of the Adopt builds, as it hasn't ben backported to any versions offered on the downloads page yet.

Quoting our JDK provider:

JDK-8256264 is now backported to OpenJDK 11 upstream and will appear in the 11.0.11 April release. Closing this issue.

Since the remaining components are related to https://issues.apache.org/jira/browse/PDFBOX-5093, we'll continue tracking those there.  Closing. :)


Can QPDF extract pages from a given PDF into multiple individual PDF output files ?

Hi. QPDF contain very wonderful options to extract pages from a given PDF into single output PDF, like:
$ qpdf infile.pdf --pages infile.pdf 1-10 -- output.pdf
However, is it possible to extract these pages into individual PDF files, file per each page, & these multiple output PDF files named automatically by names drive from name of original PDF? For example: if original PDF name is test1.pdf & we extract pages 7 to 15 from this file then we will have following output files:
test_07.pdf
test_08.pdf
test_09.pdf
test_10.pdf
test_11.pdf
test_12.pdf
test_13.pdf
Best.
test_14.pdf
test_15.pdf

Please see the pdf-split-pages example in the examples directory. It pretty much does this.

This is the same as #30. It seems worth doing.

Closing as fixed/duplicate of #30 which I am pushing a fix for momentarily.


[1059] - [DOCS] Split README into separate files

https://github.com/XRPLF/clio/issues/1059
This change splits the README.md into different files, under the /docs directory.

@kuznetsss / @godexsoft here is the PR for splitting the README.
I can't seem to add any reviewers to the PR, maybe I don't have permission or something?

Thanks! Readme looks much better now!
A few things could be improved:

I think we should have two sections:

for operators: how to configure, run and use Clio
for developers: how to build Clio and use developers tools (like static analysis or code coverage)

Maybe there could be emojis in readme to make it more fresh and friendly, for example like I did in my repo
Maybe small pages should be merged with some others, for example database.md is only a few sentences
I'm not sure whether it should be done in this PR but probably we should add a link to the API reference in our readme

@kuznetsss thanks for the review! Great points, I'll update with the feedback changes for this PR (including API link).


Minor Updates

Update Nuget dependencies
Update Nuget package READMEs

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2683

Relevant Lines:
2896

💛  - Coveralls


Requires Audio, AirPlay, and Picture in Picture permission on iOS?

I've been trying to get this working in iOS 11 with little success. After installing the demo app and trying out a helloworld app, I finally figured out that the app won't work unless the Audio, AirPlay, and Picture in Picture background mode is enabled.
That would be fine, except my app doesn't use any of those features, so there's no way Apple will approve it if I request that background mode.
Is there any way to get this working without that permission?

Just toggle that checkbox. Nothing will happen..

Apple asks what feature uses audio during review. My app got rejected because of it. So 'Is there any way to get this working without that permission?' is still a valid question.

Mine also got rejected due to audio issue

Same for me. App rejected because of Audio in Background mode. But it's the only way to keep the app working in backside. Have anyone found a solution about it?

Same for me. App rejected because of Audio in Background mode. But it's the only way to keep the app working in backside. Have anyone found a solution about it?


Map filters netsmanager api

What does this PR do?
Returns list of offline and online devices
What JIRA task is related to this PR?
No JIRA board task added for this sprint.
How do I test out this PR?
Git clone this repo cd AirQo-api/src/device-monitoring. Set up python environment: python3 -m venv env (if not yet created), then activate source env/bin/activate.
Then run pip install -r requirements/dev.txt to get all the necessary package. Afterwards, run flask run to test out the endpoints using any REST client tool available to you.
Which endpoints should be/are ready for testing?
base URL: http://localhost:4000
[GET] /api/v1/monitor/devices/online_offline

Changes moved to a different branch


Quote escaping in make_split_dataframe

Many CSV files are written out with quoted columns. When make_split_dataframe runs, it doesn't remove these quotes. This can lead to surprise quotes in your columns and failed casting.
Misc approaches for quote escaping:

add a transformation that strips quotes
add more options for different csv formats to make_split_dataframe and related constructors
determine if the csv crate can be taken on as a dependency (prior implementation)

We may also want to consider rewriting make_split_dataframe to just be a chain of make_split_rows and make_split_records. Are there performance downsides to replacing the current implementation with a straightforward chaining?

Closing. Will rely on Polars in future versions


Make Basic Network Speed Tester

For checking if your WiFi is up to the task!
Measure and display the download and upload speed of the user’s internet connection.

Hey sumanth, can u assign me this ?


Remove most #[allow(...)] attributes

Summary of changes

don't use deprecated structs for libp2p::noise. I think the change is pretty simple, but unclear if bugs will get caught in regression tests. See also #2762
clippy::{enum_variant_names, upper_case_acronyms} were free
clippy::module_inception was either renaming the submodule, or folding a small module into its parent.

I've not addressed the unused yet - it requires re-privating all our modules, as that's where the majority or refactoring needs to be done

@lemmih I agree that the change is simple and straightforward, however the root cause of last regression is still unknown, I would suggest making the libp2p change in a small PR that is easy to revert in case any regression happens.  Does that make sense?


Write CSV without quotes

I am looking to write a CSV file with out quotes. Default is ". When I tried it with .option("quotes","") I got error message "only one quote is allowed".
    If this(writing with out quotes) is not supported in current version any pointers who to implement this would be appreciated.

spark-csv does not quote string fields by default. The quote character is used for reading data that include the delimiter inside quotation marks.

Related to #89?


Code v0 demo

Let's show a basic interface with basic function with Basic ERC 721 token

Interface will allow Issuer to send certificate
That certificate will be able to be searched
Recipient will be able to see what certificates he/she has

Completed


Move go-whisk into its own repo

go-whisk implements the open whisk REST API and can be a re-usable framework for other developers.  Its current location makes it inconvenient to load into a Go workspace.

This is completed