{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":743253983,"defaultBranch":"dev","name":"spine-go","ownerLogin":"enbility","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-14T19:33:24.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/118294492?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1726396922.0","currentOid":""},"activityList":{"items":[{"before":"575c4bb4751a608310e35ae5bfc8b837488946af","after":"023fb9fa91aca1051b50a26640d792f0625af254","ref":"refs/heads/dev","pushedAt":"2024-09-15T14:16:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Stop heartbeat if local entity is removed","shortMessageHtmlLink":"Stop heartbeat if local entity is removed"}},{"before":"44dcb27155bdc263692c466536943116db01626d","after":null,"ref":"refs/heads/feature/heartbeat-entity","pushedAt":"2024-09-15T10:42:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}},{"before":"b637b5392906e5020c130d6c8b86ba93be60de9e","after":"575c4bb4751a608310e35ae5bfc8b837488946af","ref":"refs/heads/dev","pushedAt":"2024-09-15T10:42:01.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Add support for heartbeats on multiple local entities (#34)\n\n- Refactor to move the heartbeatmanager from the device to local entity\r\n- timeout 0s will not create a heartbeat manager for the entity, e.g.\r\nused by NodeMgmt local entity\r\n\r\nFixes https://github.com/enbility/spine-go/issues/31","shortMessageHtmlLink":"Add support for heartbeats on multiple local entities (#34)"}},{"before":"cc279b75a935031436ba59eba289986a844a6500","after":"44dcb27155bdc263692c466536943116db01626d","ref":"refs/heads/feature/heartbeat-entity","pushedAt":"2024-09-15T10:40:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix race condition","shortMessageHtmlLink":"Fix race condition"}},{"before":null,"after":"cc279b75a935031436ba59eba289986a844a6500","ref":"refs/heads/feature/heartbeat-entity","pushedAt":"2024-09-15T10:33:14.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Add support for heartbeats on multiple local entities\n\n- Refactor to move the heartbeatmanager from the device to local entity\n- timeout 0s will not create a heartbeat manager for the entity, e.g. used by NodeMgmt local entity","shortMessageHtmlLink":"Add support for heartbeats on multiple local entities"}},{"before":"910ec64329d6c812832f4095259853c347d45606","after":null,"ref":"refs/heads/feature/fix-feature-caching","pushedAt":"2024-09-11T14:00:58.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}},{"before":"0024041a4f367129bb4670a9b7393457cc4894a1","after":"b637b5392906e5020c130d6c8b86ba93be60de9e","ref":"refs/heads/dev","pushedAt":"2024-09-11T14:00:55.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix subscription and binding handling (#33)\n\n- `HasSubscription` and `HasBinding` now properly reports the remote\r\nsubscriptions depending on if the remote device/entity is still\r\nconnected\r\n- Add API to remove subscriptions and binding data for a specific remote\r\nentity and remote device","shortMessageHtmlLink":"Fix subscription and binding handling (#33)"}},{"before":null,"after":"910ec64329d6c812832f4095259853c347d45606","ref":"refs/heads/feature/fix-feature-caching","pushedAt":"2024-09-11T13:54:53.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix subscription and binding handling\n\n- `HasSubscription` and `HasBinding` now properly reports the remote subscriptions depending on if the remote device/entity is still connected\n- Add API to remove subscriptions and binding data for a specific remote entity and remote device","shortMessageHtmlLink":"Fix subscription and binding handling"}},{"before":"4e1450706c062e527b61e9b3a97d1c5a712f48f7","after":"0024041a4f367129bb4670a9b7393457cc4894a1","ref":"refs/heads/dev","pushedAt":"2024-09-07T19:46:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Update SHIP","shortMessageHtmlLink":"Update SHIP"}},{"before":"ee706e38dfef0d29b006687d62d76551314c152e","after":null,"ref":"refs/heads/feature/cache-fix","pushedAt":"2024-09-07T19:41:28.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}},{"before":"dd82619930710d70bcba417f853172459bba4de0","after":"4e1450706c062e527b61e9b3a97d1c5a712f48f7","ref":"refs/heads/dev","pushedAt":"2024-09-07T19:41:27.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Improve message cache handling (#32)\n\n- Refactor read message caching\r\n - Move to Sender, to be remote device specific\r\n- Use for all request messages (read, subscribe, unsubscribe, bind,\r\nunbind)\r\n- WriteApproval handling updates\r\n - Clean up approval msg cache on device disconnects\r\n - Make them remote device specific\r\n- ReponseMsgCallbacks updates\r\n- Support multiple callbacks for a single msgCounter (required due to\r\nrequest caching)\r\n- datagram addition fixes","shortMessageHtmlLink":"Improve message cache handling (#32)"}},{"before":"52415d045e073b915c01635833d74d95cb30f55e","after":"ee706e38dfef0d29b006687d62d76551314c152e","ref":"refs/heads/feature/cache-fix","pushedAt":"2024-09-07T19:31:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix Github action","shortMessageHtmlLink":"Fix Github action"}},{"before":"b41cbd62aeab66cb332023d27982f1a424e74e6e","after":"52415d045e073b915c01635833d74d95cb30f55e","ref":"refs/heads/feature/cache-fix","pushedAt":"2024-09-07T19:25:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix ApprovalOrDenyWrite tests","shortMessageHtmlLink":"Fix ApprovalOrDenyWrite tests"}},{"before":null,"after":"b41cbd62aeab66cb332023d27982f1a424e74e6e","ref":"refs/heads/feature/cache-fix","pushedAt":"2024-09-07T10:25:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Improve message cache handling\n\n- Refactor read message caching\n - Move to Sender, to be remote device specific\n - Use for all request messages (read, subscribe, unsubscribe, bind, unbind)\n- WriteApproval handling updates\n - Clean up approval msg cache on device disconnects\n - Make them remote device specific\n- ReponseMsgCallbacks updates\n - Support multiple callbacks for a single msgCounter (required due to request caching)\n- datagram addition fixes","shortMessageHtmlLink":"Improve message cache handling"}},{"before":"b6914023bd915da4552a7caaa87f1ecd7ecd1f34","after":null,"ref":"refs/heads/feature/full-write","pushedAt":"2024-09-03T07:04:34.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}},{"before":"4f867aede356537dfcf4452168ed77021de7dcdf","after":"dd82619930710d70bcba417f853172459bba4de0","ref":"refs/heads/dev","pushedAt":"2024-09-03T07:04:33.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Add support for writing non partial data (#30)\n\nWhen the remote service does not provide support for partial writes, it\r\nis required that all data is always written. Which means that the\r\nchanged data has to be merged with the currently known remote data, or\r\nthat the full data is provided in the write in the first place.\r\n\r\nThis commit adds support for a merge, if merge support is implemented.\r\nOtherwise it will return an error, and the data will be sent as is.","shortMessageHtmlLink":"Add support for writing non partial data (#30)"}},{"before":"852045ebd12b27d01e219afe6d3959116b6ed03f","after":"4f867aede356537dfcf4452168ed77021de7dcdf","ref":"refs/heads/dev","pushedAt":"2024-09-02T15:48:58.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix ScaledNumber missing Scale if Number is 0\n\nThe SPINE Resource spec requires the ScaledNumber to always provide a scale value","shortMessageHtmlLink":"Fix ScaledNumber missing Scale if Number is 0"}},{"before":null,"after":"b6914023bd915da4552a7caaa87f1ecd7ecd1f34","ref":"refs/heads/feature/full-write","pushedAt":"2024-09-01T17:48:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Add support for writing non partial data\n\nWhen the remote service does not provide support for partial writes, it is required that all data is always written. Which means that the changed data has to be merged with the currently known remote data, or that the full data is provided in the write in the first place.\n\nThis commit adds support for a merge, if merge support is implemented. Otherwise it will return an error, and the data will be sent as is.","shortMessageHtmlLink":"Add support for writing non partial data"}},{"before":"e18765f16adecab7134f1cc04014eff0932d443e","after":"852045ebd12b27d01e219afe6d3959116b6ed03f","ref":"refs/heads/dev","pushedAt":"2024-08-31T20:01:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Fix NodeManagement request problem with caching\n\nOn subsequent connects to the same device, read requests for NodeManagement weren’t triggered, as replies for those weren’t removed from the cache properly","shortMessageHtmlLink":"Fix NodeManagement request problem with caching"}},{"before":"9e35fb6a081ab0148cb8624ec30236c282fb4151","after":null,"ref":"refs/heads/feature/full-detaileddiscovery-notify","pushedAt":"2024-08-31T11:58:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}},{"before":"f6a290cde877cf0bde37c739b5b56b44fba7ae6c","after":"e18765f16adecab7134f1cc04014eff0932d443e","ref":"refs/heads/dev","pushedAt":"2024-08-31T11:58:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Improve detaileddiscovery support (#29)\n\n- Add support for non partial detaileddiscovery notify messages\r\n- Add support for multiple updates (add and remove) in a notify message","shortMessageHtmlLink":"Improve detaileddiscovery support (#29)"}},{"before":null,"after":"9e35fb6a081ab0148cb8624ec30236c282fb4151","ref":"refs/heads/feature/full-detaileddiscovery-notify","pushedAt":"2024-08-31T11:56:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Improve detaileddiscovery support\n\n- Add support for non partial detaileddiscovery notify messages\n- Add support for multiple updates (add and remove) in a notify message","shortMessageHtmlLink":"Improve detaileddiscovery support"}},{"before":"8116edb7df7c63937457d4167635efd223b1d0c3","after":null,"ref":"refs/heads/feature/read-duplicates","pushedAt":"2024-08-28T19:11:04.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}},{"before":"354299c22d1afadc6130b0004bfa2b0e2a926296","after":"f6a290cde877cf0bde37c739b5b56b44fba7ae6c","ref":"refs/heads/dev","pushedAt":"2024-08-28T19:11:03.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Add support for handling duplicate read messages (#28)\n\nIf different use case implementations trigger the same read messages,\r\ncurrently they are all sent through and result in multiple responses.\r\n\r\nThis change will cache up to the last 20 read messages for each feature\r\nand not resend duplicates to the same remote feature. Instead it will\r\nreturn the message counter of the previous read request, so all\r\nrequestors will get the same responses.\r\n\r\nFixes https://github.com/enbility/spine-go/issues/27","shortMessageHtmlLink":"Add support for handling duplicate read messages (#28)"}},{"before":null,"after":"8116edb7df7c63937457d4167635efd223b1d0c3","ref":"refs/heads/feature/read-duplicates","pushedAt":"2024-08-28T19:08:13.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Add support for handling duplicate read messages\n\nIf different use case implementations trigger the same read messages, currently they are all sent through and result in multiple responses.\n\nThis change will cache up to the last 20 read messages for each feature and not resend duplicates to the same remote feature. Instead it will return the message counter of the previous read request, so all requestors will get the same responses.","shortMessageHtmlLink":"Add support for handling duplicate read messages"}},{"before":"4490d86aee74200e897ad17e105e9e46c5f8b4b2","after":"354299c22d1afadc6130b0004bfa2b0e2a926296","ref":"refs/heads/dev","pushedAt":"2024-08-28T19:05:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Minor fixes\n\n- Fix a typo\n- Fix a linter warning","shortMessageHtmlLink":"Minor fixes"}},{"before":"839fcf36e7f48762ac42174997d98f77f6f63da5","after":"4490d86aee74200e897ad17e105e9e46c5f8b4b2","ref":"refs/heads/dev","pushedAt":"2024-08-12T12:41:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Update README badges","shortMessageHtmlLink":"Update README badges"}},{"before":"c994673d74e41ab2a3d22e6de4660360ce505fe4","after":"839fcf36e7f48762ac42174997d98f77f6f63da5","ref":"refs/heads/dev","pushedAt":"2024-08-12T12:41:14.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Merge tag 'v0.6.2' into dev\n\nVersion 0.6.2\n\n# -----BEGIN PGP SIGNATURE-----\n#\n# iQIzBAABCgAdFiEEc4IJkCkMfX643zMp2oIFVLNObKQFAma6AtwACgkQ2oIFVLNO\n# bKRhLhAAm2KwFxG0RSkehtwRfoic1VY/mUAiOtHl0GVXslo81xiZA9V/5TuuXD90\n# u6fhRZBum0Jw2sLssJu9HcKC+76DMy42ctOvbxwFFDYqeLnYm8t0qjgU5ddLMVM8\n# SncTVy6dyvEqlHyaSXMs8El0j3Ds3jPptZ/bzoh1vQmnAtjzwWffizoaXOKtjNYt\n# voi5boNn2yb35Z+1V/StQLUpJvxfcScHOdHuCHih6GsB+IEt6PeU06LOd5DLhA+q\n# EK7Wmd5TnydRw+ieW2n/jaNGy616NBZ6nPYWmZAtF6pw2F4fvFqwU5pWvdgT8DWC\n# EZM3EeU0vK5u/RloY2a9luWxWkpaVYG84gIDljo0D40DWjRX6TkrXmVR8rpDyCl/\n# T//GHarZeOBT5TYG3akgVW5Zd7EjJIeTBOPUQoX2DXz8lSY7kHSwqIm8J/mvDHZW\n# Y0ep1y/RAc2DaomfOtswHnPjqXbtqDCnS/+IJv2krP9nh3/CVPzMdfAwBlbfTK22\n# mnMrxopMtgIcpsf3b9aeKaNibqV1zgekzD7EC4QzdE3CvDpT2BbbTqoVC/Na4UlQ\n# 9jIRWkv6K9GZn9bcmfTfHcfepWvGw/GHnoCqs6e//g2+D9+eXauD3bc9V5B3Rcab\n# Ze9NhcDq+HBN+vgZ+3W/nd5izsHMtpihKN9ysxivenHDLy7Ru3M=\n# =RBL4\n# -----END PGP SIGNATURE-----\n# gpg: Signature made Mon Aug 12 14:41:00 2024 CEST\n# gpg: using RSA key 73820990290C7D7EB8DF3329DA820554B34E6CA4\n# gpg: Good signature from \"Andreas Linde \" [ultimate]\n# gpg: aka \"Andreas Linde \" [ultimate]\n# gpg: aka \"Andreas Linde \" [ultimate]\n# gpg: aka \"Andreas Linde \" [ultimate]\n# gpg: aka \"[jpeg image of size 11256]\" [ultimate]\n# Primary key fingerprint: 7382 0990 290C 7D7E B8DF 3329 DA82 0554 B34E 6CA4","shortMessageHtmlLink":"Merge tag 'v0.6.2' into dev"}},{"before":"68c6bcc2aebb335e79df4d032dd7b95c0a25347e","after":"36970dd781befe6b9a73187dc6eb39eb91b59c44","ref":"refs/heads/main","pushedAt":"2024-08-12T12:41:09.000Z","pushType":"push","commitsCount":10,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"},"commit":{"message":"Merge branch 'release/v0.6.2'","shortMessageHtmlLink":"Merge branch 'release/v0.6.2'"}},{"before":"d9e6711cfbcb588151198b359137a627145bb70e","after":null,"ref":"refs/heads/feature/fix-subscription-removals","pushedAt":"2024-08-06T13:22:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"DerAndereAndi","name":"Andreas Linde","path":"/DerAndereAndi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42185?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEtrfYGQA","startCursor":null,"endCursor":null}},"title":"Activity · enbility/spine-go"}