From e4981d8f9d1d64b0c11ffb52baade2535c6b5d69 Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Wed, 8 Apr 2026 23:27:27 +0530 Subject: [PATCH 1/2] fix(session): restore opened files reliably after restart --- src/lib/restoreFiles.js | 2 +- src/main.js | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/restoreFiles.js b/src/lib/restoreFiles.js index 345d2280c..6f58c8828 100644 --- a/src/lib/restoreFiles.js +++ b/src/lib/restoreFiles.js @@ -10,7 +10,7 @@ export default async function restoreFiles(files) { await Promise.all( files.map(async (file, i) => { - rendered = file.render; + rendered ||= !!file.render; if (i === files.length - 1 && !rendered) { file.render = true; diff --git a/src/main.js b/src/main.js index ce2508855..a03db3c0f 100644 --- a/src/main.js +++ b/src/main.js @@ -661,6 +661,9 @@ async function loadApp() { if (settings.value.rememberFiles && activeFile) { localStorage.setItem("lastfile", activeFile.id); } + if (saveState && sessionStorage.getItem("isfilesRestored") === "true") { + acode.exec("save-state"); + } return; } From 3e541e943aaad69f01b1ae0ea4e3f5ac95960de7 Mon Sep 17 00:00:00 2001 From: Raunak Raj <71929976+bajrangCoder@users.noreply.github.com> Date: Wed, 8 Apr 2026 23:37:26 +0530 Subject: [PATCH 2/2] fix --- src/main.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main.js b/src/main.js index a03db3c0f..fd173d15a 100644 --- a/src/main.js +++ b/src/main.js @@ -606,15 +606,17 @@ async function loadApp() { if (Array.isArray(files) && files.length) { try { await restoreFiles(files); - // save state to handle file loading gracefully - sessionStorage.setItem("isfilesRestored", true); - // Process any pending intents that were queued before files were restored - await processPendingIntents(); } catch (error) { window.log("error", "File loading failed!"); window.log("error", error); toast("File loading failed!"); + } finally { + // Mark restoration complete even after a partial failure so + // switch-file persistence and queued intents are not blocked. + sessionStorage.setItem("isfilesRestored", true); } + // Process any pending intents that were queued before files were restored + await processPendingIntents(); } else { // Even when no files need to be restored, mark as restored and process pending intents sessionStorage.setItem("isfilesRestored", true);