{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":554699711,"defaultBranch":"master","name":"dotnet-libs-datamanager","ownerLogin":"GriffinPlus","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-10-20T08:39:33.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/39772990?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1712743254.0","currentOid":""},"activityList":{"items":[{"before":"dc239ef347e4b756f57246b27b8b8993d73c6333","after":"c65f45b8277fbdd07237735bf7625fdca274e249","ref":"refs/heads/master","pushedAt":"2024-04-10T10:00:39.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Add tests for the DataTreeManagerHost class","shortMessageHtmlLink":"Add tests for the DataTreeManagerHost class"}},{"before":"74fffbb06e04db271013975ccf0214407be79722","after":"dc239ef347e4b756f57246b27b8b8993d73c6333","ref":"refs/heads/master","pushedAt":"2024-03-27T15:05:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Add methods to retrieve collection items asynchronously\n\nAnalogous to the way events are raised the ChildDataNodeCollection and the DataValueCollection\nand their viewer equivalents ViewerChildDataNodeCollection and ViewerDataValueCollection\nnow provide RequestItems() and RequestItemsAsync() methods to request the current set of items\nin the collections. The callback passed to RequestItems() is executed in the same thread as an\nevent handler attached to the 'Changed' event. The callback passed to RequestItemsAsync() is\nexecuted in the same thread as an event handler attached to the 'ChangedAsync' event. Therefore\nthese methods are ideally for fetching items that are in the collection and keep notified of\nchanges by the corresponding events.","shortMessageHtmlLink":"Add methods to retrieve collection items asynchronously"}},{"before":"e511b804c44b6bbad5eefbfa6552e7535fd9c025","after":"74fffbb06e04db271013975ccf0214407be79722","ref":"refs/heads/master","pushedAt":"2024-03-27T09:19:33.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Expose PathHelpers class publicly","shortMessageHtmlLink":"Expose PathHelpers class publicly"}},{"before":"d974b6adc54fa7cd8449ae654aff6dc38b3283a4","after":"e511b804c44b6bbad5eefbfa6552e7535fd9c025","ref":"refs/heads/master","pushedAt":"2024-03-26T17:32:25.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix issues revealed in code review with SchoT","shortMessageHtmlLink":"Fix issues revealed in code review with SchoT"}},{"before":"94e8693bfcd3f6dc7d9dadd6956026ae850a8225","after":"d974b6adc54fa7cd8449ae654aff6dc38b3283a4","ref":"refs/heads/master","pushedAt":"2024-03-26T17:30:41.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix issues revealed in code review with SchoT","shortMessageHtmlLink":"Fix issues revealed in code review with SchoT"}},{"before":"2bb82cff7802c0a9c66e263e4f16184d05b49869","after":"94e8693bfcd3f6dc7d9dadd6956026ae850a8225","ref":"refs/heads/master","pushedAt":"2024-03-26T17:27:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix issues revealed in code review with SchoT","shortMessageHtmlLink":"Fix issues revealed in code review with SchoT"}},{"before":"6e7590d8623a5393b0f1ad2151e66bd0feac940b","after":"2bb82cff7802c0a9c66e263e4f16184d05b49869","ref":"refs/heads/master","pushedAt":"2024-03-20T14:58:09.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Add unit tests (not completed, yet)","shortMessageHtmlLink":"Add unit tests (not completed, yet)"}},{"before":"28ceb21b79dee48393ee74d83d009f559e504934","after":"6e7590d8623a5393b0f1ad2151e66bd0feac940b","ref":"refs/heads/master","pushedAt":"2024-03-18T14:12:58.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix firing ViewerChildDataNodeCollection.Changed(Async) events\n\nActually fixed in ChildDataNodeCollection.ViewerChanged(Async) event. The events passed a reference to\nthe ChildDataNodeCollection instance, not the ViewerChildDataNodeCollection instance as event sender.","shortMessageHtmlLink":"Fix firing ViewerChildDataNodeCollection.Changed(Async) events"}},{"before":"175e372bf08487c0ded64e755109659079d6ce1f","after":"28ceb21b79dee48393ee74d83d009f559e504934","ref":"refs/heads/master","pushedAt":"2024-03-12T14:27:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Expose untyped ViewerDataValue events publicly","shortMessageHtmlLink":"Expose untyped ViewerDataValue<T> events publicly"}},{"before":"d5798b0dfd55ba7289d849b36265a79c65eae5a7","after":"175e372bf08487c0ded64e755109659079d6ce1f","ref":"refs/heads/master","pushedAt":"2024-03-12T13:54:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Consolidate name of event arguments\n\nFor DataValue:\nDataValueEventArgs => DataValueChangedEventArgs\nUntypedDataValueEventArgs => UntypedDataValueChangedEventArgs>\n\nFor Data:\nDataEventArgs => DataChangedEventArgs\nUntypedDataEventArgs => UntypedDataChangedEventArgs>\n\nFor ViewerDataValue:\nViewerDataValueEventArgs => ViewerDataValueChangedEventArgs\nUntypedViewerDataValueEventArgs => UntypedViewerDataValueChangedEventArgs","shortMessageHtmlLink":"Consolidate name of event arguments"}},{"before":"0b2ce25062311d5bfdcc28f3a05499d14680448b","after":"d5798b0dfd55ba7289d849b36265a79c65eae5a7","ref":"refs/heads/master","pushedAt":"2024-03-11T13:40:03.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Expose the internal buffer of DataValueCollection for testing purposes\n\nThis is done via the InternalBuffer property. The property is internal and only\naccessible from the test project by friend assembly declaration.","shortMessageHtmlLink":"Expose the internal buffer of DataValueCollection for testing purposes"}},{"before":"5ed586d027cd06bcbf28fc309323f16f4fa177e2","after":"0b2ce25062311d5bfdcc28f3a05499d14680448b","ref":"refs/heads/master","pushedAt":"2024-03-07T12:49:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix formatting issue in xml-doc of ViewerDataValue class","shortMessageHtmlLink":"Fix formatting issue in xml-doc of ViewerDataValue<T> class"}},{"before":"f92122e547be24dab51f2e1cbb60e7a916f9436a","after":"5ed586d027cd06bcbf28fc309323f16f4fa177e2","ref":"refs/heads/master","pushedAt":"2024-03-07T10:46:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Avoid allocating new ViewerDataNode object in DataNode.ViewerParent property\n\nThis also fixes an object identity issue, as a DataNode could be wrapped in multiple ViewerDataNode instances.","shortMessageHtmlLink":"Avoid allocating new ViewerDataNode object in DataNode.ViewerParent p…"}},{"before":"ec038830d387ffcae62ec89a966dd75284146a82","after":"f92122e547be24dab51f2e1cbb60e7a916f9436a","ref":"refs/heads/master","pushedAt":"2024-03-07T10:43:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Move viewer node/value collections into ViewerDataNode class\n\nThis measure avoids allocating viewer node/value collections if no viewer data node is needed.","shortMessageHtmlLink":"Move viewer node/value collections into ViewerDataNode class"}},{"before":"4cb5240c76839f6eddffbd32fd6a070b66da0d4d","after":"ec038830d387ffcae62ec89a966dd75284146a82","ref":"refs/heads/master","pushedAt":"2024-03-07T09:17:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Move ViewerDataValueCollection class into GriffinPlus.Lib.DataManager.Viewer namespace","shortMessageHtmlLink":"Move ViewerDataValueCollection class into GriffinPlus.Lib.DataManager…"}},{"before":"72ae18b8c6ac735dc64d397d688eca66159933df","after":"4cb5240c76839f6eddffbd32fd6a070b66da0d4d","ref":"refs/heads/master","pushedAt":"2024-03-07T09:16:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Expose wrapped data value via IUntypedViewerDataValue","shortMessageHtmlLink":"Expose wrapped data value via IUntypedViewerDataValue"}},{"before":"19d5e815edcb75e5791724df8ad27332600d461d","after":"72ae18b8c6ac735dc64d397d688eca66159933df","ref":"refs/heads/master","pushedAt":"2024-03-06T09:12:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Add missing set-accessors to ViewerDataNode properties\n\nThe ViewerDataNode class lacked set-accessors of the following properties:\n- Name\n- Properties\n- IsPersistent","shortMessageHtmlLink":"Add missing set-accessors to ViewerDataNode properties"}},{"before":"ea0090921030eab6290e935be53f02a3d0296d9f","after":"19d5e815edcb75e5791724df8ad27332600d461d","ref":"refs/heads/master","pushedAt":"2024-03-06T09:10:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Remove 'in' modifier from PathParser.Create() parameters\n\nThe 'in' modifier would allow to pass values by reference making it impossible to use in lambda expressions.","shortMessageHtmlLink":"Remove 'in' modifier from PathParser.Create() parameters"}},{"before":"6e804f4c1e946f4f6ee0450d351ec490ae5be495","after":"ea0090921030eab6290e935be53f02a3d0296d9f","ref":"refs/heads/master","pushedAt":"2024-03-06T09:08:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Make name checks more strict\n\nA name in the data manager must conform to the following rules:\n- the name is not empty (zero length)\n- the name does not contain any leading or trailing whitespaces\n- the name does not contain control characters from control code set C0 (U+0000 to U+001F)\n- the name does not contain control characters from control code set C1 (U+0080 to U+009F)","shortMessageHtmlLink":"Make name checks more strict"}},{"before":"63ff8638292d005582fbcca921dec96f11f34f0b","after":"6e804f4c1e946f4f6ee0450d351ec490ae5be495","ref":"refs/heads/master","pushedAt":"2024-03-06T09:06:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix DataNode.ViewerParent property\n\nThe property returned a non-null viewer data node if called on a regular root node\nthat simply returns null.","shortMessageHtmlLink":"Fix DataNode.ViewerParent property"}},{"before":"0c44cc28d2f15a4683e8ad91d30601246a63febf","after":"63ff8638292d005582fbcca921dec96f11f34f0b","ref":"refs/heads/master","pushedAt":"2024-03-06T09:04:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Make the DataNode.ViewerWrapper property public\n\nThis allows switching from a regular data node to a viewer data node.","shortMessageHtmlLink":"Make the DataNode.ViewerWrapper property public"}},{"before":"32fc72185c658a067c5c2ff66158949b71cbc8e3","after":"0c44cc28d2f15a4683e8ad91d30601246a63febf","ref":"refs/heads/master","pushedAt":"2024-03-06T09:02:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Update GriffinPlus.Lib.Serialization to version 2.3.0","shortMessageHtmlLink":"Update GriffinPlus.Lib.Serialization to version 2.3.0"}},{"before":"0514ab1cfc979c7d4d1e33a1355946430325131e","after":"32fc72185c658a067c5c2ff66158949b71cbc8e3","ref":"refs/heads/master","pushedAt":"2024-03-06T09:01:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Fix firing events when setting the DataNode.Name property","shortMessageHtmlLink":"Fix firing events when setting the DataNode.Name property"}},{"before":"c9653c05dfb342dd16fca83687eea39febe0d4cd","after":"0514ab1cfc979c7d4d1e33a1355946430325131e","ref":"refs/heads/master","pushedAt":"2024-03-06T09:00:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Work around data tree sync assertion when deserializing a DataNode\n\nWithin the deserialization constructor the data tree is not locked, so the assertion\nchecking whether the data tree is locked failed when accessing the PathUnsynced\nproperty of the DataNode class.","shortMessageHtmlLink":"Work around data tree sync assertion when deserializing a DataNode"}},{"before":"16939096d2fdfc0c1ad76511e1e75398a9bb97b8","after":"c9653c05dfb342dd16fca83687eea39febe0d4cd","ref":"refs/heads/master","pushedAt":"2024-03-06T08:56:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Allow changing the default data tree manager\n\nThe static DefaultDataTreeManagerHost property of the DataManager class now allows to\nset the data tree manager host to use when creating new root data nodes.","shortMessageHtmlLink":"Allow changing the default data tree manager"}},{"before":"1db56dd0832b2a84fddab3ed174b1a4766db4c72","after":"16939096d2fdfc0c1ad76511e1e75398a9bb97b8","ref":"refs/heads/master","pushedAt":"2024-02-23T13:42:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ravenpride","name":"Sascha Falk","path":"/ravenpride","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3209384?s=80&v=4"},"commit":{"message":"Initial version","shortMessageHtmlLink":"Initial version"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAELOK6gQA","startCursor":null,"endCursor":null}},"title":"Activity · GriffinPlus/dotnet-libs-datamanager"}