Skip to content

Port today's v17 update: revive uSync.Community.DataTypeSerializers (#1052) - #1053

Merged
KevinJump merged 1 commit into
v18/mainfrom
v18/merge-v17-20260827
Aug 27, 2026
Merged

Port today's v17 update: revive uSync.Community.DataTypeSerializers (#1052)#1053
KevinJump merged 1 commit into
v18/mainfrom
v18/merge-v17-20260827

Conversation

@KevinJump

@KevinJump KevinJump commented Aug 27, 2026

Copy link
Copy Markdown
Owner

Summary

  • Cherry-picks 71a56d9...b6c7416's DataTypeSerializers change (Jumoo/uSync#1052) from v17/main forward to v18/main, per the v17->v18 forward-merge policy.
  • Converts SyncDataTypeSerializerBase's guid/path lookups to a Try* pattern and adds/updates config serializers (ContentPicker, MediaPicker3, MNTPicker, new RichTextConfigSerializer) that map node references to portable entity paths.

Note: a full git merge origin/v17/main currently produces 25+ conflicts because the prior v17->v18 sync (#1050) wasn't recorded as a real git merge (different commit SHAs for equivalent content), so git re-surfaces the whole divergent history rather than just new commits. This PR only ports today's new v17 commit; the broader history reconciliation is a separate task.

Test plan

  • dotnet build uSync.Community.DataTypeSerializers succeeds
  • Full solution build / test suite

…new serializers (#1052)

Convert SyncDataTypeSerializerBase's guid/path lookups (UdiToEntityPath,
GuidToEntityPath, PathToUdi, PathToGuid, FindItem) to a Try* pattern instead
of relying on empty-string/null sentinels for failure.

Add/update editor config serializers that map node references to portable
entity paths on export and back to guids on import:
- ContentPickerConfigSerializer (startNodeId)
- MediaPicker3ConfigSerializer (startNodeId)
- MNTPickerConfigSerializer (startNode.id, startNode.dynamicRoot.originKey,
  the latter only mapped when present)
- RichTextConfigSerializer (mediaParentId) - new, defensively copies the
  configuration dictionary before mutating since other serializers for the
  same editor (e.g. uSync.Core's RichTextEditorMigratingSerializer) can hand
  back a read-only ImmutableSortedDictionary.
@KevinJump
KevinJump merged commit 59fecff into v18/main Aug 27, 2026
5 checks passed
@KevinJump
KevinJump deleted the v18/merge-v17-20260827 branch August 27, 2026 10:23
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.

1 participant