Every broadcast (command_result, execution_started, execution_status, worker_update, …) calls loadExecutions() / loadWorkers(), which re-fetch and replace innerHTML. Consequences:
loadExecutions() resets executionOffset to 0, so anything fetched via Load More disappears.
Compare-mode selections and multi-worker checkbox selections are re-rendered (checkboxes lose state on loadWorkers()).
Scroll position jumps; hover/focus is lost.
With Gandalf activity every few seconds the Executions tab visibly flickers.
The README's convergence list already calls for lt.autoRefresh.start(refreshData, 30000) instead of the raw setInterval.
Suggested fix
Apply events to in-memory state (update one row / insert at top) and re-render minimally; debounce list refreshes; preserve offset and selections; pause auto-refresh while a modal is open or an input is focused.
## Overview
Every broadcast (`command_result`, `execution_started`, `execution_status`, `worker_update`, …) calls `loadExecutions()` / `loadWorkers()`, which re-fetch and replace `innerHTML`. Consequences:
- `loadExecutions()` resets `executionOffset` to 0, so anything fetched via **Load More** disappears.
- Compare-mode selections and multi-worker checkbox selections are re-rendered (checkboxes lose state on `loadWorkers()`).
- Scroll position jumps; hover/focus is lost.
- With Gandalf activity every few seconds the Executions tab visibly flickers.
The README's convergence list already calls for `lt.autoRefresh.start(refreshData, 30000)` instead of the raw `setInterval`.
## Suggested fix
Apply events to in-memory state (update one row / insert at top) and re-render minimally; debounce list refreshes; preserve offset and selections; pause auto-refresh while a modal is open or an input is focused.
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.
Overview
Every broadcast (
command_result,execution_started,execution_status,worker_update, …) callsloadExecutions()/loadWorkers(), which re-fetch and replaceinnerHTML. Consequences:loadExecutions()resetsexecutionOffsetto 0, so anything fetched via Load More disappears.loadWorkers()).The README's convergence list already calls for
lt.autoRefresh.start(refreshData, 30000)instead of the rawsetInterval.Suggested fix
Apply events to in-memory state (update one row / insert at top) and re-render minimally; debounce list refreshes; preserve offset and selections; pause auto-refresh while a modal is open or an input is focused.