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
While verifying the worktree icon checklist from #4994, I noticed that the icon shape used for worktree nodes differs between the two views. I want to confirm whether this is intentional design or a code inconsistency.
→ Uses getWorktreeBranchIconPath → renders the worktree shape icon
(branch fork + window, e.g. icon-worktree-ahead.svg, icon-worktree-synced.svg)
Result
View
Node
Icon shape rendered
Worktrees view
WorktreeNode
branch-graph shape
Branches view
BranchNode (worktree associated)
worktree shape (window + fork)
The worktree-shaped SVG icons (the ones with the status dot variants described in the #4994 checklist section 4) only appear in the Branches view, not in the Worktrees view.
Additionally, getWorktreeBranchIconPath is called in BranchNodewithout passing a status parameter, so the blue-dot variant (icon-worktree-changes.svg, which requires status?.hasWorkingTreeChanges === true) is never reachable from either view with the current code.
Questions
Is it intentional that WorktreeNode (Worktrees view) uses branch-shaped icons while BranchNode with a worktree (Branches view) uses worktree-shaped icons?
Should WorktreeNode also use getWorktreeBranchIconPath to show the worktree-shaped icon with status dots, consistent with what the checklist in Raise minimum version to 1.101 #4994 describes for section 4?
Is the icon-worktree-changes.svg (blue dot, local changes) intentionally unreachable — or should status be passed to getWorktreeBranchIconPath in BranchNode to enable it?
Question
While verifying the worktree icon checklist from #4994, I noticed that the icon shape used for worktree nodes differs between the two views. I want to confirm whether this is intentional design or a code inconsistency.
Observed behavior
Worktrees view —
WorktreeNode.getTreeItem()(worktreeNode.ts:255):→ Uses
getBranchIconPath→ renders the branch-graph shape icon(e.g.
icon-branch-ahead.svg,icon-branch-synced.svg)Branches view —
BranchNodewhen a worktree is associated (branchNode.ts:718):→ Uses
getWorktreeBranchIconPath→ renders the worktree shape icon(branch fork + window, e.g.
icon-worktree-ahead.svg,icon-worktree-synced.svg)Result
WorktreeNodeBranchNode(worktree associated)The worktree-shaped SVG icons (the ones with the status dot variants described in the #4994 checklist section 4) only appear in the Branches view, not in the Worktrees view.
Additionally,
getWorktreeBranchIconPathis called inBranchNodewithout passing astatusparameter, so the blue-dot variant (icon-worktree-changes.svg, which requiresstatus?.hasWorkingTreeChanges === true) is never reachable from either view with the current code.Questions
Is it intentional that
WorktreeNode(Worktrees view) uses branch-shaped icons whileBranchNodewith a worktree (Branches view) uses worktree-shaped icons?Should
WorktreeNodealso usegetWorktreeBranchIconPathto show the worktree-shaped icon with status dots, consistent with what the checklist in Raise minimum version to 1.101 #4994 describes for section 4?Is the
icon-worktree-changes.svg(blue dot, local changes) intentionally unreachable — or shouldstatusbe passed togetWorktreeBranchIconPathinBranchNodeto enable it?