tinyhumansai/openhuman · error
whatsapp_data_search_messages: {e}
Error message
whatsapp_data_search_messages: {e} What it means
The native SEARCH_MESSAGES bus request to the WhatsApp data handler failed with a genuine handler error — handler-absent is matched separately and degrades to an empty result, so this error means the registered handler's search itself failed.
Source
Thrown at src/openhuman/channels/whatsapp_data/tools/search_messages.rs:88
);
let messages: Vec<WhatsAppMessage> =
match BUS.native().request(methods::SEARCH_MESSAGES, req).await {
Ok(messages) => messages,
Err(e) if is_handler_absent(&e) => {
log::debug!(
"[tool][whatsapp_data] search_messages handler_absent — degrading ({e})"
);
let body = serde_json::to_string(&json!({
"provider": "whatsapp",
"count": 0,
"messages": [],
"note": UNAVAILABLE_NOTE,
}))?;
return Ok(ToolResult::success(body));
}
Err(e) => {
log::warn!("[tool][whatsapp_data] search_messages bridge_error error={e}");
return Err(anyhow::anyhow!("whatsapp_data_search_messages: {e}"));
}
};
log::debug!(
"[tool][whatsapp_data] search_messages returning count={}",
messages.len()
);
let body = serde_json::to_string(&json!({
"provider": "whatsapp",
"count": messages.len(),
"messages": messages,
}))?;
Ok(ToolResult::success(body))
}
fn is_concurrency_safe(&self, _args: &serde_json::Value) -> bool {
true
}
}View on GitHub (pinned to 7491200858)
Solutions
- Inspect the wrapped bus error for the search cause
- Verify the WhatsApp connection and local store
- Retry after the handler recovers
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/openhuman/channels/whatsapp_data/tools/search_messages.rs:88 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of tinyhumansai/openhuman@7491200858 (2026-08-17).
Data as JSON: /api/errors/eb2e0941986520f7.
Report an issue: GitHub.