fix(front): fix issue with already declared constants on release mode

- ensure not loading twice the same variables, namespace to ensure it in the future
 - end to end tests where successfull, need to check it is not reusing a previous release (in cache from build CI)
 - fix: #377 #378
This commit is contained in:
Edouard Vanbelle
2026-05-19 00:07:55 +02:00
parent 740b73bc8a
commit edbfe2848c
4 changed files with 11 additions and 6 deletions
+2
View File
@@ -128,6 +128,8 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
oxicloud::interfaces::middleware::trusted_proxy::log_config();
tracing::info!("OxiCloud v{}", env!("CARGO_PKG_VERSION"));
// Load configuration from environment variables
let config = common::config::AppConfig::from_env();
+4 -4
View File
@@ -30,8 +30,8 @@
import { getCsrfHeaders } from './csrf.js';
const REFRESH_ENDPOINT = '/api/auth/refresh';
const USER_DATA_KEY = 'oxicloud_user';
const WRAPPER_REFRESH_ENDPOINT = '/api/auth/refresh';
const WRAPPER_USER_DATA_KEY = 'oxicloud_user';
/** Captured before patching — the only safe fetch inside this module. */
let _originalFetch = window.fetch.bind(window);
@@ -47,7 +47,7 @@ async function _refresh() {
// Must use _originalFetch to avoid re-entering the interceptor.
_refreshInFlight = (async () => {
try {
const r = await _originalFetch(REFRESH_ENDPOINT, {
const r = await _originalFetch(WRAPPER_REFRESH_ENDPOINT, {
method: 'POST',
credentials: 'same-origin',
headers: { 'Content-Type': 'application/json', ...getCsrfHeaders() },
@@ -95,7 +95,7 @@ function installFetchInterceptor() {
const refreshed = await _refresh();
if (!refreshed) {
localStorage.removeItem(USER_DATA_KEY);
localStorage.removeItem(WRAPPER_USER_DATA_KEY);
window.location.href = '/login?source=session_expired';
throw new Error('Session expired');
}
-1
View File
@@ -1277,4 +1277,3 @@ function redirectToMainApp() {
window.location.href = '/login?error=redirect_failed';
}
}
+5 -1
View File
@@ -17,6 +17,10 @@ function loadEnv(filePath: string): Record<string, string> {
const commonEnv = loadEnv(path.join(__dirname, '../common/server.env'));
console.log(`starting playwright with env BUILD_TARGET=${process.env.BUILD_TARGET ?? "debug"}`);
const workspace=process.env.GITHUB_WORKSPACE ?? path.join(__dirname, '../..');
export default defineConfig({
testDir: './scenarios',
fullyParallel: true,
@@ -49,7 +53,7 @@ export default defineConfig({
webServer: {
command: process.env.BUILD_TARGET
? `${process.env.GITHUB_WORKSPACE}/target/${process.env.BUILD_TARGET}/oxicloud`
? `${workspace}/target/${process.env.BUILD_TARGET}/oxicloud`
: 'cargo run',
url: 'http://localhost:8087',
timeout: 600_000,