fix: address review findings round 1 (PR #819)#821
Conversation
Implements #818: - Replace group headers/collapse/expand with flat recency-sorted session list - Add unoccupied worktree items below sessions - Remove Group and Multi-Agent Team from create popover - Remove Move to submenu from session context menu - Add GetFlatSessions() and GetUnoccupiedWorktrees() to CopilotService - Keep codespace groups, persisted sessions, and external sessions intact Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- GetFlatSessions() now respects Organization.SortMode via ApplySort() - Dashboard caches flat sessions in _dashboardFlatSessions (no render-path recompute) - RebuildRenderedGroups filters codespace sessions from flat list (no duplicates) - GetUnoccupiedWorktrees() excludes group-level WorktreeId/CreatedWorktreeIds - Remove dead showGroupHeaders variable, simplify codespace conditionals - Remove dead OnMove wiring from flat session rendering block - Remove dead '+ Group' and 'Multi' toolbar buttons from RenderInlineCreateToolbarContent - JsSwitchToSessionByIndex uses GetFlatSessions() to match dashboard rendering order Finding 1 (CRITICAL: multi-agent UI removed) skipped — intentional per #818 scope. Dead _groupPhases tracking kept for now as it's wired to active event handlers. Co-authored-by: copilot-agentic-workflow[bot] <224017+copilot-agentic-workflow[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Design-Level Findings (outside diff hunks)🟡 MODERATE — Filter chip counts include codespace sessions but filtered list doesn't (1/3 reviewers, verified)File:
Scenario: A codespace session is processing. Filter bar shows "⚙ Working 1". User clicks it. Fix: private int CountByStatus(SessionStatusFilter filter)
{
if (filter == SessionStatusFilter.All) return _flatSessionList.Count;
return _flatSessionList.Count(s => GetSessionStatus(s) == filter);
}🟡 MODERATE —
|
|
Stale — last fix-round PR before push-to-pull-request-branch fix. |
Addresses 9 of 10 expert review findings from round 1 on PR #819.
Findings addressed
GetFlatSessions()now respectsOrganization.SortModeviaApplySort()_dashboardFlatSessions— no render-path recomputeRebuildRenderedGroupsfilters codespace sessions from flat list (no duplicates)GetUnoccupiedWorktrees()excludes group-levelWorktreeId/CreatedWorktreeIds+ Groupand🤖 Multitoolbar buttonsJsSwitchToSessionByIndexusesGetFlatSessions()to match dashboard ordershowGroupHeadersvariable, simplified codespace conditionalsOnMovewiring from flat session rendering blockFinding skipped
Test results
✅ All 3661 tests pass
Warning
The following domain was blocked by the firewall during workflow execution:
192.0.2.1To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:See Network Configuration for more information.