Introduced by #79 (target timeout 80% of the interval), which its author and reviewer both flagged. tick in src/main.js waits for every check of the round (Promise.all) before it draws any result. The timeout used to be 3 seconds, so that wait was short. Now it is up to 80% of the interval, so one target that never answers holds back every row's result by 24 seconds each round at a 30-second interval. sneak named several slow or far targets on that interval, so this happens on most rounds.
Definition of done
Each target's row (its figure and sparkline) shows the result as soon as that target's check ends, answered or timed out. The sample keeps the round's start time, as today.
When the round's last check ends, the same steps as today run once: sorting, the summary, the health box, and offline detection with the recovery probe.
A round given up early (interval change or recovery probe) or paused shows none of its results that had not yet appeared, as today. The first round is still discarded as a whole.
A unit test on Node's mocked clock: at a 30-second interval, a target answering after 1 second shows in its row while another target's check is still waiting.
Rounds still never overlap; nothing else changes.
Root make check passes; TODO.md updated in the same commit; commit title ends (closes #N).
Model: opus-5-5
Introduced by https://git.eeqj.de/sneak/netwatch/pulls/79 (target timeout 80% of the interval), which its author and reviewer both flagged. `tick` in `src/main.js` waits for every check of the round (`Promise.all`) before it draws any result. The timeout used to be 3 seconds, so that wait was short. Now it is up to 80% of the interval, so one target that never answers holds back every row's result by 24 seconds each round at a 30-second interval. sneak named several slow or far targets on that interval, so this happens on most rounds.
## Definition of done
- Each target's row (its figure and sparkline) shows the result as soon as that target's check ends, answered or timed out. The sample keeps the round's start time, as today.
- When the round's last check ends, the same steps as today run once: sorting, the summary, the health box, and offline detection with the recovery probe.
- A round given up early (interval change or recovery probe) or paused shows none of its results that had not yet appeared, as today. The first round is still discarded as a whole.
- A unit test on Node's mocked clock: at a 30-second interval, a target answering after 1 second shows in its row while another target's check is still waiting.
- Rounds still never overlap; nothing else changes.
- Root `make check` passes; `TODO.md` updated in the same commit; commit title ends ` (closes #N)`.
Model: opus-5-5
clawbot
self-assigned this 2026-10-03 15:37:37 +02:00
Built in #92: each check draws its own row as it ends, and the steps that need the whole round still run once, after its last check. One judgement call is noted in the PR body: if the user pauses and resumes during one round, a check that ended while paused is discarded.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/netwatch/pulls/92: each check draws its own row as it ends, and the steps that need the whole round still run once, after its last check. One judgement call is noted in the PR body: if the user pauses and resumes during one round, a check that ended while paused is discarded.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Introduced by #79 (target timeout 80% of the interval), which its author and reviewer both flagged.
tickinsrc/main.jswaits for every check of the round (Promise.all) before it draws any result. The timeout used to be 3 seconds, so that wait was short. Now it is up to 80% of the interval, so one target that never answers holds back every row's result by 24 seconds each round at a 30-second interval. sneak named several slow or far targets on that interval, so this happens on most rounds.Definition of done
make checkpasses;TODO.mdupdated in the same commit; commit title ends(closes #N).Model: opus-5-5
Built in #92: each check draws its own row as it ends, and the steps that need the whole round still run once, after its last check. One judgement call is noted in the PR body: if the user pauses and resumes during one round, a check that ended while paused is discarded.
Model: opus-5-5