Skip to content

Commit 24a17fa

Browse files
authored
Merge pull request #50 from codeGROOVE-dev/reliable
Daily reminder feature
2 parents af1c8e2 + 97b05fe commit 24a17fa

File tree

6 files changed

+498
-62
lines changed

6 files changed

+498
-62
lines changed

cmd/registrar/main.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -86,10 +86,6 @@ func main() {
8686
router.Handle("/install", rateLimitMiddleware(oauthLimiter)(http.HandlerFunc(oauthHandler.HandleInstall))).Methods("GET")
8787
router.Handle("/oauth/callback", rateLimitMiddleware(oauthLimiter)(http.HandlerFunc(oauthHandler.HandleCallback))).Methods("GET")
8888

89-
// Debug endpoint - DO NOT EXPOSE IN PRODUCTION
90-
// Remove this endpoint entirely or protect with strong authentication
91-
// router.HandleFunc("/debug", oauthHandler.HandleDebug).Methods("GET")
92-
9389
// Determine port
9490
port := os.Getenv("PORT")
9591
if port == "" {

cmd/server/main.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,6 @@ func run(ctx context.Context, cancel context.CancelFunc, cfg *config.ServerConfi
314314
router.Handle("/slack/install", rateLimitMiddleware(oauthLimiter)(http.HandlerFunc(oauthHandler.HandleInstall))).Methods("GET")
315315
router.Handle("/slack/oauth/callback", rateLimitMiddleware(oauthLimiter)(http.HandlerFunc(oauthHandler.HandleCallback))).Methods("GET")
316316

317-
// Debug endpoint - DO NOT EXPOSE IN PRODUCTION
318-
// Remove this endpoint entirely or protect with strong authentication
319-
// router.HandleFunc("/slack/debug", oauthHandler.HandleDebug).Methods("GET")
320-
321317
slog.Info("registered OAuth endpoints with rate limiting",
322318
"install_url", "/slack/install",
323319
"callback_url", "/slack/oauth/callback",
@@ -710,7 +706,7 @@ func runBotCoordinators(
710706
}
711707

712708
// Initialize daily digest scheduler
713-
dailyDigest := notify.NewDailyDigestScheduler(notifier, githubManager, configManager, stateStore)
709+
dailyDigest := notify.NewDailyDigestScheduler(notifier, githubManager, configManager, stateStore, slackManager)
714710

715711
// Start initial coordinators
716712
cm.startCoordinators(ctx)

internal/bot/bot.go

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -796,14 +796,14 @@ func (*Coordinator) extractBlockedUsersFromTurnclient(checkResult *turn.CheckRes
796796

797797
// prUpdateInfo groups PR information for DM updates.
798798
type 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

Comments
 (0)