Skip to content

Conversation

@exyi
Copy link
Member

@exyi exyi commented Sep 28, 2025

No description provided.

@tomasherceg tomasherceg requested a review from Copilot October 24, 2025 13:00
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds custom collection serializer support to enable object population during deserialization. The changes introduce a new DotvvmCollectionConverter that preserves collection instances during postback updates, preventing unnecessary object recreation.

Key Changes:

  • Implemented DotvvmCollectionConverter supporting various collection types (List, Array, ImmutableArray, ImmutableList, etc.)
  • Enhanced DotvvmDictionaryConverter with object population capabilities
  • Updated property mapping logic to detect and enable population for types with DotVVM converters

Reviewed Changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
DotvvmCollectionConverter.cs New converter implementing collection population for lists, arrays, and immutable collections
DotvvmDictionaryConverter.cs Enhanced to support populating existing dictionary instances while preserving references
ViewModelSerializationMapper.cs Added detection of DotVVM converters to enable population for collection properties
ViewModelSerializationMap.cs Updated dynamic dispatch logic to utilize DotVVM converters for population
DefaultSerializerSettingsProvider.cs Registered the new DotvvmCollectionConverter
SerializerTests.cs Added comprehensive test coverage for collection population scenarios

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@exyi exyi force-pushed the serializer-collection-populate branch from d70bc35 to f99df53 Compare October 31, 2025 15:09
@exyi exyi force-pushed the serializer-collection-populate branch from f99df53 to 1a8d413 Compare October 31, 2025 15:27
@exyi exyi marked this pull request as ready for review October 31, 2025 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants