← Back to PRs

#7118: feat(imessage): add markdown.strip config option

by PeterRosdahl open 2026-02-02 12:17 View on GitHub →
channel: imessage size: M
## Summary Adds a new `strip` option to the markdown config that allows stripping markdown formatting from outbound messages. This is useful for channels like iMessage and SMS that don't render markdown - raw asterisks and hashes look ugly to recipients. ## Usage ```yaml channels: imessage: markdown: strip: true ``` The option can be set at channel level or per-account. ## Changes - Added `strip?: boolean` to `MarkdownConfig` type - Added `strip` to `MarkdownConfigSchema` zod schema - Updated iMessage outbound to apply `stripMarkdown()` when enabled - Added tests for the new functionality Since SMS goes through the same iMessage channel (Apple Messages handles both), this also covers SMS. Closes #3846 <!-- greptile_comment --> <h2>Greptile Overview</h2> <h3>Greptile Summary</h3> Adds a `markdown.strip` option to the shared markdown config (types + Zod schema) and wires it into the iMessage outbound adapter so outbound text/captions can have markdown formatting removed when enabled. Includes a new Vitest suite covering default behavior, channel-level enablement, per-account overrides, header stripping, and media caption stripping. <h3>Confidence Score: 3/5</h3> - Mostly safe to merge, with one likely runtime edge case in media sending when captions are omitted. - The change is small and covered by tests, but `sendMedia` applies markdown stripping unconditionally to `text`, which may be optional; if undefined, it can throw at runtime depending on adapter contract. - src/channels/plugins/outbound/imessage.ts <!-- greptile_other_comments_section --> <sub>(2/5) Greptile learns from your feedback when you react with thumbs up/down!</sub> <!-- /greptile_comment -->

Most Similar PRs