Skip to content

fix(renderer): stop background Harness refresh storms - #37

Merged
BytePioneer-AI merged 5 commits into
BytePioneer-AI:mainfrom
mouzhi:fix/windows-refresh-storm
Aug 26, 2026
Merged

fix(renderer): stop background Harness refresh storms#37
BytePioneer-AI merged 5 commits into
BytePioneer-AI:mainfrom
mouzhi:fix/windows-refresh-storm

Conversation

@mouzhi

@mouzhi mouzhi commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

  • stop passive Renderer refreshes from re-inspecting Harnesses that are already ready or terminally notInstalled
  • retry only Harnesses that are still checking or reported a retryable error, while keeping explicit connection diagnostics as a forced full refresh
  • make Renderer update lifecycle refreshes honor the existing retry backoff instead of bypassing it on repeated DOM mutations

Root cause

A terminal missing Harness (for example DeepSeek Harness returning notInstalled, retryable: false) kept the aggregate availability state non-ready. Window focus and Renderer lifecycle callbacks then re-ran inspection for every Harness, including ready Pi, Claude Code, and Grok runtimes. Update lifecycle callbacks could similarly call update checks again before backoff state was advanced. The resulting background request churn matched the repeated Loading models... transitions and the request bursts observed before Windows app-server fatal exits.

Tests

  • npm test: 152 TypeScript test files passed, 1 skipped; 1213 tests passed, 15 skipped; Rust workspace tests passed
  • npm run lint
  • npm run typecheck
  • npm run format:check
  • npm run build
  • new regression coverage for terminal Harness availability across passive focus refreshes and update lifecycle backoff

Live candidate validation

Built and deployed the same Renderer bundle on Windows and macOS:

  • Windows fix16: one startup batch (harness/inspect = 4), one update check, zero app-server closes across repeated focus/tool-output cycles and a 10-minute soak
  • macOS fix16: one startup batch (harness/inspect = 4) with no recurring availability refreshes during the same observation window
  • direct Host probe: Pi, Claude Code, and Grok ready; DeepSeek Harness notInstalled with retryable: false; update check successful

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@mouzhi mouzhi closed this Aug 25, 2026
@mouzhi mouzhi reopened this Aug 25, 2026
@mouzhi mouzhi closed this Aug 25, 2026
@mouzhi mouzhi reopened this Aug 25, 2026
@BytePioneer-AI
BytePioneer-AI merged commit e7a389c into BytePioneer-AI:main Aug 26, 2026
2 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants