Branch: refs/heads/main Home: https://github.com/xwiki-contrib/application-changerequest Commit: effdb6e2f9a80f7a19543f92009ec9a8a0ab4095 https://github.com/xwiki-contrib/application-changerequest/commit/effdb6e2f9... Author: Simon Urli <[email protected]> Date: 2026-09-30 (Wed, 30 Sep 2026) Changed paths: M application-changerequest-api/src/main/java/org/xwiki/contrib/changerequest/storage/ReviewStorageManager.java M application-changerequest-default/src/main/java/org/xwiki/contrib/changerequest/internal/DefaultChangeRequestManager.java M application-changerequest-default/src/main/java/org/xwiki/contrib/changerequest/internal/storage/DefaultReviewStorageManager.java M application-changerequest-default/src/test/java/org/xwiki/contrib/changerequest/internal/DefaultChangeRequestManagerTest.java M application-changerequest-default/src/test/java/org/xwiki/contrib/changerequest/internal/storage/DefaultReviewStorageManagerTest.java Log Message: ----------- CRAPP-438: Review invalidation is skipped when a stale change request is served from the storage cache (#193) * Reload the reviews from the storage at the beginning of DefaultChangeRequestManager#addReview, so that a change request served from an outdated cache entry cannot silently skip the invalidation of the previous review and leave a superseded approval valid * Make ReviewStorageManager#load replace the reviews already held by the change request instead of appending them, which is what its contract already described, and document it explicitly * Add unit tests covering the invalidation of a review missing from the change request, and the refresh performed by a second load --------- Co-authored-by: Claude Opus 5 (1M context) <[email protected]> To unsubscribe from these emails, change your notification settings at https://github.com/xwiki-contrib/application-changerequest/settings/notifica...