fix: fence merge request approval and grant lifecycle

This commit is contained in:
2026-08-17 07:57:23 +09:00
parent 6c4119e2c6
commit 645458498a
3 changed files with 166 additions and 20 deletions
@@ -89,13 +89,17 @@
const currentReviewRequest = $derived(
mergeRequest?.thread.findLast((event) => event.kind === "review_requested") ?? null,
);
const currentReview = $derived(
mergeRequest?.source.status === "known"
? mergeRequest.thread.findLast(
(event) => event.kind === "review" && event.subject_ref === mergeRequest?.source.ref,
) ?? null
: null,
);
const currentReview = $derived.by(() => {
if (mergeRequest?.source.status !== "known") return null;
const review = mergeRequest.thread.findLast(
(event) => event.kind === "review" && event.subject_ref === mergeRequest.source.ref,
);
if (!review || review.kind !== "review") return null;
const revoked = mergeRequest.thread.some(
(event) => event.kind === "review_revoked" && event.review_event_id === review.event_id,
);
return revoked ? null : review;
});
const mergeEvent = $derived(
mergeRequest?.thread.findLast((event) => event.kind === "merge") ?? null,
);