diff --git a/uSync.Core/DataTypes/DataTypeSerializers/RichTextEditorMigratingSerializer.cs b/uSync.Core/DataTypes/DataTypeSerializers/RichTextEditorMigratingSerializer.cs index 351c440c..6443be90 100644 --- a/uSync.Core/DataTypes/DataTypeSerializers/RichTextEditorMigratingSerializer.cs +++ b/uSync.Core/DataTypes/DataTypeSerializers/RichTextEditorMigratingSerializer.cs @@ -86,7 +86,7 @@ private IDictionary MigrateToTipTap(IDictionary // update we don't skip if the toolbar is missing, i can be for some older configs List toolbarList = []; if (configuration.TryGetValue("toolbar", out var toolbar) is false - && TryGetToolbarArray(toolbar, out toolbarList) is false) + || TryGetToolbarArray(toolbar, out toolbarList) is false) { toolbarList = _defaultToolbar.ToList(); } @@ -113,7 +113,15 @@ private IDictionary MigrateToTipTap(IDictionary private bool TryGetToolbarArray(object? toolbar, out List toolBarList) { toolBarList = new List(); - if (toolbar is null || toolbar is not JsonElement jsonElement || jsonElement.ValueKind != JsonValueKind.Array) + if (toolbar is null) return false; + + if (toolbar is IEnumerable stringList) + { + toolBarList = stringList.ToList(); + return toolBarList.Count > 0; + } + + if (toolbar is not JsonElement jsonElement || jsonElement.ValueKind != JsonValueKind.Array) return false; toolBarList = jsonElement.EnumerateArray().Select(x => x.GetString() ?? string.Empty).ToList(); diff --git a/uSync.Tests/appsettings-schema.Umbraco.Cms.json b/uSync.Tests/appsettings-schema.Umbraco.Cms.json old mode 100644 new mode 100755 diff --git a/uSync.Tests/umbraco-package-schema.json b/uSync.Tests/umbraco-package-schema.json old mode 100644 new mode 100755