The actual root cause of "the Status section doesn't update". CI-green on 0a618db (run 1846).
#capn (the max-concurrency number) was nested inside #conchint. applyStatus() ran both capn.textContent=CAPandconchint.textContent='…max '+CAP every call — and setting conchint.textContent replaces all of conchint's children, destroying the <b id=capn> node. So the first call worked (then deleted capn); every later call threw ReferenceError: capn is not defined on applyStatus's first line and aborted before touching any tile → the Status section froze while /gpu + /logs (which never touch capn) kept updating. Confirmed via the operator's DevTools console.
Fix: remove the redundant nested <b id=capn> and its write (the hint already renders the max via conchint.textContent). Audited every other .textContent= write — this was the only id'd element nested in a rewritten container. VERSION → .10.
Deploy note
Agent runs :latest (main) → re-pull the desktop agent after merge, then hard-refresh the page once. No migrations; web/backend unaffected.
The actual root cause of "the Status section doesn't update". CI-green on `0a618db` (run 1846).
`#capn` (the max-concurrency number) was nested inside `#conchint`. `applyStatus()` ran both `capn.textContent=CAP` **and** `conchint.textContent='…max '+CAP` every call — and setting `conchint.textContent` replaces all of conchint's children, destroying the `<b id=capn>` node. So the first call worked (then deleted `capn`); every later call threw `ReferenceError: capn is not defined` on applyStatus's first line and aborted before touching any tile → the Status section froze while `/gpu` + `/logs` (which never touch `capn`) kept updating. Confirmed via the operator's DevTools console.
Fix: remove the redundant nested `<b id=capn>` and its write (the hint already renders the max via `conchint.textContent`). Audited every other `.textContent=` write — this was the only id'd element nested in a rewritten container. VERSION → .10.
## Deploy note
Agent runs `:latest` (main) → re-pull the desktop agent after merge, then hard-refresh the page once. No migrations; web/backend unaffected.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
THE root cause of "the Status section doesn't update" (chased across several
rounds; the backend was always healthy). `#capn` (the max-concurrency number)
was nested inside `#conchint`:
<div id=conchint>… · max <b id=capn>8</b></div>
and applyStatus() ran, every call: `capn.textContent=CAP` AND
`conchint.textContent = '…max '+CAP`. Setting conchint.textContent replaces
ALL of conchint's children — destroying the <b id=capn> node. So:
call 1: capn exists → tiles update → conchint.textContent DELETES capn
call 2+: `capn.textContent` → "capn is not defined" (ReferenceError) →
applyStatus throws on its FIRST line → aborts before any tile →
frozen.
This is exactly the observed "ticks a couple times then freezes", and why
/gpu + /logs (which never touch capn) kept updating fine.
The capn write was redundant anyway — conchint.textContent already renders
the max. Remove the nested <b id=capn> element and the capn.textContent line;
the hint still shows "· max N". VERSION → .10.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
The actual root cause of "the Status section doesn't update". CI-green on
0a618db(run 1846).#capn(the max-concurrency number) was nested inside#conchint.applyStatus()ran bothcapn.textContent=CAPandconchint.textContent='…max '+CAPevery call — and settingconchint.textContentreplaces all of conchint's children, destroying the<b id=capn>node. So the first call worked (then deletedcapn); every later call threwReferenceError: capn is not definedon applyStatus's first line and aborted before touching any tile → the Status section froze while/gpu+/logs(which never touchcapn) kept updating. Confirmed via the operator's DevTools console.Fix: remove the redundant nested
<b id=capn>and its write (the hint already renders the max viaconchint.textContent). Audited every other.textContent=write — this was the only id'd element nested in a rewritten container. VERSION → .10.Deploy note
Agent runs
:latest(main) → re-pull the desktop agent after merge, then hard-refresh the page once. No migrations; web/backend unaffected.🤖 Generated with Claude Code
THE root cause of "the Status section doesn't update" (chased across several rounds; the backend was always healthy). `#capn` (the max-concurrency number) was nested inside `#conchint`: <div id=conchint>… · max <b id=capn>8</b></div> and applyStatus() ran, every call: `capn.textContent=CAP` AND `conchint.textContent = '…max '+CAP`. Setting conchint.textContent replaces ALL of conchint's children — destroying the <b id=capn> node. So: call 1: capn exists → tiles update → conchint.textContent DELETES capn call 2+: `capn.textContent` → "capn is not defined" (ReferenceError) → applyStatus throws on its FIRST line → aborts before any tile → frozen. This is exactly the observed "ticks a couple times then freezes", and why /gpu + /logs (which never touch capn) kept updating fine. The capn write was redundant anyway — conchint.textContent already renders the max. Remove the nested <b id=capn> element and the capn.textContent line; the hint still shows "· max N". VERSION → .10. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>