- The result bar's action is disabled, and does nothing, while a retry cannot
run (a path recovery, a load, a sync): Execute alone does not ask.
- TableOrderTests checks the table against the rule written out in the test,
step by step and over random runs; it fails for an order regression that the
earlier tests let through.
- A row from before a reload is not put back into the table.
- A batch hands over every report even when the handler fails for one.
- The monitor names what was running at the time of a stall, and does not take
a process that was not running (sleep, a debugger) for a window that did not
respond.
- The status never shows more done than there is to do at the start of a run.
- The folder button says so when the folder does not exist yet.
- The UI test for the header cycle follows the third click; stale comments;
the live region is announced once the bar is on screen.
Refs #167
Refs #168
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>
Progress reports were delivered to the window one by one. A clone reports
every whole percent, so 281 clones are 28,662 reports; with the rows on
screen they took 27.5 s of the window's thread in a 60 s pass, and the
window stopped answering for up to a second at a time (23 stalls, 11.6 s).
- BatchedRepoProgress delivers reports a few times a second, the latest per
repository, and what still waits when the run ends is delivered before the
outcome is stated. The same pass now has no stall with the rows at rest.
- SyncAllStatus says for the whole pass which account is syncing, which of
how many, and how far along it is, and holds the result afterwards. The
window shows it in one row above the workspace, with a link to the account
and Cancel. It replaces the dialog at the end of the pass.
- ResponsivenessMonitor writes to the activity log when the window did not
respond, for how long, and what was running.
- The table's default order follows the sync: the repositories in progress,
then the failed ones, then the finished ones (the latest first), then the
ones waiting; when the sync is over, the failed ones first, then by name.
A column the user chose still wins, and a third click on it returns to the
default. The row of chips above the table is gone: those rows are in the
table.
- The result bar is one row (Retry failed when something failed, otherwise
Open folder); Open folder is also a toolbar button. Fewer rows are built
ahead of the viewport, and rows take their new place without animation.
Closes#167Closes#168
Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
Signed-off-by: James Maes <james@kof22.com>