pbakaus/impeccable · error
{}
Error message
{}
What it means
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.
Source
Thrown at crates/live/src/live_poll.rs:654
match err {
PollError::Auth => {
io.err("Authentication failed. The server token may have changed.\n");
io.err(&format!(
"Try restarting: {} stop && {}\n",
script_cmd(&env, &cwd, "live-server"),
script_cmd(&env, &cwd, "live")
));
1
}
PollError::ConnRefused => {
io.err(&format!(
"Live server not running. Start one with: {}\n",
script_cmd(&env, &cwd, "live")
));
1
}
PollError::AckTimeout(m) => {
io.err(&format!("{}\n", m));
1
}
PollError::Other(m) => {
io.err(&format!("Poll failed: {}\n", m));
1
}
}
}
fn arg_value_int(args: &[String], prefix: &str, default: i64) -> i64 {
match args.iter().find(|a| a.starts_with(prefix)) {
Some(a) => {
let raw = a.splitn(2, '=').nth(1).unwrap_or("");
let n = impeccable_core::js::parse_int(raw, 10);
if n.is_nan() {
i64::MIN
} else {
n as i64View on GitHub (pinned to 2bc2879276)
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.
Defensive patterns
Strategy: retry
Try / catch
try {
await sendWithAck(request, ackTimeoutMs);
} catch (err) {
if (err.kind === 'ack-timeout') {
await restartLiveServer();
return sendWithAck(request, ackTimeoutMs);
}
throw err;
} Prevention
- 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.
When it happens
Trigger: 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).
Common situations: Dev server frozen compiling a large change; browser tab holding the live session wedged; machine under heavy load delaying the ack.
Understand the failure class
Background: Request timed out: what client-side request timeouts mean across libraries (Request timed out, TIMED_OUT, APITimeoutError) — this error's family across 39 libraries.
Related errors
- Authentication failed. The server token may have changed.
- Live server not running. Start one with: {cmd}
- Poll failed: {}
- No running live server found. Start one with: {cmd}
- Reply failed: {}
AI-assisted analysis of pbakaus/impeccable@2bc2879276 (2026-09-08).
Data as JSON: /api/errors/76d0ddb4249626d4.
Report an issue: GitHub.