we have a streaming option behind an experimental flag, thanks to Juanpe Bolívar (@arximboldi) for this, it's definitely an improvement so lets remove the flag and release it
Decision: remove the experimental preference entirely (no off-switch). The provider capability check and runtime fallback already cover providers that can't stream. Agreed by Cooper (this ticket, 08-08) and Juan (Slack, 08-15).
**Where: **experimentalStreamingEvolve in apps/native/src-tauri/src/shared_types/prefs.rs (GlobalPreferences, default false), read via state/ui_prefs.rs::experimental_streaming_evolve in evolve/mod.rs:947, gated by provider.supports_streaming() at :1293 / :1431, with a runtime fallback at :1366 that disables streaming for the rest of the run if the provider doesn't actually stream. The toggle lives in components/widget/settings/developer-tab.tsx. Built by Juan in #561.
Acceptance criteria
we have a streaming option behind an experimental flag, thanks to Juanpe Bolívar (@arximboldi) for this, it's definitely an improvement so lets remove the flag and release it
Decision: remove the experimental preference entirely (no off-switch). The provider capability check and runtime fallback already cover providers that can't stream. Agreed by Cooper (this ticket, 08-08) and Juan (Slack, 08-15).
**Where: **
experimentalStreamingEvolveinapps/native/src-tauri/src/shared_types/prefs.rs(GlobalPreferences, defaultfalse), read viastate/ui_prefs.rs::experimental_streaming_evolveinevolve/mod.rs:947, gated byprovider.supports_streaming()at:1293/:1431, with a runtime fallback at:1366that disables streaming for the rest of the run if the provider doesn't actually stream. The toggle lives incomponents/widget/settings/developer-tab.tsx. Built by Juan in #561.Acceptance criteria
supports_streaming()returns true (currently OpenAI-compatible and Ollama; CLI provider stays non-streaming). The existing runtime fallback is kept.experimentalStreamingEvolvepreference and its Developer-tab toggle are removed:GlobalPreferences/GlobalPreferencesUpdateinprefs.rs,ui_prefs.rsaccessor, generated IPC types (ipc/types.ts,orpc-bindings.ts),types/preferences.ts,utils/test-fixtures.ts,ai-provider-migration.test.ts.experimentalStreamingEvolveload without error (GlobalPreferencesis#[serde(default)]; add a test that a prefs JSON with the stale key deserializes).