Compare commits

..

1 Commits

Author SHA1 Message Date
NimBold ac0e288cd8 test(startup): isolate Aria2 WebSocket crash path (#37)
- Issue #37: add a smoke-only switch that stops the Aria2 WebSocket loop.\n- Keep the daemon and poller paths active for a focused delayed-startup comparison.\n\nRefs #37.
2026-08-27 20:01:13 +03:30
2 changed files with 10 additions and 14 deletions
+7 -11
View File
@@ -23,21 +23,17 @@ const stabilityMsValue = Number.parseInt(argValue('--stability-ms') || '5000', 1
const stabilityMs = Number.isFinite(stabilityMsValue) && stabilityMsValue >= 0
? Math.min(stabilityMsValue, MAX_STABILITY_MS)
: 5000;
const childEnv = {
...process.env,
FIRELINK_SMOKE_TEST: '1',
FIRELINK_DISABLE_ARIA2_POLLER: '1',
WEBKIT_DISABLE_COMPOSITING_MODE: '1',
GDK_BACKEND: 'x11',
};
if (process.argv.includes('--disable-aria2-poller')) {
childEnv.FIRELINK_DISABLE_ARIA2_POLLER = '1';
}
const READY_PORT_TIMEOUT_MS = 500;
const child = spawn(executable, [], {
cwd: process.env.RUNNER_TEMP || process.env.TMPDIR || process.cwd(),
detached: process.platform !== 'win32',
env: childEnv,
env: {
...process.env,
FIRELINK_SMOKE_TEST: '1',
FIRELINK_DISABLE_ARIA2_WEBSOCKET: '1',
WEBKIT_DISABLE_COMPOSITING_MODE: '1',
GDK_BACKEND: 'x11',
},
stdio: ['ignore', 'pipe', 'pipe'],
});
+3 -3
View File
@@ -18854,6 +18854,9 @@ pub fn run() {
}
}
if std::env::var_os("FIRELINK_DISABLE_ARIA2_WEBSOCKET").is_some() {
return;
}
let mut ws_retries = 0;
loop {
if ws_retries == 10 {
@@ -19007,9 +19010,6 @@ pub fn run() {
let poll_secret = aria2_secret.clone();
let poll_mgr = Arc::clone(&queue_manager_poll);
tauri::async_runtime::spawn(async move {
if std::env::var_os("FIRELINK_DISABLE_ARIA2_POLLER").is_some() {
return;
}
let mut interval = tokio::time::interval(std::time::Duration::from_millis(1000));
let mut observations: HashMap<String, Aria2ConnectionObservation> = HashMap::new();
let mut missing_gid_recovery_at: HashMap<String, Instant> = HashMap::new();