huskies: merge 669_story_migrate_slack_transport_to_status_broadcaster

This commit is contained in:
dave
2026-04-27 11:51:33 +00:00
parent 5da29c3d91
commit 25603bb8cb
3 changed files with 58 additions and 0 deletions
+15
View File
@@ -56,6 +56,13 @@ pub struct ProjectConfig {
/// Default: `true`.
#[serde(default = "default_matrix_status_consumer")]
pub matrix_status_consumer: bool,
/// Whether the Slack bot subscribes to the status broadcaster and forwards
/// pipeline events to its configured channels.
/// Set to `false` to silence Slack status notifications without affecting
/// other consumers (web UI, Matrix, Discord, WhatsApp, agent context).
/// Default: `true`.
#[serde(default = "default_slack_status_consumer")]
pub slack_status_consumer: bool,
/// IANA timezone name (e.g. `"Europe/London"`, `"America/New_York"`).
/// When set, timer HH:MM inputs are interpreted in this timezone instead
/// of the container/host local time. Falls back to `chrono::Local` when absent.
@@ -144,6 +151,10 @@ fn default_matrix_status_consumer() -> bool {
true
}
fn default_slack_status_consumer() -> bool {
true
}
fn default_max_mesh_peers() -> usize {
3
}
@@ -275,6 +286,7 @@ impl Default for ProjectConfig {
rate_limit_notifications: default_rate_limit_notifications(),
web_ui_status_consumer: default_web_ui_status_consumer(),
matrix_status_consumer: default_matrix_status_consumer(),
slack_status_consumer: default_slack_status_consumer(),
timezone: None,
rendezvous: None,
trusted_keys: Vec::new(),
@@ -358,6 +370,7 @@ impl ProjectConfig {
rate_limit_notifications: legacy.rate_limit_notifications,
web_ui_status_consumer: default_web_ui_status_consumer(),
matrix_status_consumer: default_matrix_status_consumer(),
slack_status_consumer: default_slack_status_consumer(),
timezone: legacy.timezone,
rendezvous: None,
trusted_keys: Vec::new(),
@@ -392,6 +405,7 @@ impl ProjectConfig {
rate_limit_notifications: legacy.rate_limit_notifications,
web_ui_status_consumer: default_web_ui_status_consumer(),
matrix_status_consumer: default_matrix_status_consumer(),
slack_status_consumer: default_slack_status_consumer(),
timezone: legacy.timezone,
rendezvous: None,
trusted_keys: Vec::new(),
@@ -414,6 +428,7 @@ impl ProjectConfig {
rate_limit_notifications: legacy.rate_limit_notifications,
web_ui_status_consumer: default_web_ui_status_consumer(),
matrix_status_consumer: default_matrix_status_consumer(),
slack_status_consumer: default_slack_status_consumer(),
timezone: legacy.timezone,
rendezvous: None,
trusted_keys: Vec::new(),