From 5ab40bb4d1b5a3ee1916946647ec81b74d961254 Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Sat, 29 Aug 2026 17:03:22 +0530 Subject: [PATCH 1/2] fix(search): include restored files in global search --- src/sidebarApps/searchInFiles/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/sidebarApps/searchInFiles/index.js b/src/sidebarApps/searchInFiles/index.js index e0d66e97b2..c84e0382a9 100644 --- a/src/sidebarApps/searchInFiles/index.js +++ b/src/sidebarApps/searchInFiles/index.js @@ -693,7 +693,7 @@ async function readSearchFileContent(uri) { if (helpers.isBinary(uri)) return ""; const editorFile = editorManager.getFile(uri, "uri"); - if (editorFile?.session?.doc) { + if (editorFile?.loaded && editorFile.session?.doc) { try { return getDocText(editorFile.session.doc); } catch (_) { @@ -819,7 +819,7 @@ function getOpenFileOverlays() { const overlays = {}; editorManager.files.forEach((file) => { if (!file.uri || !supportsNativeSearch(file.uri)) return; - if (!file.session?.doc) return; + if (!file.loaded || !file.session?.doc) return; try { overlays[file.uri] = getDocText(file.session.doc); } catch (_) { From e2da82013e027bfaf1a95539ce0d7320b90b26cd Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Sat, 29 Aug 2026 17:09:26 +0530 Subject: [PATCH 2/2] fix --- src/sidebarApps/searchInFiles/index.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/src/sidebarApps/searchInFiles/index.js b/src/sidebarApps/searchInFiles/index.js index c84e0382a9..6cfa938cef 100644 --- a/src/sidebarApps/searchInFiles/index.js +++ b/src/sidebarApps/searchInFiles/index.js @@ -693,9 +693,10 @@ async function readSearchFileContent(uri) { if (helpers.isBinary(uri)) return ""; const editorFile = editorManager.getFile(uri, "uri"); - if (editorFile?.loaded && editorFile.session?.doc) { + const editorDocument = getSearchEditorDocument(editorFile); + if (editorDocument) { try { - return getDocText(editorFile.session.doc); + return getDocText(editorDocument); } catch (_) { return ""; } @@ -704,6 +705,17 @@ async function readSearchFileContent(uri) { return fsOperation(uri).readFile(settings.value.defaultFileEncoding); } +function getSearchEditorDocument(file) { + const document = file?.session?.doc; + if (!document) return null; + if (file.loaded) return document; + + // Remote files can expose non-empty unsaved recovery text while their source + // is still loading. An inactive restored tab instead has an empty placeholder. + if (file.loading && file.isUnsaved && document.length > 0) return document; + return null; +} + function supportsNativeSearch(url = "") { return ( fileIndex.supports(url) && @@ -819,9 +831,10 @@ function getOpenFileOverlays() { const overlays = {}; editorManager.files.forEach((file) => { if (!file.uri || !supportsNativeSearch(file.uri)) return; - if (!file.loaded || !file.session?.doc) return; + const editorDocument = getSearchEditorDocument(file); + if (!editorDocument) return; try { - overlays[file.uri] = getDocText(file.session.doc); + overlays[file.uri] = getDocText(editorDocument); } catch (_) { // ignore invalid editor docs }