From 4575d7178b185345563782d65b323eca99ce335a Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Sat, 31 Jan 2026 19:52:48 +0000 Subject: [PATCH] always allow tauri cors (#5616) # Description of Changes --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing) for more details. --- .../software/SPDF/config/WebMvcConfig.java | 25 ++++++++++++++----- build.gradle | 2 +- frontend/src-tauri/tauri.conf.json | 2 +- .../testing/serverExperienceSimulations.ts | 2 +- .../testing/serverExperienceSimulations.ts | 2 +- 5 files changed, 23 insertions(+), 10 deletions(-) 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,