fix: remove streaming-enabled config option (always enabled)#2985
Merged
fix: remove streaming-enabled config option (always enabled)#2985
Conversation
Since 0.1.109, streaming is required for the network to function. Users with old configs containing `streaming-enabled = false` would have all GET/PUT/UPDATE operations abort when peers send streaming responses, leaving the UI stuck at the loading bar. Remove the option entirely. Old config files with the field will have it silently ignored by serde, and it will be stripped on the next config persist. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
iduartgomez
approved these changes
Feb 12, 2026
Previously SimNetwork set `streaming_enabled: false` by default, so simulation tests never triggered the streaming code path unless they explicitly called `with_streaming()`. After removing the `streaming_enabled` field, all tests defaulted to the system 64KB threshold — accidentally enabling streaming for tests that weren't designed for it, causing timing-sensitive failures like test_crdt_convergence::case_4_n6_g1. Default to `usize::MAX` so no test payload exceeds the threshold unless the test explicitly opts in via `with_streaming_threshold()`. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Users with pre-0.1.109 configs containing
streaming-enabled = falseexperience all GET/PUT/UPDATE operations aborting when peers send streaming responses, leaving the UI stuck at the loading bar (report KTGFMG).Since 0.1.109 (Feb 1), streaming is the default and required for the network to function. There's no valid reason to disable it.
Solution
Remove the
streaming-enabledconfig option entirely across all layers:NetworkArgs(CLI) andNetworkApiConfig, remove merge/finalization logic, removedefault_streaming_enabled()fnstreaming_enabledfield fromOpManager, always start orphan stream GC task, simplifyshould_use_streaming()to just check thresholdshould_use_streaming()from 3 params to 2, remove 6 guard blocks that returned errors when streaming was disabledstreaming_enabledfromSimNetwork, renamewith_streaming()towith_streaming_threshold()Old config files containing
streaming-enabledwill have it silently ignored by serde (unknown TOML keys are skipped), and the field will be stripped on the next config persist.streaming-thresholdis kept — it's still useful and configurable.Testing
cargo fmt— cleancargo clippy --all-targets— cleancargo test -p freenet --lib— 1333 passed, 0 failedstreaming_enabledreferences in source[AI-assisted - Claude]