diff --git a/services/tunnelbroker/src/token_distributor/notif_utils.rs b/services/tunnelbroker/src/token_distributor/notif_utils.rs --- a/services/tunnelbroker/src/token_distributor/notif_utils.rs +++ b/services/tunnelbroker/src/token_distributor/notif_utils.rs @@ -21,6 +21,9 @@ if conversation.muted { return None; } + if conversation.viewer_context.category == "request" { + return None; + } if message.message_type != DirectCastMessageType::Text { return None; } diff --git a/shared/tunnelbroker_messages/src/messages/farcaster.rs b/shared/tunnelbroker_messages/src/messages/farcaster.rs --- a/shared/tunnelbroker_messages/src/messages/farcaster.rs +++ b/shared/tunnelbroker_messages/src/messages/farcaster.rs @@ -128,6 +128,15 @@ pub extra: serde_json::Map, } +#[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] +#[serde(rename_all = "camelCase")] +pub struct DirectCastConversationViewerContext { + pub category: String, + + #[serde(flatten)] + pub extra: serde_json::Map, +} + #[derive(Serialize, Deserialize, PartialEq, Debug, Clone)] #[serde(rename_all = "camelCase")] pub struct DirectCastConversation { @@ -135,6 +144,7 @@ pub name: Option, pub muted: bool, pub participants: Vec, + pub viewer_context: DirectCastConversationViewerContext, // NOTE: This is not a full payload, some fields were omitted #[serde(flatten)]