OpenClaw / OpenClaw Core
Merged upstreamCorrectnessMerged Jun 16, 2026

Preserve Mattermost Codex progress previews

Restored Mattermost in-flight Codex progress previews while keeping source-suppressed final delivery unchanged.

openclaw/openclaw · #93476

Problem

Mattermost runs could deliver the final Codex response correctly while losing draft progress updates during tool-heavy execution because shared dispatch suppressed callbacks whenever source delivery was suppressed.

Approach

Threaded a Mattermost-specific progress-callback opt-in through inbound dispatch only when draft tool-progress preview is enabled, preserving final delivery policy and non-Mattermost behavior.

Impact and scope

  • Improves Mattermost operator experience by restoring visible progress during long Codex tool and reasoning runs.
  • Keeps final reply ownership unchanged, avoiding accidental source-owned final messages while allowing channel-owned draft progress.
  • Limits blast radius with a Mattermost preview-mode gate instead of changing shared dispatch defaults.

Validation

  • Added Mattermost config and inbound system-event regressions for the source-suppressed progress callback gate.
  • Verified the draft stream still receives progress content while final delivery remains unchanged.
  • PR validation covered focused Vitest runs, oxlint, tsdown build, diff check, and local autoreview.