tinyhumansai/openhuman · error · BackendApiError::MessageNotFound
message not found on {provider}: {message_id}
Error message
message not found on {provider}: {message_id} What it means
For tagged channel-message calls, a 404 is classified as the message no longer existing on the provider (deleted or inaccessible) and surfaced as the typed BackendApiError::MessageNotFound; logged at info because it is an expected eventual-consistency outcome, not a bug.
Source
Thrown at src/api/rest.rs:736
return Err(anyhow::Error::new(
BackendApiError::ChannelEditUnsupported {
provider,
message_id,
},
));
}
if let Some((provider, message_id)) = channel_message {
tracing::info!(
domain = "backend_api",
operation = "authed_json",
provider = provider,
message_id = message_id,
"[backend_api] message-not-found 404 on {} {} — surfacing typed error",
method.as_str(),
url.path(),
);
return Err(anyhow::Error::new(BackendApiError::MessageNotFound {
provider: provider.to_string(),
message_id: message_id.to_string(),
}));
}
// Defense-in-depth: DELETE 404s on any channel-message path that
// parse_message_path could not parse (e.g. exotic URL variant with extra
// segments). Still an expected backend state — suppress the Sentry event
// without propagating a typed error. Targets OPENHUMAN-TAURI-R7.
// PATCH is handled above and returns the typed
// `ChannelEditUnsupported` for both the parsed and unparsed shapes.
if method == Method::DELETE
&& url.path().contains("/channels/")
&& url.path().contains("/messages/")
{
tracing::debug!(
domain = "backend_api",
operation = "authed_json",
"[backend_api] channel-message 404 on {} {} — path not matched by \View on GitHub (pinned to 7491200858)
Solutions
- Handle MessageNotFound by dropping stale references to that message
- Re-fetch the conversation state before retrying edits
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/api/rest.rs:736 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/ae8a6f2c3c536e2c.
Report an issue: GitHub.