fix(tui): strip inbound metadata blocks from user messages (clean rewrite)#22345
Merged
vincentkoc merged 18 commits intomainfrom Feb 21, 2026
Merged
fix(tui): strip inbound metadata blocks from user messages (clean rewrite)#22345vincentkoc merged 18 commits intomainfrom
vincentkoc merged 18 commits intomainfrom
Conversation
18 tasks
cafe70b to
1642afc
Compare
Member
Author
|
PR #22345 status update (post-rebase) I rebased this branch onto
Current merge blocker: CI remains failing in unrelated suites (new/known baseline failures):
Observed failures are not in PR diff (
|
1642afc to
b5bd844
Compare
Member
Author
|
Updated PR with Greptile issues addressed:
This commit has been pushed: 18adc45. Current CI status still fails in
Those are unrelated formatting-only drifts and block merge. I created a separate quick PR to fix them: Once 22391 merges, rerun checks on #22345 and it should move to clean. |
Member
Author
|
@greptileai review |
This was referenced Feb 21, 2026
ly85206559
pushed a commit
to ly85206559/openclaw
that referenced
this pull request
Feb 21, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
Hansen1018
pushed a commit
to Hansen1018/openclaw
that referenced
this pull request
Feb 21, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
mmyyfirstb
pushed a commit
to mmyyfirstb/openclaw
that referenced
this pull request
Feb 21, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
clickmediapropy
pushed a commit
to clickmediapropy/openclaw
that referenced
this pull request
Feb 22, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
obviyus
pushed a commit
to guirguispierre/openclaw
that referenced
this pull request
Feb 22, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
6 tasks
Copilot AI
added a commit
to jiulingyun/openclaw-cn
that referenced
this pull request
Feb 22, 2026
…claw#22345) Co-authored-by: jiulingyun <[email protected]>
mreedr
pushed a commit
to mreedr/openclaw-custom
that referenced
this pull request
Feb 24, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
jiulingyun
added a commit
to jiulingyun/openclaw-cn
that referenced
this pull request
Mar 1, 2026
…s from user messages (#322) * Initial plan * fix(tui): strip inbound metadata blocks from user messages (port openclaw#22345) Co-authored-by: jiulingyun <[email protected]> --------- Co-authored-by: copilot-swe-agent[bot] <[email protected]> Co-authored-by: jiulingyun <[email protected]>
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
…rite) (openclaw#22345) * fix(tui): strip inbound metadata blocks from user text * chore: clean up metadata-strip format and changelog credit * chore: format tui metadata-strip tests * test: align metadata-strip regression expectations * refactor: reuse canonical inbound metadata stripper * test: allow tmp media fixture paths in media-understanding tests * refactor: reuse canonical inbound metadata stripper * format: fix changelog blank line after headings * test: fix unrelated check typing regressions * test: align memory async mock embedding signatures * test: avoid tsgo mock typing pitfall * test: restore async search mock typings in merge tree * test: trigger ci rerun without behavior change * chore: dedupe todays changelog entries * fix: dedupe sqlite mock keys in qmd manager test * Update qmd-manager.test.ts * test: align chat metadata sanitization expectation
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.
This is a clean reroute of the closed PR for this change.
origin/mainand squashed to a single clean commit.This supersedes #22319. The original PR became stale due a detached/dirty head after history churn while attempting rebase/cleanup.
Closes #22276.
Greptile Summary
This PR consolidates duplicate metadata stripping implementations by removing
stripInboundMetadataBlocksand switching all callers to use the canonicalstripInboundMetadatafunction fromsrc/auto-reply/reply/strip-inbound-meta.ts.Key changes:
stripInboundMetadataBlockswith line-by-line state machine parserstripInboundMetadatasrc/gateway/chat-sanitize.tsandsrc/tui/tui-formatters.tsto use the canonical implementationDEFAULT_EMOJISconstants instead of hardcoded emoji literals (aligns with emoji set change from commit f555835)The consolidation addresses the code duplication issue raised in previous review threads and ensures consistent metadata stripping behavior across TUI, webchat, and gateway surfaces.
Confidence Score: 5/5
stripInboundMetadataimplementation. Test changes correctly reflect upstream emoji constant changes (commit f555835) and Discord component behavior fixes (commit 086af56). The CHANGELOG cleanup removes duplicate entries and properly scopes the description to TUI-specific changes.Last reviewed commit: e148071