Repository navigation
fix(web): report the last probe outcome when detached readiness times out - #2668
Conversation
bb5aad0 to
4db4248
Compare
|
Thanks, the diagnostic is the right idea and the functional claim reproduces at this head. Two things before it can land:
We will re-review the next push. |
|
Both points are done. In the last-probe text the space is cut to 40 characters and the pid to 20, and the whole text is capped at 300 UTF-8 bytes. Both operator pages now describe the suffix exactly as summarizeProbeField and capProbeText behave. I also merged the latest main into the branch (one conflict in web.ts, resolved by keeping the probe change on top of the new session header), and typecheck, tests and the docs checks pass. |
|
Thanks for the push. The cap and the operator pages from the first round are in, and the functional claim still reproduces at the merge-base and is fixed at this head for HTTP status, transport refusal, malformed JSON and mismatched metadata. One thing is left:
We will re-review the next push. |
… out waitForDetachedWeb swallowed every probe failure, so a timeout said only that the dashboard was not HTTP-ready. The error now ends with the probed api/meta URL and the fetch error, HTTP status, or space and pid answered. Retry cadence and deadline are unchanged. Closes Cotal-AI#2653
A 200 response whose space or pid does not match is now summarized: the space is cut to 40 characters, the pid is shown only when short, and the whole last-probe text is capped at 300 bytes, so whatever answers the port cannot inflate the timeout error. Document the suffix in docs/watch-a-mesh.md and the cotal web section of docs/cli.md.
capProbeText cut the text at 300 bytes and then appended the three-byte marker, so a mismatched /api/meta answer whose JSON escaping filled the budget produced a 303-byte last-probe text. Cut three bytes short so the marked text stays within the cap, say in the operator pages and the changeset that the cap covers the URL and outcome after "; last probe " with the marker counted, and make the existing detach smoke assert the 300-byte maximum with an escaped input.
019da9b to
0130b4a
Compare
|
Thanks for this, @drakeo338. A detached dashboard that misses its readiness deadline now reports the last probe URL and what that probe returned, with the message size capped. Two independent reviews approved the final head, and it typechecked cleanly against current main before we squash-merged it. |
Fixes #2653
When the detached web dashboard did not become HTTP-ready before the deadline, the timeout error said nothing about why. It now includes the last probe URL and its outcome (status or error), so a failed start can be diagnosed from the message.
Retry cadence and deadline are unchanged. A changeset is included.
Tested:
pnpm testinimplementations/web(the detach smoke, with the message assertion tightened) passes with the fix. Withsrc/web.tsreverted to upstream/main it fails on that assertion.The maintainers completed this change on the contributor's branch: it is rebased on main and the review findings are addressed. Two independent reviewers from different model families approved it at the exact head.
Approved-at: 0130b4a