patchrelay 0.80.0 → 0.80.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/build-info.json
CHANGED
|
@@ -775,7 +775,7 @@ export class IdleIssueReconciler {
|
|
|
775
775
|
return;
|
|
776
776
|
}
|
|
777
777
|
if (isReviewDecisionApproved(pr.reviewDecision)) {
|
|
778
|
-
this.db.issueSessions.commitIssueState({
|
|
778
|
+
const reviewCommit = this.db.issueSessions.commitIssueState({
|
|
779
779
|
writer: WRITER,
|
|
780
780
|
update: {
|
|
781
781
|
projectId: issue.projectId,
|
|
@@ -783,6 +783,14 @@ export class IdleIssueReconciler {
|
|
|
783
783
|
prReviewState: "approved",
|
|
784
784
|
},
|
|
785
785
|
});
|
|
786
|
+
// Continue with the refreshed row so the version-checked advance
|
|
787
|
+
// below doesn't see our own review-state write as a conflict (same
|
|
788
|
+
// pattern as the facts commit above). Without this the advance was
|
|
789
|
+
// conflict-skipped on EVERY pass while the poll succeeded, so a lost
|
|
790
|
+
// review_approved webhook never converged to awaiting_queue.
|
|
791
|
+
if (reviewCommit.outcome === "applied") {
|
|
792
|
+
issue = reviewCommit.issue;
|
|
793
|
+
}
|
|
786
794
|
const approvedState = deriveFactoryStateFromPrFacts(observed, currentFacts(issue));
|
|
787
795
|
if (approvedState === "awaiting_queue") {
|
|
788
796
|
// Provenance survives unless the polled evidence is newer than the
|