LAN Control

I have noticed a new option called lan control. Would this enable control via homebridge without needing account details?

I have noticed a new option called lan control. Would this enable control via homebridge without needing account details?

That’s amazing! I’ve removed my account credentials from the plug-in. How do I add the local device?

@alboiuvlad29 I have a mixture of lan and non-lan devices. Will things automatically do the right the thing and use lan control where available? I'm on 6.0.0-beta.3
How do I tell whether lan control is being used?

@alboiuvlad29 @wez
Are you able to check beta.6 to see if you have any issues? i made a few changes mainly trying to integrate devices with different connection methods.
thanks!

@bwp91 assuming you mean beta.5: my lyra lamps show as "LAN Supported: No" in the My Devices section, but in the Govee app they are both set to LAN Control enabled

Sorry yes beta.5. Did you restart the plugin after updating?

Yeah, I restarted a couple of times to be sure

which H model is your light?

H6072

Can you update to the newest beta, restart, show me the logs from the plugin initialising and also the logs that appear when trying to control this device? Ideally with the plugin setting debug option enabled

you can hide device ids

[10/2/2022, 9:27:58 AM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[10/2/2022, 9:28:01 AM] [HB Supervisor] Started Homebridge v1.5.0 with PID: 997343
[10/2/2022, 9:28:07 AM] Loaded config.json with 0 accessories and 5 platforms.
[10/2/2022, 9:28:08 AM] Loaded 8 cached accessories from cachedAccessories.
[10/2/2022, 9:28:08 AM] Loaded 8 cached accessories from cachedAccessories.
[10/2/2022, 9:28:11 AM] ---
[10/2/2022, 9:28:21 AM] Disabled plugin<EMAIL_ADDRESS>[10/2/2022, 9:28:21 AM] ---
[10/2/2022, 9:28:21 AM] The plugin "homebridge-govee" requires Node.js version of ^14.20.1 || ^16.17.1 which does not satisfy the current Node.js version of v16.15.0. You may need to upgrade your installation of Node.js - see https://homebridge.io/w/JTKEF
[10/2/2022, 9:28:23 AM] Loaded plugin<EMAIL_ADDRESS>[10/2/2022, 9:28:23 AM] Registering platform 'homebridge-govee.Govee'
[10/2/2022, 9:28:29 AM] [Govee] Initializing Govee platform...
[10/2/2022, 9:28:29 AM] [Govee] Initialising plugin v6.0.0-beta.11 | System linux | Node v16.15.0 | HB v1.5.0 | HAPNodeJS v0.10.3...
[10/2/2022, 9:28:30 AM] [Govee] Plugin initialised. Setting up accessories....
[10/2/2022, 9:28:31 AM] [Govee] [LAN] server started listening <IP_ADDRESS>:4002
[10/2/2022, 9:28:33 AM] [Govee] LAN client enabled.
[10/2/2022, 9:28:37 AM] [Govee] Login successful.
[10/2/2022, 9:28:39 AM] [Govee] HTTP/AWS clients enabled as Govee username and password provided.
[10/2/2022, 9:28:39 AM] [Govee] API client enabled as Govee API key provided.
[10/2/2022, 9:28:39 AM] [Govee] Disabling BLE client as no enabled devices configured.
[10/2/2022, 9:28:39 AM] [Govee] [Study Floor Lamp 2] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","bluetooth":"disabled","brightnessStep":1,"logging":"debug"}.
[10/2/2022, 9:28:39 AM] [Govee] [Study Floor Lamp 2] initialised with id [] [H6072].
[10/2/2022, 9:28:39 AM] [Govee] [Study Floor Lamp 1] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","bluetooth":"disabled","brightnessStep":1,"logging":"debug"}.
[10/2/2022, 9:28:39 AM] [Govee] [Study Floor Lamp 1] initialised with id [] [H6072].
[10/2/2022, 9:28:39 AM] [Govee] [Smart Light] if you notice any flickering when changing the brightness/colour, let me know on Discord/Github with model number [H6160].
[10/2/2022, 9:28:39 AM] [Govee] [Smart Light] initialising with options {"adaptiveLightingShift":0,"aws":"enabled","bluetooth":"disabled","brightnessStep":1,"logging":"debug"}.
[10/2/2022, 9:28:39 AM] [Govee] [Smart Light] initialised with id [] [H6160].
[10/2/2022, 9:28:40 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:28:40 AM] [Govee] [Smart Light] has been reported [online].
[10/2/2022, 9:28:40 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:28:40 AM] [Govee] [Study Floor Lamp 2] has been reported [online].
[10/2/2022, 9:28:40 AM] [Govee] [Study Floor Lamp 1] [AWS] connected event.
[10/2/2022, 9:28:40 AM] [Govee] [Study Floor Lamp 2] [AWS] connected event.
[10/2/2022, 9:28:40 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:28:40 AM] [Govee] [Study Floor Lamp 1] has been reported [online].
[10/2/2022, 9:28:40 AM] [Govee] [Smart Light] [AWS] connected event.
[10/2/2022, 9:28:41 AM] [Govee] ✓ Setup complete. Want to see this plugin in your own language? Let me know![
[10/2/2022, 9:29:20 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:29:20 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:29:20 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:30:00 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:30:00 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:30:00 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:30:40 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:30:40 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:30:40 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:31:20 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:31:20 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:31:20 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:31:48 AM] [Homebridge UI] [homebridge-govee] Terminating child process...
[10/2/2022, 9:31:49 AM] [Homebridge UI] [homebridge-govee] Child process ended
[10/2/2022, 9:32:00 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:32:00 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:32:00 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:32:40 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:32:40 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/2/2022, 9:32:40 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:33:20 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:33:20 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:33:20 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].

thanks, and logs for controlling the device via the home app?

Sorry, thought I had included them; the homebridge UI has made the log widget really awkward in a recent update:
[10/2/2022, 9:45:36 AM] [Govee] [Study Floor Lamp 1] current state [off].
[10/2/2022, 9:45:36 AM] [Govee] [Study Floor Lamp 1] [API] sending update {"name":"turn","value":"off"}.
[10/2/2022, 9:45:36 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"transaction":"o_1664729136820","type":1,"cmd":"turn","data":{"val":0}}}].
[10/2/2022, 9:45:36 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"transaction":"o_1664729136820","type":1,"cmd":"turn","data":{"val":0},"source":"AWS"}].
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] [AWS] sending update {"msg":{"cmd":"colorwc","cmdVersion":0,"data":{"color":{"r":255,"g":90,"b":160,"red":255,"green":90,"blue":160},"colorTemInKelvin":0},"transaction":"v_1664729141349000","type":1}}.
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"cmd":"colorwc","cmdVersion":0,"data":{"color":{"r":255,"g":90,"b":160,"red":255,"green":90,"blue":160},"colorTemInKelvin":0},"transaction":"v_1664729141349000","type":1}}].
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"cmd":"colorwc","cmdVersion":0,"data":{"color":{"r":255,"g":90,"b":160,"red":255,"green":90,"blue":160},"colorTemInKelvin":0},"transaction":"v_1664729141349000","type":1,"source":"AWS"}].
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] [API] sending update {"name":"color","value":{"r":255,"g":90,"b":160}}.
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"transaction":"o_1664729141884","type":1,"cmd":"colorwc","data":{"color":{"r":255,"g":90,"b":160,"red":255,"green":90,"blue":160},"colorTemInKelvin":0},"cmdVersion":0}}].
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"transaction":"o_1664729141884","type":1,"cmd":"colorwc","data":{"color":{"r":255,"g":90,"b":160,"red":255,"green":90,"blue":160},"colorTemInKelvin":0},"cmdVersion":0,"source":"AWS"}].
[10/2/2022, 9:45:41 AM] [Govee] [Study Floor Lamp 1] current colour [rgb 255 90 160].
[10/2/2022, 9:45:44 AM] [Govee] [Study Floor Lamp 1] [AWS] sending update {"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":83},"transaction":"v_1664729144930000","type":1}}.
[10/2/2022, 9:45:44 AM] [Govee] [Study Floor Lamp 1] [AWS] sending update {"msg":{"cmd":"turn","cmdVersion":0,"data":{"val":1},"transaction":"v_1664729144988000","type":1}}.
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"cmd":"brightness","cmdVersion":0,"data":{"val":83},"transaction":"v_1664729144930000","type":1}}].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"cmd":"brightness","cmdVersion":0,"data":{"val":83},"transaction":"v_1664729144930000","type":1,"source":"AWS"}].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"cmd":"turn","cmdVersion":0,"data":{"val":1},"transaction":"v_1664729144988000","type":1}}].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"cmd":"turn","cmdVersion":0,"data":{"val":1},"transaction":"v_1664729144988000","type":1,"source":"AWS"}].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [API] sending update {"name":"brightness","value":83}.
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"transaction":"o_1664729145457","type":1,"cmd":"brightness","data":{"val":83}}}].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"transaction":"o_1664729145457","type":1,"cmd":"brightness","data":{"val":83},"source":"AWS"}].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] current brightness [83%].
[10/2/2022, 9:45:45 AM] [Govee] [Study Floor Lamp 1] [API] sending update {"name":"turn","value":"on"}.
[10/2/2022, 9:45:46 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"transaction":"o_1664729145965","type":1,"cmd":"turn","data":{"val":1}}}].
[10/2/2022, 9:45:46 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"transaction":"o_1664729145965","type":1,"cmd":"turn","data":{"val":1},"source":"AWS"}].
[10/2/2022, 9:45:46 AM] [Govee] [Study Floor Lamp 1] current state [on].
[10/2/2022, 9:46:00 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/2/2022, 9:46:00 AM] [Govee] [Study Floor Lamp 2] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":166,"b":255,"g":6}}].
[10/2/2022, 9:46:00 AM] [Govee] [Study Floor Lamp 1] [API] receiving up

seems like the plugin isn’t finding the device when it scans the local network when the plugin loads. is your homebridge on the same network as the device? with a standard network setup? or do you have separate vlans or extenders for example?

Hey @bwp91 thank you so much for your work on this! I also really appreciate your mention for contributions 🙂!
I did test the latest changes, unfortunately LAN commands are not sent anymore.
I do get status updates, but the commands are sent through API and AWS.
I get some errors right before bluetooth initialisation, after LAN devices are discovered.

@wez sorry for the delay, to answer your question, yes that should've been the case. Similarly here, some of my Govee devices don't yet support LAN but they used the previous methods. Although the recent beta doesn't send LAN commands anymore 🤔

oh dear what have i done

how about beta 11?

Tried with beta 12, still doesn't appear to be working. I have a POC that emulates a Govee device which I used when I was away developing the LAN PR, but it's written in flutter/dart. Do you think it will help if I will share it with you?

do you still get that yellow warning when the plugin loads?

also are you on my discord channel?

Oh, wait now it's working! Sorry about that! I think I might've forgotten to restart it. 🙏🏻

oh excellent! @wez any luck with you?

The app said they were on the same network, but I checked my router and they were on my IoT network.  I switched them over and can now see stuff in the logs:
[undefined] is not currently supported, do create a Github issue with the following info:
{"ip":"<IP_ADDRESS>","device":"","sku":"H6072","bleVersionHard":"3.02.00","bleVersionSoft":"2.03.03","wifiVersionHard":"1.00.10","wifiVersionSoft":"1.02.11","httpInfo":{"groupId":5808371,"device":"","sku":"H6072","spec":"","versionHard":"3.02.00","versionSoft":"2.03.03","deviceName":"Study Floor Lamp 2","deviceExt":{"deviceSettings":"{\"wifiName\":\"WIFI\",\"address\":\"\",\"bleName\":\"Govee_H6072_3529\",\"topic\":\"GD/647fa0790eb4dfab60276c5ebab8e2fe\",\"wifiMac\":\"D4:AD:FC:09:5C:C5\",\"pactType\":2,\"pactCode\":1,\"wifiSoftVersion\":\"1.02.11\",\"wifiHardVersion\":\"1.00.10\",\"ic\":66,\"boilWaterCompletedNotiOnOff\":1,\"sku\":\"H6072\",\"device\":\"\",\"deviceName\":\"Study Floor Lamp 2\",\"versionHard\":\"3.02.00\",\"versionSoft\":\"2.03.03\",\"playState\":false}","lastDeviceData":"{\"online\":false}","extResources":"{\"skuUrl\":\"https://d1f2504ijhdyjw.cloudfront.net/sku-img/814c890088f34da331e1eecf8ea46fc2-add_list_type_device_6072.png\",\"headOnImg\":\"https://d1f2504ijhdyjw.cloudfront.net/sku-img/7136846363c3c97ce15fe516fd176366-new_light_title_6072_on%403x.png\",\"headOffImg\":\"https://d1f2504ijhdyjw.cloudfront.net/sku-img/7704c288c48f0b39033a5a28aedf473c-new_light_title_6072_off%403x.png\",\"ext\":\"\",\"ic\":66}"},"pactType":2,"pactCode":1,"goodsType":30},"isLANDevice":true}
[10/2/2022, 11:17:50 AM] [Govee] [undefined] is not currently supported, do create a Github issue with the following info:
{"ip":"<IP_ADDRESS>","device":"","sku":"H6072","bleVersionHard":"3.02.00","bleVersionSoft":"2.03.03","wifiVersionHard":"1.00.10","wifiVersionSoft":"1.02.11","httpInfo":{"groupId":5808371,"device":"","sku":"H6072","spec":"","versionHard":"3.02.00","versionSoft":"2.03.03","deviceName":"Study Floor Lamp 1","deviceExt":{"deviceSettings":"{\"wifiName\":\"WIFI\",\"address\":\"\",\"bleName\":\"Govee_H6072_3411\",\"topic\":\"GD/aaaa23a49c0e34e7bff81218fcbccefb\",\"wifiMac\":\"D4:AD:FC:0D:45:27\",\"pactType\":2,\"pactCode\":1,\"wifiSoftVersion\":\"1.02.11\",\"wifiHardVersion\":\"1.00.10\",\"ic\":66,\"boilWaterCompletedNotiOnOff\":1,\"sku\":\"H6072\",\"device\":\"\",\"deviceName\":\"Study Floor Lamp 1\",\"versionHard\":\"3.02.00\",\"versionSoft\":\"2.03.03\",\"playState\":false}","lastDeviceData":"{\"online\":false}","extResources":"{\"skuUrl\":\"https://d1f2504ijhdyjw.cloudfront.net/sku-img/814c890088f34da331e1eecf8ea46fc2-add_list_type_device_6072.png\",\"headOnImg\":\"https://d1f2504ijhdyjw.cloudfront.net/sku-img/7136846363c3c97ce15fe516fd176366-new_light_title_6072_on%403x.png\",\"headOffImg\":\"https://d1f2504ijhdyjw.cloudfront.net/sku-img/7704c288c48f0b39033a5a28aedf473c-new_light_title_6072_off%403x.png\",\"ext\":\"\",\"ic\":66}"},"pactType":2,"pactCode":1,"goodsType":30},"isLANDevice":true}

you need to update to latest beta.
does your main network have access to the iot network?

Updating seems to make things work; I do see this line about the lamp being reported offline when using the home app to control the light:
[10/2/2022, 11:53:23 AM] [Govee] [Study Floor Lamp 2] has been reported [offline] via API, so update may or may not be successful.
[10/2/2022, 11:53:23 AM] [Govee] [Study Floor Lamp 2] [LAN] starting update with params [{"msg":{"cmd":"colorwc","data":{"color":{"r":4,"g":0,"b":255},"colorTemInKelvin":0}}}].
[10/2/2022, 11:53:23 AM] [Govee] [Study Floor Lamp 2] [LAN] command sent to [XXX] at [<IP_ADDRESS>].
[10/2/2022, 11:53:23 AM] [Govee] [Study Floor Lamp 2] current colour [rgb 4 0 255].
[10/2/2022, 11:53:23 AM] [Govee] [Study Floor Lamp 2] [LAN] receiving update [{"onOff":1,"brightness":100,"color":{"r":4,"g":0,"b":255},"colorTemInKelvin":0,"source":"LAN"}].
[10/2/2022, 11:53:27 AM] [Govee] [Study Floor Lamp 1] [LAN] receiving update [{"onOff":1,"brightness":83,"color":{"r":255,"g":90,"b":160},"colorTemInKelvin":0,"source":"LAN"}].

My iot network is routable from the main network, but it cannot initiate traffic to the main network. I'm not sure if the multicast stuff that the lan protocol uses will work across that boundary.  It would be nice to put those lamps back on the iot network if I could eg: add one of the interfaces on my homebridge system on that same network.

I was expecting to add the following at some point as it always becomes necessary at some point.
To be able to configure an IP per device, so that the lan mode doesn’t need to discover the device since it already has the IP. But obviously would mean that your devices would need a fixed IP on the IoT network

That sounds good to me: I'm totally ok to give them fixed addresses!

but would this work for your network setup? i assume it would if main lan is able to initiate traffic to iot?

@alboiuvlad29 fancy the IP implementation challenge? 😝

@bwp91 haha sure, I can have a look! Would need to understand a bit the use case. From what I read I get that a fixed IP would be used rather than the discovery command since the subnet cannot send controls back to the main network? While this may remove the discovery step, the status updates would also not work. And I think the devices would still have to be discovered first (i.e., through API) so they can be initialised in homebridge and then their IP address set. What is preventing traffic towards the main network?

@alboiuvlad29 back to my question earlier are you on discord?

but would this work for your network setup? i assume it would if main lan is able to initiate traffic to iot?

I think it would allow me to control the devices and poll them for their state, which is probably good enough for my purposes.

@wez please can you update to the new beta? In the config you should be able to set a custom IP address for a light device. Then the plugin should treat this like it has been discovered with this IP address.
This is untested so may or may not work first time!

Thanks; I switched one of my lights back over to the iot network, added a light device entry in the config with its IP, and it shows as LAN Supported: No in the my devices view and uses the cloud API to control it. I didn't see any other logs that might seem relevant/different from before.

a new beta to try :)

Thanks; still not quite there:
[10/4/2022, 7:29:43 AM] [Govee] [Study Floor Lamp 1] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":100,"color":{"r":164,"b":255,"g":5}}].
[10/4/2022, 7:29:44 AM] [Govee] [Smart Light] [API] receiving update [{"source":"API","online":true,"powerState":"on","brightness":76,"color":{"r":150,"b":255,"g":0}}].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [LAN] starting update with params [{"msg":{"cmd":"colorwc","data":{"color":{"r":255,"g":0,"b":0},"colorTemInKelvin":0}}}].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [LAN] device not found with id [XXX].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [AWS] sending update {"msg":{"cmd":"colorwc","cmdVersion":0,"data":{"color":{"r":255,"g":0,"b":0,"red":255,"green":0,"blue":0},"colorTemInKelvin":0},"transaction":"v_1664893784171000","type":1}}.
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"cmd":"colorwc","cmdVersion":0,"data":{"color":{"r":255,"g":0,"b":0,"red":255,"green":0,"blue":0},"colorTemInKelvin":0},"transaction":"v_1664893784171000","type":1}}].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"cmd":"colorwc","cmdVersion":0,"data":{"color":{"r":255,"g":0,"b":0,"red":255,"green":0,"blue":0},"colorTemInKelvin":0},"transaction":"v_1664893784171000","type":1,"source":"AWS"}].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [API] sending update {"name":"color","value":{"r":255,"g":0,"b":0}}.
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [AWS] message event [{"msg":{"transaction":"o_1664893784664","type":1,"cmd":"colorwc","data":{"color":{"r":255,"g":0,"b":0,"red":255,"green":0,"blue":0},"colorTemInKelvin":0},"cmdVersion":0}}].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] [AWS] receiving update [{"transaction":"o_1664893784664","type":1,"cmd":"colorwc","data":{"color":{"r":255,"g":0,"b":0,"red":255,"green":0,"blue":0},"colorTemInKelvin":0},"cmdVersion":0,"source":"AWS"}].
[10/4/2022, 7:29:44 AM] [Govee] [Study Floor Lamp 1] current colour [rgb 255 0 0].

in your config have you put the device id with capital letters? or lowercase?
whichever way you have, can you try the other?

actually this might not work anyway.

beta 15 available!

Seems like it worked!
[10/4/2022, 7:56:27 AM] [Govee] [Study Floor Lamp 1] has been reported [offline] via API, so update may or may not be successful.
[10/4/2022, 7:56:27 AM] [Govee] [Study Floor Lamp 1] [LAN] starting update with params [{"msg":{"cmd":"colorwc","data":{"color":{"r":255,"g":90,"b":160},"colorTemInKelvin":0}}}].
[10/4/2022, 7:56:27 AM] [Govee] [Study Floor Lamp 1] [LAN] command sent to [XX] at [<IP_ADDRESS>].
[10/4/2022, 7:56:27 AM] [Govee] [Study Floor Lamp 1] current colour [rgb 255 90 160].

Most importantly did the device change to the colour you chose?

Yes!

@bwp91 Sorry! Not sure how I missed the notification, just joined discord. Would you be able to invite me? Username: alboiuvlad29#9262

Closing this as a bit overwhelmed with issues.
Please update to the beta version of the plugin, and if you are still having issues, do reopen this ticket!
Thanks and apologies if closing prematurely.


Unable to initialize the manipulator

Running Ubuntu 18.04.05 on vmware
ROS2 Dashing
Hi I am a totally beginner of dynamixels and ros2
I have a couple of XM430-W210-R, trying to build my own robot arm with the OpenManipulator packages
I have installed the ros2 dashing and the openManipuatorX packages but failed to start the controller:

$ ros2 launch open_manipulator_x_controller open_manipulator_x_controller.launch.py
[INFO] [launch]: All log files can be found below /home/cybernetchi/.ros/log/2021-06-14-15-24-01-350158-ubuntu-25180
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [open_manipulator_x_controller-1]: process started with pid [25190]
[ERROR] [open_manipulator_x_controller-1]: process has died [pid 25190, exit code -11, cmd '/home/cybernetchi/colcon_ws/install/open_manipulator_x_controller/lib/open_manipulator_x_controller/open_manipulator_x_controller /dev/ttyUSB0 1000000 __node:=open_manipulator_x_controller __params:=/home/cybernetchi/colcon_ws/install/open_manipulator_x_controller/share/open_manipulator_x_controller/param/open_manipulator_x_controller_params.yaml'].

I try to connect to the servos with the Dynmixel Wizard 2.0, they work fine.
and I also tested with the read_write_node example, they also work fine.
Any help will be appreciated! THX

Hi @cybernetchi
It is recommended not to run on a virtual machine as it makes difficult to find the problem.
Have you configured your DYNAMIXEL baudrate to 1000000 bps?
Also, make sure that your U2D2 is assigned to the /dev/ttyUSB0.
In order to run the OpenMANIPULATOR-X package, you need 5 XM430-W210 DYNAMIXEL modules.

Hi @ROBOTIS-Will
Thank you for answering.
I figured it was my IDs are not matching.
Where should I configure my Dynamixel ID?
In the documentation it says I should change IDs in
open_manipulator_x/open_manipulator_x_libs/src/open_manipulator_x.cpp
but I found that I should change it in
open_manipulator_x/open_manipulator_x_libs/include/open_manipulator_x.hpp
and how about the baudrate and the usb input? where should I configure them?
Also, will the documentation update the 'Perception' part for ROS2 soon?
Thank you for the patience!

Hi,
The serial port and baudrate are defined as below at controller launch.
https://github.com/ROBOTIS-GIT/open_manipulator/blob/ros2/open_manipulator_x_controller/launch/open_manipulator_x_controller.launch.py#L31
The very basic features to operate the manipulator will be updated first, then other examples or applications (such as perceptions) might be scheduled for the update based on users feedback and internal review.
Thank you.

This issue appears to be resolved, so it will be closed.


fix(legend):when scroll legend has enough height, rich text config wi…

…ll not work, fix#12753

Brief Information
This pull request is in the type of:

[x] bug fixing
[ ] new feature
[ ] others

What does this PR do?

Regardless of whether the scroll legend controller exists, the width limit (setClipPath) of the text node should be effective
Fixed issues

#12753

Details
Before: What was the problem?

rich text config(width) in scroll legend will not work, when scroll legend has enough height.

After: How is it fixed in this PR?

Usage
Are there any API changes?

[ ] The API has been changed.

Related test cases or examples to use the new APIs
legend-scroll-width-limit.html
Others
Merging options

[ ] Please squash the commits into a single one when merge.

Other information

@yanheSu Do you mind providing test cases? I see legend-scroll-width-limit.html in your description. But it seems not exists in the changed files

@pissang  test case has been added


Add tests

v0.3.3 adds primitive tests (Some integration tests and unit tests), but the coverage is still not at 100%.

Also, #8 blocks multiple integration tests from running simultatneously.
Workaround: add --test-threads=1 to test binary.

cli's --reinstall flag should be tested.


Implement is_complete message

$ jupyter console --kernel scala211
Jupyter console 5.0.0

Jupyter Scala 0.3.0-M3 (Ammonium 0.4.0-M6-1) (Scala 2.11.8)
Initial dependencies:
  com.github.alexarchambault.jupyter:scala-api_2.11.8:0.3.0-M3:compile
  org.scala-lang:scala-compiler:2.11.8:macro

In [1]: 23/usr/local/lib/python2.7/dist-packages/jupyter_console/ptshell.py:571: UserWarning: The kernel did not respond to an is_co
mplete_request. Setting `use_kernel_is_complete` to False.
  warn('The kernel did not respond to an is_complete_request. '
In [1]: 23
res0: Int = 23

In [2]: 235
      :
      :

The is_complete_request lets interfaces like the console determine if the user needs to provide more code to finish a segment/block (more than a statement).

The current master answers is_complete_request. jupyter console is fine in particular (although I would recommend using Ammonite or ammonium directly to do Scala in the console).

I plan on using it in the notebook - I mostly used this as a way to test that the kernel was installed correctly on a remote system (so that I could see all stdout, even from child processes of the kernel itself).
Thanks!


Update local_zone_type.pp

update local zone types, see https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html#unbound-conf-local-zone

thanks


Leap Year Problem?!

Suddenly, today (2/29/24), an incoming call (any incoming call) causes Call Attendant to crash and burn. Here is what I see:
Feb 29 08:59:09 callattendant[2731]: Approved LED blinking: 2 times
Feb 29 08:59:09 callattendant[2731]: Waiting for call...
Feb 29 08:59:09 callattendant[2731]: Running the Flask server
Feb 29 08:59:09 callattendant[2731]:  * Serving Flask app 'callattendant'
Feb 29 08:59:09 callattendant[2731]:  * Debug mode: off
Feb 29 08:59:35 callattendant[2731]: RING LED blinking: 10 times
Feb 29 08:59:36 callattendant[2731]: > Queueing call 206xxxxxxx for processing
Feb 29 08:59:36 callattendant[2731]: Incoming call from 206xxxxxxx
Feb 29 08:59:36 callattendant[2731]: > Checking next-call-permitted
Feb 29 08:59:36 callattendant[2731]: > Checking whitelist(s)
Feb 29 08:59:36 callattendant[2731]: Approved LED blinking: 10 times
Feb 29 08:59:36 callattendant[2731]: ValueError('day is out of range for month')
Feb 29 08:59:36 callattendant[2731]: ** Error running callattendant
Feb 29 08:59:36 callattendant[2731]: Shutting down...
Feb 29 08:59:36 callattendant[2731]: -> Stopping modem
Feb 29 08:59:36 callattendant[2731]: -> Closing modem serial port
Feb 29 08:59:36 callattendant[2731]: -> Stopping voice mail
Feb 29 08:59:36 callattendant[2731]: -> Releasing resources
Feb 29 08:59:36 callattendant[2731]: Shutdown finished
Feb 29 08:59:36 systemd[1]: callattendant.service: Main process exited, code=exited, status=1/FAILURE
Feb 29 08:59:36 systemd[1]: callattendant.service: Failed with result 'exit-code'.
The issue would seem to be whatever is causing "ValueError('day is out of range for month')".

Changing to development and debug I get:
Feb 29 09:13:14 callattendant[3074]: Adding to caller queue:
Feb 29 09:13:14 callattendant[3074]: {'DATE': '0229',
Feb 29 09:13:14 callattendant[3074]:  'NAME': 'WIRELESS CALLER',
Feb 29 09:13:14 callattendant[3074]:  'NMBR': '2066795628',
Feb 29 09:13:14 callattendant[3074]:  'TIME': '0913'}
Feb 29 09:13:14 callattendant[3074]: Incoming call from<PHONE_NUMBER>
Feb 29 09:13:14 callattendant[3074]: > Checking next-call-permitted
Feb 29 09:13:14 callattendant[3074]: > Checking whitelist(s)
Feb 29 09:13:14 callattendant[3074]: Approved LED blinking: 10 times
Feb 29 09:13:14 callattendant[3074]: ValueError('day is out of range for month')
Feb 29 09:13:14 callattendant[3074]: ** Error running callattendant
Feb 29 09:13:14 callattendant[3074]: Shutting down...
Feb 29 09:13:14 callattendant[3074]: -> Stopping modem
Feb 29 09:13:14 callattendant[3074]: -> Closing modem log file
Feb 29 09:13:14 callattendant[3074]: -> Closing modem serial port
Feb 29 09:13:14 callattendant[3074]: -> Stopping voice mail
Feb 29 09:13:14 callattendant[3074]: Message Event triggered
Feb 29 09:13:14 callattendant[3074]: -> Releasing resources
Feb 29 09:13:14 callattendant[3074]: Shutdown finished
Feb 29 09:13:14 systemd[1]: callattendant.service: Main process exited, code=exited, status=1/FAILURE
Feb 29 09:13:14 systemd[1]: callattendant.service: Failed with result 'exit-code'.

Confirmed on my installs as well.
[2024-02-29 08:33:26.789280] ValueError('day is out of range for month')

Thanks for the confirmation. The month/year is confirmed to match on my one, caller-id enabled handset. A quick grep turns up many datetime references and it is not clear to me which might be causing this. But I suspect it is very early-on in call processing. The call log in the database does not get updated.
I suppose one day of downtime every 4 years (not quite that frequently, I know) isn't so bad. But I suspect this can be fixed by someone more expert than I am.

Well, something to do after lunch today ;)
I'll try to get it fixed before the next leap-year.

As always, thanks. I have tried a bit to run it to ground without any real progress...

Ha, ha, ha -- Phone company only reports the month and day and not the year. Python datetime functions default to 1900 if no year specified and there was no leap-year then (not divisible by 400) ! Stay tuned for fix.

See fix in calllogger.py -- 652b33b
Will include in 1.7.1 release TBS

That seems to fix it. Thanks so much!

Convenience patching snippet in the meantime:
cd ~/venv/lib/python3.9/site-packages/callattendant/screening
wget https://github.com/thess/callattendant/commit/652b33b1eed76f77393bac2fecb4b31f3ea0715c.patch
cp -p calllogger.py calllogger.py-dist
patch calllogger.py 652b33b1eed76f77393bac2fecb4b31f3ea0715c.patch

FYI - this code was added to the original repo in August 2020. Never encountered leap-year before today.

Closed in release v1.7.3


PerceiverIO should have the option to not do cross attends in the "Process" module

From the paper, in H.1 Details of ImageNet training:
"We omit the repeated encoder
cross-attends used [35] as we found these to lead to relatively small
performance improvements but to significantly slow down training"

@SurrealEverything yes, you are correct! fixed in 0.7.0!


Jest expectations over the Detox ones

Hi! Can I use Jest expectations (https://jestjs.io/docs/en/expect) over the Detox ones?
Could you please tell me how to do it, if it's possible?
I have Jest runner installed

Search detox.init options. exportGlobals false

@noomorph https://stackoverflow.com/questions/60686639/use-jest-expectations-over-the-detox-custom-ones


Fix controller manager image patch in CI

What this PR does / why we need it:
This is the fix for previous controller manager HA PR #2010 which missed changing the statefulset to deployment in CI overlay, so controller changes in PR were not tested.
Also removes the CI actions for deprecated pytorchserver.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Type of changes
Please delete options that are not relevant.

[X] Bug fix (non-breaking change which fixes an issue)

/lgtm

/test kubeflow-kserve-presubmit

/retest kubeflow-kserve-presubmit


Some issues about Linearize block

In the help of Linearization Library Block, the dimension of N_XPer_M should be rxm, the dimension of N_UPer_M should be rxn.
In the MATLAB Function, line26-28, why transpose BIn and x_dot_hist,  when length(x_dot) is 1?
if length(x_dot) == 1
B = BIn';
x_dot_log = x_dot_hist';
else
B = BIn;
x_dot_log = x_dot_hist;
end

ck1313,
Thanks for finding this.  The matrix dimensions have been updated in 3e319dfd8705cee337c8aadcca489cb623952b07   as of 3/3/2016.
As for the second questions.  This code is a product of MATLAB doing strange things when talking between MATLAB functions and Simulink.  x_dot_log and x_dot_hist are saved x_dot baseline and perturbed values.  These are exported to a matlab memory block outside of the MATLAB function (perhaps I should have used the memory feature of this block... but I didn't).  Anyhow,  if x_dot is length 1, then saving the history of them is a vector and for some reason Simulink will flip them when it exits and enters a MATLAB function. So, when the old x_dot_hist is brought in to be updated it must be transposed so the rest of the code will work. Note: an actual matrix will be read correctly.
So, the delay block in Simulink is set to a  1xm,  the MATLAB function interprets that to be an mx1, the code then flips it (back to 1xm) so that all the sizes workout in the code, at the end of the code the vector is flipped again to a mx1 so that when it exits the MATLAB function block it will return to being an 1xm.   I may have the row vs col thing mixed up, but hopefully this makes it understandable.
I would probably consider this a MATLAB/Simulink bug, and if it gets fixed in the future the code will need to be updated.

Thanks for your guidance.

I have another question.
Line 68-79:
% log x_dot and y values
if LenPV == 1
if i == b;
x_dot_log(1) = x_dot;
y_log(1) = y;
end
else
if i > a && i<= LenPV + a+1;
x_dot_log(:, i - a) = x_dot;
y_log(:, i - a) = y;
end
end
When LenPV=1(only one  disturbance variable) and i=2, x_dot_log(1) saved the baseline values. But no code to save the perturbed values. So we can not get the ABCD.


Support no_std usage

I'm working on no_std library and I encountered a problem with serde that it doesn't work when I compile for the target (see https://github.com/paritytech/pwasm-abi/issues/54 ). After some investigation I found that it seems evildoer is this crate. So I tried to replace serde in dependencies with:
serde =  { version = "1", default-features = false }
It almost compiled, however I've got several erros. One of them is was
error[E0407]: method `visit_string` is not a member of trait `Visitor`
  --> C:\Users\Alex\Documents\Repo\json\src\value\de.rs:76:13
   |
76 | /             fn visit_string<E>(self, value: String) -> Result<Value, E> {
77 | |                 Ok(Value::String(value))
78 | |             }
   | |_____________^ not a member of trait `Visitor`

It's because Visitor trait has cfg attribute:
#[cfg(any(feature = "std", feature = "alloc"))]
fn visit_string<E>(self, value: String) -> Result<Value, E>;

When implementation - doesn't.
It seems that the crate was never tested against no_std environments (sorry if I'm wrong).
I could try to fix all issues myself and create a PR, but I'm not sure that I'm doing the right thing or don't.
Please, see referenced issue if you want to know why I came here with this proposal.

Please use serde-json-core if you need a no-std JSON library.

Unfortunately, it doesn't work with structs so this is a no-way.
It seems pretty easy to solve these three issues to make it non-std compatible. It probably won't be a good way to run it on devices with limited CPU/memory capabilities, but there still plenty of powerful devices that require no_std target.

I am closing the issue because I don't intend to bring no-std support into serde_json as discussed previously in #362.

std feature should be removed from the crate (to not confuse people that it supports some kind of no_std)

I'm afraid I don't understand what std feature this suggestion refers to. The serde crate has a std feature because its dependency on the standard library is optional. Serde data formats without a standard library dependency exist, including the mentioned serde-json-core and a couple others. The serde_json crate does not have a std feature because its dependency on the standard library is not optional.

@dtolnay I have several considerations

This crate doesn't work with alloc types such as String or Vec. How can I serialize something into JSON if it doesn't support strings?
It look a bit abandoned, this crate doesn't even exist on crates.io (latest version is 0.0.1, when actual is 0.1.0).
It look pretty straightforward to add no_std in the crate. This restriction may be relaxed later, if required.
You alredy have cfgs like

#[cfg(any(feature = "std", feature = "alloc"))]

If you don't want to support no_std you don't need to cfg based on these features.
But as I said, it hasyou have to fix only 3 places via cfgd or slight rewriting to make it work in no_std scenarios.

I'm currently in the situration where I need to serialize some Vec's and Stirngs's into json. What crate should I use and how?

I crated a question about it, if you are insterested: https://users.rust-lang.org/t/how-to-serialize-json-in-no-std-library/18915

I would be willing to consider a PR that adds a std feature on by default, and exposes the same or a subset of the current API of serde_json by using the alloc crate in no_std mode. Let's track this in #362.


Revert "Merge pull request #932 from srajko/callback-throttle"

A non-trivial number of segfaults are seeing this in production. Pulling this back for right now until a later release where we can fix them.

Going to reopen #919 until this is fixed again without the double-freeing segfault.


feat: add node error inside sdk error v1 wrapper

Description
This PR adds the node error data inside the error thrown in SDK wrappers. This way it is not lost in context and can be easily seen in console, not having to also search in network tab

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] Throw lit action error in a demo app and checking its console

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

This PR is replaced by https://github.com/LIT-Protocol/js-sdk/pull/548 which brings a much better solution to this problem


Unable to open an audio device on macOS

I'm running SDL 2.0.22 and SDL_mixer 2.60 on macOS 12.5.
I'm attempting to open an audio device as follows, after calling SDL_Init (audio and video), and Mix_Init:
Mix_OpenAudio(
    MIX_DEFAULT_FREQUENCY,
    MIX_DEFAULT_FORMAT,
    MIX_DEFAULT_CHANNELS,
    2048
)

The error I get is as follows:
MEMixerChannel.cpp:1636  client <AudioQueueObject@0x10c013800; [0]; play> got error<PHONE_NUMBER> while sending format information

I'm also having the same issue calling Mix_CloseAudio()

The error I get is as follows:

Is<PHONE_NUMBER> the actual value Mix_OpenAudio() returns?

@icculus, I think this is actually an SDL issue. Can you look at this for the 2.24.0 milestone?

Yeah, I'll try to reproduce it today.

Is<PHONE_NUMBER> the actual value Mix_OpenAudio() returns?

No, it returns 0. The audio device does seem to be open and working fine (I hadn't gotten around to playing sounds yet yesterday) but there is an error thrown somewhere.

Is<PHONE_NUMBER> the actual value Mix_OpenAudio() returns?

No, it returns 0. The audio device does seem to be open and working fine
but there is an error thrown somewhere.

If Mix_OpenAudio returns 0 and device is working fine, then there are no
actual errors: You should check errors only if the function you called really
returns an error. @icculus, @slouken: This should be closed as invalid.
And we should document error checking better I guess.

@sezero I didn't check for errors, nor does my code print them. I only noticed this because my debugger was set to pauze on C++ errors being thrown. I assume at MEMixerChannel.cpp:1636?
I can reproduce this with just:
#include <SDL2/SDL.h>
#include <SDL2_mixer/SDL_mixer.h>
#include <stdio.h>

int main(int argc, char **argv)
{
    SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO);
    Mix_Init(0); // or any other flags
    Mix_OpenAudio(44100, MIX_DEFAULT_FORMAT, 2, 2048);

    Mix_CloseAudio();
    Mix_Quit();
    SDL_Quit();
}

The full output I get for this in Xcode is:
2022-08-07 10:42:38.089133+0200 SDL_C[2362:74204] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x100c3b110> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2022-08-07 10:42:38.151530+0200 SDL_C[2362:74687] [aqme]        MEMixerChannel.cpp:1636  client <AudioQueueObject@0x101824a00; [0]; play> got error<PHONE_NUMBER> while sending format information
2022-08-07 10:42:38.227740+0200 SDL_C[2362:74204] [aqme]        MEMixerChannel.cpp:1636  client <AudioQueueObject@0x101824a00; [0]; play> got error<PHONE_NUMBER> while sending format information
2022-08-07 10:42:38.263413+0200 SDL_C[2362:74204]  AudioObjectGetPropertyData: no object with given ID 0
Program ended with exit code: 0

MEMixerChannel.cpp isn't our code; this is an error message in CoreAudio's codebase, or a plugin that CoreAudio is using.
I'm still going to see if I can reproduce it here, but this might be beyond our control.
What sort of Mac is this? Is there any sort of unusual audio hardware plugged into it? (a USB headset? A PS4 controller where the Mac is seeing its headphone jack? etc)

When this happens is audio functional? If so, it might just be the system CoreAudio being more chatty than usual.


Any reference of Travel Staff Blacklisting causes dedicated server crash: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP

This includes both calling the dedicated IMC (http://pastebin.com/s3nZ5Dy4) and reflectively injecting the entries directly.
At a glance, it looks like onInput(EntityClientPlayerMP) in TravelController does not have an @SideOnly, and this triggers the crash.

Why did you not specify any version information and an incomplete log? The "new issue" template is there for a reason.

This is with the version uploaded yesterday (1.7.10). The rest of the log is loading info I doubt you will find helpful.

I'm getting the exact same Error:
EnderIO:EnderIO-1.7.10-<IP_ADDRESS>5_beta.jar
EnderCore-1.7.10-<IP_ADDRESS>_beta.jar
Forge: 1.7.10 - <IP_ADDRESS>4

Same problem here http://pastebin.com/yRrYA8xW

Dont mind the reference, wrong link sorry

I am also experiencing this issue. http://pastebin.com/DLLs7QXg
Version 1.7.10-<IP_ADDRESS>4_beta
Same thing. Reika's mods + EnderIO = crash during startup

ok, ok, let's call this "confirmed". No more "me too"s needed ;)

Please see #3301 for the client side to this issue.

#3303 Seems to have fixed my issues, havent crashed as of yet, client or server

@SteelShot could you tell me how/where did you get updated EIO that fixes this?

@Hiranus either by compiling it yourself or by nagging @tterrag1098 to pull that PR and release a new version

I never compiled anything in java, and if I'm not mistaken ill need a lot of other libs etc to do this.... Could someone share compiled version with me? I will be very very grateful. :)  @tterrag1098 Could you please release new version with this fix?

because you asked nicely: http://loenwind.info/EnderIO-1.7.10-2.3.0.t3_beta.jar

Thank you :)

Is this just with #3303 changes or anything else has been done in the jar Henry?

Doesn't work:
Exception in server tick loop
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP
java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP
at crazypants.enderio.EnderIO.processImc(EnderIO.java:741)
at crazypants.enderio.EnderIO.onImc(EnderIO.java:723)

That is a clean compile from the branch that is PRed above. Only other difference from 425 is the build number ("t3").

Thank you, it works fine so far!

Thanks for the changed version - though I still get a crash when ChC is installed. Completely different crash message, but I'm not sure if it's related to this issue or not. I'd paste the log, but it looks like someone else already did so in https://github.com/ReikaKalseki/Reika_Mods_Issues/issues/836 which was (perhaps erroneously) marked as a duplicate. (Sorry, not sure how to link issues from other repositories.)

that's a dupe of #3301, not if this one.

Using @HenryLoenwind's t3 build and v13b of DragonAPI, I'm still receiving this crash on the server side. Any ideas what I'm doing wrong?

try this one, i've compiled this myself, tho nothing has been changed apart the #3303 pull request
https://goo.gl/hIBwhz

Thanks, @SteelShot, but no joy on my end. Exact same crash. I'll poke around some more on my end; regenerate some configs.

Just a wild guess, but is your EnderCore up to date as well?

Also, is it the exact same crash, same line numbers in the stack trace? If so, then you are not using the new jar. Those line numbers have changed. If not, please post the stack trace.

Figured out the issue...specifically, @ReikaKalseki hasn't yet released a v13c that fixes the issue (see his note on #3301, so I made a one-off Ender IO to correct the shielded block until he drops a permanent fix.

The OOB is triggered by CC, but the serverside crash is on EiO's end, and nothing will ever come from me to fix it.

@ReikaKalseki, the incoming shielded block from ChromatiCraft isn't correctly formatted with [modid]:[blockid]. Fixing this fixes the crash (after applying the pull request to EIO posted earlier). I noticed you've just commented out the line on your CrC github since v13b. There's two separate issues here, one on each side.

Yes, I know, and that is fixed.

Unf, due to the fix in this EnderIO vers not being released to curse, im unable to use it in my modpack, so i'll wait for a proper release of either mods with a fix to occur since curse rejects the patched version.

None of the above jars worked for me. And creating them myself with that pull request did nothing. Does Endercore need updating? According to the Github it hasn't been touched in a while so I don't know.

Crash log? Is it EXACTLY the same?

It's extremely close but pretty much yeah.
crash-2016-05-24_04.31.13-server.txt
crash-2016-05-24_04.01.35-server.txt

Do you see a difference?
Between this?
cpw.mods.fml.common.LoaderException: java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityClientPlayerMP     at cpw.mods.fml.common.LoadController.transition(LoadController.java:163)     at cpw.mods.fml.common.Loader.initializeMods(Loader.java:744)     at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97)     at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319)     at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210)     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387)     at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
And this?
cpw.mods.fml.common.LoaderException: java.lang.ExceptionInInitializerError 	at cpw.mods.fml.common.LoadController.transition(LoadController.java:163) 	at cpw.mods.fml.common.Loader.initializeMods(Loader.java:744) 	at cpw.mods.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:97) 	at cpw.mods.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:319) 	at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:210) 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:387) 	at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)

Yes. I mean regardless, it's done with both those jars above. As you can see, they didn't work.
Works on the client though.

Give me your config, i think theres an error in black listing, there might be missing ":" somewhere

What config? The normal EnderIO.cfg? Those two jars are the ones that was posted above.

the cfg file

Hopefully it's the correct one. Since I can upload it as is. I just .zipped it.
EnderIO config.zip

Try this EnderIO.jar, beware there is more changed here: Pull Requests #3309, #3303, #3287, #3289.
And try this EnderIO.cfg, it is default, nothing has been changed. Run without making changes if it works, do your changes then, if something breaks again revert changes back.

Alright. I don't remember doing any changes to the EnderIO config, maybe somebody else did here. And I can't get your jar, it just downloads the .cfg again.

Is it working? Read the message above

I did read the message. Please don't treat me like a child. I was busying doing work related stuff.  That crash has nothing to do with this problem. Go to #3301


Github Actions / Ubuntu 18.04 > Option --commit=latest raises an "object not found" error

Describe the bug
The following command works perfectly fine on a laptop or on a VM but raises an error when started from Github Actions.
docker run --rm --name gitleaks -v $(pwd):/code/ zricethezav/gitleaks:v7.2.0 --path=/code/ --commit=latest

The same command does not raise an error when "--commit=latest" is removed from the command above.
To Reproduce

Create a new Github repository
Add a .github/workflows/CI.yml file to the repository with the following content:

name: CI

on:
  push:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - name: Run gitleaks
      run: |
        echo $(pwd)
        ls -la $(pwd)
        docker run --rm --name gitleaks -v $(pwd):/code/ zricethezav/gitleaks:v7.2.0 --path=/code/ --commit=latest

Push the code to github

Expected behavior
The command should return an exit code 0, but instead, raises an "object not found" error. Git and docker are installed on the runner.
Screenshots

Basic Info:

OS: Runner ubuntu-latest (Ubuntu 18.04.5 LTS)
Gitleaks Version: v7.2.0

Additional context
This appears maybe for any Ubuntu 18.04.5 LTS device. However, I don't have access to other Ubuntu devices to test it.
cc @zricethezav

Duplicate with #515


Block edge 4.5.17

4.5.17 needs to be disabled:
3 clusters currently failing (30%),  1 gone (10%),and  6 successful (60%), out of 10 who attempted the update over 7d
Currently failing classification:
* UPI router degraded: 1
* Untriaged: 2

4.5.17 can be enabled again:
3 clusters currently failing (33%),  0 gone ( 0%),and  6 successful (67%), out of  9 who attempted the update over 7d
Currently failing classification:
* UPI router degraded: 1
* Untriaged: 2


FactoryBot/CreateList: Prefer 1.times.map conflicts with Lint/UselessTimes

The first line of this spec-code :
         [ create(:event_delivery, invoice: invoice, flat_rate: false, carer: carer) ] +
            create_list(:event_delivery, 2, invoice: invoice, flat_rate: true, carer: carer)

Triggered an offense of the form: FactoryBot/CreateList: Prefer 1.times.map.
and was listed as correctable.
However when correcting it, it triggered a different rubocop as follows:
Inspecting 1 file
W

Offenses:

<filename here>:270:11: C: [Corrected] FactoryBot/CreateList: Prefer 1.times.map.
          [create(:event_delivery, invoice: invoice, flat_rate: false, carer: carer)] +
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<filename here>:270:11: W: Lint/UselessTimes: Useless call to 1.times detected.
          1.times.map { create(:event_delivery, invoice: invoice, flat_rate: false, carer: carer) } +
          ^^^^^^^

1 file inspected, 2 offenses detected, 1 offense corrected

It seems that 1.times.map is not the right solution to this, but instead it should be:
         create_list(:event_delivery, 1, invoice: invoice, flat_rate: false, carer: carer) +
            create_list(:event_delivery, 2, invoice: invoice, flat_rate: true, carer: carer)

Which seems to make both cops happy.
Any chance we could update the cop to do this instead?

Thanks for reporting.
We could allow for length 1 even if we detect that arguments include method calls here https://github.com/rubocop/rubocop-factory_bot/blob/0da664d97a8632769451a1633eafd852db5cf2a4/lib/rubocop/cop/factory_bot/create_list.rb#L128 and line 125, too.
I don't think our specs describe how we deal with most cases for a single-entry list. Would you like to discuss that for two combinations of styles and the presence of method calls in arguments?


Drop support for promises in favor of a stream first approach

As of today the client supports a request->response scheme, in today's world we want real real-time datas. It would make more sense to only expose async iterators to force the client to really provide 'data as a service' leveraging multi chunk responses.

Thinking of writing an engine instead of a server :thinking:

yup, currently rewriting the execute function, will transform this repo to a lower lvl

follow up in #10


CascadedShadowMaps: Allows setting min and max number of cascades

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/13739/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13739/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/13739/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/13739/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/13739/merge
https://gui.babylonjs.com/?snapshot=refs/pull/13739/merge
https://nme.babylonjs.com/?snapshot=refs/pull/13739/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/13739/merge#BCU1XR#0


Update schema

he following queries are taking too much time (1 sec = 1000ms can be considered as too much time for database query). Try them on your machine to confirm it:
SELECT COUNT(*) FROM visits where animal_id = 4;
SELECT * FROM visits where vet_id = 2;
SELECT * FROM owners where email =<EMAIL_ADDRESS>Use EXPLAIN ANALYZE on the previous queries to check what is happening. Take screenshots of them - they will be necessary later.
Find a way to decrease the execution time of the first query. Look for hints in the previous lessons.
Find a way to improve execution time of the other two queries.
While you are making changes, check if they help by running EXPLAIN ANALYZE. Once you succeed, take a screenshot of the EXPLAIN ANALYZE result showing that time actually decreased.
Any changes you made to your database schema should be added to the schema.sql file and commited in a new pull request.
If you decide to commit any INSERT INTO queries - remember to add the m to the data.sql file. It is important to keep only the queries that change the database structure in the schema.sql file.
In your pull request description include screenshots with EXPLAIN ANALYZE results (before and after you improve the speed) for each of the 3 problematic queries.

After
before


Updated lustre to 2.12.6

-Updated lustre to 2.12.6
-Can use latest CentOS-HPC image and not have lustre client incompatibility issues with MOFED 5.1

Please change also the blocks/lustre-cluster.json and the cc_lustre example

Please change also the blocks/lustre-cluster.json and the cc_lustre example


bug: Keyboard overlaps input in iOS

Type: bug
Platform: ios 8 webview
Hi,
I'm testing my iOS app in my iPad and in the iOS simulator too and there's a problem when opening a ionicPopup. The keyboard overlaps almost all the input size and it hides all the buttons from the popup.
It seems like the popup is showing in the middle and the keyboard open doesn't affect to it at all.
Here I show you an example: http://imgur.com/N5jukSr

This is something we've spent a good bit of effort trying to consistently avoid. Could you share a codepen or example project that reproduces this so we can add it to our tests?

Greetings @jesusbotella!
My sensors indicate a reply was requested, but we have not received one yet, I am using my robot powers to close this issue. However, if you are still experiencing this issue, please feel free to reopen it by creating a new issue, and include any examples or necessary information.
Thank you for allowing me to assist you.

Greetings @jesusbotella!
My sensors indicate a reply was requested, but we have not received one yet, I am using my robot powers to close this issue. However, if you are still experiencing this issue, please feel free to reopen it by creating a new issue, and include any examples or necessary information.
Thank you for allowing me to assist you.


double free in some scenarios

Describe the bug
https://github.com/falcosecurity/libs/blob/master/userspace/libscap/linux/scap_userlist.c#L297
if grpidx is 0, then realloc size is 0. such as getgrent failed.
https://linux.die.net/man/3/realloc
If size was equal to 0, either NULL or a pointer suitable to be passed to free() is returned
https://github.com/falcosecurity/libs/blob/master/userspace/libscap/linux/scap_userlist.c#L302
then free(userlist->groups) will cause double free.

How to reproduce it

Expected behaviour

Screenshots

Environment

Falco version:

System info:

Cloud provider or hardware configuration:
OS:

Kernel:

Installation method: source

Additional context

Hi! Thanks for opening this issue! And great catch btw :) Would you mind opening a PR to fix this?


qTranslate X issue

Hello again.
I use qTranslate X (2 languages) on the site and in most cases AMT works pretty well with multilingual content: titles, site title and others translated well.
But one thing is never translated. The post-type:PAGE meta description is always in default lang. It is very strange because post-type:POST meta description translated well. Do you use different approaches to get these texts?
I do not ask you to implement the qTranslate X to AMT. I am really wondering where is the difference between post and page in amt and why so?
Thank you.

Hi @kunicz,
Thanks for your feedback.
I'm really out of ideas why this might be happening. The custom description is processed in the same way for all post objects (posts, pages and custom post types). It should work exactly the same as with posts.
I'm not using qTranslate-X at the moment in any test web site, but I'll add a note in my bug tracker to test it at some point in the future.
George

The way I make this plugin compatible with qTranslate-X is by modifying a single line in amt-utils.php fie.
Original code:
$initial_content = apply_filters( 'amt_get_the_excerpt_initial_content', $post->post_content, $post );
I just wrap $post->post_content with __() function, like so:
$initial_content = apply_filters( 'amt_get_the_excerpt_initial_content', __($post->post_content), $post );
After that, the meta description always contains the correct language.

The way I make this plugin compatible with qTranslate-X is by modifying amt-utils.php fiie in two places.
One is needed in cases where post/page uses meta description box and the other is used when that meta description box is empty and content is used instead. I think that is what @kunicz is noticing.
Below are my modifications, that I need to add every time the plugin updates. It would be nice, if this would be included in future version of add meta data.
First line that I modifiy is:
$initial_content = apply_filters( 'amt_get_the_excerpt_initial_content', $post->post_content, $post );
I just wrap $post->post_content with __() function, like so:
$initial_content = apply_filters( 'amt_get_the_excerpt_initial_content', __($post->post_content), $post );
Second modification is located in amt_get_content_description function.
Here I just make sure, the returned variable is also wrapped with __() function, like so:
return __($content_description);
After changes to those two lines, the meta description always contains the correct language.

Hi @HowToSolutions
This is very interesting. Thanks for posting it. I'll take a closer look at the code and see why passing the variable through __() is required for the description and reply back in the following days.
Does this issue only occur with the description and not with any other field of the Metadata metabox?
George

I only use meta description so I only focused on that part of plugin to work. For other fields I'm guessing it needs similar fix.
The way qTranslate uses __() function is that it filters original text which is wrapped with language tags and returns only text for current language.
This is quote from original qTranslate webpage:

Multilingual Text in Templates without the need to change Gettext Databases/.mo files – Use Language Tags with Gettext!

So if we have code like this:
$mytext="<!--:en-->english text<!--:--><!--:de-->german text<!--:-->";
echo __($mytext);

When webpage is in English, the qTranslate will filter that variable and returned english text and when in German, it will returned german text.
If qTranslate is not installed, __() returns original text.
Also check this Codex page about  translating a plugin and about gettext function.

What qTranslate does is it hooks into __() function and it filters original text which is wrapped with language tags and returns only text for current language.

Oh, I see. Very useful piece of information. I'll look into this more closely and fix any issues.

Hello all,
Could you please check if it works as expected by adding the following in the theme's functions.php file?
function amt_q_translate_x_workaround_description($data) {
    return __($data);
}
add_filter('amt_get_the_excerpt_initial_content', 'amt_q_translate_x_workaround_description');

Also, feedback about whether custom keywords and custom title work as expected would very useful. I'll also try to test q-translate-X myself very soon.

Right now it's difficult to tell if wrapping the post content through __() could cause any problems with other multilingual plugins. Some time for testing will be required before such a change makes it into the plugin.
In the meanwhile, using workarounds like the above should be preferred instead of modifying the plugin files directly.
I'll reply back with some more info soon.
George

Opps, I totally missed that the first line I modified contains appy_filter function. I tried that filter now and it works.
You are right, it is more safe to use filters for __().
So to make this plugin compatible with qTranslate, all that is needed is to add additional apply_filter functions where it is needed.
For example the second modification I made located in amt_get_content_description function where i wrapped line return $content_description; with __() does not have any apply_filter.
I tried language tags on custom title and custom keyword in posts and that seems to be working.

Right. Sorry, forgot about amt_get_content_description(). Also made a small mistake in the above snippet.
The current post contains the most up to date information.
The required filter hook in amt_get_content_description() will be available in the next release. The changeset is here.
The required extra code is the following:
// qTranslate-X workaround for the initial content for auto-generated description generator.
function amt_q_translate_x_workaround_autogen_description($data, $post) {
    return __($data);
}
add_filter('amt_get_the_excerpt_initial_content', 'amt_q_translate_x_workaround_autogen_description', 10, 2);

// qTranslate-X workaround for the final description
function amt_q_translate_x_workaround_final_description($data, $post) {
    return __($data);
}
add_filter('amt_get_content_description', 'amt_q_translate_x_workaround_final_description', 10, 2);

I tried language tags on custom title and custom keyword in posts and that seems to be working.

Thanks for testing this. It is much appreciated. I might have an idea why this is happening with the description but I'm not 100% sure.
Anyway I'll try to test the above snippet with other multilingual plugins and, if there are no conflicts, I'll possibly incorporate the aforementioned changes in the plugin.
Thank you for your feedback. It has been very helpful and right to the point.
George

function amt_q_translate_x_workaround_description($data) {     return __($data); } add_filter('amt_get_the_excerpt_initial_content', 'amt_q_translate_x_workaround_description');
This works for me either!

Hi @kunicz
Thanks for your feedback. Most probably both filtering functions will be needed. This will be possible in 2.10.10 which will be out very soon.
George

Thank you. I'm looking forward to the new version.

I'm looking again into this issue. I'm interested in integrating the solution in the plugin so you don't have to use any filters, but before doing so I have to make sure about what works and what not.
So far the solution is to use the __() function at the points indicated above, but according to my research such use of that translation function might not be the optimal solution.
An alternative could be the qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage() function. Instead of the above snippet, could you please check if the following could work?
add_filter('amt_get_the_excerpt_initial_content', 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage');
add_filter('amt_get_content_description', 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage');

If this works, I'll integrate it inside the plugin.
Unfortunately, I'm not familiar with qtranslate-X and currently there is no time to test it. Your feedback is much appreciated.
Another alternative could be shipping a JSON-encoded configuration file as described in the following:

https://qtranslatexteam.wordpress.com/integration/
https://qtranslatexteam.wordpress.com/json-configuration-syntax/

It'll need some studying, but seems like a decent solution.
Thanks for your feedback in advance.
George

Hi,
Sorry for the late reply.
I tried to use 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage' in add_filter and it work too.

Hi, I decided to no longer offer support for this plugin. I'm very sorry about that. I'll now close this issue. Please use any workaround you see fit.

I'm sorry to hear that. Could you at least leave those two filters 'amt_get_the_excerpt_initial_content' ``and 'amt_get_content_description' in your plugin? That way, the developers can still make add-meta-tags plugin qTranslateX compatible.

I'm sorry to hear that. I really liked your plugin. It was simple and it did what it promised.
I appreciate all the work and time you have put into add-meta-tag and wish you very best on other projects.

Hi, thanks. Same to you! :) Made another release to fix a small issue with the release tags and pushed it on here.


Conditional rendering in view!

Is it currently possible to conditionally render different Widgets in the view! macro?
According to https://relm4.org/book/widget_macro_reference.html#functions one can use a special syntax to specify a function that returns the widget. Is it possible to use a closure here?
And additionally: How do I write conditional logic without losing the macro abilities? (Can I "pass" the macro to the function that conditionally renders my widget?)

So far, you can't use closures, but if you have a good idea for a syntax you can add it here: https://github.com/Relm4/Relm4/issues/162
Regarding conditional code, you can use ? for optional assignment of properties that are stores as Option<T>. Yet, you can't generate widgets conditionally yet. Again, if you have a good idea for a syntax, let us know :)

Hey there, thanks for you response! Will do that.

I do conditional rendering by setting the visibility on the different widgets depending on what's in the model: https://github.com/euclio/fm/blob/9f1842c9e25a29022784595144c0311ef5a6f8f5/src/file_preview.rs#L272-L294

Yes, that'd be one solution. But since we need to generate a hidden container anyway, I thought using a Stack might be a better option and would also allow using animations on page switches. I hope I can soon add this to #165


[Head Node Reporting] Fix regression in test_monitoring causing cluster creation failure.

Description of changes
Fix regression in test_monitoring introduced by https://github.com/aws/aws-parallelcluster/pull/5732, that started causing cluster creation failure due to invalid cluster config.
Tests
Verified that cluster config is now valid in test_monitoring integ test.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Could you please describe in the description "why" it was failing? Why introducing this parameter is solving the issue?


Launch a web server (for example, python -m http.server 8000, or by using the dhttpd package), and open the /build/web directory. Navigate to localhost:8000 in your browser (given the python SimpleHTTPServer example) to view the release version of your app.
Start the web server (for example, python -m SimpleHTTPServer 8000, or use the dhttpd package), then open the /build/web directory. Visit localhost:8000 (the server started with Python earlier) in a browser to see the release version of the application.
the "python -m SimpleHTTPServer 8000" is for python2,   it doesn`t work for python3

@telefiless
I am not sure what exactly is the issue you are reporting. I tried below and it works with python3:
Compiling lib/main.dart for the Web...                             19.2s
dhs@Dhss-MacBook-Pro testdemo % python -m http.server 8000
dhs@Dhss-MacBook-Pro testdemo % python2 -m http.server 8000
dhs@Dhss-MacBook-Pro testdemo % python3 -m http.server 8000
Serving HTTP on :: port 8000 (http://[::]:8000/) ...

See https://stackoverflow.com/a/60306277 for your reference.
Closing, as this seems to be non-issue / unrelated to Flutter. You may ask the same on support channels like StackOverflow. If you disagree, write in comments and I'll reopen it.


Cracking the coding interview book

It's contain 150+ interview questions and solution it was a really awesome book

Thanks for your suggestion but I think it's not free.
Proof: https://www.crackingthecodinginterview.com/
If you are sure that are free... provide right link

It's free i will provide you everything in free of cost in pdf format

It's free i will provide you everything in free of cost in pdf format

Then provide the URL of target link

@davorpa should i create a PR ???

Please assign me the task  in Hacktoberfest 2021 Label

@davorpa should i create a PR ???

No needed make issues if you have some experience contributing on FOOS: Read our HOWTO

Please assign me the task in Hacktoberfest 2021 Label

Hacktoberfest tag is setted at repo level

This book is not free.
You can get the pdf version of any paid resource(book or online course) on various websites or torrents, but that doesn't make the resouce free. That is just piracy.
The only resources which are free are those which can be downloaded or viewed on their official website without paying any money.

@SahityaRoy I hope you have write permissions for use this book as it's how to redistribute it

:information_source: Author site: https://www.gayle.com/books
Do you want more proofs?


Issues getting read_report to work

Hi, Ive gotten my input descriptor working - a simple descriptor with 3 bits corresponding to 3 usage items, and 5 bits padding.
My input report is being serialized as expected and everything works fine on the device-to-host front.
My next goal is implementing a host-to-device communications - specifically - I want to be able to issue an output report which will instruct the device to reset into BOOTSEL mode.

Im pretty sure doing it over HID content reports is not the best way, I thought of adding an additional USB output endpoint but that seems even more cluttered. Is there a better way to do this without going completely out of my way?
I'm having no luck in sending reports back to the device. To start off - I used the basic LED keyboard report, just to make sure the issue isnt with the way my descriptor is built.
However, every time I send a report back from my host - all my main thread logic dies, and I'm left with just the USB IRQ running in the background. No exception/panic, no defmt output. I'm not even sure how to to debug this.

Has anyone experienced a similar issue? The only thing I can think of that's different than the example code is that I'm using RTIC and running both my read/write report logic in a task which runs every 10ms (corresponding with the endpoint polling intervals.)
Any ideas/advice would be greatly appreciated.

Sending data back via a host report would be the way to go. Working from the keyboard led report is one way to start on this. You either want to define a custom usb HID device and write a host driver or look at something generic like the linux HID I/O Transport  Driver - https://docs.kernel.org/hid/hid-transport.html
With regard to the system dying, ensure you are regularly calling the usb poll method and reading any reports.

Closing due to lack of response.


Unhelpful error when plugins (or pages) directory is not found

When user:// points to a directory missing a plugins/ directory (for whatever reason, from permission to setup.php, streams.yaml, to debugging config order/override), this strange error is thrown (Failed to open dir: plugins:// does not exist.) with this stack:
Xdebug: user triggered in /grav/vendor/rockettheme/toolbox/ResourceLocator/src/UniformResourceIterator.php on line 102
Call Stack
#	Time	Memory	Function	Location
1	0.0002	428664	{main}( )	.../index.php:0
2	0.0053	486448	Grav\Common\Grav->process( )	.../index.php:58
3	0.0086	661160	Grav\Framework\RequestHandler\RequestHandler->handle( )	.../Grav.php:304
4	0.0103	665816	Grav\Framework\RequestHandler\RequestHandler->handle( )	.../RequestHandlerTrait.php:62
5	0.0103	665912	Grav\Common\Processors\InitializeProcessor->process( )	.../RequestHandlerTrait.php:50
6	0.0103	666664	Grav\Common\Processors\InitializeProcessor->initializeConfig( )	.../InitializeProcessor.php:73
7	0.0104	667040	Grav\Common\Grav->offsetGet( )	.../InitializeProcessor.php:181
8	0.0104	667040	Grav\Common\Service\ConfigServiceProvider->Grav\Common\Service\{closure:/grav/system/src/Grav/Common/Service/ConfigServiceProvider.php:49-58}( )	.../Container.php:118
9	0.0104	667040	Grav\Common\Service\ConfigServiceProvider::load( )	.../ConfigServiceProvider.php:50
10	0.0111	676672	Grav\Common\Config\CompiledConfig->load( )	.../ConfigServiceProvider.php:135
11	0.0111	676672	Grav\Common\Config\CompiledConfig->load( )	.../CompiledConfig.php:61
12	0.0150	676928	Grav\Common\Config\CompiledConfig->loadFiles( )	.../CompiledBase.php:112
13	0.0157	683032	Grav\Common\Config\CompiledConfig->loadFile( )	.../CompiledBase.php:180
14	0.0157	683032	Grav\Common\Config\Config->join( )	.../CompiledConfig.php:111
15	0.0157	683032	Grav\Common\Config\Config->blueprints( )	.../Data.php:120
16	0.0157	683032	Grav\Common\Service\ConfigServiceProvider::Grav\Common\Service\{closure:/grav/system/src/Grav/Common/Service/ConfigServiceProvider.php:131-133}( )	.../Data.php:272
17	0.0157	683032	Grav\Common\Grav->offsetGet( )	.../ConfigServiceProvider.php:132
18	0.0157	683032	Grav\Common\Service\ConfigServiceProvider->Grav\Common\Service\{closure:/grav/system/src/Grav/Common/Service/ConfigServiceProvider.php:45-47}( )	.../Container.php:118
19	0.0157	683032	Grav\Common\Service\ConfigServiceProvider::blueprints( )	.../ConfigServiceProvider.php:46
20	0.0161	755376	Grav\Common\Config\CompiledBlueprints->load( )	.../ConfigServiceProvider.php:105
21	0.0161	755472	Grav\Common\Config\CompiledBlueprints->loadCompiledFile( )	.../CompiledBase.php:112
22	0.0230	755568	Grav\Common\Config\CompiledBlueprints->checksum( )	.../CompiledBase.php:211
23	0.0231	759664	Grav\Common\Config\CompiledBlueprints->getTypes( )	.../CompiledBlueprints.php:45
24	0.0231	759664	Grav\Common\Grav->offsetGet( )	.../CompiledBlueprints.php:68
25	0.0231	759664	Grav\Common\Grav->Grav\Common\{closure:/grav/system/src/Grav/Common/Grav.php:708-710}( )	.../Container.php:118
26	0.0234	766264	Grav\Common\Plugins->__construct( )	.../Grav.php:709
27	0.0234	766264	RocketTheme\Toolbox\ResourceLocator\UniformResourceLocator->getIterator( )	.../Plugins.php:47
28	0.0234	783728	RocketTheme\Toolbox\ResourceLocator\UniformResourceIterator->__construct( )	.../UniformResourceLocator.php:45
29	0.0234	783728	RocketTheme\Toolbox\ResourceLocator\UniformResourceIterator->rewind( )	.../UniformResourceIterator.php:47
30	0.0234	783816	xdebug_print_function_stack ( )	.../UniformResourceIterator.php:102

A more explicit error about uninitialized or badly initialized streams would really help (in particular, printing the actual path(s) looked for)

More generally, it's really hard to debug streams when something goes wrong.
problems does not help (it may even keeps correctly configured website from running https://github.com/getgrav/grav-plugin-problems/issues/28) but probably should.
WIth Grav 1.7, I could set GRAV_ENVIRONMENT in httpd configuration, or a setup.php file, or a user/config/streams.yaml file overriden by localhost/config/* files. When these are needed, it's not rare to struggle with the above errors or page not found but it's almost impossible to figure out what's wrong with Grav configuration, because Grav won't says which files it considered, which it ignored, and what are the paths that it's actually considering when looking for pages/config/plugins/...
It'd would be a lifesaver to obtain a dump of the actual paths in such a case.

Another thing that may need to be fixed in https://learn.getgrav.org/17/advanced/multisite-setup :

This environment setup key does not seem to be used.
return [
    'environment' => $name,
    ...
];

I'd add that Clockwork (when debugging is actually taken into account) does help! It shows actual configuration, streams, ... but if you get a 404 even though streams are corrects, then it's very hard to figure out what's happening.


Fix circular/modulo arithmetic

The input param was also unsigned, leading to an overflow when passing -1.

Fixed manually with https://github.com/SaschaWillems/Vulkan/commit/8fbfb7c22bd6f9fa1532e45db8e6d0f5434f6e60


Is there a way for tiktoken to interoperate better with offline AI software?

For instance there are bug reports from users trying to run software in offline only mode, but because those libraries use tiktoken and it goes out to download vocab files, those users get an error like:

https://github.com/openai/whisper/discussions/1399 (fix consists of downloading files to cache, pip installing something)
https://github.com/Significant-Gravitas/AutoGPT/issues/1909
https://github.com/imartinez/privateGPT/issues/1458

In that last issue for example the issue was:
  File "/home/tony/installs/privateGPT/.venv/lib/python3.11/site-packages/tiktoken_ext/openai_public.py", line 11, in gpt2
    mergeable_ranks = data_gym_to_mergeable_bpe_ranks(
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tony/installs/privateGPT/.venv/lib/python3.11/site-packages/tiktoken/load.py", line 82, in data_gym_to_mergeable_bpe_ranks
    vocab_bpe_contents = read_file_cached(vocab_bpe_file).decode()
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Perhaps tiktoken could respect an environmental variable like OFFLINE similar to TERM=dumb for terminals and throw an error of vocab file.xyz not present, not downloading because OFFLINE=1 environmental variable set?
Thanks!

Same question
how to use it offline

https://stackoverflow.com/questions/76106366/how-to-use-tiktoken-in-offline-mode-computer
I found this

https://stackoverflow.com/questions/76106366/how-to-use-tiktoken-in-offline-mode-computer
I found this

That solution works. Tested it myself.


Increase the font weight of the opcode table

The table cells are almost too faint to read on my screen. Applying .opcode-info { font-weight: 600; } fixes this without making cells wider or text larger.
Current font (in Chrome on Windows) on the left; my edit on the right:

Just to throw another opinion in, I think this is not the right solution. A weight of 600 makes it less readable on my screen imo

500 would be good enough for me; is that readable for you?

Funny, 500 vs 400 are completely identical in my browser :thinking: Chrome 88.0 Linux. Do you think font-weight is the correct solution here, or rather the font-size or the font itself?

Some combination of the font family, size, and weight should be an improvement. For what it's worth, the older pastraiser.com table uses 8pt "monospace", defaulting to 500-weight Consolas for me, which is fine to read.

I'd switch to monospace, too

I agree with monospace, but I would make the font a bit larger, and/or increase the cells' padding slightly.

As long as it doesn't scroll horizontally on a 1280px-wide screen/window.


can't make use of Picard tools via gatk3

Hi,
this issue concerns the same recently renewed installation mentioned in #3551 (@matthdsm). The following problem arose:
[2021-11-05T04:27Z] multiprocessing: postprocess_alignment
[2021-11-05T04:27Z] GATK: CollectSequencingArtifactMetrics
[2021-11-05T04:27Z] ##### ERROR ------------------------------------------------------------------------------------------
[2021-11-05T04:27Z] ##### ERROR A USER ERROR has occurred (version 3.8-1-0-gf15c1c3ef):
[2021-11-05T04:27Z] ##### ERROR
[2021-11-05T04:27Z] ##### ERROR This means that one or more arguments or inputs in your command are incorrect.
[2021-11-05T04:27Z] ##### ERROR The error message below tells you what is the problem.
[2021-11-05T04:27Z] ##### ERROR
[2021-11-05T04:27Z] ##### ERROR If the problem is an invalid argument, please check the online documentation guide
[2021-11-05T04:27Z] ##### ERROR (or rerun your command with --help) to view allowable command-line arguments for this tool.
[2021-11-05T04:27Z] ##### ERROR
[2021-11-05T04:27Z] ##### ERROR Visit our website and forum for extensive documentation and answers to
[2021-11-05T04:27Z] ##### ERROR commonly asked questions https://software.broadinstitute.org/gatk
[2021-11-05T04:27Z] ##### ERROR
[2021-11-05T04:27Z] ##### ERROR Please do NOT post this error to the GATK forum unless you have really tried to fix it yourself.
[2021-11-05T04:27Z] ##### ERROR
[2021-11-05T04:27Z] ##### ERROR MESSAGE: Invalid command line: Malformed walker argument: Could not find walker with name: CollectSequencingArtifactMetrics
[2021-11-05T04:27Z] ##### ERROR ------------------------------------------------------------------------------------------
Traceback (most recent call last):
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/tools/bin/bcbio_nextgen.py", line 245, in <module>
    main(**kwargs)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/tools/bin/bcbio_nextgen.py", line 46, in main
    run_main(**kwargs)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/pipeline/main.py", line 50, in run_main
    fc_dir, run_info_yaml)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/pipeline/main.py", line 91, in _run_toplevel
    for xs in pipeline(config, run_info_yaml, parallel, dirs, samples):
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/pipeline/main.py", line 138, in variant2pipeline
    samples = run_parallel("postprocess_alignment", samples)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/distributed/multi.py", line 28, in run_parallel
    return run_multicore(fn, items, config, parallel=parallel)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/distributed/multi.py", line 86, in run_multicore
    for data in joblib.Parallel(parallel["num_jobs"], batch_size=1, backend="multiprocessing")(joblib.delayed(fn)(*x) for x in items):
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/parallel.py", line 1048, in __call__
    if self.dispatch_one_batch(iterator):
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/parallel.py", line 866, in dispatch_one_batch
    self._dispatch(tasks)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/parallel.py", line 784, in _dispatch
    job = self._backend.apply_async(batch, callback=cb)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 208, in apply_async
    result = ImmediateResult(func)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/_parallel_backends.py", line 572, in __init__
    self.results = batch()
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/parallel.py", line 263, in __call__
    for func, args, kwargs in self.items]
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/joblib/parallel.py", line 263, in <listcomp>
    for func, args, kwargs in self.items]
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/utils.py", line 59, in wrapper
    return f(*args, **kwargs)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/distributed/multitasks.py", line 157, in postprocess_alignment
    return sample.postprocess_alignment(*args)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/pipeline/sample.py", line 269, in postprocess_alignment
    artifacts = gatk.collect_artifact_metrics(data)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/variation/gatk.py", line 241, in collect_artifact_metrics
    broad_runner.run_gatk(params, log_error=False, parallel_gc=True)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/broad/__init__.py", line 365, in run_gatk
    log_error=log_error)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/provenance/do.py", line 26, in run
    _do_run(cmd, checks, log_stdout, env=env)
  File "/kyukon/data/gent/shared/000/gvo00082/bcbio/anaconda/lib/python3.7/site-packages/bcbio/provenance/do.py", line 106, in _do_run
    raise subprocess.CalledProcessError(exitcode, error_msg)
subprocess.CalledProcessError: Command 'set -o pipefail; unset JAVA_HOME && export PATH=/kyukon/data/gent/shared/000/gvo00082/bcbio/tools/bin:"$PATH" && /kyukon/data/gent/shared/000/gvo00082/bcbio/tools/bin/gatk3 -Xms681m -Xmx3636m -Djava.io.tmpdir=/scratch/gent/vo/000/gvo00082/vsc43079/bcbio/tmp9l_f51zm -T CollectSequencingArtifactMetrics --VALIDATION_STRINGENCY SILENT -R /kyukon/data/gent/shared/000/gvo00082/bcbio/genomes/Hsapiens/hg38/seq/hg38.fa -I /vscmnt/gent_kyukon_data/_kyukon_data_gent/vo/000/gvo00082/research/LabDeBaere/WES/2006KNO-0039/samples_2006KNO-0039-merged/work/align/D1914769/D1914769-sort.bam -O /scratch/gent/vo/000/gvo00082/vsc43079/bcbio/tmpg1tzqqxe/D1914769/D1914769 -U LENIENT_VCF_PROCESSING --read_filter BadCigar --read_filter NotPrimaryAlignment

would it be possible to make use of Picard for subroutines such as CollectSequencingArtifactMetrics in stead of GATK?
Regards
Mvheetve

Hi @mvheetve !
Thanks for reporting and sorry about the issues!
Could you please provide your yaml config file? Are you using tools_off: gatk4?
In gatk4, picard is merged into gatk.
Sergey

Hi Sergey,
Yes, we're using gatk3 for variant calling. It seems bcbio just goes with the chosen gatk version (which is good) regardless of the availability of the called tool (less good). IMO, picard tools should run with the picard runner instead of the gatk runner.
This will also fix some version conflicts, since the version of picard bundled with gatk is not the same as the one installed from conda (and used during qc).
Matthias

Hi Sergey,
thanks for the reply. Attached is the template we use to build the config file.
Mattias (not to be mistaken with Matthias ;))
samples_2006KNO-0039-merged-template.yaml.txt

Please update to the latest dev and give it a try: https://github.com/bcbio/bcbio-nextgen/pull/3556
Works for both gatk4 and gatk3 in my tests.
Thanks for bringing to my attention that we now have two picards:

picard 2.26.5 from bioconda
picard bundled into GATK4:

The Genome Analysis Toolkit (GATK) v<IP_ADDRESS>
HTSJDK Version: 2.24.1
Picard Version: 2.25.4

Interestingly, the separate picard is a bit newer, since they first release it in picard and then as a part of gatk release.
So, we historically arrived to having 2 gatk's and 2 picards: just picard and gatk3.x, then gatk4x, then gatk4x+picard.
I understand the motivation of running picard utils through the picard runner for the gatk3 based use case (you'd want gatk(3) and picard, rather than gatk(3) and some utilities from gatk(4)).
However, after some thought, I think that for the bcbio codebase
it would still be better to run picard tools through gatk4 and drop the separate picard entirely (and separate picard runner).
That would simplify our gatk setup (default= gatk4+picard, for some exceptional cases run gatk3), allow to have just one version of picard, and refactor

https://github.com/bcbio/bcbio-nextgen/blob/master/bcbio/broad/__init__.py,
https://github.com/bcbio/bcbio-nextgen/blob/master/bcbio/broad/metrics.py,
https://github.com/bcbio/bcbio-nextgen/blob/master/bcbio/broad/picardrun.py,
https://github.com/bcbio/bcbio-nextgen/blob/master/bcbio/variation/gatk.py#L213 ).

If anybody else has thoughts re two picards, please chime in!
SN

Hi Sergey,
Thanks for the fixes.
Personally, I'd run all picard tools through picard and leave the bundled and not use the bundled gatk. As you stated, the bundled version is older than the latest one.
The bundled picard may contain bugs which are fixed in later picard versions (which have a much shorter generation time). This has happened before and may well happen again.
I'd go for a  picard + gatk3 + gatk4 setup and migrate all running of picard tools to the picard runner.
I do realise this gives us some overhead in the code and install base, but that way the user is guaranteed the latest version of the output, regardless of whichever version happened to be bundled with gatk.
Matthias

Hi Sergey,
while I think Matthias raises a valid point, I can also appreciate your side of things. For now the issue seems to be fixed for which we are very grateful!
Mattias


Use ME save in results and procedures

Description
Split add_results into add and update in order to use ME save for validation and data cleaning before actually saving.
Todos

[ ] Fix errors

Status

[ ] Ready to go

This pull request introduces 1 alert when merging<PHONE_NUMBER>69548cc9a4d2cbf2c29b3f165479e1 into 2e746b9a860067ecae2bbcd3ba03b854bef8f9c8 - view on LGTM.com
new alerts:

1 for Unused local variable

Comment posted by LGTM.com

Awesome, thanks! I will cherry pick 9862646 into another PR.

Superseded by #189.


optional fields support？

validator.proto: is a proto3 file that contains optional fields, but code generator protoc-gen-openswoole-grpc hasn't been updated to support optional fields in proto3. Please ask the owner of this code generator to support proto3 optional.--openswoole-grpc_out:

+1

That would be great if we support the optional field, any progress in this?
i would be happy to help.


Update LICENSE

https://rdxworks.slack.com/archives/CSTPUQWMR/p1699273654895439

This should be updated in the other branches of the SET too. develop and release/babylon should be sufficient.

@0xOmarA fixed in https://github.com/radixdlt/swift-engine-toolkit/pull/49
https://github.com/radixdlt/swift-engine-toolkit/pull/50


[tests-only][full-ci]Add api test for search file through tag

Description
This PR adds the API tests for full search api. The scenarios added in this PR are

search file using tag
[ ] Backport to stable-3.0 https://github.com/owncloud/ocis/pull/6696

Related Issue

https://github.com/owncloud/ocis/issues/6606#event-9635806756

Motivation and Context

there was no test coverage for api test for search file using tag. so, this PR covers the require scenario test case

How Has This Been Tested?

test environment:
locally
CI

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[x] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[x] Acceptance tests added
[ ] Documentation ticket raised:

I would ask about location fullsearch.feature Why did you choose apiGraph suite?

I would ask about location fullsearch.feature Why did you choose apiGraph suite?

Should not be any specific reason. But yeah, can move that suite to another location, apiGraph has already many feature files.
CC @nabim777

Should not be any specific reason. But yeah, can move that suite to another location, apiGraph has already many feature files. CC @nabim777

i moved it here https://github.com/owncloud/ocis/pull/6716


[Bug] i cant see any profile ، its crash everytime i click any profile

Describe the Bug

To Reproduce

Expected Behavior

Screenshots

Discord Version

Additional Context

https://prnt.sc/26hzcu3

This is a plugin issue, make sure they are up to date


feat: blog re work

Visual and UX updates to the blog singular and blog index pages
Areas addressed

[x] New above-fold area with unobstructed featured images
[x] Style for additional markdown elements
[x] Blog post titles open graph metadata
[x] Breadcrumb bug on singular posts
[x] Various adjustments to search bar for accessibility
[x] Various sizing and spacing polish for typography, buttons and cards
[x] Add a link to /blog to navigation (currently there's no way to navigate to the blog aside from navigating to the URL)

Screenshot

all looks good to me - @orvn would you mind taking a look when you have time? A look at the cards on the blog index specifically


Cron scheduled missed following successful runs

Everything seems to work fine for a day or two, running on a 3am update schedule, but the application will fail to run after 1 or 2 successful runs. Debug logs and flags below:
2019-02-20 03:00:02 : DEBUG : base : Looking for jobs to run

2019-02-20 03:00:10 : WARNING : base : Run time of job "Cron container update for unix://var/run/docker.sock (trigger: cron[month='*', day='*', day_of_week='*', hour='3', minute='0'], next run at: 2019-02-21 03:00:00 PST)" was missed by 0:00:09.697352

2019-02-20 03:00:12 : DEBUG : base : Next wakeup is due at 2019-02-21 03:00:00-08:00 (in 86395.510432 seconds)

SELF_UPDATE = true
CRON = 00 3 * * *
CLEANUP = true

Full logs: https://pastebin.com/8p8qvkVq

That need to configure misfire_grace_time value.
https://apscheduler.readthedocs.io/en/latest/userguide.html#missed-job-executions

Merged into develop :)