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

@@ -434,7 +434,11 @@ async function getProjects(progressCallback = null) {
displayName: customName || autoDisplayName,
fullPath: fullPath,
isCustomName: !!customName,
sessions: []
sessions: [],
sessionMeta: {
hasMore: false,
total: 0
}
};
// Try to get sessions for this project (just first 5 for performance)
@@ -447,6 +451,10 @@ async function getProjects(progressCallback = null) {
};
} catch (e) {
console.warn(`Could not load sessions for project ${entry.name}:`, e.message);
project.sessionMeta = {
hasMore: false,
total: 0
};
}
// Also fetch Cursor sessions for this project
@@ -526,7 +534,7 @@ async function getProjects(progressCallback = null) {
}
}
const project = {
const project = {
name: projectName,
path: actualProjectDir,
displayName: projectConfig.displayName || await generateDisplayName(projectName, actualProjectDir),
@@ -534,9 +542,13 @@ async function getProjects(progressCallback = null) {
isCustomName: !!projectConfig.displayName,
isManuallyAdded: true,
sessions: [],
sessionMeta: {
hasMore: false,
total: 0
},
cursorSessions: [],
codexSessions: []
};
};
// Try to fetch Cursor sessions for manual projects too
try {