From 19be620ff9e415e83dc617d722db021523310f97 Mon Sep 17 00:00:00 2001 From: Grimmer Kang Date: Mon, 9 Mar 2026 00:19:32 +0800 Subject: [PATCH] fix(file-history): ensure file items not truncated by slice limit VS Code SQLite stores folders before files. The previous .slice(0, 100) cut off all fileUri entries when there were 100+ folders. Split into separate slices: folders/workspaces (max 100) and files (max 50). Co-Authored-By: Claude Opus 4.6 --- src/vscode-based-ide-utility.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/vscode-based-ide-utility.ts b/src/vscode-based-ide-utility.ts index 5f596f7..4891811 100644 --- a/src/vscode-based-ide-utility.ts +++ b/src/vscode-based-ide-utility.ts @@ -81,13 +81,15 @@ export const readVSCodeBasedIDEState = (): VSWindowModel[] => { // console.log('IDE state:', jsonData); if (jsonData.entries) { - // Include fileUri entries now for file history support - // and limit to 100 - jsonData.entries = jsonData.entries - .filter((entry: VSCodeBasedEntry) => { - return entry.folderUri || entry.workspace || entry.fileUri; - }) + // Separate folders/workspaces and files to ensure file items + // are always included regardless of how many folders exist + const foldersAndWorkspaces = jsonData.entries + .filter((entry: VSCodeBasedEntry) => entry.folderUri || entry.workspace) .slice(0, 100); + const files = jsonData.entries + .filter((entry: VSCodeBasedEntry) => entry.fileUri) + .slice(0, 50); + jsonData.entries = [...foldersAndWorkspaces, ...files]; } const resp = convertVSCodeBasedSqliteToVSWindowModelArray(jsonData);