Skip to content

fix(gateway): regression causing display.streaming to override root gateway streaming config - #8347

Closed
asheriif wants to merge 1 commit into
NousResearch:mainfrom
asheriif:fix/gateway-display-streaming-scope
Closed

fix(gateway): regression causing display.streaming to override root gateway streaming config #8347
asheriif wants to merge 1 commit into
NousResearch:mainfrom
asheriif:fix/gateway-display-streaming-scope

Conversation

@asheriif

@asheriif asheriif commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

What does this PR do?

Fixes a regression where gateway token streaming could be enabled by the CLI-only display.streaming config key.

display.streaming is documented as controlling CLI streaming, while gateway streaming should be controlled by the top-level streaming config. After the per-platform display resolver was added, global display.streaming was treated as a gateway display override, so a config like this could still stream/edit messages in Discord:

display:
  streaming: true
streaming:
  enabled: false

This PR updates gateway display resolution so:

  • global display.streaming is ignored for gateway streaming decisions
  • root streaming.enabled / streaming.transport remains the gateway default
  • explicit per-platform overrides like display.platforms.discord.streaming still work

Testing

Passed:

python -m pytest tests/gateway/test_display_config.py tests/gateway/test_run_progress_topics.py tests/gateway/test_stream_consumer.py -q

71 passed

Related Issue

Fixes #8338

Note: this is also the reason why so many issues related to streaming are now being opened. Because streaming suddenly got enabled for a lot of people.

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)

Changes Made

  • Updated gateway/display_config.py so global display.streaming is treated as CLI-only and no longer overrides the gateway’s top-level streaming config.
  • Preserved explicit per-platform gateway overrides via display.platforms.<platform>.streaming.
  • Added resolver coverage in tests/gateway/test_display_config.py for ignoring global display.streaming in gateway streaming resolution.
  • Added gateway behavior coverage in tests/gateway/test_run_progress_topics.py for display.streaming: true plus streaming.enabled: false.

How to Test

With root gateway streaming disabled:

streaming:
  enabled: false

Messaging platforms no longer receive progressively edited streamed messages unless they have platform specific overrides. This aligns with the documentation and fixes the regression and the unintended behavior.

Root display.streaming: true should only affect the CLI terminal streaming display as per the docs.

Checklist

Code

  • I've read the Contributing Guide
  • My commit messages follow Conventional Commits (fix(scope):, feat(scope):, etc.)
  • I searched for existing PRs to make sure this isn't a duplicate
  • My PR contains only changes related to this fix/feature (no unrelated commits)
  • I've run pytest tests/ -q and all tests pass
  • I've added tests for my changes (required for bug fixes, strongly encouraged for features)
  • I've tested on my platform:

Documentation & Housekeeping

  • I've updated relevant documentation (README, docs/, docstrings) — or N/A
  • I've updated cli-config.yaml.example if I added/changed config keys — or N/A
  • I've updated CONTRIBUTING.md or AGENTS.md if I changed architecture or workflows — or N/A
  • I've considered cross-platform impact (Windows, macOS) per the compatibility guide — or N/A
  • I've updated tool descriptions/schemas if I changed tool behavior — or N/A

@teknium1

Copy link
Copy Markdown
Contributor

Merged via PR #9799. Your commit was cherry-picked onto current main with your authorship preserved in git log. Thanks for the clean fix — it was the best implementation of the three duplicate PRs that came in for this issue. 🎯

@teknium1 teknium1 closed this Apr 14, 2026
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