From ada5d8359a8ce0f51d995ed55eedc4e67ee1e8c5 Mon Sep 17 00:00:00 2001 From: iliya Date: Tue, 24 Feb 2026 23:48:14 +0200 Subject: [PATCH] fix: use content fingerprint for stale check instead of computedAt computedAt is regenerated on each cache miss, causing false positives when the review data hasn't actually changed. Compare file count, line counts, and file paths instead. --- .../store/slices/changeReviewSlice.ts | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/renderer/store/slices/changeReviewSlice.ts b/src/renderer/store/slices/changeReviewSlice.ts index 54cef4b3..3a790a0a 100644 --- a/src/renderer/store/slices/changeReviewSlice.ts +++ b/src/renderer/store/slices/changeReviewSlice.ts @@ -263,13 +263,20 @@ export const createChangeReviewSlice: StateCreator + `${cs.totalFiles}:${cs.totalLinesAdded}:${cs.totalLinesRemoved}:${cs.files.map((f) => f.filePath).join(',')}`; - if (memberName) { + if (memberName && current) { const fresh = await api.review.getAgentChanges(teamName, memberName); - if (fresh.computedAt !== currentComputedAt) { + if (fingerprint(fresh) !== fingerprint(current)) { set({ activeChangeSet: fresh, applying: false, @@ -277,9 +284,9 @@ export const createChangeReviewSlice: StateCreator