From d03b3b4f821a850e052a3781e55f3840405d6b5d Mon Sep 17 00:00:00 2001 From: Adam Radocz <16503773+adamradocz@users.noreply.github.com> Date: Mon, 18 Nov 2024 16:11:42 +0100 Subject: [PATCH 1/2] Optimize the RecyclableMemoryStream usage. (#17030) --- .../OrchardCore.XmlRpc/Controllers/HomeController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/OrchardCore.Modules/OrchardCore.XmlRpc/Controllers/HomeController.cs b/src/OrchardCore.Modules/OrchardCore.XmlRpc/Controllers/HomeController.cs index d69f4cf772c..587e802f0b3 100644 --- a/src/OrchardCore.Modules/OrchardCore.XmlRpc/Controllers/HomeController.cs +++ b/src/OrchardCore.Modules/OrchardCore.XmlRpc/Controllers/HomeController.cs @@ -54,7 +54,7 @@ public async Task ServiceEndpoint([ModelBinder(BinderType = typeo result.Save(w); } - var content = Encoding.UTF8.GetString(stream.GetBuffer(), 0, (int)stream.Length); + var content = Encoding.UTF8.GetString(stream.GetReadOnlySequence()); return Content(content, "text/xml"); } From bdf74c8d103aaf519d5436b804286fb00110030b Mon Sep 17 00:00:00 2001 From: Mike Alhayek Date: Mon, 18 Nov 2024 07:31:47 -0800 Subject: [PATCH 2/2] Fix Publish Content Task (#17033) --- .../Workflows/Activities/PublishContentTask.cs | 2 +- .../DefaultContentManager.cs | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/OrchardCore.Modules/OrchardCore.Contents/Workflows/Activities/PublishContentTask.cs b/src/OrchardCore.Modules/OrchardCore.Contents/Workflows/Activities/PublishContentTask.cs index 18aefa55804..22f176408e9 100644 --- a/src/OrchardCore.Modules/OrchardCore.Contents/Workflows/Activities/PublishContentTask.cs +++ b/src/OrchardCore.Modules/OrchardCore.Contents/Workflows/Activities/PublishContentTask.cs @@ -33,7 +33,7 @@ public override async Task ExecuteAsync(WorkflowExecuti var content = (await GetContentAsync(workflowContext)) ?? throw new InvalidOperationException($"The '{nameof(PublishContentTask)}' failed to retrieve the content item."); - if (string.Equals(InlineEvent.ContentItemId, content.ContentItem.ContentItemId, StringComparison.OrdinalIgnoreCase)) + if (!content.HasDraft()) { return Outcomes("Noop"); } diff --git a/src/OrchardCore/OrchardCore.ContentManagement/DefaultContentManager.cs b/src/OrchardCore/OrchardCore.ContentManagement/DefaultContentManager.cs index 4128ec4aa02..e4caf00f02b 100644 --- a/src/OrchardCore/OrchardCore.ContentManagement/DefaultContentManager.cs +++ b/src/OrchardCore/OrchardCore.ContentManagement/DefaultContentManager.cs @@ -563,16 +563,17 @@ public async Task CreateAsync(ContentItem contentItem, VersionOptions options = options ??= VersionOptions.Published; - // Draft flag on create is required for explicitly-published content items + // Draft flag on create is required for explicitly-published content items. if (options.IsDraft) { contentItem.Published = false; + contentItem.Latest = true; } - // Build a context with the initialized instance to create + // Build a context with the initialized instance to create. var context = new CreateContentContext(contentItem); - // invoke handlers to add information to persistent stores + // invoke handlers to add information to persistent stores. await Handlers.InvokeAsync((handler, context) => handler.CreatingAsync(context), context, _logger); await _session.SaveAsync(contentItem); @@ -584,10 +585,10 @@ public async Task CreateAsync(ContentItem contentItem, VersionOptions options = { var publishContext = new PublishContentContext(contentItem, null); - // invoke handlers to acquire state, or at least establish lazy loading callbacks + // invoke handlers to acquire state, or at least establish lazy loading callbacks. await Handlers.InvokeAsync((handler, context) => handler.PublishingAsync(context), publishContext, _logger); - // invoke handlers to acquire state, or at least establish lazy loading callbacks + // invoke handlers to acquire state, or at least establish lazy loading callbacks. await ReversedHandlers.InvokeAsync((handler, context) => handler.PublishedAsync(context), publishContext, _logger); } }