AxiosError: Request failed with status code 401

Ist der AxiosError 401 ein Verbindungsfehler?
Install Log:
$ iobroker add doorbird auto --host iobroker --debug
NPM version: 9.6.7
Installing<EMAIL_ADDRESS> Version 1.0.5 in /opt/iobroker/node_modules/iobroker.doorbird, node: v18.17.0, js-controller: 5.0.9
2023-07-28 11:49:58.184 - warn: doorbird.0 (7057) Error in testBird() Request: AxiosError: Request failed with status code 401
2023-07-28 11:49:58.196 - debug: doorbird.0 (7057) Server gestartet auf Port 8100 und IP <IP_ADDRESS>
Im Browser bekomme ich das Bild mit:
<EMAIL_ADDRESS>IP/User/Kennwort stimmen also.
Installation trägt keine https-Aufrufe in der Doorbird für Ring & Motion ein.

Welche js-controller, nodejs und npm hast du?

 Welche js-controller, nodejs und npm hast du?

(stand im Log): js-controller: 5.0.9
nodejs: 18.17.0
npm: 9.6.7

Adapter mal neu gestartet?

natürlich :-)

Fehler 401 zeigt an, dass es ein Authentifikationsproblem ist.
Ist deine Firmware der Doorbird aktuell? Hat der User API rechte?

Das Problem war der User, der keine API-Berechtigung hatte.
Ich habe es ja auch mit dem Admin (0000) versucht. Der hat doch alle Berechtigungen oder nicht?
http://<IP_ADDRESS>/bha-api/schedule.cgi?http-user=ghhnoo0001&http-password=??????
Keine Antwort. Habe es dann so gemacht:
Mit<EMAIL_ADDRESS>und bekomme eine JSON Output.
Mit Code-Tag

fand ich ich es nicht so toll lesbar, aber wenn du es so haben willst:
2023-07-28 16:03:06.438 - info: host.iobroker instance system.adapter.doorbird.0 started with pid 24660 2023-07-28 16:03:08.844 - debug: doorbird.0 (24660) Redis Objects: Use Redis connection: <IP_ADDRESS>:9001 2023-07-28 16:03:08.937 - debug: doorbird.0 (24660) Objects client ready ... initialize now 2023-07-28 16:03:08.940 - debug: doorbird.0 (24660) Objects create System PubSub Client 2023-07-28 16:03:08.942 - debug: doorbird.0 (24660) Objects create User PubSub Client 2023-07-28 16:03:09.104 - debug: doorbird.0 (24660) Objects client initialize lua scripts 2023-07-28 16:03:09.116 - debug: doorbird.0 (24660) Objects connected to redis: <IP_ADDRESS>:9001 2023-07-28 16:03:09.228 - debug: doorbird.0 (24660) Redis States: Use Redis connection: <IP_ADDRESS>:9000 2023-07-28 16:03:09.271 - debug: doorbird.0 (24660) States create System PubSub Client 2023-07-28 16:03:09.272 - debug: doorbird.0 (24660) States create User PubSub Client 2023-07-28 16:03:09.387 - debug: doorbird.0 (24660) States connected to redis: <IP_ADDRESS>:9000 2023-07-28 16:03:09.777 - info: doorbird.0 (24660) starting. Version 1.0.5 in /opt/iobroker/node_modules/iobroker.doorbird, node: v18.17.0, js-controller: 5.0.9 2023-07-28 16:03:10.035 - debug: doorbird.0 (24660) Authorization with User ghhnoo0001 successful! 2023-07-28 16:03:10.107 - debug: doorbird.0 (24660) Object: Relays created. 2023-07-28 16:03:10.119 - debug: doorbird.0 (24660) Object: Relays.1 created. 2023-07-28 16:03:10.133 - debug: doorbird.0 (24660) Object: Relays.2 created. 2023-07-28 16:03:10.148 - debug: doorbird.0 (24660) Object: Relays.ghlcty@1 created. 2023-07-28 16:03:10.162 - debug: doorbird.0 (24660) Object: Relays.ghlcty@2 created. 2023-07-28 16:03:10.173 - debug: doorbird.0 (24660) Object: Relays.ghlcty@3 created. 2023-07-28 16:03:10.175 - debug: doorbird.0 (24660) Checking favorites on DoorBird Device.. 2023-07-28 16:03:10.198 - debug: doorbird.0 (24660) I did not find any Favorite on the DoorBird Device that belongs to me. 2023-07-28 16:03:10.237 - debug: doorbird.0 (24660) Following schedules found: [{"input":"doorbell","param":"114","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"doorbell","param":"102","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"doorbell","param":"101","output":[{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"},{"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"},{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"}]},{"input":"motion","param":"","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"rfid","param":"092,23476","output":[{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"092,22304","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"091,62851","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"relay","param":"2","output":[]},{"input":"relay","param":"1","output":[]}] 2023-07-28 16:03:10.239 - debug: doorbird.0 (24660) Looping through the Schedules.. 2023-07-28 16:03:10.239 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:10.240 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 114 2023-07-28 16:03:10.240 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:10.240 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:10.241 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:10.241 - debug: doorbird.0 (24660) Counted 1 Doorbells. 2023-07-28 16:03:10.241 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:10.242 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 102 2023-07-28 16:03:10.242 - debug: doorbird.0 (24660) The Output contains 1 entries! 2023-07-28 16:03:10.242 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:10.242 - debug: doorbird.0 (24660) Counted 2 Doorbells. 2023-07-28 16:03:10.243 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:10.243 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 101 2023-07-28 16:03:10.243 - debug: doorbird.0 (24660) The Output contains 3 entries! 2023-07-28 16:03:10.244 - debug: doorbird.0 (24660) Entry "0" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"} 2023-07-28 16:03:10.244 - debug: doorbird.0 (24660) Entry "1" is: {"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"} 2023-07-28 16:03:10.245 - debug: doorbird.0 (24660) Entry "2" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"} 2023-07-28 16:03:10.245 - debug: doorbird.0 (24660) Counted 3 Doorbells. 2023-07-28 16:03:10.245 - debug: doorbird.0 (24660) Detected Motion Schedule! 2023-07-28 16:03:10.245 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:10.246 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:10.247 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:10.247 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.248 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:10.248 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 has to be created! 2023-07-28 16:03:10.310 - debug: doorbird.0 (24660) Favorite created successfully.. 2023-07-28 16:03:10.311 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.311 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:10.311 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 has to be created! 2023-07-28 16:03:10.354 - debug: doorbird.0 (24660) Favorite created successfully.. 2023-07-28 16:03:10.355 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.355 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:10.356 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 has to be created! 2023-07-28 16:03:10.397 - debug: doorbird.0 (24660) Favorite created successfully.. 2023-07-28 16:03:10.398 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.441 - debug: doorbird.0 (24660) Favorite for Motionsensor created. 2023-07-28 16:03:10.441 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.442 - debug: doorbird.0 (24660) Finished creating Favorites.. Checking again - just to be sure! 2023-07-28 16:03:10.442 - debug: doorbird.0 (24660) favoriteState before check again: {} 2023-07-28 16:03:10.443 - debug: doorbird.0 (24660) Checking favorites on DoorBird Device.. 2023-07-28 16:03:10.473 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '0') ('ioBroker doorbird.0 114 Ring': 'http://<IP_ADDRESS>:8118/ring?114') 2023-07-28 16:03:10.474 - debug: doorbird.0 (24660) favoriteState: {"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"}} 2023-07-28 16:03:10.474 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '1') ('ioBroker doorbird.0 102 Ring': 'http://<IP_ADDRESS>:8118/ring?102') 2023-07-28 16:03:10.475 - debug: doorbird.0 (24660) favoriteState: {"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"}} 2023-07-28 16:03:10.475 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '2') ('ioBroker doorbird.0 101 Ring': 'http://<IP_ADDRESS>:8118/ring?101') 2023-07-28 16:03:10.476 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"}} 2023-07-28 16:03:10.476 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '3') ('ioBroker doorbird.0 Motion': 'http://<IP_ADDRESS>:8118/motion') 2023-07-28 16:03:10.476 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:10.477 - debug: doorbird.0 (24660) Result of Favorites: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:10.516 - debug: doorbird.0 (24660) Following schedules found: [{"input":"doorbell","param":"114","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"doorbell","param":"102","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"doorbell","param":"101","output":[{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"},{"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"},{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"}]},{"input":"motion","param":"","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"rfid","param":"092,23476","output":[{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"092,22304","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"091,62851","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"relay","param":"2","output":[]},{"input":"relay","param":"1","output":[]}] 2023-07-28 16:03:10.516 - debug: doorbird.0 (24660) Looping through the Schedules.. 2023-07-28 16:03:10.517 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:10.517 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 114 2023-07-28 16:03:10.518 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:10.518 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:10.519 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:10.519 - debug: doorbird.0 (24660) Counted 1 Doorbells. 2023-07-28 16:03:10.520 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:10.520 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 102 2023-07-28 16:03:10.520 - debug: doorbird.0 (24660) The Output contains 1 entries! 2023-07-28 16:03:10.521 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:10.521 - debug: doorbird.0 (24660) Counted 2 Doorbells. 2023-07-28 16:03:10.521 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:10.522 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 101 2023-07-28 16:03:10.522 - debug: doorbird.0 (24660) The Output contains 3 entries! 2023-07-28 16:03:10.522 - debug: doorbird.0 (24660) Entry "0" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"} 2023-07-28 16:03:10.523 - debug: doorbird.0 (24660) Entry "1" is: {"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"} 2023-07-28 16:03:10.523 - debug: doorbird.0 (24660) Entry "2" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"} 2023-07-28 16:03:10.523 - debug: doorbird.0 (24660) Counted 3 Doorbells. 2023-07-28 16:03:10.524 - debug: doorbird.0 (24660) Detected Motion Schedule! 2023-07-28 16:03:10.524 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:10.525 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:10.525 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:10.526 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.526 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:10.526 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:10.527 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.527 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:10.527 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:10.528 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.528 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:10.528 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:10.529 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.529 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:10.529 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:10.530 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.530 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:10.530 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:10.531 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.531 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:10.531 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:10.532 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:10.532 - debug: doorbird.0 (24660) Favorites checked successfully. No actions needed! 2023-07-28 16:03:10.533 - debug: doorbird.0 (24660) Checking if we need to create Schedules on DoorBird Device.. 2023-07-28 16:03:10.534 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 101 2023-07-28 16:03:10.658 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:10.660 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 102 2023-07-28 16:03:11.066 - debug: doorbird.0 (24660) Schedule created successfully! 2023-07-28 16:03:11.067 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 114 2023-07-28 16:03:11.109 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.119 - debug: doorbird.0 (24660) Object: Doorbell.114 created. 2023-07-28 16:03:11.139 - debug: doorbird.0 (24660) Object: Doorbell.114.trigger created. 2023-07-28 16:03:11.149 - debug: doorbird.0 (24660) Object: Doorbell.102 created. 2023-07-28 16:03:11.170 - debug: doorbird.0 (24660) Object: Doorbell.102.trigger created. 2023-07-28 16:03:11.183 - debug: doorbird.0 (24660) Object: Doorbell.101 created. 2023-07-28 16:03:11.201 - debug: doorbird.0 (24660) Object: Doorbell.101.trigger created. 2023-07-28 16:03:11.212 - debug: doorbird.0 (24660) We need to create a Schedule for the Motion Sensor! 2023-07-28 16:03:11.252 - warn: doorbird.0 (24660) Error in setting Motion schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.253 - debug: doorbird.0 (24660) Finished creating Favorites.. Checking again - just to be sure! 2023-07-28 16:03:11.254 - debug: doorbird.0 (24660) favoriteState before check again: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.255 - debug: doorbird.0 (24660) Checking favorites on DoorBird Device.. 2023-07-28 16:03:11.282 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '0') ('ioBroker doorbird.0 114 Ring': 'http://<IP_ADDRESS>:8118/ring?114') 2023-07-28 16:03:11.284 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.286 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '1') ('ioBroker doorbird.0 102 Ring': 'http://<IP_ADDRESS>:8118/ring?102') 2023-07-28 16:03:11.287 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.288 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '2') ('ioBroker doorbird.0 101 Ring': 'http://<IP_ADDRESS>:8118/ring?101') 2023-07-28 16:03:11.289 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.290 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '3') ('ioBroker doorbird.0 Motion': 'http://<IP_ADDRESS>:8118/motion') 2023-07-28 16:03:11.291 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.292 - debug: doorbird.0 (24660) Result of Favorites: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.361 - debug: doorbird.0 (24660) Following schedules found: [{"input":"doorbell","param":"114","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"doorbell","param":"102","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"http","param":"1","enabled":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"doorbell","param":"101","output":[{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"},{"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"},{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"}]},{"input":"motion","param":"","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"rfid","param":"092,23476","output":[{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"092,22304","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"091,62851","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"relay","param":"2","output":[]},{"input":"relay","param":"1","output":[]}] 2023-07-28 16:03:11.362 - debug: doorbird.0 (24660) Looping through the Schedules.. 2023-07-28 16:03:11.362 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:11.363 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 114 2023-07-28 16:03:11.363 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:11.363 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:11.363 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:11.364 - debug: doorbird.0 (24660) Counted 1 Doorbells. 2023-07-28 16:03:11.364 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:11.364 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 102 2023-07-28 16:03:11.365 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:11.365 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:11.365 - debug: doorbird.0 (24660) Entry "1" is: {"event":"http","param":"1","enabled":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:11.365 - debug: doorbird.0 (24660) Counted 2 Doorbells. 2023-07-28 16:03:11.366 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:11.366 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 101 2023-07-28 16:03:11.366 - debug: doorbird.0 (24660) The Output contains 3 entries! 2023-07-28 16:03:11.366 - debug: doorbird.0 (24660) Entry "0" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"} 2023-07-28 16:03:11.367 - debug: doorbird.0 (24660) Entry "1" is: {"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"} 2023-07-28 16:03:11.367 - debug: doorbird.0 (24660) Entry "2" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"} 2023-07-28 16:03:11.367 - debug: doorbird.0 (24660) Counted 3 Doorbells. 2023-07-28 16:03:11.368 - debug: doorbird.0 (24660) Detected Motion Schedule! 2023-07-28 16:03:11.368 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:11.368 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:11.369 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:11.369 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.369 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.369 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.370 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.370 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.370 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.370 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.371 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.371 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.371 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.371 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.372 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.372 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.372 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.372 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.373 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.373 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.373 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.374 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.374 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.374 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.374 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.375 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.375 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.375 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.375 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.376 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.377 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.377 - debug: doorbird.0 (24660) Favorites checked successfully. No actions needed! 2023-07-28 16:03:11.378 - debug: doorbird.0 (24660) Checking if we need to create Schedules on DoorBird Device.. 2023-07-28 16:03:11.378 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 101 2023-07-28 16:03:11.434 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.434 - debug: doorbird.0 (24660) Okay we dont need to create any Doorbell-Schedules.. 2023-07-28 16:03:11.435 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 114 2023-07-28 16:03:11.478 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.504 - debug: doorbird.0 (24660) We need to create a Schedule for the Motion Sensor! 2023-07-28 16:03:11.570 - warn: doorbird.0 (24660) Error in setting Motion schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.571 - debug: doorbird.0 (24660) Finished creating Favorites.. Checking again - just to be sure! 2023-07-28 16:03:11.572 - debug: doorbird.0 (24660) favoriteState before check again: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.572 - debug: doorbird.0 (24660) Checking favorites on DoorBird Device.. 2023-07-28 16:03:11.597 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '0') ('ioBroker doorbird.0 114 Ring': 'http://<IP_ADDRESS>:8118/ring?114') 2023-07-28 16:03:11.598 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.599 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '1') ('ioBroker doorbird.0 102 Ring': 'http://<IP_ADDRESS>:8118/ring?102') 2023-07-28 16:03:11.599 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.599 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '2') ('ioBroker doorbird.0 101 Ring': 'http://<IP_ADDRESS>:8118/ring?101') 2023-07-28 16:03:11.600 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.600 - debug: doorbird.0 (24660) Found a Favorite that belongs to me.. (ID: '3') ('ioBroker doorbird.0 Motion': 'http://<IP_ADDRESS>:8118/motion') 2023-07-28 16:03:11.601 - debug: doorbird.0 (24660) favoriteState: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.601 - debug: doorbird.0 (24660) Result of Favorites: {"101":{"ID":"2","URL":"http://<IP_ADDRESS>:8118/ring?101"},"102":{"ID":"1","URL":"http://<IP_ADDRESS>:8118/ring?102"},"114":{"ID":"0","URL":"http://<IP_ADDRESS>:8118/ring?114"},"Motion":{"ID":"3","URL":"http://<IP_ADDRESS>:8118/motion"}} 2023-07-28 16:03:11.643 - debug: doorbird.0 (24660) Following schedules found: [{"input":"doorbell","param":"114","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"doorbell","param":"102","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"http","param":"1","enabled":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"doorbell","param":"101","output":[{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"},{"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"},{"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"}]},{"input":"motion","param":"","output":[{"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}}]},{"input":"rfid","param":"092,23476","output":[{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"092,22304","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"rfid","param":"091,62851","output":[{"event":"relay","param":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}},{"event":"relay","param":"ghlcty:1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}}]},{"input":"relay","param":"2","output":[]},{"input":"relay","param":"1","output":[]}] 2023-07-28 16:03:11.644 - debug: doorbird.0 (24660) Looping through the Schedules.. 2023-07-28 16:03:11.645 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:11.645 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 114 2023-07-28 16:03:11.645 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:11.645 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:11.646 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:11.646 - debug: doorbird.0 (24660) Counted 1 Doorbells. 2023-07-28 16:03:11.646 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:11.647 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 102 2023-07-28 16:03:11.647 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:11.647 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:11.647 - debug: doorbird.0 (24660) Entry "1" is: {"event":"http","param":"1","enabled":"1","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:11.648 - debug: doorbird.0 (24660) Counted 2 Doorbells. 2023-07-28 16:03:11.648 - debug: doorbird.0 (24660) Detected a Doorbell Schedule! 2023-07-28 16:03:11.649 - debug: doorbird.0 (24660) The Param of the actual Schedule is: 101 2023-07-28 16:03:11.649 - debug: doorbird.0 (24660) The Output contains 3 entries! 2023-07-28 16:03:11.649 - debug: doorbird.0 (24660) Entry "0" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"","event":"notify"} 2023-07-28 16:03:11.650 - debug: doorbird.0 (24660) Entry "1" is: {"schedule":{"weekdays":[{"from":"82800","to":"82799"}]},"param":"0","event":"sip"} 2023-07-28 16:03:11.650 - debug: doorbird.0 (24660) Entry "2" is: {"schedule":{"weekdays":[{"from":"79200","to":"79199"}]},"param":"2","event":"relay"} 2023-07-28 16:03:11.650 - debug: doorbird.0 (24660) Counted 3 Doorbells. 2023-07-28 16:03:11.651 - debug: doorbird.0 (24660) Detected Motion Schedule! 2023-07-28 16:03:11.651 - debug: doorbird.0 (24660) The Output contains 2 entries! 2023-07-28 16:03:11.652 - debug: doorbird.0 (24660) Entry "0" is: {"event":"notify","param":"","schedule":{"weekdays":[{"from":"79200","to":"79199"}]}} 2023-07-28 16:03:11.652 - debug: doorbird.0 (24660) Entry "1" is: {"event":"sip","param":"0","schedule":{"weekdays":[{"from":"82800","to":"82799"}]}} 2023-07-28 16:03:11.652 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.653 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.653 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.653 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.654 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.654 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.654 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.655 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.655 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.655 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.655 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.656 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.656 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.657 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.657 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.657 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.658 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.658 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.658 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.659 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.659 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.659 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.660 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.660 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.660 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.661 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.661 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.661 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.662 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 114 exists. 2023-07-28 16:03:11.662 - debug: doorbird.0 (24660) Favorite for Doorbell ID 114 exists! 2023-07-28 16:03:11.662 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.662 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 102 exists. 2023-07-28 16:03:11.663 - debug: doorbird.0 (24660) Favorite for Doorbell ID 102 exists! 2023-07-28 16:03:11.663 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.664 - debug: doorbird.0 (24660) Cheking if Favorite for Doorbell ID 101 exists. 2023-07-28 16:03:11.664 - debug: doorbird.0 (24660) Favorite for Doorbell ID 101 exists! 2023-07-28 16:03:11.664 - debug: doorbird.0 (24660) Checking if we need to create any favorites.. 2023-07-28 16:03:11.664 - debug: doorbird.0 (24660) Favorites checked successfully. No actions needed! 2023-07-28 16:03:11.664 - debug: doorbird.0 (24660) Checking if we need to create Schedules on DoorBird Device.. 2023-07-28 16:03:11.665 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 101 2023-07-28 16:03:11.719 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.720 - debug: doorbird.0 (24660) Okay we dont need to create any Doorbell-Schedules.. 2023-07-28 16:03:11.721 - debug: doorbird.0 (24660) We need to create a Schedule for Doorbell ID: 114 2023-07-28 16:03:11.762 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.800 - debug: doorbird.0 (24660) We need to create a Schedule for the Motion Sensor! 2023-07-28 16:03:11.834 - warn: doorbird.0 (24660) Error in setting Motion schedule: AxiosError: Request failed with status code 400 2023-07-28 16:03:11.835 - debug: doorbird.0 (24660) Favorites checked successfully. No actions needed! 2023-07-28 16:03:11.835 - debug: doorbird.0 (24660) Checking if we need to create Schedules on DoorBird Device.. 2023-07-28 16:03:11.835 - debug: doorbird.0 (24660) Okay we dont need to create any Doorbell-Schedules.. 2023-07-28 16:03:11.836 - debug: doorbird.0 (24660) Okay we dont need to create any Doorbell-Schedules.. 2023-07-28 16:03:11.836 - debug: doorbird.0 (24660) Okay we dont need to create any Doorbell-Schedules.. 2023-07-28 16:03:11.874 - debug: doorbird.0 (24660) Server gestartet auf Port 8118 und IP <IP_ADDRESS>
Fehler:
2023-07-28 16:03:11.762 - warn: doorbird.0 (24660) Error in creating schedule: AxiosError: Request failed with status code 400
2023-07-28 16:03:11.800 - debug: doorbird.0 (24660) We need to create a Schedule for the Motion Sensor!

und in /opt/iobroker/iobroker-data/doorbird.0/ natürlich kein Bild.
Ich habe ein Mehrteilnehmer Modul MT im Einsatz. Werden deswegen die Ruftasten erst aber 100 durchnummeriert?

Dann passt nun alles?

Beim Klingeln wird das Bild erfasst:
/opt/iobroker/iobroker-data/files/doorbird.0/Doorbell102_1.jpg
Heißt aber nur, dass es im Verz. liegt
"Snapshot saved successfully!"
aber nicht im IOB als Link bei Motion/trigger angewählt werden kann.
Zudem wir das Bild des Bewegungssensors nicht abgelegt,
"We need to create a Schedule for the Motion Sensor!"
was wahrscheinlich an dem Fehler liegt
"Error in setting Motion schedule: AxiosError: Request failed with status code 400"
Habe bei den Berechtigungen alles angewählt, kann also nicht daran liegen.
2023-07-28 21:58:20.503  - debug: doorbird.0 (17430) We need to create a Schedule for Doorbell ID: 101
2023-07-28 21:58:20.655  - warn: doorbird.0 (17430) Error in creating schedule: AxiosError: Request failed with status code 400
2023-07-28 21:58:20.657  - debug: doorbird.0 (17430) Okay we dont need to create any Doorbell-Schedules..
2023-07-28 21:58:20.657  - debug: doorbird.0 (17430) Okay we dont need to create any Doorbell-Schedules..
2023-07-28 21:58:20.673  - debug: doorbird.0 (17430) We need to create a Schedule for the Motion Sensor!
2023-07-28 21:58:20.707  - warn: doorbird.0 (17430) Error in setting Motion schedule: AxiosError: Request failed with status code 400
2023-07-28 21:58:20.719  - debug: doorbird.0 (17430) Server gestartet auf Port 8118 und IP <IP_ADDRESS>
2023-07-28 21:58:54.548  - debug: doorbird.0 (17430) Received Ring-alert (ID: 102) from Doorbird!
2023-07-28 21:58:54.695  - debug: doorbird.0 (17430) Snapshot saved successfully!

Versuche mal, manuell den Zeitplan für Motion anzulegen.
Die Bilder werden bei den ioBroker Files (Dateien)!angelegt. Siehe readme.

ist das denn nicht der Pfad? /opt/iobroker/iobroker-data/files/doorbird.0/Doorbell102_1.jpg
Zeitplan hab ich nicht angepasst, daher immer aktiv

Was jetzt mir noch fehlt, ist der Objekteintrag für Snapshot und Motion.
Bilder liegen am korrekten Platz:

Es fehlt aber hier der Link zum Bild:

Den "Objekteintrag" gibt es nicht mehr, da sich die Bilder direkt in den ioBroker Dateien befinden.
Um auf die Bilder per Script zuzugreifen habe ich ein paar Beispiele in der Readme.

OK, Danke für die Info und für deine Zeit. Ich mache den Issue dann mal zu.


Using linguist in .gitattributes to override language in README.md doesn't work

As said in the title.
The .gittattributes file is
$ cat .gitattributes
README.md linguist-language=Shell

The repository doesn't have any other file identified as code so the README should dominate the language stats (I 've put all the instructions there). I 'd like shell to appear as language because that's what all the relevant instructions use. But using the override option of linguist doesn't work in this case.

The reason this isn't having any effect is because README files are explicitly defined as documentation... https://github.com/github/linguist/blob/e98728595bc2f3e72b0668d60e31cbe441c48799/lib/linguist/documentation.yml#L19-L28 so excluded from the stats regardless of content or overrides. To get the behaviour you want you need to override the documentation attribute and set the language like I've done in the fork of your repo at https://github.com/lildude/CompileTF

Hey, wow! @lildude, how long has GitHub supported those embedded code frames? Is that a recent feature?

Yup. Announced in August https://github.com/blog/2415-introducing-embedded-code-snippets

Thanks a lot @lildude for the fix and explanation.
Already PR'd your fix :smile:


The PHP Language Server server crashed 5 times in the last 3 minutes. The server will not be restarted.

In dev tools console I see this error repeated 5 times:
PHP Language Server: CRITICAL  Error: Call to undefined method Microsoft\PhpParser\MissingToken::getResolvedName() in C:\Users\hedge\.vscode\extensions\felixfbecker.php-intellisense-2.3.14\vendor\felixfbecker\language-server\src\DefinitionResolver.php:1033
EDIT: realised project is dead, uninstalled extension.

.


dd license clarification

AFAIK the library for double-double arithmetic calculation isn't BSD licensed, see
https://www.davidhbailey.com/dhbsoftware/
IMPORTANT NOTE: David H. Bailey offers this software on this site as a convenience,
but does NOT assume any responsibility for maintenance or managing appropriate usage.
Please read this license document carefully before using:
[ LBNL-BSD-License.docx](https://www.davidhbailey.com/dhbsoftware/LBNL-BSD-License.docx).
By downloading or using this software you are agreeing to the modified BSD license
that is in this file. If you wish to use this software for any commercial purpose, please contact
the Intellectual Property Office at the Lawrence Berkeley National Laboratory<EMAIL_ADDRESS>

Thanks a lot for catching this!
Since you seem to be more knowledgeable than me about this, would you mind looking at PR #13?

Thanks for your reply and excellent question!
To my mind, what counts here is the license, but again, IANAL.  The first part of the text seems to bear this out:

By downloading or using this software you are agreeing to the modified BSD license that is in this file.

But I agree that text is weird:

If you wish to use this software for any commercial purpose, please contact the Intellectual Property Office at the Lawrence Berkeley National Laboratory<EMAIL_ADDRESS>
What is strange about this is that it does not actually specify any further restrictions.  That, at least to me, suggests that he means if one wants some terms of the license waived, then one can write to that email address.  Which, on the other hand, is also weird because BSD is not very strict in what it requires. I am confused ...
Which clarification do you have in mind?  Some comment in the README?

OK, so I've also written an email, let's see if I am luckier in getting a reply ...

I just noticed, that Bailey' code is also included in scipy via the cephes code:
https://github.com/scipy/scipy/tree/main/scipy/special/cephes
The "commercial use requires a license" blurb is not mentioned here.

Hm, thanks for the research!
That's all a bit unsatisfactory, but if scipy is fine with not including the blurb, I think I am too ...
I would move to close this.

I dig into this further. Unfortunately in every qd archive I could found there is a 'COPYING' file included with the commercial blurb.

The Changelog file in https://github.com/scibuilder/QD has the full commit history. The C++ rewrite had the license updated to modified BSD in 2006 according to that changelog, and David Bailey committed to that same repo after that. So the older original F90 source having a non-commercial clause attached to it should not be relevant I'd think.

I had also thought of this interpretation https://github.com/tuwien-cms/xprec/issues/12#issuecomment-1337253858, but I was not really sure if it happened that way. Anyway, they didn't use a clear way to define the license for the qd library.

This would be a really great help. Hopefully it is possible to convert the old Fortran sources to C++ with the forpy tool without too much effort.

@mwallerb, anything new about this?
BTW: I was able to compile Sleef (Sleef is boost licensed) locally on windows and create among other things an include file for inlinable scalar quad math functions. See Quad-precision math library reference and Using header files of inlinable functions. With the help of this include file I could compile some trivial test programs with mingw-w64 gcc (32-bit and 64-bit).
I guess the performance of the sleef quad-prec functions are considerable lower compared to double-double arithmetik though.

@carlkl No news from David Bailey.
I've started a clean-room re-implementation of QD in the cleanroom branch, but did not get very far yet.
Quad precision emulation is too slow, unfortunately :(

I have now completed the clean-room reimplementation of QD in the tuwien-cms/libxprec repository. What remains is to wire this up now to the python package.

@mwallerb , thank you very much! I will test it as soon as I can on windows!


[pcl:x64-windows-static] build failure

Host Environment
Windows 10 Community
Microsoft (R) C/C++ Optimizing Compiler Version 19.16.27043 for x64
To Reproduce
Steps to reproduce the behavior:
./vcpkg install pcl:x64-windows-static
Failure logs
CMake Error at scripts/cmake/vcpkg_build_cmake.cmake:175 (message):
Command failed: D:/VariousCodes/vcpkg/downloads/tools/cmake-3.11.4-windows/cmake-3.11.4-win32-x86/bin/cmake.exe;--build;.;--config;Release;--target;install;--;-v;-j1
Working Directory: D:/VariousCodes/vcpkg/buildtrees/pcl/x64-windows-static-rel
See logs for more information:
D:\VariousCodes\vcpkg\buildtrees\pcl\install-x64-windows-static-rel-out.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_install_cmake.cmake:24 (vcpkg_build_cmake)
ports/pcl/portfile.cmake:72 (vcpkg_install_cmake)
scripts/ports.cmake:71 (include)
Error: Building package pcl:x64-windows-static failed with: BUILD_FAILED
Additional context
Add any other context about the problem here, such as what you have already tried to resolve the issue.

Thanks for posting this issue. Did you run git pull and .\bootstrap-vcpkg.bat before installing pcl:x64-windows-static? I see in your log Command failed: D:/VariousCodes/vcpkg/downloads/tools/cmake-3.11.4-windows/cmake-3.11.4-win32-x86/bin/cmake.exe;--build;.;--config;Release;--target;install;--;-v;-j1, the version of cmake is 3.11.4, but now the version of vcpkg is 3.17.2. If you install pcl:x64-windows-static after running git pull and .\bootstrap-vcpkg.bat, please provide the error log: D:\VariousCodes\vcpkg\buildtrees\pcl\install-x64-windows-static-rel-out.log.

Pinging @yrzhanov for response.

Thanks for posting this issue. Please reopen this issue if this is still a problem for you.


Packer doesn't complete the rest of the batches in floppy_files after update

Creating a Hyper-v box.
Using your update batch from pbolduc/windows-vm/script/update.bat
i've included it into my floppy_files to run.
00-run-all-scripts.cmd is there and zzz-shutdown.bat.
It completes the update.bat successfully, restarts server and configs the updates.
Then it just does nothing at all. Does not run the rest of the scripts.
I manually ran 00-run-all-scripts.cmd again and it then shutsdown to run the provisioners.
I understand that your update.bat is in the script folder. But i've seen it being used in cases at unattended.
Would that be the issue? Or am i missing steps?
Note: I'm just running packer build *.json instead of using the makefile you have.

Try renaming zzz-shutdown.bat to zzzz-shutdown.bat and see if that fixes it. packer has issues with files of 13 characters long. See https://github.com/mitchellh/go-fs/pull/2

With the new WinRM provisioner, when updates.bat reboots the VM to process the updates Windows starts WinRM "automatically" on the way up.
To fix it I disabled the service in install-winrm.cmd and enable it in zz-start-sshd.cmd. I also added regenerate-dotnet-cache.cmd to come after updates.bat but before zz-start-sshd.cmd because if you put it in the scripts session, during execution it will kill the WinRM session stopping the Packer build.
install-winrm.cmd
From:
echo ==^> Stopping winrm service
sc stop winrm

To:
echo ==^> Stopping winrm service
sc stop winrm
sc config winrm start= disabled

zz-start-sshd.cmd
From
    echo ==^> Starting the %%i service
    sc start %%i

To:
    echo ==^> Starting the %%i service
    sc start %%i
    sc config %%i start= auto

Ensure you put the space after start= or it wont work.


chore(master): Release 0.68.0

This release is too large to preview in the pull request body. View the full release notes here: https://github.com/AztecProtocol/aztec-packages/blob/release-please--branches--master--release-notes/release-notes.md

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/aztec-packages-v0.68.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/aztec-package-v0.68.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg.js-v0.68.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg-v0.68.0 :sunflower:


The QR code isn't scannable when using the dark UI theme

I am unable to scan the QR code using QtQR(which uses the open-source ZBar bar code reader for scanning) when the dark UI  theme is used:

When the light UI theme is used, the QR code can be scanned in an instant, so it's not an issue with the glare of the screen itself.
I believe this is due to the QR code itself lacking a white border(i.e. "quiet zone") required by the QR code specification to allow the decoding algorithm to detect its presence.

The 'Quiet Zone' is an essential part of every QR code. A white space border frames the QR code, separating it from other visual noise surrounding it. The purpose of a 'Quiet Zone' is clear: it signals the beginning and end of the QR code to scanners, helping them identify and accurately interpret the code.

Source: Importance of Having a 'Quiet Zone' Around Your QR Code | The Ultimate QR Code Size Guide for Optimal Scanning

According to How Much White Space Do You Need Around a QR Code? | The Ultimate QR Code Size Guide for Optimal Scanning, the 'Quiet Zone' should be at least four modules wide on all four sides of the QR code(A 'module' in this context refers to the smallest square unit that makes up the QR code).

Another screenshot, but captured in full color instead of grayscale:

Gotcha, I'll add a white quiet zone border for the next release 39, thanks!

I will be able to address this hopefully by the middle of next week with a 39 release. Thank you for your patience, for the time being using Light mode seems to fix the problem as you stated, so that is the recommended work around.

39 is in open beta on the store and includes the QR code quiet zone

39 is released, hopefully this fixed your bug! Thank you for your report!

Yes, I can successfully scan the QR code now, thanks!
An additional thought would be whether simply invert the color of the QR code(black to white) would also solve this issue, but it not matter much anyway.


[release-1.4] Added example package to verify generated code

This is an automated cherry-pick of #16

@googlebot I consent

@nrjpoddar In the parent I see Once the release-1.4 branch is updated with correct istio.io/api SHA we should cherry-pick this PR into release-1.4 branch. I'm not sure which SHA we need updating to?

@nrjpoddar In the parent I see Once the release-1.4 branch is updated with correct istio.io/api SHA we should cherry-pick this PR into release-1.4 branch. I'm not sure which SHA we need updating to?

Hi @ericvn istio.io/api release-1.4 still doesn't have the changes, when it does I will submit another PR in release-1.4 of this repo to point at it the correct SHA. This can be merged in the interim as the checks passed and is harmless.


Current Sass File

In a custom function, it seems there's no way to know what is the current sass file (imported) or the current main sass file. In ruby sass this is accessible from the sass options which are reachable via the current contex (this) of the function being evaluated.
Ideally we could call this.options and get access to the options and also access to other current runtime information either in the options or from some other property of this.

The reason this is important is for things like custom functions that have references to on-disk assets using relative paths to the current sass file.

Similar to #886

Yep that's what I'm after and is exactly the same use case I'm after. I'm happy for #886 to be closed if this issue more clearly describes the desired feature. As mentioned in the other issue I've come up with a temporary work around but it'd be nice to have this feature and not abuse the .contents property which leads to #894 when trying to implement something like this.

I agree this is a useful feature. I'm scheduling it for v3.next.

I hope solving sass/libsass#1160 will bring us closer to this.

Ping. I'm about to release a filesystem module for eyeglass and this limitation makes the API for using it pretty annoying. Is this on anyone's radar anytime soon?

Sorry I've been focused on getting LibSass 3.3.0 stable.
@mgreter is there any work required in LibSass for this?

@xzyfer depends on if the full stack needs to be queried or really only the current file. The later is already accessible in libsass via fb->pstate().path. The first would need quite some more work, since IMO we don't preserve the stack in the AST, so once the function call is executed it is lost. Easiest way I see to support the more complex case would be to "preserve" the import information in the AST.

My understanding of the issue is that, from within a custom function, we want to be able to expose the current file being executed.

@xzyfer Presently, yes, the current file is needed, but in the long term, I would like access to the global environment (global vars, sass function invocation) so that custom functions have the same capabilities that native functions have. The Ruby API provides all of this, and it's been very good. Whatever API we expose should plan to give access to this information. Ideally, something like this.environment.currentSassFile. Later we can add this.environment.functions["myFunctionName"].invoke(...) and this.environment.variables["myGlobalVar"].

Maybe I'll take another swing at this, I had a patch but couldn't make it work, but a coworker helped me find my bug and so I think I can do it now.

@chriseppstein give me some days, I think I can come up with the right solution. I'm pretty sure you will get more regressions with custom importers, headers and source-maps etc (keys for style_sheets must change to abs_path). I have some tests in perl-libsass which currently fail. I can post the WIP if you like. I also want to do it correctly, since I don't want to change the C-API at a later point. Bascially we would need to refactor back-trace handling (lot of things got scatered around over time), but hadn't had the time to really touch this area.
I see something like this:
sass_import_stack_get_length()
sass_import_stack_get_abs_path(0)
sass_import_stack_get_import_path(0)

While the number tells how far back in the stack you want to go. This is similar to how [perl caller] 1 works. I hope

@chriseppstein: How does ruby sass report currentSassFile with ie @import "foo"; found in include path rel? Btw. you may want to open an issue on the libsass bugtracker for the others ...

rel/foo?
rel/_foo.scss?
/abs/rel/foo?
/abs/rel/_foo.scss?
or relative to output file?

I'm currently going to expose absolute path and original import call.

@mgreter Ruby sass exposes these as runtime defined options that are put into the options hash that is passed in to the Sass engine. There is no guarantee that the files names are actually files on disk or even parseable as file paths (as they could have been imported from a database or off the internet). But basically there are several important options that are set:

filename is the file of the current sass file.
css_filename is the output file being created.
original_filename is the top level sass file before any imports.
importer is the importer instance (in ruby sass they are objects) that imported the file. In theory, this object can be used to do other path resolutions in whatever file space it is accessing.

If I were to do it over, I would not use the options for this. I would use the environment object because we spend a lot of time copying options objects, whereas the environment datastructure is a by-reference approach.
Ruby sass does not expose an API for getting at the full call stack. That is available internally, but only used during error reporting or by calls to @warn. I can't think of a great use case for knowing your full call stack except for things like deprecation warnings and error reporting. The call stack is a API that will be changing as we move into 4.0, so I am hesitant to expose it or make any guarantees about what it will contain. IMO I think the custom functions should be able to issue an equivalent of an @warn statement and keep the call stack out of the public API.

@chriseppstein So what does filename (or css_filename) report for the case I've given above? As it was in the import call (meaning it would be foo the above case). Also how should a custom function be able to issue something like a call stack like @warn without the stack being a plublic API? I think I'm might missing something obvious here (just to say, I myself have absolutely no real world experience with sass).

@mgreter Sorry, it is whatever the importer says the filename is :) But for the normal filesystem importer it is the fully resolved, absolute filename. (/abs/rel/_foo.scss)

@chriseppstein thx. Maybe I can give some more info about how libsass abs_path currently works. A custom importer get passed the previous abs_path and the given import name. If it wants to handle the import (either by checking the import name or a combination with previous abs_path, ie. it should check if import name is already absolute in its context), it has to create/return the abs_path for that import (which is what I want to expose on the C-API). So in case the previous import was resolved to an abs_path of http://xxx/yyy.zzz and the current import name is foo, the custom importer should return http://xxx/foo (plus the content) for that import (and this is what I will expose on the C-API).
As I understand, ruby sass would return just foo in case the url is handled by a custom importer?

First working POC in https://github.com/sass/libsass/pull/1600
Looks like we can use the same API as with custom importers!

@xzyfer this includes quite a bit of refactoring and cleaning up in context.cpp. Do you want to include this in 3.3.0 or wait for 3.3.1? https://github.com/sass/libsass/pull/1617 adds the minimal C-API changes that will be needed to support this. IMO we should at least land the API changes in 3.3.0!

Do you want to include this in libsass 3.3.0 or wait for 3.3.1?

3.3.1

we should at least land the API changes in 3.3.0!

Agreed.
/cc @saper, I expect this will effect node-sass.

#1390 exposes the options object passed to renderand renderSync to custom functions as this.options. This makes it possible to know file Node Sass is compiling if the file property is being used i.e. this.options.file.
However this will

be null when using data instead of file
be the entry point file even when a function is called in an @imported file

I would appreciate a test case the desired behaviour in this issue. To be completely honestly I'm not sure what is required.

I hacked this together this implementation a few months ago: https://github.com/sass/node-sass/compare/master...also:current-file-hack
I don't have a test case, although it passed the existing tests at the time.
It changes the last argument to custom functions from the done callback to {done, currentFile}. I imagine a more comprehensive implementation would have a different API and expose more information from the compiler.

I would appreciate a test case the desired behaviour in this issue. To be completely honestly I'm not sure what is required.

@xzyfer I feel like I've given quite a bit of details here, so I don't know what else to provide. Maybe you can explain what, in particular, you are confused by. Sass functions need to know their caller context so that relative paths can be resolved and urls relative to the target output file can be determined. There are times when this information isn't available, so no code should be built in a way that expects non-null values, but there's plenty of times where it is.

I don't think that sass_compiler_get_last_import will work reliably for custom functions. I stated before that the main problem is that libsass does not preserve the information needed ATM. The problem is that we read/parse the input files into an AST tree that will contain a function call op. Once we evaluate/execute that function call, the context of the actual import is no longer available (we only have one ast tree). That is what https://github.com/sass/libsass/issues/1037 is all about. As I also wrote above IMO there is currently only one way to actually get that info via fb->pstate().path already. But that would be just a "crutch" for now, as the import stack should be available to custom functions (as other stuff). But nobody yet came around to actually solve/implement the missing pieces for libsass.

Just came up against this problem...
test/_images.scss
.test { background-image: inline-image('./images/lol.svg'); }

If I was to then hook into a custom function using;
funcs['inline-image($file)'] = function(file, done) {

The problem here is that the function has no idea what the current directory context of Sass is... so when you reference ./images/lol.svg, it goes to /images/lol.svg, instead of test/images/lol.svg.

For example, solving this problem with Ruby Sass would involve;
https://raw.githubusercontent.com/ringself/sassmagic/5297e7936a4d3bae4e89e7fa1bcaacfaf01dcf18/lib/sassmagic/utils.rb
real_path = File.expand_path("#{File.dirname(options[:filename])}/#{path}")

Any recommendations on any kind of hack/workaround to get this to work without forking libsass/node-sass?

@seansfkelley i had a hack here https://github.com/sass/node-sass/issues/886#issuecomment-96325318

The best way to progress this this, or any feature is to PR test cases so
we can be sure we're building what people expect.
On 2 Aug. 2017 8:44 am, "James Newell"<EMAIL_ADDRESS>wrote:
@seansfkelley https://github.com/seansfkelley i had a hack here #886
(comment)
https://github.com/sass/node-sass/issues/886#issuecomment-96325318
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sass/node-sass/issues/895#issuecomment-319517945, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAjZWDgiaBj578vDfVSlVt99L1_nRONGks5sT6pDgaJpZM4EJ5E2
.

Just for the record, until there's a correct solution to the problem on node-sass level: there's a way to figure out current path from include paths.
I know it's not rock-solid but I use it for several months now and it never failed so far.
It has one basic limitation: it only works for the compilation entry point (i.e. not for files one @imports in sass), but I use it with webpack + sass-loader. I think at least some of solution seekers do the same so maybe it will be usable for you guys as well:
When there are include paths defined in node-sass config they are present in context when each compilation entry point is processed. In my use case i get them in one of functions passed to node-sass config.
Last path in include paths is the path to the compilation entry point.  It doesn't matter if additional tools like eyeglass are used or not. Taking the last of include paths allows to get path of compilation entry point.

i think there is a relative module for discussion: https://github.com/fetch/node-sass-asset-functions


Add a question to handle detailed user role

Some forms can be used for plaintiff/petition/appellant and the role needs to be specified on the form.
We can write a question to handle this very common need.

This could possibly be linked to the weaver. I would say about 10% of forms need the detailed label for the person starting/responding to the case--general motion type forms that can be used in multiple kinds of proceedings.

Related to https://github.com/SuffolkLITLab/docassemble-assemblylinewizard/issues/317 in the weaver.


Replaced sample aws insights-tar

Adding a new insights archive sample file from aws instance which contains the PCP spec collected via insights core collection.
This should unblock the development of creating a processor which listen to create/update events from platform.inventory.events kafka topic

Merged, thanks @patilsuraj767!


Send notification when trustline has been setted

When setting up a trustline we should send a notification to the user when its done

I


Sharding-JDBC 4.0.0-RC1 Compatibility?

I'm trying to upgrade from legacy version 2.0.3 -> Sharding-JDBC 4.0.0-RC1, here I have many compatibility issue, such as:

FORCE INDEX will cause BAD SQL.
LIMIT NOT WORKING with sum etc.

so I am wondering how much SQL test case is included in this project?

We never released the version 2.0.6

And all test cases are passed. If some SQL cannot pass, could you provide the SQL to let us add to test case?

    INSERT INTO `mobile`
        (`mobile`,
         `id`,
         `lock`
        )
        values (#{mobile, jdbcType=VARCHAR}, #{id, jdbcType=BIGINT}, 1)
        on duplicate key update
            `lock` = IF(`lock` = 0, 1, 0)

please check this, works in 3.1.0, but failed in 4.0.0-RC1, reporting   com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

We never released the version 2.0.6

sorry, it's 2.0.3 :)

Version: 4.0.0-RC1
Logic SQL:
SELECT
            pp.merchant,
            pp.plate,
            pp.park_uuid,
            pp.pay_serial
FROM `_parking_payment_plus` pp FORCE INDEX (`IDX-RESULT_TIME`)
WHERE pp.result = 1
ORDER BY pp.`id` DESC

Actual SQL: parking_default :::
SELECT
            pp.merchant,
            pp.plate,
            pp.park_uuid,
            pp.pay_serial,
            pp.id AS ORDER_BY_DERIVED_0
FROM `_parking_payment` pp FORCE INDEX (`IDX-RESULT_TIME`__parking_payment)
WHERE pp.result = 1
ORDER BY pp.`id` DESC

Error:
### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '__parking_payment)

         WHERE pp.result = 1

 ' at line 44
; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '__parking_payment)

         WHERE pp.result = 1

 ' at line 44

the insert sql duplicated #2319

@Anricx FORCE INDEX will cause BAD SQL. this issue was fixed dev branch

@Anricx LIMIT NOT WORKING with sum etc：Please give a detailed description

@Anricx LIMIT NOT WORKING with sum etc：Please give a detailed description

It was Fixed in 4.0.0-RC1

@Anricx Then can you close this issue?

I'm using sharding-jdbc since 2016, last month I'm upgrading from 2.0.3(the legacy) to 3.1.0, some sql not working, so this month I try 4.0.0-RC1, some are still not working.
All the sql are working nicely with 2.0.3,
Now i'm fallback to 2.0.3, due to it may having some unexpected issue.
So, I want to know when is the best time for upgrading to 4.x?
And thx for your guys working!

4.0.0-RC1 is a release candidate for 4.0.0, we plan release 3 or 4 release candidate version on this

Thank you for use sharding-jdbc so earlier, but I just say, 2.0.3 is past 2 years, some SQL supported which is not correct for sometime.
3.x and 4.x is more accurate than 2.x because we change a new parse engine.
If some SQL still not support, can you provide the details of the SQL?

I will waiting for the future version and try, thx for feeding back :)


Refactor DIM to test out proposed refactor plan

Summary
Testing out refactoring plan ideas on DIM.
Changelist
Directory structure

Put all of STM32's autogenerated stuff into stm32 directory, including the .ioc.
Add source directories: app, device, driver, and driver_shared. Note: driver_shared will actually live in the shared directory, and just be called driver, but I put it here for now to hopefully reduce confusion.
.h and .c files now live in the same directory.
Also pulled out task tick functions and initialization to a tasks.h/c file in the driver level. Reduces the clutter of developing stuff in main.c.

Coding conventions

The app, device, and driver directories each represent an abstraction layer. app for high-level behavior, device for wrappers around physical devices, chips, etc., and driver for hardware peripherals.
Removed abstraction layer prefix. Note: Please let me know what you guys think of this!
Enums and structs are PascalCase, and all are typedefed.
Functions are now camelCase instead of PascalCase. I think this looks better and its easier to distinguish between enums/structs.
Allocate data statically in modules, for modules that only will ever have 1 instance.

New code

Added GPIO and ADC shared drivers, which will eventually live in shared and be used across all boards.
Changed the "world" to "globals" and simplified it to be an externed global variable. I think globals is a better name since it no longer encapsulated all of a board's hypothetical "world", but is more just a container for all global state.
General refactoring and simplification of existing code.

What I haven't done yet

Any CMake changes (this code will absolutely not compile!)
Refactor any shared code(with the exception of adding the shared GPIO and ADC drivers).
Any documentation, the new functions have no comments. But I think its clear enough for now?
Any updates to testing.
Any changes to RTOS tasks.

These are both huge projects so I want feedback on the plan before actually putting in the effort to change anything. Keep in mind that this doesn't compile, and probably has lots of bugs.
What to review

General directory structure and coding conventions.
Global state plan (renaming "world" to "globals" and making it a global variable).
How stuff gets initialized in main.c.
How stuff gets called in driveState.c.
Any of the new drivers and devices.

Had a look, definitely an improvement though admittedly struggled to break some old habits, so had a couple of concerns:

I'm not sure I'm sold on removing the abstraction layer prefix, especially given that we're adding a new abstraction layer, the prefix makes it easy for someone to find the definition (even if they don't know how to use the IDE to go to definition)
For no particular reason I'm bothered that there is no 'src' folder, I know it's not needed and 'app' is plenty descriptive but it just bothers me
Why a dedicated 'stm32' folder? I know it encapsulates autogenerated code, but it makes it unintuitive to find where main.c is.
I like the idea of globals, but could we prefix the globals struct with the board name? makes it more clear that it is all the global variables for a given board
The mix of camelCase and underscore_case we have going right now seems odd, I understand the separation between the file name and function (fileName_function) but having the function be lowercase after having an uppercase word in the file name seems un-elegant. Not sure what standard practice is, but what if we upper-cased the word after the underscore, something like fileName_Function? Curious about what everyone else thinks, I guess doing so would be a weird combination of camelCase, underscore_case, and PascalCase.

Unrelated, would it be possible to move the top-level CMakeLists.txt to the repo root? Not strictly required if it's a headache, but right now any files outside the 'boards' directory are not immediately displayed in the project tab of CLion, and it would be more intuitive to new users if they could see the entire repo I think (also maybe rename boards to src in this case? just an idea. (not sure if that'd be confusing due to having src code for other things in our repo now or in the future (especially if SW team starts using the repo)

having .c and .h in the same folder has its advantages, but I am worried about more complicated boards with more files, trying to read through the app folder hurt my brain a little for some reason, it was like stripes of files with the same name rather than a list. (I mostly work with rtl code at work which doesn't use headers, so if this is common and I'm just not used to it ignore my concern)

I think both same directory and separate are common (I've seen both in past jobs). I think having them in the same place is nice since you so often switch between a module's .h and .c, but agreed it takes some getting used to.

I'm not sure I'm sold on removing the abstraction layer prefix, especially given that we're adding a new abstraction layer, the prefix makes it easy for someone to find the definition (even if they don't know how to use the IDE to go to definition)

Yeah this is a fair concern I think this would take the most getting used to. Curious to see what other people think, and I'm not tied to either way. These prefixes could work:

Application: app
Device: dev
Driver: drv, or Hardware: hw

Why a dedicated 'stm32' folder? I know it encapsulates autogenerated code, but it makes it unintuitive to find where main.c is.

The reason is to hide all auto-generated code. I think having that at the top-level is intimidating for new members, is ugly since it uses different conventions, and is also just not useful to have to sort through 99% of the time. Hiding main.c is indeed a downside, but I think this is fixable by just documenting where the new main.c is located. Also, hoping to pull out all the meat and potatoes out of main to tasks.h/.c at the driver level so we don't need to have to develop inside of the auto-generated clutter in the main file.

The mix of camelCase and underscore_case we have going right now seems odd, I understand the separation between the file name and function (fileName_function) but having the function be lowercase after having an uppercase word in the file name seems un-elegant. Not sure what standard practice is, but what if we upper-cased the word after the underscore, something like fileName_Function? Curious about what everyone else thinks, I guess doing so would be a weird combination of camelCase, underscore_case, and PascalCase.

Also curious to see what other people think. What I've done in this PR is standard camelCase, i.e. prefix_moduleName_coolFunctionName. Agreed it's a bit of a weird convention to use all 3.
Imo underscore_case is by far the most readable and I'd prefer using that for everything, but it gets tricky since we do prefix + module name. Open to any suggestions though.

Unrelated, would it be possible to move the top-level CMakeLists.txt to the repo root? Not strictly required if it's a headache, but right now any files outside the 'boards' directory are not immediately displayed in the project tab of CLion, and it would be more intuitive to new users if they could see the entire repo I think

Yes! This is a pretty easy change, we should definitely do this.
These are good suggestions: Let's wait to hear what other people have to say. Happy to make some changes.

This was just a demo, and I think has served its purpose, so closing in the effort of cleaning up outdated PRs.


Release 120 broke Node-Red Addon and introduced interface error

Hi,
I just restarted my HassOS and HASS.io updated itself to 120.
On restart Node-Red now does not come up (neither node red 1880 or /UI dashboards).
Also, the “System” tab hass changed the CSS so its all full screen now.
Running HassOS 1.7, HASS.io 120 and HASS 73.2
JP

Oh and I have cleared my browser cache...  Problem is still there.
JP

After 30min, Node-Red is now working again. Not sure why.
The CSS is still wonky on the “System” tab.

I get an error while loading the hassio panel:
Unable to load the panel source: /api/hassio/app/entrypoint.js.
Not clear if this is related.

Any kind of logs?

If you have problem. Remove ip_bans.yaml from configuration and reboot


Fill data after insert

Hello guys! i have an object that have the data that i need to fill on the "new added items"
im triggering via jquery the click method to generate a new field with 4 fields, i have the data for the 4 fields already in an object, so how i can fill the data after insert if i dont have an id to fill where i can set the value of the fields.
The help is appreciated!

You should use the callbacks documented here: https://github.com/nathanvda/cocoon#callbacks-upon-insert-and-remove-of-items
As a parameter you receive the part of html (the partial) that is about to be or was inserted, for you to manipulate, aka fill in the fields as you wish.
If you need code to explain this, please show us some example code so I can show you.

Closed due to inactivity.


Concurency issues with yourls-api.php

This is a COPY of Issue 765: Concurency issues with yourls-api.php, filed on Google Code before the project was moved on Github.

Submitted on 2011-04-17T02:08:21.000Z by raccettu
Status: Fixed

Please review the original issue and especially its comments. Comments here on closed issues will be ignored. Thanks.
Original description
So I've got a script that hits yourls API to get a short url.  The script has basic caching to help prevent multiple API hits, however until the first one resolves, it will keep firing off API requests since it has nothing to serve until the cache is primed.

The result here is that if the yourls API is hit quickly with the same URL, you can have duplicate entries.  In my case a dozen for the same exact URL.  The correct behavior is 1 short url per URL.  The rest should return the original URL.  This works correctly when it doesn't happen so quickly.

The reason is that the write operation isn't instant, so if multiple requests are fired before it's written, the duplicate 'exists' check is still false.

I think a temporary table, lock file or some other faster mechanism is needed to help prevent this concurrency issue.  Otherwise anyone with API access can make a real mess out of the database.  I accidentally ran across this and ended up making about 1k bogus short url's.  Thankfully I could figure out what they were and delete them pretty easily and restore my next_id.

@ozh I ran across this issue because I noticed this in the plugin list:
https://bitbucket.org/laceous/yourls-concurrency-fix
Do we still need to install the plugin to get the fix?  Or is it handled in the core nowadays?

This issue was marked "Fixed" a long time ago…

This issue being marked as fixed makes me think it was merged in to core
but seeing the add on for the fix in the list of plugins made me question
that. It sounds like it is merged in and I don’t need to enable a special
plugin to get the fixed behavior. Thanks.
On Thu, Oct 4, 2018 at 12:43 AM dgw<EMAIL_ADDRESS>wrote:

This issue was marked "Fixed" a long time ago…
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/YOURLS/YOURLS/issues/765#issuecomment-426917640, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGWbqIekA6Nu9gITnujNJMnVyHqFDH1mks5uhbw_gaJpZM4AjpAD
.

Think of it the other way round : do you notice anything with your setup that makes you think you need something special regarding concurrency? Anyway this issue has been open in 2011, chances are the codebase is now very different from back then.


api:support nested txn

jetcd should support nested txn behavior as documented here https://github.com/coreos/etcd/issues/7857.

fixed via #265


New event "PlayerFirstJoinEvent"

Idea. Add "PlayerFirstJoinEvent". Triggered when the player joined for the first time.

No. There is JoinData available for this. No need for an extra event or method to be added to PlayerJoinEvent. Even if you wanted to store that someone is joining for the first time, you could check against your own list or whatever storage medium you desire.

Okay.


Add tests for gofr.go

ServerHealthHandlerAddCheck - tests if health-check at /.well-known/health is added by default
ServerNotRunningForNoRoutes - tests if server is not started if no routes are added

I could not find a feasible way to ensure that the server would run while running the test. Maybe I will get back to this in the future.


Offline/Local documents running is too complex.

I have tried to setup local  offline docs in my machine but since last 15 days I am unable to setup offline docs. so kindly provide just simple kind of zip or git so we can just clone & can directly by putting in htdocs of xampp/wampp. I can not run it locally so please.

This issue was moved to Polymer/docs#1445


"pip install onnx-neural-compressor" failed

I'm glad to see this project and can't wait to try it out, but pip install fails. Is there an official release yet?

The first official release was planned in late July,  before the first binary release, please try to install with source.  Thanks


enyo-doom: init at 1.05

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

enyo-doom is a convenient frontend for various Doom engines.

@GrahamcOfBorg build enyo-doom

Success on aarch64-linux (full log)
Attempted: enyo-doom
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05
shrinking /nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05/bin/enyo-doom
strip is /nix/store/3zq400fri5dv7d30lpxlqm2v9y1iis6j-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05/bin
patching script interpreter paths in /nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05
checking for references to /build in /nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05...
postPatchMkspecs
/nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05

@GrahamcOfBorg eval

Success on x86_64-linux (full log)
Attempted: enyo-doom
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05
shrinking /nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05/bin/enyo-doom
strip is /nix/store/fzcs0fn6bb04m82frhlb78nc03ny3w55-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05/bin
patching script interpreter paths in /nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05
checking for references to /tmp/nix-build-enyo-doom-1.05.drv-0 in /nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05...
postPatchMkspecs
/nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05

Success on x86_64-linux (full log)
Attempted: enyo-doom
Partial log (click to expand)
/nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05

Success on aarch64-linux (full log)
Attempted: enyo-doom
Partial log (click to expand)
/nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05

Success on x86_64-linux (full log)
Attempted: enyo-doom
Partial log (click to expand)
/nix/store/b09jjm9a7pvdnl1mp0h04vj9z2ryfy41-enyo-doom-1.05

Success on aarch64-linux (full log)
Attempted: enyo-doom
Partial log (click to expand)
/nix/store/5fpg8fnhbdayzdcld053ilb579q5q5f2-enyo-doom-1.05


Mac ARM release broken

the Mac ARM release cannot be opened. MacOS says the download is broken.
Using MacOS 13.2 on an MacBook Pro M1 (2020).

Showing the same issue here.  Says the package is damaged and will not open. Same OS and Macbook Pro M1 Max.

Same.

Same issues here: “Alpaca Electron” is damaged and can’t be opened. You should move it to the Bin.
Thank you @bakman2, this worked, but should off-course not be needed.

Thank you @bakman2, this worked, but should off-course not be needed.

It is needed. There's no way around it. I don't have an app signing certificate (I don't want to buy one) so when you download the file, MacOS writes an extended attribute that tells the system that the file is downloaded from the internet. When you open the file, the system will check if the developer is recognized and whether it was downloaded from the internet. If it was downloaded and the developer is not recognized, then it will say the app cannot be run. The only way to get around this is to clear the file's extended attribute (the xattr -cr command) so that the system no longer thinks the file was downloaded from the internet.

it's anyway doesn't work :)

it's anyway doesn't work :)

Your RAM is full so it's using swap, which is very slow. If you're using a large mode (e.g. 30B or 65B), it will also take very long to start generating an output. Also on the first run, it has to load the model into RAM, so if your disk is slow, it will take a long time.

I would recommend you add it to the instruction in the installer.

I would recommend you add it to the instruction in the installer.

I might add it to the FAQ instead of the MacOS installer.

it's anyway doesn't work :)

Your RAM is full so it's using swap, which is very slow. If you're using a large mode (e.g. 30B or 65B), it will also take very long to start generating an output. Also on the first run, it has to load the model into RAM, so if your disk is slow, it will take a long time.

I have m1 max with 64gb ram and 1tb ssd
I'll restart and try more and come back with news

Same problem

Same problem

What model are you using?

https://huggingface.co/Pi3141/alpaca-7b-native-enhanced/tree/main
ggml-model-q4_1.bin

What model are you using?
https://huggingface.co/Pi3141/alpaca-7b-native-enhanced/tree/main
ggml-model-q4_1.bin

How long did you wait for? I don't know the specs of ARM64 Macs, but it's possible that it's still loading the model into the RAM. The CPU usage from the screenshot seems to indicate that it's doing something.
Try waiting longer, maybe half an hour. I don't really know any other solution for this since I don't have an ARM64 Mac myself.

Ok, I will try it later :)

So, I tried again. I waited 30 minutes but it still doesn't work

macOS version does not seem to response or working. confirmed. waited long time, no response whatsoever.


Can't test alternate CDN for assets domain in staging?

Seems there was some confusion around how assets.staging.publishing.service.gov.uk is set up in regard to testing switching between the main (Fastly) and alternative (AWS CloudFront) CDNs.
We should be able to test the assets domain on the alt CDN. Might already be fine and there was just confusion about how to do it, or maybe there's something to fix/improve about the way it's set up.
Moved from https://trello.com/c/vXZ5WQNd.

Not sure what prompted the claim that assets.staging.publishing.service.gov.uk points at prod, but it doesn't appear to be true.
dig +short assets.staging.publishing.service.gov.uk

www-gov-uk.map.fastly.net.
<IP_ADDRESS>

backend F_awsorigin {
...
    .host = "assets-origin.eks.staging.govuk.digital";
...
}

backend F_mirrorS3 {
...
    .host = "govuk-staging-mirror.s3-eu-west-2.amazonaws.com";
...
}


Add Beam Katas to the website's "Learning Resources" page

Add Beam Katas to the website's "Learning Resources" page.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @iemejia

R: @melap can you help me check this one too.

Staged: https://apache-beam-website-pull-requests.storage.googleapis.com/8836/documentation/resources/learning-resources/index.html#beam-katas


Wrong content type in APIStar 0.3 when rendering html page

I've tested on 0.2 and 0.3, seems like we treat this as application/json, a bit tricky for me to debug but I believe the problem is somewhere here:
https://github.com/encode/apistar/blob/526fe9aeecfeb03737e86cf7999b6129982846c2/apistar/hooks.py#L68

Ok so problem is actually here:
https://github.com/encode/apistar/blob/master/apistar/renderers.py#L55
https://github.com/encode/apistar/blob/master/apistar/renderers.py#L56
Was there any reason to leave out the HTML renderer?

from apistar.renderers import HTMLRenderer
from apistar import annotate

@annotate(renderers=[HTMLRenderer()])
def hello(username: str, templates: Templates):
    index = templates.get_template('index.html')
    return index.render(username=username)

works this way, is this by design?

See the 0.3.0 release notes, yes. Although there might be some rethinking, not sure yet. See also https://discuss.apistar.org/t/version-0-3-0-released/231/2

Seems static files have a similar issue, any idea how to workaround this? Thanks.

@thomasmktong - How do you replicate that? Installing, running apistar new . and apistar run presents the static files correctly in the docs for me.

hi @tomchristie, i believe it sometimes works but sometimes doesn't. You may refresh the following link a few times then you should be able to get my error.
https://gatecoin-automation.herokuapp.com/static/css/balance.css
Thanks!

Seems static files have a similar issue

Resolved in 0.3.4.
We need to improve (simplify) the logic around when we invoke rendering for responses, but the fix will do for now. (Issue was around the behavior for 304 Not Modified responses)


Blast Furnace

🚀 Feature Proposal
How about adding Blast Furnace to the bot? would work like osrs with costing GP to use and reduce coal-usage etc.

bump +1

Added


⚠ Bofrost.at has degraded performance

In 02d7322, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1643 ms

Resolved: Bofrost.at performance has improved in 14bfbeb after 7 minutes.


Slack Registration

There appears to be an issue with Slack registration. Slackbot is messaging users telling them to link their accounts on Core. When this is attempted, Core gives an error and tells the user to submit a ticket to web services.

This appears to only have affected one user (WEB-508524) - have there been any others?
This will generally only occur for users who have an expired token, and for those with no token who have already been invited to Slack, and this does require manual intervention from Web Services the way it is currently written.

Probably my fault. I've seen a lot of Slack related things coming through HD probably not related.


Update version for runc compatibility for Moby

Update version for compatibility with Moby. Fix for #529.

Codecov Report

Merging #530 (b8d0d93) into main (12e61eb) will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #530      +/-   ##
==========================================
- Coverage   61.09%   61.05%   -0.04%
==========================================
  Files          85       85
  Lines       12532    12532
==========================================
- Hits         7657     7652       -5
- Misses       4875     4880       +5

Sorry, we are probably the cause of the CI failures 😭  Please wait a moment.

Rebased on latest main and fixed formatting.


Remove proliferation of write_stderr

Closes issue #9

Seems these clips warnings are not showing up on my local machine (post update).


Add test and fix for .at() with a point before all points in ring

It wasn't returning a point.

The test fail without #58
If js-ipfs is downgraded, they pass https://travis-ci.org/jimpick/peer-star-app/builds/437491689

Thanks @jimpick for the fix. We eventually need to extract these modules into their own separate packages.

Thanks! Landed on v0.7.2.


Fix typo in pulsar-admin

Result
Minor change to fix typo in pulsar-admin command.

CLA is valid!


Documentation about refresh tokens?

For an official Google library the documentation is a disaster :(
Where can I find how to generate refresh tokens? All I find in the source code is a deprecated method that is replaced by getRequestMetadata with absolutely zero info as on how to use this.
Right now I am using
oauth2Client.getToken(code, function (err, token)

But that does not generate refresh tokens, and I am completely lost as on how to get them.

I found a ticket of someone running similar code as I do:
https://github.com/google/google-auth-library-nodejs/issues/81
Yet he seems to get a refresh token in the response?
I only get
{
"expiry_date" : 1.493801970744E12,
        "token_type" : "Bearer",
        "access_token" : "XXXX"
}

Ok I have found it.
http://stackoverflow.com/questions/10827920/not-receiving-google-oauth-refresh-token
If I want to receive a refresh token, I need to do this
      var authUrl = oauth2Client.generateAuthUrl({
        access_type: 'offline',
        scope: SCOPES,
        approval_prompt:'force'
      });

added the approval_prompt so it generates the refresh token again.


Validation of PatientInfo fields

Email validation
Ph number validation (only numbers I guess)
Fname and Lname validation (no special characters)
Age: only numbers (between 0 and 150)
SSN; only numbers
@Colmbus72
@jkhutch3

please reimplement with http://mvnrepository.com/artifact/org.webjars/jquery-maskedinput/1.4.0