Skip to content

Commit f23c581

Browse files
authored
Merge pull request #100 from matt1398/fix/stale-ongoing-detection
fix: mark stale ongoing sessions as dead after 5min inactivity
2 parents 929b31e + 4f21f26 commit f23c581

1 file changed

Lines changed: 7 additions & 1 deletion

File tree

src/main/services/discovery/ProjectScanner.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -754,6 +754,12 @@ export class ProjectScanner {
754754
? firstMessageTimestampMs
755755
: birthtimeMs;
756756

757+
// If messages suggest ongoing but the file hasn't been written to in 5+ minutes,
758+
// the session likely crashed/was killed — mark as dead (issue #94)
759+
const STALE_SESSION_THRESHOLD_MS = 5 * 60 * 1000;
760+
const isOngoing =
761+
metadata.isOngoing && Date.now() - effectiveMtime < STALE_SESSION_THRESHOLD_MS;
762+
757763
return {
758764
id: sessionId,
759765
projectId,
@@ -764,7 +770,7 @@ export class ProjectScanner {
764770
messageTimestamp: metadata.firstUserMessage?.timestamp,
765771
hasSubagents,
766772
messageCount: metadata.messageCount,
767-
isOngoing: metadata.isOngoing,
773+
isOngoing,
768774
gitBranch: metadata.gitBranch ?? undefined,
769775
metadataLevel,
770776
contextConsumption: metadata.contextConsumption,

0 commit comments

Comments
 (0)