tinyhumansai/openhuman · error · BackendApiError::ChannelEditUnsupported
channel message edit route not implemented by backend ({prov
Error message
channel message edit route not implemented by backend ({provider}, message {message_id}) What it means
A channel-message edit hit an unmatched-route 404 on a /channels/.../messages/... path, which the classifier reads as the backend not implementing the edit route for that provider. Mapped to the typed ChannelEditUnsupported error rather than a generic failure.
Source
Thrown at src/api/rest.rs:718
&& (channel_message.is_some()
|| (url.path().contains("/channels/") && url.path().contains("/messages/")))
&& is_unmatched_route_404(&text)
{
let (provider, message_id) = channel_message
.map(|(provider, id)| (provider.to_string(), id.to_string()))
.unwrap_or_else(|| ("unknown".to_string(), "unknown".to_string()));
tracing::warn!(
domain = "backend_api",
operation = "authed_json",
provider = provider,
message_id = message_id,
"[backend_api] channel-message edit 404 on {} {} — backend implements no \
edit route; surfacing ChannelEditUnsupported so callers degrade instead \
of forgetting the message id (#5230)",
method.as_str(),
url.path(),
);
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 {View on GitHub (pinned to 7491200858)
Solutions
- Fall back to a new message instead of editing on that provider
- Track the backend feature and retry once the edit route ships for the provider
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/api/rest.rs:718 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/ebf862de2cb13cb5.
Report an issue: GitHub.