fix: show recent sessions in project groups
Keeps Recent as an extra shortcut list Restores sessions under their project and worktree groups
This commit is contained in:
@@ -1039,45 +1039,13 @@ export const SessionSidebar: React.FC<SessionSidebarProps> = ({
|
|||||||
});
|
});
|
||||||
|
|
||||||
const sectionsForSidebarRender = React.useMemo(() => {
|
const sectionsForSidebarRender = React.useMemo(() => {
|
||||||
const archiveFilteredSections = showArchivedSessions
|
return showArchivedSessions
|
||||||
? sectionsForRender
|
? sectionsForRender
|
||||||
: sectionsForRender.map((section) => ({
|
: sectionsForRender.map((section) => ({
|
||||||
...section,
|
...section,
|
||||||
groups: section.groups.filter((group) => !group.isArchivedBucket),
|
groups: section.groups.filter((group) => !group.isArchivedBucket),
|
||||||
}));
|
}));
|
||||||
|
}, [sectionsForRender, showArchivedSessions]);
|
||||||
if (isVSCode || hasSessionSearchQuery || recentSessionIds.size === 0) {
|
|
||||||
return archiveFilteredSections;
|
|
||||||
}
|
|
||||||
|
|
||||||
const filterNodes = (nodes: SessionNode[]): SessionNode[] => {
|
|
||||||
return nodes.reduce<SessionNode[]>((acc, node) => {
|
|
||||||
if (recentSessionIds.has(node.session.id)) {
|
|
||||||
return acc;
|
|
||||||
}
|
|
||||||
|
|
||||||
const filteredChildren = filterNodes(node.children);
|
|
||||||
if (filteredChildren.length === node.children.length) {
|
|
||||||
acc.push(node);
|
|
||||||
return acc;
|
|
||||||
}
|
|
||||||
|
|
||||||
acc.push({
|
|
||||||
...node,
|
|
||||||
children: filteredChildren,
|
|
||||||
});
|
|
||||||
return acc;
|
|
||||||
}, []);
|
|
||||||
};
|
|
||||||
|
|
||||||
return archiveFilteredSections.map((section) => ({
|
|
||||||
...section,
|
|
||||||
groups: section.groups.map((group) => ({
|
|
||||||
...group,
|
|
||||||
sessions: filterNodes(group.sessions),
|
|
||||||
})),
|
|
||||||
}));
|
|
||||||
}, [isVSCode, hasSessionSearchQuery, recentSessionIds, sectionsForRender, showArchivedSessions]);
|
|
||||||
|
|
||||||
const prLookupKeys = React.useMemo(() => {
|
const prLookupKeys = React.useMemo(() => {
|
||||||
const keys = new Set<string>();
|
const keys = new Set<string>();
|
||||||
|
|||||||
Reference in New Issue
Block a user