You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Work view refresh is slow — switch from polling to event-driven or improve perceived responsiveness #388
The Work view in the dashboard refreshes slowly. It appears to be poll-based, which means after an action (merge, close, spawn) the user has to wait for the next poll cycle to see updated state.
Expected Behavior
After an action that changes state (PR merged, issue closed, builder spawned/completed), the Work view should update near-instantly — either via:
Server-Sent Events (SSE) or WebSocket push from Tower when state changes
Optimistic UI updates after user-initiated actions
Shorter poll interval with smarter diffing
Manual refresh button that triggers an immediate fetch
Where to Look
Dashboard Work view component
Tower API endpoints that serve work view data
Current polling mechanism and interval
Acceptance Criteria
Work view feels responsive after state changes
No perceptible delay when a PR is merged or builder status changes
The Projects/Bugs and Recently Closed sections appear and disappear on each poll cycle. This is a stale-while-revalidate problem — the UI clears while waiting for the GitHub API response, then re-renders when data arrives.
Root cause: The poll handler likely sets state to empty/loading before the fetch completes, causing a flash of empty content.
Fix approach: Keep displaying stale data during refresh. Only swap in new data when the new response arrives. Never clear the display mid-fetch.
Bugfix builders show null for their protocol phase/state. Should show the actual phase (e.g., investigate, fix, verify).
2. No duration indicator
Builder rows don't show how long the builder has been running. Should display elapsed time since spawn.
3. Needs table layout
Builder rows use flexbox which causes progress bars to misalign. Switching to a proper table layout would make the columns (name, state, progress, duration) line up consistently.
4. Active Bugs section flickers
The 'Active Bugs' and 'Projects' sections appear and disappear, likely a race condition in the polling/caching logic — stale-while-revalidate clears state before new data arrives.
Activity
waleedkadous commentedon Feb 17, 2026
Additional symptom: race condition causes flickering
The Projects/Bugs and Recently Closed sections appear and disappear on each poll cycle. This is a stale-while-revalidate problem — the UI clears while waiting for the GitHub API response, then re-renders when data arrives.
Root cause: The poll handler likely sets state to empty/loading before the fetch completes, causing a flash of empty content.
Fix approach: Keep displaying stale data during refresh. Only swap in new data when the new response arrives. Never clear the display mid-fetch.
waleedkadous commentedon Feb 17, 2026
On it! Working on a fix now.
waleedkadous commentedon Feb 17, 2026
Additional Issues Found (2026-02-17)
1. Builder state shows 'null'
Bugfix builders show
nullfor their protocol phase/state. Should show the actual phase (e.g.,investigate,fix,verify).2. No duration indicator
Builder rows don't show how long the builder has been running. Should display elapsed time since spawn.
3. Needs table layout
Builder rows use flexbox which causes progress bars to misalign. Switching to a proper table layout would make the columns (name, state, progress, duration) line up consistently.
4. Active Bugs section flickers
The 'Active Bugs' and 'Projects' sections appear and disappear, likely a race condition in the polling/caching logic — stale-while-revalidate clears state before new data arrives.
Fix #388: Work view SSE push for near-instant refresh
[Bugfix #388] Fix CMAP feedback: SSE loop + workspace-scoped routes
[Bugfix #388] Fix null phase display + key cache by workspace
[Bugfix #388] Table layout, state column, elapsed time for builders
Fix #388: Work view SSE push for near-instant refresh
[Bugfix #388] Fix CMAP feedback: SSE loop + workspace-scoped routes
[Bugfix #388] Fix null phase display + key cache by workspace
[Bugfix #388] Table layout, state column, elapsed time for builders
Merge pull request #391 from cluesmith/builder/bugfix-388-work-view-r…
fix(agent-farm/cleanup): invalidate Tower overview after removing bui…