1
0

Add recovery logic for stuck rewrite flag in main.js

This commit is contained in:
Victor Giers
2025-12-08 12:26:58 +01:00
parent b19d5632fd
commit 5b367ca08a

17
main.js
View File

@@ -1571,6 +1571,23 @@ async function main() {
const now = Date.now();
folders.forEach(folderObj => {
// Recover from a stuck rewrite flag (e.g., app closed mid-run) if no rebase is active.
if (folderObj.rewriteInProgress) {
const inRebase = isRebaseInProgress(folderObj.path);
if (!inRebase) {
const merged = (folderObj.llmCandidates || []).concat(folderObj.llmBuffer || []);
const newBirthday = merged.length ? Date.now() : null;
folderObj.rewriteInProgress = false;
folderObj.llmBuffer = [];
folderObj.llmCandidates = merged;
folderObj.firstCandidateBirthday = newBirthday;
anyChanged = true;
updatedFolders.push(folderObj);
store.set('folders', folders);
debug(`[recovery] Cleared stuck rewrite flag for ${folderObj.path}, candidates=${merged.length}`);
}
}
if (folderObj.firstCandidateBirthday != null && !folderObj.rewriteInProgress) {
const elapsedMin = (now - folderObj.firstCandidateBirthday) / 1000 / 60;
if (elapsedMin >= minutesThreshold) {