Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 25 additions & 29 deletions src/tools/send_message_to_another_channel.rs
Original file line number Diff line number Diff line change
Expand Up @@ -150,14 +150,13 @@ impl Tool for SendMessageTool {
// If explicit prefix returned default "signal" adapter but we're in a named
// Signal adapter conversation (e.g., signal:gvoice1), use the current adapter
// to ensure the message goes through the correct account.
if target.adapter == "signal" {
if let Some(current_adapter) = self
if target.adapter == "signal"
&& let Some(current_adapter) = self
.current_adapter
.as_ref()
.filter(|adapter| adapter.starts_with("signal:"))
{
target.adapter = current_adapter.clone();
}
{
target.adapter = current_adapter.clone();
}

self.messaging_manager
Expand Down Expand Up @@ -189,31 +188,28 @@ impl Tool for SendMessageTool {
.current_adapter
.as_ref()
.filter(|adapter| adapter.starts_with("signal"))
&& let Some(target) = parse_implicit_signal_shorthand(&args.target, current_adapter)
{
if let Some(target) = parse_implicit_signal_shorthand(&args.target, current_adapter) {
self.messaging_manager
.broadcast(
&target.adapter,
&target.target,
crate::OutboundResponse::Text(args.message),
)
.await
.map_err(|error| {
SendMessageError(format!("failed to send message: {error}"))
})?;

tracing::info!(
adapter = %target.adapter,
broadcast_target = %"[REDACTED]",
"message sent via implicit Signal shorthand"
);

return Ok(SendMessageOutput {
success: true,
target: target.target,
platform: target.adapter,
});
}
self.messaging_manager
.broadcast(
&target.adapter,
&target.target,
crate::OutboundResponse::Text(args.message),
)
.await
.map_err(|error| SendMessageError(format!("failed to send message: {error}")))?;

tracing::info!(
adapter = %target.adapter,
broadcast_target = %"[REDACTED]",
"message sent via implicit Signal shorthand"
);

return Ok(SendMessageOutput {
success: true,
target: target.target,
platform: target.adapter,
});
}

// Check for explicit email target
Expand Down
Loading