From 03edd5faf6e2bfed10153175b059c0f97ec6124c Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sun, 12 Apr 2026 03:03:07 -0400 Subject: [PATCH] tauri cors fix (#1344) --- .../handle_image_edit_artcraft_via_router.rs | 1 + ...andle_text_to_image_artcraft_via_router.rs | 1 + .../artcraft/tauri-dev-hot-reload.conf.json | 84 ++++++++++++++++++- crates/desktop/artcraft/tauri-mac.conf.json | 19 ++++- crates/desktop/artcraft/tauri.conf.json | 19 ++++- frontend/package-lock.json | 1 + 6 files changed, 116 insertions(+), 9 deletions(-) diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs b/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs index 9d3572ae11..61af1dd972 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/image_edit/artcraft/handle_image_edit_artcraft_via_router.rs @@ -72,6 +72,7 @@ pub(super) async fn handle_image_edit_artcraft_via_router( image_inputs, resolution, aspect_ratio, + quality: None, // TODO(bt): Add quality image_batch_count: request.image_count.map(|n| n as u16), request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, generation_mode_mismatch_strategy: None, diff --git a/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs b/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs index 7a19c172dc..f9cdc3b073 100644 --- a/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs +++ b/crates/desktop/artcraft/src/core/commands/enqueue/text_to_image/artcraft/handle_text_to_image_artcraft_via_router.rs @@ -50,6 +50,7 @@ pub(super) async fn handle_text_to_image_artcraft_via_router( image_inputs, resolution, aspect_ratio, + quality: None, // TODO: Add quality image_batch_count: request.number_images.map(|n| n as u16), request_mismatch_mitigation_strategy: RequestMismatchMitigationStrategy::PayMoreUpgrade, generation_mode_mismatch_strategy: None, diff --git a/crates/desktop/artcraft/tauri-dev-hot-reload.conf.json b/crates/desktop/artcraft/tauri-dev-hot-reload.conf.json index 57c6625058..cc9f901ccb 100644 --- a/crates/desktop/artcraft/tauri-dev-hot-reload.conf.json +++ b/crates/desktop/artcraft/tauri-dev-hot-reload.conf.json @@ -8,6 +8,88 @@ "app": { "withGlobalTauri": true, "windows": [ - ] + ], + "security": { + "assetProtocol": { + "enable": true, + "scope": ["**"] + }, + "csp": { + "default-src": [ + "'self'", + "'unsafe-eval'", + "'unsafe-inline'", + "blob:", + "data:", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "https://www.google-analytics.com", + "https://www.googletagmanager.com", + "ipc://localhost", + "tauri://localhost" + ], + "connect-src": [ + "'self'", + "'unsafe-eval'", + "'unsafe-inline'", + "asset:", + "blob:", + "data:", + "http://ipc.localhost", + "https://*.clarity.ms", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "https://asset.localhost", + "https://unpkg.com/detect-gpu@5.0.70/", + "https://www.google-analytics.com", + "https://www.googletagmanager.com", + "ipc://localhost", + "tauri://localhost" + ], + "font-src": "*", + "img-src": [ + "", + "'self'", + "'unsafe-inline'", + "*", + "blob:", + "data:", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "ipc://localhost", + "tauri://localhost" + ], + "script-src": [ + "'self'", + "'unsafe-eval'", + "'unsafe-inline'", + "'wasm-unsafe-eval'", + "asset:", + "blob:", + "data:", + "https://*.clarity.ms", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "https://*.unpkg.com", + "https://clarity.ms", + "https://unpkg.com", + "ipc://localhost", + "tauri:", + "tauri://localhost" + ], + "style-src": [ + "'self'", + "'unsafe-eval'", + "'unsafe-inline'", + "blob:", + "data:", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "https://fonts.googleapis.com", + "ipc://localhost", + "tauri://localhost" + ] + } + } } } diff --git a/crates/desktop/artcraft/tauri-mac.conf.json b/crates/desktop/artcraft/tauri-mac.conf.json index 216005ed09..52556f604e 100644 --- a/crates/desktop/artcraft/tauri-mac.conf.json +++ b/crates/desktop/artcraft/tauri-mac.conf.json @@ -37,13 +37,13 @@ "'unsafe-eval'", "'unsafe-inline'", "asset:", - "https://asset.localhost", "blob:", "data:", "http://ipc.localhost", + "https://*.clarity.ms", "https://*.fakeyou.com", "https://*.storyteller.ai", - "https://*.clarity.ms", + "https://asset.localhost", "https://unpkg.com/detect-gpu@5.0.70/", "https://www.google-analytics.com", "https://www.googletagmanager.com", @@ -51,7 +51,18 @@ "tauri://localhost" ], "font-src": "*", - "img-src": "* data: blob: 'unsafe-inline'", + "img-src": [ + "", + "'self'", + "'unsafe-inline'", + "*", + "blob:", + "data:", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "ipc://localhost", + "tauri://localhost" + ], "script-src": [ "'self'", "'unsafe-eval'", @@ -60,7 +71,6 @@ "asset:", "blob:", "data:", - "tauri:", "https://*.clarity.ms", "https://*.fakeyou.com", "https://*.storyteller.ai", @@ -68,6 +78,7 @@ "https://clarity.ms", "https://unpkg.com", "ipc://localhost", + "tauri:", "tauri://localhost" ], "style-src": [ diff --git a/crates/desktop/artcraft/tauri.conf.json b/crates/desktop/artcraft/tauri.conf.json index 153ad530b0..094bd1bcb6 100644 --- a/crates/desktop/artcraft/tauri.conf.json +++ b/crates/desktop/artcraft/tauri.conf.json @@ -36,13 +36,13 @@ "'unsafe-eval'", "'unsafe-inline'", "asset:", - "https://asset.localhost", "blob:", "data:", "http://ipc.localhost", + "https://*.clarity.ms", "https://*.fakeyou.com", "https://*.storyteller.ai", - "https://*.clarity.ms", + "https://asset.localhost", "https://unpkg.com/detect-gpu@5.0.70/", "https://www.google-analytics.com", "https://www.googletagmanager.com", @@ -50,7 +50,18 @@ "tauri://localhost" ], "font-src": "*", - "img-src": "* data: blob: 'unsafe-inline'", + "img-src": [ + "", + "'self'", + "'unsafe-inline'", + "*", + "blob:", + "data:", + "https://*.fakeyou.com", + "https://*.storyteller.ai", + "ipc://localhost", + "tauri://localhost" + ], "script-src": [ "'self'", "'unsafe-eval'", @@ -59,7 +70,6 @@ "asset:", "blob:", "data:", - "tauri:", "https://*.clarity.ms", "https://*.fakeyou.com", "https://*.storyteller.ai", @@ -67,6 +77,7 @@ "https://clarity.ms", "https://unpkg.com", "ipc://localhost", + "tauri:", "tauri://localhost" ], "style-src": [ diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 75cf29282e..ddb560c135 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -154,6 +154,7 @@ "react-hot-toast": "^2.5.2", "react-image-crop": "^11.0.5", "react-konva": "^18.2.10", + "react-resizable-panels": "*", "react-router": "^6.26.1", "react-router-dom": "^6.26.1", "react-virtualized": "^9.22.6",