diff --git a/app/core/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java b/app/core/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java index 71c402aa8..58887e822 100644 --- a/app/core/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java +++ b/app/core/src/main/java/stirling/software/SPDF/config/WebMvcConfig.java @@ -106,16 +106,29 @@ public class WebMvcConfig implements WebMvcConfigurer { .allowCredentials(true) .maxAge(3600); } else if (hasConfiguredOrigins) { - // Use user-configured origins + // Use user-configured origins + always include Tauri origins for desktop app support logger.info( "Configuring CORS with allowed origins: {}", applicationProperties.getSystem().getCorsAllowedOrigins()); - String[] allowedOrigins = - applicationProperties - .getSystem() - .getCorsAllowedOrigins() - .toArray(new String[0]); + // Combine user-configured origins with Tauri origins + java.util.List allOrigins = + new java.util.ArrayList<>( + applicationProperties.getSystem().getCorsAllowedOrigins()); + + // Always include Tauri origins for desktop app compatibility + // Tauri v1 uses tauri://localhost, v2 uses http(s)://tauri.localhost + if (!allOrigins.contains("tauri://localhost")) { + allOrigins.add("tauri://localhost"); + } + if (!allOrigins.contains("http://tauri.localhost")) { + allOrigins.add("http://tauri.localhost"); + } + if (!allOrigins.contains("https://tauri.localhost")) { + allOrigins.add("https://tauri.localhost"); + } + + String[] allowedOrigins = allOrigins.toArray(new String[0]); registry.addMapping("/**") .allowedOriginPatterns(allowedOrigins) diff --git a/build.gradle b/build.gradle index d4f26e4e9..f473cdf8f 100644 --- a/build.gradle +++ b/build.gradle @@ -67,7 +67,7 @@ springBoot { allprojects { group = 'stirling.software' - version = '2.4.2' + version = '2.4.3' configurations.configureEach { exclude group: 'commons-logging', module: 'commons-logging' diff --git a/frontend/src-tauri/tauri.conf.json b/frontend/src-tauri/tauri.conf.json index 76a6bc51b..40df48da2 100644 --- a/frontend/src-tauri/tauri.conf.json +++ b/frontend/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "../node_modules/@tauri-apps/cli/config.schema.json", "productName": "Stirling-PDF", - "version": "2.4.2", + "version": "2.4.3", "identifier": "stirling.pdf.dev", "build": { "frontendDist": "../dist", diff --git a/frontend/src/core/testing/serverExperienceSimulations.ts b/frontend/src/core/testing/serverExperienceSimulations.ts index 86a6b4109..800da47d9 100644 --- a/frontend/src/core/testing/serverExperienceSimulations.ts +++ b/frontend/src/core/testing/serverExperienceSimulations.ts @@ -38,7 +38,7 @@ const FREE_LICENSE_INFO: LicenseInfo = { const BASE_NO_LOGIN_CONFIG: AppConfig = { enableAnalytics: true, - appVersion: '2.4.2', + appVersion: '2.4.3', serverCertificateEnabled: false, enableAlphaFunctionality: false, serverPort: 8080, diff --git a/frontend/src/proprietary/testing/serverExperienceSimulations.ts b/frontend/src/proprietary/testing/serverExperienceSimulations.ts index 5d2d71fc6..64a995a20 100644 --- a/frontend/src/proprietary/testing/serverExperienceSimulations.ts +++ b/frontend/src/proprietary/testing/serverExperienceSimulations.ts @@ -48,7 +48,7 @@ const FREE_LICENSE_INFO: LicenseInfo = { const BASE_NO_LOGIN_CONFIG: AppConfig = { enableAnalytics: true, - appVersion: '2.4.2', + appVersion: '2.4.3', serverCertificateEnabled: false, enableAlphaFunctionality: false, enableDesktopInstallSlide: true,