Skip to content

fix(gateway): respect streaming.enabled: false even when display.streaming is true (fixes #8338) - #8635

Closed
iacker wants to merge 1 commit into
NousResearch:mainfrom
iacker:fix/issue-8338-display-streaming-regression
Closed

fix(gateway): respect streaming.enabled: false even when display.streaming is true (fixes #8338)#8635
iacker wants to merge 1 commit into
NousResearch:mainfrom
iacker:fix/issue-8338-display-streaming-regression

Conversation

@iacker

@iacker iacker commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • The streaming gate in gateway/run.py now respects streaming.enabled: false even when display.streaming: true is set
  • _scfg.enabled remains a hard prerequisite — per-platform display overrides can only disable streaming, not re-enable it when the global config has disabled it

Root cause

The ternary expression:

_streaming_enabled = (
    _scfg.enabled and _scfg.transport != "off"
    if _plat_streaming is None
    else bool(_plat_streaming)
)

When _plat_streaming was not None (display override existed), the global _scfg.enabled check was completely bypassed.

Fix

_global_streaming = _scfg.enabled and _scfg.transport != "off"
_streaming_enabled = (
    _global_streaming
    if _plat_streaming is None
    else _global_streaming and bool(_plat_streaming)
)

Testing

  • New tests: tests/gateway/test_display_config.py::TestStreamingGateGlobalOverride (6 test cases)
  • Full suite: pytest tests/gateway/test_display_config.py -q → 33 passed

Fixes #8338

…aming is true (fixes #8338)

The streaming gate in the gateway message handler was treating
display.streaming as a full override, bypassing the global
streaming.enabled config. Now streaming.enabled remains a hard
prerequisite — per-platform display overrides can only disable
streaming that the global config has enabled, not re-enable it
when the global config has disabled it.
@teknium1

Copy link
Copy Markdown
Contributor

Closing in favor of #9799, which salvages #8347 (asheriif's implementation) onto current main. Your PR was also a valid fix — the difference is that your approach AND-gates per-platform streaming with global streaming, which would prevent per-platform overrides from enabling streaming when the global is off. asheriif's approach fixes the bug at the resolver level instead, preserving that flexibility. Thanks for the contribution!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: (regression) display.streaming Enables Gateway Message Streaming Despite streaming.enabled: false

2 participants