Skip to content

fix(ios): import and export input markdown with the C++ core - #1180

Draft
jnowakow wants to merge 21 commits into
feat/input-core-2-webfrom
feat/input-core-3-ios
Draft

jnowakow wants to merge 21 commits into
feat/input-core-2-webfrom
feat/input-core-3-ios

Conversation

@jnowakow

Copy link
Copy Markdown
Collaborator

What/Why?

Third of four stacked PRs for the shared C++ input core (#1127). Based on the web PR; review only the commits above it.

The iOS input now imports and exports markdown through the C++ core, so it produces the same markdown as web.

  • ENRMInputParser.mm and ENRMMarkdownSerializer.mm are thin wrappers over Markdown::Input::parse and serialize.
  • cpp/input is added to EnrichedMarkdownCore.podspec and ReactNativeEnrichedMarkdown.podspec.
  • The import completion pass (ENRMInputRemend) is removed, so an unclosed *, _ or [ stays literal text.
  • The block handlers lose markdownLinePrefixForBlockRange:; the core writes the block markers.
  • Selection copy keeps each clipped list item's number.
  • docs-md/BREAKING_CHANGES.md lists what changes in stored markdown: escaping, link destinations, nested list indent, delimiter order, and unsupported syntax (quotes, code, tables) losing its markers on import.

Testing

PR Checklist

  • Code compiles and runs on iOS
  • Code compiles and runs on Android
  • Updated documentation/README if applicable
  • Ran example app to verify changes
  • E2E tests are passing
  • Required E2E tests have been added (if applicable)

@jnowakow
jnowakow added this pull request to stack #1182 November 13, 2026 11:10

This branch has not been deployed

No deployments
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.

1 participant