fix(imessage): normalize leading echo-cache corruption bytes#73891
fix(imessage): normalize leading echo-cache corruption bytes#73891openclaw-clownfish[bot] wants to merge 1 commit into
Conversation
Greptile SummaryThis PR narrows the echo-cache text normalization in the iMessage extension to strip only leading imsg replacement/control-byte corruption characters (U+FFFD and C0/C1 control ranges, excluding TAB and LF), while preserving interior bytes so that multiline or otherwise mixed-content keys remain non-lossy. The change is limited to Confidence Score: 5/5Safe to merge — narrowly scoped fix with good test coverage and no logic errors found. The normalization ordering (replace → trim → strip leading corruption → trim) is correct, the No files require special attention. Reviews (1): Last reviewed commit: "fix(imessage): normalize leading echo-ca..." | Re-trigger Greptile |
|
Codex review: keeping this open for maintainer follow-up; there is still a little grit to resolve. Keep this PR open. Current main and the latest release still normalize iMessage sent-message echo-cache text with only CRLF normalization plus trim, so leading U+FFFD/C0/C1 corruption still misses the cached outbound key. The PR is a focused implementation candidate carrying forward the closed unmerged #62191 work, with tests that preserve interior control/replacement bytes. It overlaps #63581 and #66169, so maintainers should consolidate or pick the canonical patch rather than close this as implemented. Best possible solution: Keep this PR open for maintainer review. The best path is to land this narrow iMessage plugin echo-cache normalization, or combine it with #63581/#66169 into one canonical patch that handles the known leading-prefix variants, preserves interior message bytes, keeps the focused regression tests, and validates with the targeted iMessage monitor tests plus the changed gate. What I checked:
Likely related people:
Remaining risk / open question:
Codex review notes: model gpt-5.5, reasoning high; reviewed against 293348b429b4. |
|
Thanks for pushing this. We merged the narrower canonical fix in #73942: #73942, merge be445dd. It keeps normalization limited to observed leading attributedBody markers and leaves TTL and broader control-byte behavior separate. Testbox proof: tbx_01kqbp2m7s1mn1nd4fhgnp74wk focused iMessage tests plus check:changed passed. Closing this overlap. |
Summary
Linked refs
Validation
Credit
This repairs and carries forward the contributor branch from #62191 with attribution preserved.
ProjectClownfish replacement details:
! [remote rejected] HEAD -> fix/imessage-echo-loop-self-chat (refusing to allow a GitHub App to create or update workflow
.github/workflows/ci.ymlwithoutworkflowspermission)error: failed to push some refs to 'https://github.com/maguilar631697/openclaw.git'