From 34daa301edb2a025ddbe40cb914ecc760b181dcf Mon Sep 17 00:00:00 2001 From: root Date: Sat, 7 Mar 2026 17:55:11 +0100 Subject: [PATCH] fix: use relative /api URL to prevent mixed content errors on HTTPS --- frontend/src/services/adminService.ts | 2 +- frontend/src/services/authService.ts | 2 +- frontend/src/services/compilation.ts | 2 +- frontend/src/services/libraryService.ts | 2 +- frontend/src/services/projectService.ts | 2 +- frontend/vite.config.ts | 8 ++++++++ 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/frontend/src/services/adminService.ts b/frontend/src/services/adminService.ts index bd1c8cb..2727a3c 100644 --- a/frontend/src/services/adminService.ts +++ b/frontend/src/services/adminService.ts @@ -1,6 +1,6 @@ import axios from 'axios'; -const API_BASE = import.meta.env.VITE_API_BASE || 'http://localhost:8001/api'; +const API_BASE = import.meta.env.VITE_API_BASE || '/api'; const api = axios.create({ baseURL: API_BASE, withCredentials: true }); diff --git a/frontend/src/services/authService.ts b/frontend/src/services/authService.ts index aa9d5a1..7130ceb 100644 --- a/frontend/src/services/authService.ts +++ b/frontend/src/services/authService.ts @@ -1,7 +1,7 @@ import axios from 'axios'; import type { UserResponse } from '../store/useAuthStore'; -const API_BASE = import.meta.env.VITE_API_BASE || 'http://localhost:8001/api'; +const API_BASE = import.meta.env.VITE_API_BASE || '/api'; const api = axios.create({ baseURL: API_BASE, withCredentials: true }); diff --git a/frontend/src/services/compilation.ts b/frontend/src/services/compilation.ts index 5360f7a..f0a173d 100644 --- a/frontend/src/services/compilation.ts +++ b/frontend/src/services/compilation.ts @@ -1,6 +1,6 @@ import axios from 'axios'; -const API_BASE = import.meta.env.VITE_API_BASE || 'http://localhost:8001/api'; +const API_BASE = import.meta.env.VITE_API_BASE || '/api'; export interface SketchFile { name: string; diff --git a/frontend/src/services/libraryService.ts b/frontend/src/services/libraryService.ts index d14f063..5324151 100644 --- a/frontend/src/services/libraryService.ts +++ b/frontend/src/services/libraryService.ts @@ -1,4 +1,4 @@ -const API_BASE = `${import.meta.env.VITE_API_BASE || 'http://localhost:8001/api'}/libraries`; +const API_BASE = `${import.meta.env.VITE_API_BASE || '/api'}/libraries`; export interface ArduinoLibrary { name: string; diff --git a/frontend/src/services/projectService.ts b/frontend/src/services/projectService.ts index 58a0f4b..c47bb05 100644 --- a/frontend/src/services/projectService.ts +++ b/frontend/src/services/projectService.ts @@ -1,6 +1,6 @@ import axios from 'axios'; -const API_BASE = import.meta.env.VITE_API_BASE || 'http://localhost:8001/api'; +const API_BASE = import.meta.env.VITE_API_BASE || '/api'; const api = axios.create({ baseURL: API_BASE, withCredentials: true }); diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index bd7f12d..fafeaad 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -12,6 +12,14 @@ export default defineConfig({ '@wokwi/elements': path.resolve(__dirname, '../wokwi-libs/wokwi-elements/dist/esm'), }, }, + server: { + proxy: { + '/api': { + target: 'http://localhost:8001', + changeOrigin: true, + }, + }, + }, optimizeDeps: { include: ['avr8js', 'rp2040js', '@wokwi/elements'], },