{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":495935449,"defaultBranch":"main","name":"python-matter-server","ownerLogin":"home-assistant-libs","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-05-24T18:04:32.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/63743711?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1717777358.0","currentOid":""},"activityList":{"items":[{"before":"a228df008a5fa4af600256ba98d1f0d48072cf10","after":"916c7438656d651e85a701b5c0ee2308e84bf686","ref":"refs/heads/bump-to-latest-wheels","pushedAt":"2024-06-07T16:34:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Call TriggerResubscribeIfScheduled on mDNS re-discovery\n\nIf we have active subscriptions, and we re-discover the device through\nmDNS, we can ask the SDK to re-subscribe to the device immediately.\nThis should make device to be available quicker when they come back\nonline.","shortMessageHtmlLink":"Call TriggerResubscribeIfScheduled on mDNS re-discovery"}},{"before":null,"after":"a228df008a5fa4af600256ba98d1f0d48072cf10","ref":"refs/heads/bump-to-latest-wheels","pushedAt":"2024-06-07T16:22:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Update to Matter SDK wheels 2024.6.0","shortMessageHtmlLink":"Update to Matter SDK wheels 2024.6.0"}},{"before":"82342126fa625bbf42f915e8123e1090bc7a0b31","after":"e9e0d06187a6c15852b7da294b9ef12cc654f795","ref":"refs/heads/fix-and-improve-node-unavailable","pushedAt":"2024-06-07T15:30:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Move all of Event processing in main thread\n\nInstead of processing the event in the callback Thread, move all of the\nprocessing to the main thread.\n\nThis avoids calling call_soon_threadsafe twice and sidesteps any\npotential Thread safety issues.","shortMessageHtmlLink":"Move all of Event processing in main thread"}},{"before":"64ea0f7375b83933e470239fd802e34e9f92f910","after":null,"ref":"refs/heads/introduce-loop-property","pushedAt":"2024-06-07T15:16:20.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"balloob","name":"Paulus Schoutsen","path":"/balloob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1444314?s=80&v=4"}},{"before":"474cb47d2a3022ef258bc6ff7a149e57d529a4d0","after":"575c2280bd697bab401032a388846a7cd7007ceb","ref":"refs/heads/main","pushedAt":"2024-06-07T15:16:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"balloob","name":"Paulus Schoutsen","path":"/balloob","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1444314?s=80&v=4"},"commit":{"message":"Introduce loop property to get the event loop (#737)","shortMessageHtmlLink":"Introduce loop property to get the event loop (#737)"}},{"before":"4dd11dd69ee7578959a59416f138ad6c0a7a2345","after":"64ea0f7375b83933e470239fd802e34e9f92f910","ref":"refs/heads/introduce-loop-property","pushedAt":"2024-06-07T14:01:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Mark loop as private and skip private attributes on API registeration\n\nMark the loop property as private.\n\nSkip private properties and functions when registering API\ncommands.","shortMessageHtmlLink":"Mark loop as private and skip private attributes on API registeration"}},{"before":"05a063dba7a26a602bf368f57a74f86c60cf3d24","after":"4dd11dd69ee7578959a59416f138ad6c0a7a2345","ref":"refs/heads/introduce-loop-property","pushedAt":"2024-06-07T13:37:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Use cached property instead","shortMessageHtmlLink":"Use cached property instead"}},{"before":"7e89a1b9dbd050e593da8258932eea2b821f85cd","after":null,"ref":"refs/heads/use-secrets-for-discriminator","pushedAt":"2024-06-07T13:31:22.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"}},{"before":"cb5ee7628993a9dc8f08d62665910d678a87962c","after":"474cb47d2a3022ef258bc6ff7a149e57d529a4d0","ref":"refs/heads/main","pushedAt":"2024-06-07T13:31:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Use secrets to generate the discriminator (#736)","shortMessageHtmlLink":"Use secrets to generate the discriminator (#736)"}},{"before":null,"after":"05a063dba7a26a602bf368f57a74f86c60cf3d24","ref":"refs/heads/introduce-loop-property","pushedAt":"2024-06-06T09:00:17.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Introduce loop property to get the event loop\n\nInstead of checking self.server.loop in various places introduce a\nproperty to get the event loop.","shortMessageHtmlLink":"Introduce loop property to get the event loop"}},{"before":null,"after":"7e89a1b9dbd050e593da8258932eea2b821f85cd","ref":"refs/heads/use-secrets-for-discriminator","pushedAt":"2024-06-06T08:54:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Use secrets to generate the discriminator\n\nUse the secrets module which is cryptographically secure to generate\nthe discriminator. The discriminator probably doesn't need to be\ncryptographically safe, but it also doesn't hurt and gets rid of a\nQA exception.","shortMessageHtmlLink":"Use secrets to generate the discriminator"}},{"before":null,"after":"82342126fa625bbf42f915e8123e1090bc7a0b31","ref":"refs/heads/fix-and-improve-node-unavailable","pushedAt":"2024-06-05T20:43:39.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Avoid MatterNodeData captured by Subscription callback closures\n\nThe Subscription callback closures were capturing the MatterNodeData\nobject, which was causing the object to be kept alive even after the\nnode was re-interviewed. Worse even, the callbacks were still using\nthe old (non-reinterviewed) MatterNodeData object. This has been\nobserved while working on updates, and doing two updates in a row:\nThe first completed update causes a re-interview. The second update then\nwas operating on the old MatterNodeData object, causing the node\nto stay unavailable.","shortMessageHtmlLink":"Avoid MatterNodeData captured by Subscription callback closures"}},{"before":"bb700dea8ebf3d2d732c6eecb35bb74b30f58842","after":"b649d5ac6c8237e81093b65764abbfae34c580fd","ref":"refs/heads/add-software-update-capability","pushedAt":"2024-06-05T14:30:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Raise update error if the node moves from querying to idle\n\nWhen the node's UpdateStateEnum changes from Querying to Idle it\nmeans the update file did not get processed. This could be due to\ntemporary network issues or the update file not being honored by the\ntarget node.","shortMessageHtmlLink":"Raise update error if the node moves from querying to idle"}},{"before":"c6e19e21a7315d4944ca4c61ecce158450c80b3f","after":"bb700dea8ebf3d2d732c6eecb35bb74b30f58842","ref":"refs/heads/add-software-update-capability","pushedAt":"2024-06-05T14:01:17.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Process Shutdown events\n\nMark the node as offline when we receive a explicit Shutdown event\nfrom the node.\n\nThis avoids that the node remains appearing online after an update for\nthe full subscription report interval before realizing that the node\ndisappeared and subscriptions get setup again.\n\nMost likely this helps in other cases too.","shortMessageHtmlLink":"Process Shutdown events"}},{"before":"966f8a93ff5a03625b6ec302a65d33b5db66b87f","after":null,"ref":"refs/heads/update-test","pushedAt":"2024-06-05T13:58:50.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"}},{"before":null,"after":"966f8a93ff5a03625b6ec302a65d33b5db66b87f","ref":"refs/heads/update-test","pushedAt":"2024-06-05T13:58:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Process Shutdown events\n\nMark the node as offline when we receive a explicit Shutdown event\nfrom the node.\n\nThis avoids that the node remains appearing online after an update for\nthe full subscription report interval before realizing that the node\ndisappeared and subscriptions get setup again.\n\nMost likely this helps in other cases too.","shortMessageHtmlLink":"Process Shutdown events"}},{"before":"e7a2f87bfbabdc834431c1ceb60b6a849ab5da7e","after":null,"ref":"refs/heads/improve-thread-device-diagnostics","pushedAt":"2024-06-03T20:21:24.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"frenck","name":"Franck Nijhof","path":"/frenck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/195327?s=80&v=4"}},{"before":"a8acb7a83bfc16d7946ef8c662ca8241159c3bee","after":"cb5ee7628993a9dc8f08d62665910d678a87962c","ref":"refs/heads/main","pushedAt":"2024-06-03T20:21:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"frenck","name":"Franck Nijhof","path":"/frenck","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/195327?s=80&v=4"},"commit":{"message":"Improve Thread network diagnostics parsing (#734)","shortMessageHtmlLink":"Improve Thread network diagnostics parsing (#734)"}},{"before":null,"after":"e7a2f87bfbabdc834431c1ceb60b6a849ab5da7e","ref":"refs/heads/improve-thread-device-diagnostics","pushedAt":"2024-06-03T20:08:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Improve Thread network diagnostics\n\nNot all Thread devices seem to provide the Thread Network Diagnostics\nCluster. According to the Matter specification, this cluster is\noptional, even for Thread devices.\n\nThis commit only parses Thread Network Diagnostics data if the cluster\nis present in the device.\n\nFor completeness, also make sure that Router Eligible End Device (REED)\nare classified as end devices too (since that is their current role).","shortMessageHtmlLink":"Improve Thread network diagnostics"}},{"before":"b497638dee6e36997b48b36e55df1e3111f4efa7","after":"a8acb7a83bfc16d7946ef8c662ca8241159c3bee","ref":"refs/heads/main","pushedAt":"2024-06-03T19:49:26.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Don't fail when encountering invalid strings (#733)","shortMessageHtmlLink":"Don't fail when encountering invalid strings (#733)"}},{"before":"9efa0544d5fae9a13e67a387958b5adb94fd69b4","after":null,"ref":"refs/heads/dont-fail-on-invalid-strings","pushedAt":"2024-06-03T19:49:26.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"}},{"before":null,"after":"9efa0544d5fae9a13e67a387958b5adb94fd69b4","ref":"refs/heads/dont-fail-on-invalid-strings","pushedAt":"2024-06-03T19:39:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Don't fail when encountering invalid strings\n\nTechnically all character strings are supposed to be valid UTF-8\nstrings. We've encountered devices which return non-printable characters\nas part of the octet string. This change makes the client more robust\nand not fail when encountering such strings.","shortMessageHtmlLink":"Don't fail when encountering invalid strings"}},{"before":"2e0e71f49c55138c25185661d208c3d38dae6dc9","after":null,"ref":"refs/heads/dependabot/pip/ruff-0.4.7","pushedAt":"2024-06-03T11:14:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"}},{"before":"38daff1f02c401a9bc6fc996546878911ca8405f","after":"b497638dee6e36997b48b36e55df1e3111f4efa7","ref":"refs/heads/main","pushedAt":"2024-06-03T11:14:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"agners","name":"Stefan Agner","path":"/agners","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/34061?s=80&v=4"},"commit":{"message":"Bump ruff from 0.4.5 to 0.4.7 (#732)\n\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump ruff from 0.4.5 to 0.4.7 (#732)"}},{"before":null,"after":"2e0e71f49c55138c25185661d208c3d38dae6dc9","ref":"refs/heads/dependabot/pip/ruff-0.4.7","pushedAt":"2024-06-03T08:55:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump ruff from 0.4.5 to 0.4.7\n\nBumps [ruff](https://github.com/astral-sh/ruff) from 0.4.5 to 0.4.7.\n- [Release notes](https://github.com/astral-sh/ruff/releases)\n- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/astral-sh/ruff/compare/v0.4.5...v0.4.7)\n\n---\nupdated-dependencies:\n- dependency-name: ruff\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump ruff from 0.4.5 to 0.4.7"}},{"before":"a82d4632a45b8675881b1fad43a87c5570b80568","after":null,"ref":"refs/heads/remove-node-polled-attributes","pushedAt":"2024-05-31T19:17:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"marcelveldt","name":"Marcel van der Veldt","path":"/marcelveldt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6389780?s=80&v=4"}},{"before":"f4904ebde22e5e59d76a91456c97df9880d226e5","after":"38daff1f02c401a9bc6fc996546878911ca8405f","ref":"refs/heads/main","pushedAt":"2024-05-31T19:17:36.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marcelveldt","name":"Marcel van der Veldt","path":"/marcelveldt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6389780?s=80&v=4"},"commit":{"message":"Remove node from polled attributes when its removed (#731)","shortMessageHtmlLink":"Remove node from polled attributes when its removed (#731)"}},{"before":null,"after":"a82d4632a45b8675881b1fad43a87c5570b80568","ref":"refs/heads/remove-node-polled-attributes","pushedAt":"2024-05-31T11:20:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"marcelveldt","name":"Marcel van der Veldt","path":"/marcelveldt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6389780?s=80&v=4"},"commit":{"message":"Remove node from polled attributes when its removed","shortMessageHtmlLink":"Remove node from polled attributes when its removed"}},{"before":"da0726d28bfb170404a70776ef099531bf63ced2","after":null,"ref":"refs/heads/fix-sdk-reentrancy-issues","pushedAt":"2024-05-30T09:25:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"marcelveldt","name":"Marcel van der Veldt","path":"/marcelveldt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6389780?s=80&v=4"}},{"before":"42c2d1df655805676a7be893f7c1b07e41437e74","after":"f4904ebde22e5e59d76a91456c97df9880d226e5","ref":"refs/heads/main","pushedAt":"2024-05-30T09:25:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"marcelveldt","name":"Marcel van der Veldt","path":"/marcelveldt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/6389780?s=80&v=4"},"commit":{"message":"Fix SDK reentrancy issues (#728)","shortMessageHtmlLink":"Fix SDK reentrancy issues (#728)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEX2s46QA","startCursor":null,"endCursor":null}},"title":"Activity ยท home-assistant-libs/python-matter-server"}