From 146e9a520043f9d6808f2a69789f31733393f98f Mon Sep 17 00:00:00 2001 From: Lars Francke Date: Fri, 20 Mar 2026 14:01:38 +0100 Subject: [PATCH 1/2] feat: add huddle_state fields to SlackUserProfile --- src/models/common/user.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/models/common/user.rs b/src/models/common/user.rs index 25e94993..aaa69bb2 100644 --- a/src/models/common/user.rs +++ b/src/models/common/user.rs @@ -39,6 +39,8 @@ pub struct SlackUserProfile { pub status_text: Option, pub status_expiration: Option, pub status_emoji: Option, + pub huddle_state: Option, + pub huddle_state_expiration_ts: Option, pub display_name_normalized: Option, pub email: Option, #[serde(flatten)] From a27f7dcd4bdc059c06f43f9e34b189bee481f40e Mon Sep 17 00:00:00 2001 From: Lars Francke Date: Sat, 21 Mar 2026 21:41:36 +0100 Subject: [PATCH 2/2] Change huddle_state to an optional enum SlackHuddleState --- src/models/common/user.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/models/common/user.rs b/src/models/common/user.rs index aaa69bb2..d1323121 100644 --- a/src/models/common/user.rs +++ b/src/models/common/user.rs @@ -39,7 +39,7 @@ pub struct SlackUserProfile { pub status_text: Option, pub status_expiration: Option, pub status_emoji: Option, - pub huddle_state: Option, + pub huddle_state: Option, pub huddle_state_expiration_ts: Option, pub display_name_normalized: Option, pub email: Option, @@ -124,6 +124,15 @@ pub struct SlackUserGroupPrefs { pub groups: Vec, } +#[derive(Debug, Eq, PartialEq, Hash, Clone, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum SlackHuddleState { + InAHuddle, + DefaultUnset, + #[serde(untagged)] + Other(String), +} + #[derive(Debug, Eq, PartialEq, Hash, Clone, Serialize, Deserialize, ValueStruct)] pub struct SlackAvatarHash(pub String);