{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":79184629,"defaultBranch":"dev","name":"bellows","ownerLogin":"zigpy","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-01-17T03:32:36.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/30303551?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716565442.0","currentOid":""},"activityList":{"items":[{"before":"eae32eaf1158e0b9a6180e9b400f350ac96975a9","after":"09cf7ce258084b2aeaac6fccaa2fc1fd66c242c4","ref":"refs/heads/dev","pushedAt":"2024-05-23T21:51:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Account for `getKeyTableEntry` sometimes returning an invalid response (#625)\n\n* Account for `getKeyTableEntry` sometimes returning an invalid response\r\n\r\n* Remove `breakpoint()`","shortMessageHtmlLink":"Account for getKeyTableEntry sometimes returning an invalid response ("}},{"before":"4f4adaf987541528ce0c40822aa9657fc56114f0","after":"eae32eaf1158e0b9a6180e9b400f350ac96975a9","ref":"refs/heads/dev","pushedAt":"2024-05-10T15:40:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Implement independent ASHv2 protocol parsing (#606)\n\n* Implement independent ASHv2 protocol parsing\r\n\r\n* Implement dynamic timeout computation\r\n\r\n* Use a semaphore instead of a lock to allow concurrent sending of un-ACKed frames\r\n\r\n* Replace current ASH+EZSP implementation\r\n\r\n* Increase max concurrency to match ASH\r\n\r\n* Allow setting the ACK mode as host or NCP\r\n\r\n* [TEST] Shut down the event loop with a separate exception\r\n\r\n* Re-implement a CLI tool to parse ASH frames from debug logs\r\n\r\n* Remove `host` handling of timeouts\r\n\r\n* Properly send ACKs in response to re-transmitted frames\r\n\r\n* Set maximum command concurrency to 1\r\n\r\n* Get ASH TX and NAK handling working reliably\r\n\r\n* Fix RStackFrame `to_bytes()`\r\n\r\n* Bump flake8\r\n\r\n* Optimize command logging for readability\r\n\r\n* Get unit tests passing again\r\n\r\n* Revert \"[TEST] Shut down the event loop with a separate exception\"\r\n\r\nThis reverts commit d155888241f4f7a9d93e97b9058a0d5f95806f31.\r\n\r\n* Fix startup reset unit test\r\n\r\n* Use strict `zip`\r\n\r\n* Use better parsing errors\r\n\r\n* Revert \"Use strict `zip`\"\r\n\r\nThis reverts commit ce3da98fd4b5d99b9339f7a83e8e9951c01a3909.\r\n\r\n* Implement both sides of ASH to make testing easier\r\n\r\n* Only pop the pending frame future if the frame number was actually assigned\r\n\r\n* Move NCP ASH implementation into tests\r\n\r\n* Ensure tests pass with 3.8\r\n\r\n* Properly handle cancel and substitute bytes\r\n\r\n* Add a unit test\r\n\r\n* Simulate NAK state during end-to-end testing\r\n\r\n* Ensure transports are resilient when it comes to framing\r\n\r\n* Introduce random loss testing as well\r\n\r\n* Add more tests\r\n\r\n* Add more tests\r\n\r\n* Cancel all pending frames when receiving a NAK\r\n\r\n* Move reserved bytes into an enum\r\n\r\n* Send a `CANCEL` byte before the reset frame\r\n\r\n* Improve logging\r\n\r\n* Fix unit tests\r\n\r\n* Ensure codebase works with 3.8\r\n\r\n* Almost at 100% coverage\r\n\r\n* Unit test UART callbacks\r\n\r\n* Get coverage up to 100%\r\n\r\n* Make tests less flaky","shortMessageHtmlLink":"Implement independent ASHv2 protocol parsing (#606)"}},{"before":"f1e912812aa129988dd6c67a3fdb829b47e18194","after":"4f4adaf987541528ce0c40822aa9657fc56114f0","ref":"refs/heads/dev","pushedAt":"2024-05-02T16:27:05.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix EZSP v8 `changeSourceRouteHandler` (#624)\n\n* Move `incomingNetworkStatusHandler` to v8 as well\r\n\r\n* Base v9 commands on v8\r\n\r\n* Fix unit tests\r\n\r\n* Do not disconnect when a frame cannot be parsed, log it instead\r\n\r\n* Add a unit test","shortMessageHtmlLink":"Fix EZSP v8 changeSourceRouteHandler (#624)"}},{"before":"b008ccf6d5a0490ac28b113d9d7e64c7a1733040","after":"f1e912812aa129988dd6c67a3fdb829b47e18194","ref":"refs/heads/dev","pushedAt":"2024-05-02T15:16:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Remove counter not used in EZSP v7 (#623)","shortMessageHtmlLink":"Remove counter not used in EZSP v7 (#623)"}},{"before":"e157c6d8437b610708147a1df0010f15913c4140","after":"b008ccf6d5a0490ac28b113d9d7e64c7a1733040","ref":"refs/heads/dev","pushedAt":"2024-05-01T11:22:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Simplify command structures for EZSP v10 (#621)\n\n* Inherit v10 from v9\r\n\r\n* Simplify v10 commands","shortMessageHtmlLink":"Simplify command structures for EZSP v10 (#621)"}},{"before":"fbf754f1a70da29ea576bb83f31aae1501216d27","after":"e157c6d8437b610708147a1df0010f15913c4140","ref":"refs/heads/dev","pushedAt":"2024-04-29T18:11:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix source route handler command for EZSP v9 (#620)\n\n* Fix command schema for EZSP v9, command 0x00C4\r\n\r\n* Fix v9 types","shortMessageHtmlLink":"Fix source route handler command for EZSP v9 (#620)"}},{"before":"7833647083f27f55b7ad345f4aaa7dffaa369abc","after":"fbf754f1a70da29ea576bb83f31aae1501216d27","ref":"refs/heads/dev","pushedAt":"2024-04-29T16:46:37.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix command deserialization for `getTokenData` (#619)\n\n* Allow passing structs as command schemas\r\n\r\n* Fix uses of `getTokenData`\r\n\r\n* Fix unit tests\r\n\r\n* Bring test coverage up to 100%","shortMessageHtmlLink":"Fix command deserialization for getTokenData (#619)"}},{"before":"bf634b588cd3efb760bc92fdcf8f2bf76add3f3e","after":"7833647083f27f55b7ad345f4aaa7dffaa369abc","ref":"refs/heads/dev","pushedAt":"2024-04-14T21:18:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix Python 3.12.3 regression with enums (#616)\n\n* Migrate bellows to directly use zigpy types\r\n\r\n* Convert `data` to bytes when dumping packets\r\n\r\n* Fix LVBytes32 prefix type\r\n\r\n* Fix failing EZSP protocol tests\r\n\r\n* Fix broken data types\r\n\r\n* Add undocumented `radius` field\r\n\r\n* Revert \"Add undocumented `radius` field\"\r\n\r\nThis reverts commit 95e83bb62b027ff44ba816e9bbe196682c382b5f.\r\n\r\n* Remove unnecessary \"bogus\" value from unit tests","shortMessageHtmlLink":"Fix Python 3.12.3 regression with enums (#616)"}},{"before":"be242b34a2dfcfdb85b98373697b6e2805fa3bac","after":"bf634b588cd3efb760bc92fdcf8f2bf76add3f3e","ref":"refs/heads/dev","pushedAt":"2024-04-11T15:46:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"TheJulianJES","name":"TheJulianJES","path":"/TheJulianJES","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6409465?s=80&v=4"},"commit":{"message":"Support Codecov v4 changes (#615)\n\nPass `CODECOV_TOKEN` to shared workflow","shortMessageHtmlLink":"Support Codecov v4 changes (#615)"}},{"before":"2fe6e862bc45faa6e667f0e5d2ad5d4c93efc60b","after":"be242b34a2dfcfdb85b98373697b6e2805fa3bac","ref":"refs/heads/dev","pushedAt":"2024-02-15T18:09:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Don't remove relays when there are route errors (#612)","shortMessageHtmlLink":"Don't remove relays when there are route errors (#612)"}},{"before":"1c4353600f280051a35e00df4c05febf2ea45d21","after":"2fe6e862bc45faa6e667f0e5d2ad5d4c93efc60b","ref":"refs/heads/dev","pushedAt":"2024-02-05T20:45:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Properly handle NAK frames and implement retries (#610)\n\n* Retry transmits\r\n\r\n* Handle retransmitted NCP frames\r\n\r\n* Use named constants\r\n\r\n* Drop log level\r\n\r\n* Use `ConnectionResetError` instead of `RuntimeError`\r\n\r\n* Implement dynamic ACK timeout\r\n\r\n* Fix _rec_seq in tests\r\n\r\n* Reduce UART concurrency to 1\r\n\r\n* Add unit tests\r\n\r\n---------\r\n\r\nCo-authored-by: David Mulcahey ","shortMessageHtmlLink":"Properly handle NAK frames and implement retries (#610)"}},{"before":"d3ba62eca9a758090089086ff5db088d72f19c19","after":"1c4353600f280051a35e00df4c05febf2ea45d21","ref":"refs/heads/dev","pushedAt":"2024-02-04T18:25:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix watchdog reset counter (#609)\n\n* Fix watchdog reset counter\r\n\r\n* change comparison\r\n\r\n* update test","shortMessageHtmlLink":"Fix watchdog reset counter (#609)"}},{"before":"758803d0c7db413bab910a2563f12ebd171c8d90","after":"d3ba62eca9a758090089086ff5db088d72f19c19","ref":"refs/heads/dev","pushedAt":"2023-12-31T05:30:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Match pending messages using the destination in addition to the tag (#605)\n\n* Match pending messages using the destination in addition to the tag\r\n\r\n* Fix tests\r\n\r\n* enhance logging to use the tuple in _pending\r\n\r\n---------\r\n\r\nCo-authored-by: David Mulcahey ","shortMessageHtmlLink":"Match pending messages using the destination in addition to the tag (#…"}},{"before":"f9f4c3f2b0c6797719125636b0e5802948aa3541","after":"758803d0c7db413bab910a2563f12ebd171c8d90","ref":"refs/heads/dev","pushedAt":"2023-12-30T20:04:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Reuse ZDO Initializers to create Endpoint objects on EZSP device (#599)\n\n* Ensure device endpoints sync with register_endpoints\r\n\r\nThis way if we need a reference to one we can grab it in a way we expect\r\n\r\n* Make the linter and tests happy\r\n\r\n* Better names, better comments.\r\n\r\n* Merge complex endpoint functionality into simple endpoint\r\n\r\n* Refactor unit tests to allow slightly better mocking of startup\r\n\r\n* Simplify endpoint creation\r\n\r\n---------\r\n\r\nCo-authored-by: puddly <32534428+puddly@users.noreply.github.com>","shortMessageHtmlLink":"Reuse ZDO Initializers to create Endpoint objects on EZSP device (#599)"}},{"before":"d917e996dfdb497321b8e4526092738becdabd38","after":"f9f4c3f2b0c6797719125636b0e5802948aa3541","ref":"refs/heads/dev","pushedAt":"2023-12-30T19:28:53.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"EZSP v13 (#603)\n\n* Create EZSPv13 definitions\r\n\r\n* [WIP] Key reading rewrite\r\n\r\n* Abstract adding transient link keys\r\n\r\n* Fix `setChildData` schema\r\n\r\n* Remove extraneous `key = ...`\r\n\r\n* Drop `EmberEUI64` alias\r\n\r\n* Drop `EmberKeyData` alias\r\n\r\n* Log when frames have unparsed trailing data\r\n\r\n* Add undocumented `timeout_remaining` field to `EmberChildData`\r\n\r\n* Fix `getNetworkKeyInfo` command format\r\n\r\n* Ensure v13 types override v12\r\n\r\n* Speed up key table scanning by reading the table size\r\n\r\n* Speed up reading of address tables\r\n\r\n* Set frame counters before setting security state\r\n\r\n* Ensure child restoration works\r\n\r\n* Ensure unit tests run on 3.8\r\n\r\n* Use v12 config as base\r\n\r\n* `setSourceRoute` was only removed from the docs, it still exists?\r\n\r\n* Make sure proper protocol version is being used\r\n\r\n* Fix existing unit tests\r\n\r\n* Add a test for v13\r\n\r\n* Use `CONFIG_KEY_TABLE_SIZE` for all versions\r\n\r\n* Mock network state loading for v13\r\n\r\n* Fix `test_ezsp_v13` command tests\r\n\r\n* Ensure child table is restored\r\n\r\n* Increase coverage","shortMessageHtmlLink":"EZSP v13 (#603)"}},{"before":"09b27827e70ce0ed6cfb54d4b21bd229af6e1dc7","after":"d917e996dfdb497321b8e4526092738becdabd38","ref":"refs/heads/dev","pushedAt":"2023-12-29T18:02:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Revert \"Remove UART thread (#598)\" (#604)\n\nThis reverts commit 1ac01edef70d49dec21694909ddd9e56d5fc07eb.","shortMessageHtmlLink":"Revert \"Remove UART thread (#598)\" (#604)"}},{"before":"15b3223def5b1b47dd0728a4cc7e9549f0f50899","after":"09b27827e70ce0ed6cfb54d4b21bd229af6e1dc7","ref":"refs/heads/dev","pushedAt":"2023-12-20T15:17:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Implement command priority (#602)","shortMessageHtmlLink":"Implement command priority (#602)"}},{"before":"1ac01edef70d49dec21694909ddd9e56d5fc07eb","after":"15b3223def5b1b47dd0728a4cc7e9549f0f50899","ref":"refs/heads/dev","pushedAt":"2023-12-11T21:32:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Drop empty frames (#600)","shortMessageHtmlLink":"Drop empty frames (#600)"}},{"before":"e4c624a7a3514981e51938628bf319bfdc922420","after":"1ac01edef70d49dec21694909ddd9e56d5fc07eb","ref":"refs/heads/dev","pushedAt":"2023-12-06T18:10:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Remove UART thread (#598)","shortMessageHtmlLink":"Remove UART thread (#598)"}},{"before":"f9cb60281a942499c5237420cf0574adf28b8848","after":"e4c624a7a3514981e51938628bf319bfdc922420","ref":"refs/heads/dev","pushedAt":"2023-11-25T15:12:16.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Expose `CONF_DEVICE_BAUDRATE` for dependent applications (#597)","shortMessageHtmlLink":"Expose CONF_DEVICE_BAUDRATE for dependent applications (#597)"}},{"before":"f4664526eade9710f2fdb08fc26b817c31d1d0b9","after":"f9cb60281a942499c5237420cf0574adf28b8848","ref":"refs/heads/dev","pushedAt":"2023-11-20T18:26:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Correct gpepIncomingMessageHandler data signature (#594)\n\n* Correct gpepIncomingMessageHandler data signature\r\n\r\nThis assumes that it's the same across all versions. Of course,\r\nthat's very difficult to validate given the state of EZSP documentation.\r\nHowever, on v8 this is absolutely correct, and I don't see\r\na reason why it might be only v8 as opposed to everywhere else\r\n\r\n* Fix whitespace with pre-commit for CI\r\n\r\n---------\r\n\r\nCo-authored-by: Conrad Kreyling ","shortMessageHtmlLink":"Correct gpepIncomingMessageHandler data signature (#594)"}},{"before":"6b857942071245a70beda5d08f2167441a3c9948","after":"f4664526eade9710f2fdb08fc26b817c31d1d0b9","ref":"refs/heads/dev","pushedAt":"2023-11-20T17:05:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Fix CLI (#596)","shortMessageHtmlLink":"Fix CLI (#596)"}},{"before":"29dec53c6abde606c1e912238d62508f6bc3d910","after":"6b857942071245a70beda5d08f2167441a3c9948","ref":"refs/heads/dev","pushedAt":"2023-11-16T20:05:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Sync with zigpy 0.60.0 changes (#595)\n\n* Replace `permit_with_key` with `permit_with_link_key`\r\n\r\n* Use zigpy `probe`\r\n\r\n* Use zigpy device schema\r\n\r\n* Use zigpy watchdog\r\n\r\n* Fix existing unit tests\r\n\r\n* Load board info into node state object\r\n\r\n* Bump minimum zigpy version to 0.60.0\r\n\r\n* Add a unit test for missing token value\r\n\r\n* Remove dead code","shortMessageHtmlLink":"Sync with zigpy 0.60.0 changes (#595)"}},{"before":"9cc1cde6c934babd71eff93ec2b717c8083e8d01","after":"29dec53c6abde606c1e912238d62508f6bc3d910","ref":"refs/heads/dev","pushedAt":"2023-10-24T18:17:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Always send `version(4)` when resetting (#589)\n\n* Do not grow packet buffer if not joined to any network\r\n\r\n* Split `write_config` into a parsing method and a writing method\r\n\r\n* Grow packet buffers only after the stack is running\r\n\r\n* Register endpoints immediately after connecting and resetting\r\n\r\n* Always switch back to EZSPv4 after resetting\r\n\r\n* v8 no longer crashes now that `version(4)` is sent\r\n\r\n* Revert \"Split `write_config` into a parsing method and a writing method\"\r\n\r\nThis reverts commit 2125c0fd405fea17c67c3edd505ec2089cd310b2.\r\n\r\n* Reduce diff size\r\n\r\n* Remove unnecessary unit tests for new behavior","shortMessageHtmlLink":"Always send version(4) when resetting (#589)"}},{"before":"b22db970c1d751cb93922ed304e3e541f3d79f6b","after":"9cc1cde6c934babd71eff93ec2b717c8083e8d01","ref":"refs/heads/dev","pushedAt":"2023-10-19T20:30:38.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Register endpoints before stack startup (#588)\n\n* Only register endpoints when the network is not running\r\n\r\n* Fix async not awaited warning\r\n\r\n* Add a unit test\r\n\r\n* TCLK repair requires the network be up","shortMessageHtmlLink":"Register endpoints before stack startup (#588)"}},{"before":"bd019fb745e3e78a8b49eea5f2f4f222e78b917c","after":"b22db970c1d751cb93922ed304e3e541f3d79f6b","ref":"refs/heads/dev","pushedAt":"2023-10-16T17:53:09.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"EZSP startup reset corner cases (#587)\n\n* Handle connection reset failure during reconnect\r\n\r\n* Close EZSP connection when startup config writing fails","shortMessageHtmlLink":"EZSP startup reset corner cases (#587)"}},{"before":"251a1de80e1648992587993aca878e84a954c3f1","after":"bd019fb745e3e78a8b49eea5f2f4f222e78b917c","ref":"refs/heads/dev","pushedAt":"2023-10-16T17:52:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Revert \"Remove watchdog failure counter and fail on the first try (#584)\" (#586)\n\nThis reverts commit 0fab7def03e3f2149d5309c4469362fbcfe61844.","shortMessageHtmlLink":"Revert \"Remove watchdog failure counter and fail on the first try (#584…"}},{"before":null,"after":"2444f378192a4386d3b96b53304032645daa50f7","ref":"refs/heads/revert-584-puddly/watchdog-immediate-failure","pushedAt":"2023-10-16T16:17:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Revert \"Remove watchdog failure counter and fail on the first try (#584)\"\n\nThis reverts commit 0fab7def03e3f2149d5309c4469362fbcfe61844.","shortMessageHtmlLink":"Revert \"Remove watchdog failure counter and fail on the first try (#584…"}},{"before":"0fab7def03e3f2149d5309c4469362fbcfe61844","after":"251a1de80e1648992587993aca878e84a954c3f1","ref":"refs/heads/dev","pushedAt":"2023-09-26T16:37:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Always retry sends (#585)","shortMessageHtmlLink":"Always retry sends (#585)"}},{"before":"58f8a8079a6fa1d25fe536e5d9e3fcfcbf41389c","after":"0fab7def03e3f2149d5309c4469362fbcfe61844","ref":"refs/heads/dev","pushedAt":"2023-09-26T16:37:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"puddly","name":null,"path":"/puddly","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/32534428?s=80&v=4"},"commit":{"message":"Remove watchdog failure counter and fail on the first try (#584)","shortMessageHtmlLink":"Remove watchdog failure counter and fail on the first try (#584)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUnoFLQA","startCursor":null,"endCursor":null}},"title":"Activity · zigpy/bellows"}