Skip to content

perf(workbench): pause task polling while browsing history - #285

Merged
Qiyuanqiii merged 1 commit into
mainfrom
codex/task-history-polling
Oct 7, 2026
Merged

Qiyuanqiii merged 1 commit into
mainfrom
codex/task-history-polling

Conversation

@Qiyuanqiii

@Qiyuanqiii Qiyuanqiii commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Summary

Loading task history made every 15-second sidebar poll refetch all cached pages sequentially. Poll only while the visible conversation sidebar has a single cached page. Multi-page history retains manual refresh, existing invalidations, focus and reconnect refreshes; switching to a single-page search resumes polling. Historical rows retain their last observed status until refreshed. Usage guidance and ADR 0167 document that behavior.

Follow-up to #272 / #283. No task pages, selected task or composer draft are discarded.

Validation

  • Three new regressions fail on the original implementation and pass after the change. With five cached pages, 45 seconds previously added 15 list requests; the periodic request count is now zero, for both unfiltered and title-filtered history.
  • Tests verify manual refresh and invalidation update every cached page, single-page search resumes status polling, restoring cached history pauses polling again, and task/draft state is preserved.
  • Task search and sidebar suites: 35 tests pass. Workbench integration suite: 34 tests pass.
  • TypeScript typecheck, production build, npm run check:api, and git diff --check pass.
  • CI run 37594541711 passes on commit 14211e1f33db736209e58c4af1c875d68b5885d6, based on main 6509627e59e19b17ee61f4f964199dec962f784a: all four applicable checks pass, with nine conditional checks skipped. Complete frontend suite: 174 files / 1,642 tests pass; production build, generated API check and dependency audit (zero vulnerabilities) pass. Go documentation/release contracts and the control-plane aggregate pass.
  • Go/CLI runtime changes: N/A. Existing applicable CI is retained without adding a workflow or duplicate gate.

Surface governance

  • No Surface is added, promoted, downgraded, deprecated, or removed.
  • Registry declarations: N/A — no Surface change.

Audit

  • No credentials or local runtime data are included.
  • This change adjusts only frontend periodic reads; authorization, workspace scope and persistence are unchanged.
  • Usage guidance and the existing task-search ADR describe polling and historical-state freshness.

@Qiyuanqiii
Qiyuanqiii merged commit 736f47d into main Oct 7, 2026
13 checks passed
@Qiyuanqiii
Qiyuanqiii deleted the codex/task-history-polling branch October 7, 2026 09:10
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.

1 participant