From 89e2fe7cdf62224805b0e19816cc59c5f5f426a1 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 9 May 2025 16:46:48 +0800 Subject: [PATCH 01/17] Update features.md --- docs/en/framework/infrastructure/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/framework/infrastructure/features.md b/docs/en/framework/infrastructure/features.md index ef5d97bd91..a6bc52e48b 100644 --- a/docs/en/framework/infrastructure/features.md +++ b/docs/en/framework/infrastructure/features.md @@ -424,7 +424,7 @@ namespace FeaturesDemo return Task.FromResult("true"); } - return null; + return Task.FromResult(null); } } } From 0ba1aa54ef2de31050dc0af6f0243c00af0dffed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Mon, 12 May 2025 15:26:09 +0300 Subject: [PATCH 02/17] Update FileSystemDocumentSource.cs --- .../Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs index e16f81d2c9..591b695c32 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs @@ -32,7 +32,7 @@ namespace Volo.Docs.FileSystem.Documents localDirectory = documentName.Substring(0, documentName.LastIndexOf('/')); } - version = File.GetLastWriteTime(path).ToString("yyyyMMddHHmmss"); + version = "1.0.0"; return new Document(GuidGenerator.Create(), project.Id, From 24372f930b5268c123e0838a7810a2e837ced0d0 Mon Sep 17 00:00:00 2001 From: Enis Necipoglu Date: Mon, 12 May 2025 16:00:32 +0300 Subject: [PATCH 03/17] Update modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- .../Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs index 591b695c32..ca5c1221ad 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs @@ -32,6 +32,7 @@ namespace Volo.Docs.FileSystem.Documents localDirectory = documentName.Substring(0, documentName.LastIndexOf('/')); } + // The version is intentionally set to "1.0.0" as part of the versioning strategy for file system documents. version = "1.0.0"; return new Document(GuidGenerator.Create(), From f2a31e43947bae3312739edbb2e357224fd5be74 Mon Sep 17 00:00:00 2001 From: Mansur Besleney Date: Mon, 12 May 2025 16:00:59 +0300 Subject: [PATCH 04/17] localization added --- .../Pages/Docs/Admin/Projects/generatePdf.js | 2 +- .../src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/generatePdf.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/generatePdf.js index 7b7f4b1bbf..91015b1584 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/generatePdf.js +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/generatePdf.js @@ -37,7 +37,7 @@ $(function () { abpHandleError : false, error: function (jqXHR) { if (jqXHR.status === 200) { - abp.message.success(l('PdfFileDeletedSuccessfully')); + abp.message.success(l('PdfFileGeneratedSuccessfully')); $btn.buttonBusy(false); $("#GenerateAndDownloadPdfBtn").buttonBusy(false); } else { diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json index 73b07169f8..6715146b50 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Localization/Domain/en.json @@ -44,6 +44,7 @@ "Docs_Page_Title": "ABP Documentation", "Docs_Page_Description": "Access comprehensive guides and API references in the ABP Documentation, aiding in development and troubleshooting.", "GoogleTranslate": "Google Translate", - "DownloadPDF": "Download PDF" + "DownloadPDF": "Download PDF", + "PdfFileGeneratedSuccessfully": "The PDF file is generated successfully." } } From 81b7d5a16304642d6c91be34fd4a29758e2c8e97 Mon Sep 17 00:00:00 2001 From: Volosoft Agent <43883821+voloagent@users.noreply.github.com> Date: Mon, 12 May 2025 22:58:24 +0300 Subject: [PATCH 05/17] Update latest-versions.json to version 9.1.3 --- latest-versions.json | 76 ++------------------------------------------ 1 file changed, 2 insertions(+), 74 deletions(-) diff --git a/latest-versions.json b/latest-versions.json index 340ed62653..70b7f95687 100644 --- a/latest-versions.json +++ b/latest-versions.json @@ -1,78 +1,6 @@ [ - { - "version": "9.1.1", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.1.1" - } - }, - { - "version": "9.1.0", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.1.0" - } - }, - { - "version": "9.0.8", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.0.9" - } - }, - { - "version": "9.0.7", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.0.8" - } - }, - { - "version": "9.0.6", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.0.8" - } - }, - { - "version": "9.0.5", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.0.6" - } - }, - { - "version": "9.0.4", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.0.5" - } - }, - { - "version": "9.0.3", - "releaseDate": "", - "type": "stable", - "message": "", - "leptonx": { - "version": "4.0.4" - } - }, { - "version": "9.0.2", + "version": "9.1.3", "releaseDate": "", "type": "stable", "message": "", @@ -107,4 +35,4 @@ "version": "3.3.1" } } -] +] \ No newline at end of file From e1679717dd86e0f10ed458b8f8e3f8217f3f020c Mon Sep 17 00:00:00 2001 From: selman koc <64414348+skoc10@users.noreply.github.com> Date: Mon, 12 May 2025 23:33:49 +0300 Subject: [PATCH 06/17] Update latest-versions.json --- latest-versions.json | 83 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/latest-versions.json b/latest-versions.json index 70b7f95687..da8c7b754d 100644 --- a/latest-versions.json +++ b/latest-versions.json @@ -4,6 +4,87 @@ "releaseDate": "", "type": "stable", "message": "", + "leptonx": { + "version": "4.1.3" + } + }, + { + "version": "9.1.1", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.1.1" + } + }, + { + "version": "9.1.0", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.1.0" + } + }, + { + "version": "9.0.8", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.0.9" + } + }, + { + "version": "9.0.7", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.0.8" + } + }, + { + "version": "9.0.6", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.0.8" + } + }, + { + "version": "9.0.5", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.0.6" + } + }, + { + "version": "9.0.4", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.0.5" + } + }, + { + "version": "9.0.3", + "releaseDate": "", + "type": "stable", + "message": "", + "leptonx": { + "version": "4.0.4" + } + }, + { + "version": "9.0.2", + "releaseDate": "", + "type": "stable", + "message": "", "leptonx": { "version": "4.0.3" } @@ -35,4 +116,4 @@ "version": "3.3.1" } } -] \ No newline at end of file +] From 3648a4d4c6dd956aa3ea56c7a916a3b3d1d3d63f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Tue, 13 May 2025 17:22:19 +0300 Subject: [PATCH 07/17] Fix exception localization --- .../ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs index 63d6aa82ad..3d7c8e9631 100644 --- a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs +++ b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs @@ -230,6 +230,8 @@ public class DefaultExceptionToErrorInfoConverter : IExceptionToErrorInfoConvert AddExceptionToDetails(exception, detailBuilder, sendStackTraceToClients); var errorInfo = new RemoteServiceErrorInfo(exception.Message, detailBuilder.ToString(), data: exception.Data); + + TryToLocalizeExceptionMessage(exception, errorInfo); if (exception is AbpValidationException) { From 7822f6a4826616346326f2cd8858bb6468febaa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Tue, 13 May 2025 18:43:10 +0300 Subject: [PATCH 08/17] Fix: pdf generation --- .../Docs/Admin/Projects/GeneratePdf.cshtml.cs | 3 --- .../DocumentPdfGeneratorAppService.cs | 23 +++++++++++++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs index ffd189546c..231f7c56eb 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/GeneratePdf.cshtml.cs @@ -13,18 +13,15 @@ namespace Volo.Docs.Admin.Pages.Docs.Admin.Projects; public class GeneratePdfModal : DocsAdminPageModel { - protected IDocumentPdfGeneratorAppService DocumentPdfGeneratorAppService { get; } protected IProjectAppService ProjectAppService { get; } protected IProjectAdminAppService ProjectAdminAppService { get; } public GeneratePdfViewModel ViewModel { get; set; } public GeneratePdfModal( - IDocumentPdfGeneratorAppService documentPdfGeneratorAppService, IProjectAppService projectAppService, IProjectAdminAppService projectAdminAppService) { - DocumentPdfGeneratorAppService = documentPdfGeneratorAppService; ProjectAppService = projectAppService; ProjectAdminAppService = projectAdminAppService; } diff --git a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs index 7787185b50..3960a16179 100644 --- a/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs +++ b/modules/docs/src/Volo.Docs.Common.Application/Volo/Docs/Common/Documents/DocumentPdfGeneratorAppService.cs @@ -1,7 +1,9 @@ +using System.Text; using System.Threading.Tasks; using Microsoft.AspNetCore.Authorization; using Volo.Abp.Application.Services; using Volo.Abp.Content; +using Volo.Abp.Data; using Volo.Docs.Projects; using Volo.Docs.Projects.Pdf; @@ -24,6 +26,27 @@ public class DocumentPdfGeneratorAppService : ApplicationService, IDocumentPdfGe public virtual async Task GeneratePdfAsync(DocumentPdfGeneratorInput input) { var project = await ProjectRepository.GetAsync(input.ProjectId, includeDetails: true); + + // https://github.com/abpframework/abp/blob/e96f601641ab8a4bb7d704d3b9df2c00517d96f6/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs#L73 + var inputVersionStringBuilder = new StringBuilder(); + input.Version = inputVersionStringBuilder.Append(GetProjectVersionPrefixIfExist(project)).Append(input.Version).ToString(); return await ProjectPdfGenerator.GenerateAsync(project, input.Version, input.LanguageCode); } + + private string GetProjectVersionPrefixIfExist(Project project) + { + if (GetGithubVersionProviderSource(project) != GithubVersionProviderSource.Branches) + { + return string.Empty; + } + + return project.GetProperty("VersionBranchPrefix"); + } + + private GithubVersionProviderSource GetGithubVersionProviderSource(Project project) + { + return project.HasProperty("GithubVersionProviderSource") + ? project.GetProperty("GithubVersionProviderSource") + : GithubVersionProviderSource.Releases; + } } \ No newline at end of file From 9777e051f61821de467479ccd6ba3131a51ce572 Mon Sep 17 00:00:00 2001 From: Emre KARA Date: Tue, 13 May 2025 21:44:10 +0300 Subject: [PATCH 09/17] Update studio docs for v0.9.26 --- docs/en/studio/release-notes.md | 13 +++++++++++++ docs/en/studio/version-mapping.md | 1 + 2 files changed, 14 insertions(+) diff --git a/docs/en/studio/release-notes.md b/docs/en/studio/release-notes.md index ef498fcac5..cfb8e9fb61 100644 --- a/docs/en/studio/release-notes.md +++ b/docs/en/studio/release-notes.md @@ -2,6 +2,19 @@ This document contains **brief release notes** for each ABP Studio release. Release notes only include **major features** and **visible enhancements**. Therefore, they don't include all the development done in the related version. +## 0.9.26 (2025-04-30) + +* Fixed the issue where C# applications would not stop when requested. +* Added idle session timeout feature to Blazor WebAssembly applications. +* Added “Setup as a modular solution” option to application startup templates. +* Automatically added remote service base URL after generating C# proxies. +* Configured Helm charts for Kubernetes health check endpoints. +* Fixed auditing issue in Blazor WebAssembly applications. +* Fixed login error after registering a new user in Blazor WebApp. +* Implemented password login flow in Studio CLI. +* Supported non-root user mode in Docker Compose configurations. +* Upgraded templates to version `9.1.1`. + ## 0.9.25 (2025-03-12) * Added ready/health check for solution runner. diff --git a/docs/en/studio/version-mapping.md b/docs/en/studio/version-mapping.md index cd82da602a..88d9be25fe 100644 --- a/docs/en/studio/version-mapping.md +++ b/docs/en/studio/version-mapping.md @@ -4,6 +4,7 @@ This document provides a general overview of the relationship between various ve | **ABP Studio Version** | **ABP Version of Startup Template** | |------------------------|---------------------------| +| 0.9.26 | 9.1.1 | | 0.9.24 - 0.9.25 | 9.1.0 | | 0.9.22 - 0.9.23 | 9.0.4 | | 0.9.20 - 0.9.21 | 9.0.3 | From 5dfffe350288388b09d028126f47c10cdb99c71e Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 14 May 2025 09:03:30 +0800 Subject: [PATCH 10/17] Update DefaultExceptionToErrorInfoConverter.cs --- .../ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs index 3d7c8e9631..dd5df32b8a 100644 --- a/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs +++ b/framework/src/Volo.Abp.ExceptionHandling/Volo/Abp/AspNetCore/ExceptionHandling/DefaultExceptionToErrorInfoConverter.cs @@ -230,14 +230,14 @@ public class DefaultExceptionToErrorInfoConverter : IExceptionToErrorInfoConvert AddExceptionToDetails(exception, detailBuilder, sendStackTraceToClients); var errorInfo = new RemoteServiceErrorInfo(exception.Message, detailBuilder.ToString(), data: exception.Data); - - TryToLocalizeExceptionMessage(exception, errorInfo); if (exception is AbpValidationException) { errorInfo.ValidationErrors = GetValidationErrorInfos((exception as AbpValidationException)!); } + TryToLocalizeExceptionMessage(exception, errorInfo); + return errorInfo; } From 159cb77efe98ae112bce141493ea3f5da5a1d968 Mon Sep 17 00:00:00 2001 From: enisn Date: Wed, 14 May 2025 10:49:38 +0300 Subject: [PATCH 11/17] Fix color from the localization --- .../AbpIoLocalization/Commercial/Localization/Resources/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json index 4856813fe1..3a99ce93e8 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Commercial/Localization/Resources/en.json @@ -987,7 +987,7 @@ "Summary": "Summary", "TrainingPack": "Training pack", "TrainingPackDiscount": "Training pack discount", - "Purchase_OnboardingTraining_Description": "This live training is valid for a class of 8 students and this discount is only valid when purchased with the new license. Learn more ", + "Purchase_OnboardingTraining_Description": "This live training is valid for a class of 8 students and this discount is only valid when purchased with the new license. Learn more ", "Purchase_Save": "{0}% Save {1}", "RemoveBasket": "Remove from basket", "WhyABPIOPlatform?": "Why ABP.IO Platform?", From 4a8e9855ce155ec5bec3c408284015db423d6e98 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 14 May 2025 16:34:39 +0800 Subject: [PATCH 12/17] Skip disable feature if `value` or `provider name` is `null`. --- .../Components/FeatureManagementModal.razor.cs | 7 +++++-- .../FeatureManagement/FeatureManagementModal.cshtml.cs | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs index b0b7b6f70f..8a48db4b4a 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Blazor/Components/FeatureManagementModal.razor.cs @@ -152,10 +152,13 @@ public partial class FeatureManagementModal protected virtual bool IsDisabled(FeatureDto feature) { - return feature.Provider.Name != ProviderName && feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; + return feature.Value != null && + feature.Provider.Name != null && + feature.Provider.Name != ProviderName && + feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; } - public string GetShownName(FeatureDto featureDto) + public virtual string GetShownName(FeatureDto featureDto) { return !IsDisabled(featureDto) ? featureDto.DisplayName diff --git a/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs b/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs index 39bb3ad4f0..eb27c63aae 100644 --- a/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs +++ b/modules/feature-management/src/Volo.Abp.FeatureManagement.Web/Pages/FeatureManagement/FeatureManagementModal.cshtml.cs @@ -85,12 +85,15 @@ public class FeatureManagementModal : AbpPageModel return NoContent(); } - public bool IsDisabled(FeatureDto featureDto) + public virtual bool IsDisabled(FeatureDto feature) { - return featureDto.Provider.Name != ProviderName && featureDto.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; + return feature.Value != null && + feature.Provider.Name != null && + feature.Provider.Name != ProviderName && + feature.Provider.Name != DefaultValueFeatureValueProvider.ProviderName; } - public string GetShownName(FeatureDto featureDto) + public virtual string GetShownName(FeatureDto featureDto) { return !IsDisabled(featureDto) ? featureDto.DisplayName From b61f0a4356e1d897721c7b1e164ab2313fa1fa75 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 15 May 2025 09:56:24 +0800 Subject: [PATCH 13/17] Remove `Container` postfix from `id` attribute. --- .../aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js index e11a8f4d99..d232dbd28a 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared/wwwroot/libs/abp/aspnetcore-mvc-ui-theme-shared/bootstrap/modal-manager.js @@ -55,7 +55,7 @@ $.validator.defaults.ignore = ''; //TODO: Would be better if we can apply only f function _createContainer() { _removeContainer(); - _$modalContainer = $('
'); + _$modalContainer = $('
'); var existsModals = $('[id^="Abp_Modal_"]'); if (existsModals.length) { existsModals.last().after(_$modalContainer) From bfd5c7fec7208c46e7c946ec9dade17cf76aeca3 Mon Sep 17 00:00:00 2001 From: maliming <6908465+maliming@users.noreply.github.com> Date: Thu, 15 May 2025 11:38:38 +0800 Subject: [PATCH 14/17] Hide modal before creating NewEntity. --- framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 6c4fcf07f9..a2c7193437 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -357,10 +357,10 @@ public abstract class AbpCrudPageBase< } } - protected virtual Task CloseCreateModalAsync() + protected virtual async Task CloseCreateModalAsync() { + await InvokeAsync(CreateModal!.Hide); NewEntity = new TCreateViewModel(); - return InvokeAsync(CreateModal!.Hide); } protected virtual Task ClosingCreateModal(ModalClosingEventArgs eventArgs) @@ -474,11 +474,11 @@ public abstract class AbpCrudPageBase< protected virtual async Task OnCreatedEntityAsync() { - NewEntity = new TCreateViewModel(); await GetEntitiesAsync(); await InvokeAsync(CreateModal!.Hide); await Notify.Success(GetCreateMessage()); + NewEntity = new TCreateViewModel(); } protected virtual string GetCreateMessage() From 4a956a392d1299815a2ef465f2dc9c8330b18633 Mon Sep 17 00:00:00 2001 From: Engincan VESKE Date: Fri, 16 May 2025 10:30:52 +0000 Subject: [PATCH 15/17] Update POST.md --- .../2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md b/docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md index c499f6e33c..2f5cde6d2d 100644 --- a/docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md +++ b/docs/en/Community-Articles/2021-06-17-Using-Elsa-Workflow-with-ABP-Framework/POST.md @@ -1,5 +1,7 @@ # Using Elsa Workflow with ABP Framework +> **UPDATE:** There is a newer version of this article, which covers Elsa 3 with ABP Framework. You can check it at https://abp.io/community/articles/using-elsa-3-workflow-with-abp-framework-usqk8afg + **Elsa Core** is an open-source workflows library that can be used in any kind of .NET Core application. Using such a workflow library can be useful to implement business rules visually or programmatically. ![elsa-overview](./elsa-overview.gif) @@ -465,4 +467,4 @@ namespace ElsaDemo.Web.Menus > 🛠 Liked this post? I now share all my content on Substack — real-world .NET, AI, and scalable software design. > 👉 Subscribe here → engincanveske.substack.com > 🎥 Also, check out my YouTube channel for hands-on demos and deep dives: https://www.youtube.com/@engincanv ---- \ No newline at end of file +--- From c4064aecfae51a9aa77ab1b5ffaac9e54032913e Mon Sep 17 00:00:00 2001 From: Gilcemir Date: Fri, 16 May 2025 16:51:20 -0300 Subject: [PATCH 16/17] perf(mongodb): optimize event inbox query for better index utilization Replace negation operator (!x.Processed) with equality comparison (x.Processed == false) in MongoDbContextEventInbox.GetWaitingEventsAsync to improve MongoDB query performance. This change converts the $ne operator to an equality match, allowing better index utilization and more efficient queries, especially for large collections. --- .../Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs index 9d1b706d8b..e5d726526b 100644 --- a/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs +++ b/framework/src/Volo.Abp.MongoDB/Volo/Abp/MongoDB/DistributedEvents/MongoDbContextEventInbox.cs @@ -64,7 +64,7 @@ public class MongoDbContextEventInbox : IMongoDbContextEventInb var outgoingEventRecords = await dbContext .IncomingEvents .AsQueryable() - .Where(x => !x.Processed) + .Where(x => x.Processed == false) .WhereIf(transformedFilter != null, transformedFilter!) .OrderBy(x => x.CreationTime) .Take(maxCount) From 4cef4d70030f405ae61cf1740cfa3487b4c82bea Mon Sep 17 00:00:00 2001 From: erdemcaygor Date: Tue, 20 May 2025 15:27:13 +0300 Subject: [PATCH 17/17] update index.html when theme changed --- .../src/commands/change-theme/index.ts | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts b/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts index 9e27d31c9f..cb6a216d66 100644 --- a/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts +++ b/npm/ng-packs/packages/schematics/src/commands/change-theme/index.ts @@ -15,6 +15,7 @@ import { getAppConfigPath, cleanEmptyExprFromModule, cleanEmptyExprFromProviders, + getWorkspace, } from '../../utils'; import { ThemeOptionsEnum } from './theme-options.enum'; import { findNodes, getDecoratorMetadata, getMetadataField } from '../../utils/angular/ast-utils'; @@ -82,6 +83,7 @@ function updateAppModule(selectedProject: string, targetThemeName: ThemeOptionsE insertImports(selectedProject, targetThemeName), insertProviders(selectedProject, targetThemeName), adjustProvideAbpThemeShared(appModulePath, targetThemeName), + updateIndexHtml(selectedProject, targetThemeName), formatFile(appModulePath), cleanEmptyExpressions(appModulePath, isStandalone), ]); @@ -534,3 +536,39 @@ function findProvideAbpThemeSharedCalls(source: ts.SourceFile): ts.CallExpressio return result; } + +export function updateIndexHtml(projectName: string, themeName: ThemeOptionsEnum): Rule { + return async (host: Tree) => { + const workspace = await getWorkspace(host); + const project = workspace.projects.get(projectName); + + if (!project) { + throw new Error(`Project "${projectName}" not found in workspace.`); + } + + const buildOptions = project.targets.get('build')?.options; + const indexPath = buildOptions?.index as string; + + if (!indexPath || !host.exists(indexPath)) { + throw new Error(`index.html not found at path: ${indexPath}`); + } + + const buffer = host.read(indexPath); + if (!buffer) return; + const content = buffer.toString('utf-8'); + + const loaderDiv = `
`; + let updatedContent = content; + + if (themeName === ThemeOptionsEnum.LeptonX) { + if (!content.includes(loaderDiv)) { + updatedContent = content.replace(/]*)>/i, `\n ${loaderDiv}`); + } + } else { + if (content.includes(loaderDiv)) { + updatedContent = content.replace(loaderDiv, ''); + } + } + host.overwrite(indexPath, updatedContent); + }; +}