Skip to content

(sidebar): skip-key test gaps, ticker forcing rebuilds, stale host tooltips (follow-up #867) #871

Open

Description

@devsuitup

Follow-up of #867 (#543 step 1), round-b review minors.

  1. Eight terms of the skip key have no test. Removing any one of them still leaves test/dom-sidebar-unchanged-543.test.js green (39/39). The terms, in public/sidebar.js ~787-815:

    • bg agents;
    • parentHasActiveSubagent;
    • dormant;
    • the taskRegistry running count;
    • detach availability;
    • the archiving ids;
    • the per-session age bucket;
    • the 30 s time bucket and the day string.

    Add them to the changes table. For the time bucket, advance Date.now by 30 s with the ticker off.

  2. Remote host dot tooltips ("confirmed Ns ago", "next attempt in Ns") freeze while refreshes are skipped. Either refresh .remote-host-dot titles in the 30 s ticker, or document it in .ai/contexts/session-state.md.

  3. The ticker forces a rebuild every 30 s. public/app.js ~2110 writes timeEl.textContent with no equality guard; the status write has one. Each write marks the sidebar dirty for the MutationObserver, so the next load always rebuilds. Guard it, then read the skip rate from the sidebar.refresh counters in a real run.

  4. CHANGELOG wording. "skips rebuilding" / "checked faster" describe internals. Suggested: "The sessions list no longer redraws when nothing in it changed; exit labels stay current and waiting ages update every 30 seconds. ((sidebar): every projects-changed rebuilds the whole sidebar, ~0.6 s with 900 sessions #543)"

  5. Possible flake. CI run 40891901825, test (22, windows-2022): continuation-refresh-718.test.js:142 "(sessions): a session sent to the background after a restart keeps one row and its name (#715) #733 watcher between index save and targeted refresh retains a coherent row" failed on a fileSize deepEqual (3227538 vs 3227401). (sidebar): skip the rebuild when nothing it renders changed (#543) #867 touches no main/cache file, and the fileSize column is recent ((index): an append that leaves a transcript's mtime unchanged is not reindexed for unlinked and subagent rows #740). Watch for a recurrence; if it comes back, it is a race in the test or in the fileSize adoption.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions