Verified for v0.4.4 on
Streaming Responses
Sythoria asks a configured provider for a streaming response when that provider/model supports it. The Rust backend reads provider events and the interface updates the conversation as chunks arrive.
Blocking UI
Streaming UI
What affects perceived speed#
- provider queue and model time to first token;
- network latency and buffering proxies;
- prompt/context size and enabled reasoning mode;
- tool calls that must complete before generation continues;
- local rendering, device load, and power settings.
The website does not promise a fixed latency, token rate, or frame rate. Compare providers only with the same prompt, model settings, region, network, and measurement method.
Cancellation and partial output#
Stopping a response should cancel the active stream where the provider/API supports cancellation. Text already received can remain in the conversation. Provider billing can include tokens processed before cancellation.
If a stream ends unexpectedly, preserve the sanitized status/error and retry a small message without tools or attachments. A response that appears all at once usually indicates provider or intermediary buffering rather than a rendering option.
Reasoning content#
Providers expose reasoning or thinking data differently, and some do not expose it at all. Sythoria can only display fields present in the configured API response. Do not infer that hidden reasoning was stored locally or returned by the provider.
Troubleshooting#
| Symptom | Check |
|---|---|
| No chunks | Model streaming support and correct API format |
| Long delay before first text | Provider load, context size, reasoning/tool work, and network |
| Truncated output | Provider finish reason, token limit, connection interruption, or cancellation |
| Duplicate output | Retry behavior and whether the same request was submitted twice |