{"record":{"id":"76d0ddb4249626d4","repo":"pbakaus/impeccable","slug":"error-76d0dd","errorCode":null,"errorMessage":"{}\n","messagePattern":"\\{\\}\n","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/live/src/live_poll.rs","lineNumber":654,"sourceCode":"    match err {\n        PollError::Auth => {\n            io.err(\"Authentication failed. The server token may have changed.\\n\");\n            io.err(&format!(\n                \"Try restarting: {} stop && {}\\n\",\n                script_cmd(&env, &cwd, \"live-server\"),\n                script_cmd(&env, &cwd, \"live\")\n            ));\n            1\n        }\n        PollError::ConnRefused => {\n            io.err(&format!(\n                \"Live server not running. Start one with: {}\\n\",\n                script_cmd(&env, &cwd, \"live\")\n            ));\n            1\n        }\n        PollError::AckTimeout(m) => {\n            io.err(&format!(\"{}\\n\", m));\n            1\n        }\n        PollError::Other(m) => {\n            io.err(&format!(\"Poll failed: {}\\n\", m));\n            1\n        }\n    }\n}\n\nfn arg_value_int(args: &[String], prefix: &str, default: i64) -> i64 {\n    match args.iter().find(|a| a.starts_with(prefix)) {\n        Some(a) => {\n            let raw = a.splitn(2, '=').nth(1).unwrap_or(\"\");\n            let n = impeccable_core::js::parse_int(raw, 10);\n            if n.is_nan() {\n                i64::MIN\n            } else {\n                n as i64","sourceCodeStart":636,"sourceCodeEnd":672,"githubUrl":"https://github.com/pbakaus/impeccable/blob/2bc2879276c1f321a53c4ca99d3371e411329b52/crates/live/src/live_poll.rs#L636-L672","documentation":"handle_poll_error maps PollError::AckTimeout(m) to this catch-all: it prints the pre-rendered timeout message `m` verbatim to stderr and exits with code 1. The live server accepted the connection but never acknowledged a poll/apply request in time.","triggerScenarios":"PollError::AckTimeout with a formatted message — the server received a request but its acknowledgement exceeded the timeout (server busy, hung dev server, or expensive rebuild).","commonSituations":"Dev server frozen compiling a large change; browser tab holding the live session wedged; machine under heavy load delaying the ack.","solutions":["Read the printed message `m` for which operation timed out, then retry the poll.","Restart the live server if it stays unresponsive: `<live-server> stop && <live>`.","Reduce per-change work (smaller edits) or increase the ack timeout if configurable."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  await sendWithAck(request, ackTimeoutMs);\n} catch (err) {\n  if (err.kind === 'ack-timeout') {\n    await restartLiveServer();\n    return sendWithAck(request, ackTimeoutMs);\n  }\n  throw err;\n}","preventionTips":["Avoid huge single edits that stall the dev server and delay acks.","Watch for a wedged dev server (stuck compile) and restart it proactively.","Set a generous but bounded ack timeout and alert on repeated timeouts."],"tags":["timeout","ack","live-server","cli"],"backgroundTag":"request-timeout","analyzedSha":"2bc2879276c1f321a53c4ca99d3371e411329b52","analyzedAt":"2026-09-08T04:51:14.109Z","contentChangedAt":"2026-09-08T04:51:14.109Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}