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:
@@ -128,6 +128,8 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
|
|
||||||
oxicloud::interfaces::middleware::trusted_proxy::log_config();
|
oxicloud::interfaces::middleware::trusted_proxy::log_config();
|
||||||
|
|
||||||
|
tracing::info!("OxiCloud v{}", env!("CARGO_PKG_VERSION"));
|
||||||
|
|
||||||
// Load configuration from environment variables
|
// Load configuration from environment variables
|
||||||
let config = common::config::AppConfig::from_env();
|
let config = common::config::AppConfig::from_env();
|
||||||
|
|
||||||
|
|||||||
@@ -30,8 +30,8 @@
|
|||||||
|
|
||||||
import { getCsrfHeaders } from './csrf.js';
|
import { getCsrfHeaders } from './csrf.js';
|
||||||
|
|
||||||
const REFRESH_ENDPOINT = '/api/auth/refresh';
|
const WRAPPER_REFRESH_ENDPOINT = '/api/auth/refresh';
|
||||||
const USER_DATA_KEY = 'oxicloud_user';
|
const WRAPPER_USER_DATA_KEY = 'oxicloud_user';
|
||||||
|
|
||||||
/** Captured before patching — the only safe fetch inside this module. */
|
/** Captured before patching — the only safe fetch inside this module. */
|
||||||
let _originalFetch = window.fetch.bind(window);
|
let _originalFetch = window.fetch.bind(window);
|
||||||
@@ -47,7 +47,7 @@ async function _refresh() {
|
|||||||
// Must use _originalFetch to avoid re-entering the interceptor.
|
// Must use _originalFetch to avoid re-entering the interceptor.
|
||||||
_refreshInFlight = (async () => {
|
_refreshInFlight = (async () => {
|
||||||
try {
|
try {
|
||||||
const r = await _originalFetch(REFRESH_ENDPOINT, {
|
const r = await _originalFetch(WRAPPER_REFRESH_ENDPOINT, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
credentials: 'same-origin',
|
credentials: 'same-origin',
|
||||||
headers: { 'Content-Type': 'application/json', ...getCsrfHeaders() },
|
headers: { 'Content-Type': 'application/json', ...getCsrfHeaders() },
|
||||||
@@ -95,7 +95,7 @@ function installFetchInterceptor() {
|
|||||||
|
|
||||||
const refreshed = await _refresh();
|
const refreshed = await _refresh();
|
||||||
if (!refreshed) {
|
if (!refreshed) {
|
||||||
localStorage.removeItem(USER_DATA_KEY);
|
localStorage.removeItem(WRAPPER_USER_DATA_KEY);
|
||||||
window.location.href = '/login?source=session_expired';
|
window.location.href = '/login?source=session_expired';
|
||||||
throw new Error('Session expired');
|
throw new Error('Session expired');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1277,4 +1277,3 @@ function redirectToMainApp() {
|
|||||||
window.location.href = '/login?error=redirect_failed';
|
window.location.href = '/login?error=redirect_failed';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ function loadEnv(filePath: string): Record<string, string> {
|
|||||||
|
|
||||||
const commonEnv = loadEnv(path.join(__dirname, '../common/server.env'));
|
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({
|
export default defineConfig({
|
||||||
testDir: './scenarios',
|
testDir: './scenarios',
|
||||||
fullyParallel: true,
|
fullyParallel: true,
|
||||||
@@ -49,7 +53,7 @@ export default defineConfig({
|
|||||||
|
|
||||||
webServer: {
|
webServer: {
|
||||||
command: process.env.BUILD_TARGET
|
command: process.env.BUILD_TARGET
|
||||||
? `${process.env.GITHUB_WORKSPACE}/target/${process.env.BUILD_TARGET}/oxicloud`
|
? `${workspace}/target/${process.env.BUILD_TARGET}/oxicloud`
|
||||||
: 'cargo run',
|
: 'cargo run',
|
||||||
url: 'http://localhost:8087',
|
url: 'http://localhost:8087',
|
||||||
timeout: 600_000,
|
timeout: 600_000,
|
||||||
|
|||||||
Reference in New Issue
Block a user