The progress.json update in the failure path is wrapped in a silent except: pass, so if the write fails (concurrent read, disk issue) the frontend never sees status === 'failed' and the resume banner stays hidden even though the generation is dead. Also, the agent log records action === 'error' synchronously inside the exception handler, which is a more reliable signal than polling progress.json. Flip reportStatus to 'failed' the moment that entry appears so the banner renders without waiting for the next 3s progress tick. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .gitignore | ||
| index.html | ||
| package-lock.json | ||
| package.json | ||
| vite.config.js | ||