Conversation
Feat(api) cache product info
…optimized recursion
…ontrolling optimized recursion load behavior.
Feat update project load
…to monitor failure counts
…reAndApply Feat return failures project compare and apply
Feat add iot gateway support
Contributor
There was a problem hiding this comment.
Pull request overview
This release adds comprehensive IoT Gateway support and enhances project loading with optimized recursion capabilities for large projects.
Changes:
- Adds IoT Gateway support including MQTT Client Agents, REST Client Agents, REST Server Agents, and IoT Items with full CRUD operations
- Enhances ProjectLoadAsync to support optimized serialized project loading (content=serialize query parameter) for Kepware versions 6.17+
- Refactors API method names for consistency (
LoadProject→LoadProjectAsync,CompareAndApply→CompareAndApplyDetailedAsync) - Updates SyncService to use new method names and enhanced comparison results
- Adds comprehensive test coverage with new test data files and integration tests
Reviewed changes
Copilot reviewed 75 out of 79 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Kepware.Api/Model/Project/IotGateway/* | Adds new IoT Gateway model classes (agents, items, containers, enums, properties) |
| Kepware.Api/Serializer/KepJsonContext.cs | Registers new types for AOT-compatible JSON serialization |
| Kepware.Api/Model/ApplyResults.cs | Adds detailed comparison result tracking with failure information |
| Kepware.Api/Model/Properties.cs | Updates property keys with IoT Gateway constants and renamed Channel properties |
| Kepware.Api/KepwareApiClient.cs | Adds ProductInfo caching and connection state management improvements |
| Kepware.Api/Model/ApiMessages.cs | Adds UpdateApiResponseMessage for partial update tracking |
| KepwareSync.Service/SyncService.cs | Updates to use new async method names and enhanced comparison results |
| Kepware.Api.Test/ApiClient/* | Comprehensive test coverage for new IoT Gateway functionality and optimized project loading |
| KepwareSync.Service/appsettings.json | Adds new sync configuration options |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Features Added:
#6
#68