tinyhumansai/openhuman · error · anyhow::Error
title is required
Error message
title is required
What it means
create_channel_thread trims the proposed title and found it empty; threads require a non-empty name, so the request is rejected before the backend is called.
Source
Thrown at src/api/rest.rs:1058
self.authed_json(
bearer_jwt,
Method::POST,
&format!("channels/{encoded}/reactions"),
Some(reaction_body),
)
.await
}
/// Creates a new thread in a communication channel.
pub async fn create_channel_thread(
&self,
channel: &str,
bearer_jwt: &str,
title: &str,
) -> Result<Value> {
let channel = channel.trim().trim_matches('/');
anyhow::ensure!(!channel.is_empty(), "channel is required");
anyhow::ensure!(!title.trim().is_empty(), "title is required");
let encoded = urlencoding::encode(channel);
let body = serde_json::json!({ "title": title.trim() });
self.authed_json(
bearer_jwt,
Method::POST,
&format!("channels/{encoded}/threads"),
Some(body),
)
.await
}
/// Updates an existing thread (e.g., closing or reopening it).
pub async fn update_channel_thread(
&self,
channel: &str,
bearer_jwt: &str,
thread_id: &str,
action: &str,View on GitHub (pinned to 7491200858)
Solutions
- Provide a non-empty title string
- Check that the title argument is not only whitespace
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/api/rest.rs:1058 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/068425c3b0d46c5e.
Report an issue: GitHub.