refactor(sidebar): update sessionMeta handling for session loading logic

- This fixes an issue where the sidebar was showing 6+ even when there were only 5 sessions, due to the hasMore logic not accounting for the case where there are exactly 6 sessions.
It was also showing "Show more sessions" even where there were no more sessions to load.

- This was because `hasMore` was sometimes `undefined` and the logic checked for hasMore !== false, which treated undefined as true.
Now we explicitly check for hasMore === true to determine if there are more sessions to load.
This commit is contained in:
Haileyesus
2026-02-11 16:32:34 +03:00
parent 72e1f538f7
commit 1d081ae349
4 changed files with 18 additions and 6 deletions

View File

@@ -97,7 +97,7 @@ export default function SidebarProjectItem({
}: SidebarProjectItemProps) {
const isSelected = selectedProject?.name === project.name;
const isEditing = editingProject === project.name;
const hasMoreSessions = project.sessionMeta?.hasMore !== false;
const hasMoreSessions = project.sessionMeta?.hasMore === true;
const sessionCountDisplay = getSessionCountDisplay(sessions, hasMoreSessions);
const sessionCountLabel = `${sessionCountDisplay} session${sessions.length === 1 ? '' : 's'}`;
const taskStatus = getTaskIndicatorStatus(project, mcpServerStatus);

View File

@@ -78,7 +78,7 @@ export default function SidebarProjectSessions({
}
const hasSessions = sessions.length > 0;
const hasMoreSessions = project.sessionMeta?.hasMore !== false;
const hasMoreSessions = project.sessionMeta?.hasMore === true;
return (
<div className="ml-3 space-y-1 border-l border-border pl-3">

View File

@@ -324,7 +324,7 @@ export function useSidebarController({
const loadMoreSessions = useCallback(
async (project: Project) => {
const canLoadMore = project.sessionMeta?.hasMore !== false;
const canLoadMore = project.sessionMeta?.hasMore === true;
if (!canLoadMore || loadingSessions[project.name]) {
return;
}