diff --git a/package.json b/package.json index c8d6463..8ed801f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ccstatusline", - "version": "2.0.5", + "version": "2.0.6", "description": "A customizable status line formatter for Claude Code CLI", "module": "src/ccstatusline.ts", "type": "module", diff --git a/src/types/BlockMetrics.ts b/src/types/BlockMetrics.ts index b634e51..c3845f9 100644 --- a/src/types/BlockMetrics.ts +++ b/src/types/BlockMetrics.ts @@ -1,5 +1,4 @@ export interface BlockMetrics { startTime: Date; lastActivity: Date; - isActive: boolean; } \ No newline at end of file diff --git a/src/utils/jsonl.ts b/src/utils/jsonl.ts index fd10070..0d7e08e 100644 --- a/src/utils/jsonl.ts +++ b/src/utils/jsonl.ts @@ -294,16 +294,18 @@ function findMostRecentBlockStartTime( // The current block started after the completed blocks blockStart = new Date(flooredWorkStart.getTime() + (completedBlocks * sessionDurationMs)); } - const timeSinceActivity = now.getTime() - mostRecentTimestamp.getTime(); - const blockEnd = new Date(blockStart.getTime() + sessionDurationMs); - // Check if block is still active - const isActive = timeSinceActivity < sessionDurationMs && now < blockEnd; + const blockEnd = new Date(blockStart.getTime() + sessionDurationMs); + const inBlockWindow = now.getTime() >= blockStart.getTime() && now.getTime() <= blockEnd.getTime(); + const activityInThisBlock = mostRecentTimestamp.getTime() >= blockStart.getTime() && mostRecentTimestamp.getTime() <= now.getTime(); + + const isActive = inBlockWindow && activityInThisBlock; + if (!isActive) + return null; return { startTime: blockStart, - lastActivity: mostRecentTimestamp, - isActive + lastActivity: mostRecentTimestamp }; }