@@ -796,14 +796,14 @@ func (*Coordinator) extractBlockedUsersFromTurnclient(checkResult *turn.CheckRes
796796
797797// prUpdateInfo groups PR information for DM updates.
798798type prUpdateInfo struct {
799- checkRes * turn.CheckResponse
800- owner string
801- repo string
802- title string
803- author string
804- state string
805- url string
806- number int
799+ checkRes * turn.CheckResponse
800+ owner string
801+ repo string
802+ title string
803+ author string
804+ state string
805+ url string
806+ number int
807807}
808808
809809// updateDMMessagesForPR updates DM messages for all relevant users on a PR.
@@ -1409,14 +1409,18 @@ func (c *Coordinator) handlePullRequestFromSprinkler(
14091409}
14101410
14111411// handlePullRequestReviewFromSprinkler handles PR review events from sprinkler.
1412- func (* Coordinator ) handlePullRequestReviewFromSprinkler (ctx context.Context , owner , repo string , prNumber int , sprinklerURL string , _ time.Time ) {
1412+ // Reviews update PR state (approved, changes requested, etc), so we treat them
1413+ // like regular pull_request events and let turnclient analyze the current state.
1414+ func (c * Coordinator ) handlePullRequestReviewFromSprinkler (ctx context.Context , owner , repo string , prNumber int , sprinklerURL string , eventTimestamp time.Time ) {
14131415 slog .Info ("handling PR review event from sprinkler" ,
14141416 logFieldOwner , owner ,
14151417 logFieldRepo , repo ,
14161418 "pr_number" , prNumber ,
14171419 "sprinkler_url" , sprinklerURL ,
1418- "note" , "review events not fully implemented yet" )
1419- // TODO: Implement review event handling if needed
1420+ "note" , "treating as pull_request event - turnclient will analyze review state" )
1421+
1422+ // Reviews change PR state, so handle like any other PR update
1423+ c .handlePullRequestFromSprinkler (ctx , owner , repo , prNumber , sprinklerURL , eventTimestamp )
14201424}
14211425
14221426// createPRThread creates a new thread in Slack for a PR.
0 commit comments