From 95218f26240b6c94b38f719d075fcfa9eb915097 Mon Sep 17 00:00:00 2001 From: Urgau Date: Wed, 29 Oct 2025 23:41:04 +0100 Subject: [PATCH 1/2] Simplify second zulip message --- src/handlers/major_change.rs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/handlers/major_change.rs b/src/handlers/major_change.rs index 835b331cd..7d63aa23f 100644 --- a/src/handlers/major_change.rs +++ b/src/handlers/major_change.rs @@ -268,21 +268,19 @@ pub(super) async fn handle_command( false }; + let zulip_ping = &config.zulip_ping; + let issue_number = issue.number; + let issue_url = &issue.html_url; + let bot_username = &ctx.username; + let waiting_period = config.waiting_period; + let zulip_msg = if has_concerns { format!( - "@*{}*: Proposal [#{}]({}) has been seconded, but there are unresolved concerns preventing approval, use `@{} resolve concern-name` in the GitHub thread to resolve them.", - config.zulip_ping, - issue.number, - event.html_url().unwrap(), - &ctx.username, + "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded, but there are unresolved concerns preventing approval, use `@{bot_username} resolve concern-name` in the GitHub thread to resolve them.", ) } else { format!( - "@*{}*: Proposal [#{}]({}) has been seconded, and will be approved in {} days if no objections are raised.", - config.zulip_ping, - issue.number, - event.html_url().unwrap(), - config.waiting_period, + "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded, and will be approved in {waiting_period} days if no objections are raised.", ) }; From af71f5a5d322e0d41b1741188f15ca208761d8ab Mon Sep 17 00:00:00 2001 From: Urgau Date: Wed, 29 Oct 2025 23:52:21 +0100 Subject: [PATCH 2/2] Customize Zulip message for already seconded major change --- src/handlers/major_change.rs | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/src/handlers/major_change.rs b/src/handlers/major_change.rs index 7d63aa23f..661dde460 100644 --- a/src/handlers/major_change.rs +++ b/src/handlers/major_change.rs @@ -268,20 +268,37 @@ pub(super) async fn handle_command( false }; + let already_seconded = issue + .labels() + .iter() + .any(|l| &l.name == &config.second_label); + let zulip_ping = &config.zulip_ping; let issue_number = issue.number; let issue_url = &issue.html_url; let bot_username = &ctx.username; let waiting_period = config.waiting_period; - let zulip_msg = if has_concerns { - format!( - "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded, but there are unresolved concerns preventing approval, use `@{bot_username} resolve concern-name` in the GitHub thread to resolve them.", - ) + let zulip_msg = if already_seconded { + if has_concerns { + format!( + "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded again, but there are unresolved concerns preventing approval, use `@{bot_username} resolve concern-name` in the GitHub thread to resolve them.", + ) + } else { + format!( + "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded again, and will be approved in maximum {waiting_period} days if no objections are raised.", + ) + } } else { - format!( - "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded, and will be approved in {waiting_period} days if no objections are raised.", - ) + if has_concerns { + format!( + "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded, but there are unresolved concerns preventing approval, use `@{bot_username} resolve concern-name` in the GitHub thread to resolve them.", + ) + } else { + format!( + "@*{zulip_ping}*: Proposal [#{issue_number}]({issue_url}) has been seconded, and will be approved in {waiting_period} days if no objections are raised.", + ) + } }; handle(