feat(matrix): render bot messages with HTML formatting

Add HTML formatted_body to Matrix bot messages so that markdown-style
formatting (code blocks, bold, italic, lists) renders properly in Matrix
clients. Uses the pulldown-cmark crate to convert markdown to HTML and
sets the message format to org.matrix.custom.html.

Story: 188_story_render_matrix_bot_messages_with_html_formatting
This commit is contained in:
Dave
2026-02-25 16:08:57 +00:00
parent cda7915e12
commit d4f23051aa
4 changed files with 81 additions and 1 deletions

19
Cargo.lock generated
View File

@@ -2766,6 +2766,24 @@ dependencies = [
"syn 2.0.116",
]
[[package]]
name = "pulldown-cmark"
version = "0.12.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f86ba2052aebccc42cbbb3ed234b8b13ce76f75c3551a303cb2bcffcff12bb14"
dependencies = [
"bitflags 2.11.0",
"memchr",
"pulldown-cmark-escape",
"unicase",
]
[[package]]
name = "pulldown-cmark-escape"
version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "007d8adb5ddab6f8e3f491ac63566a7d5002cc7ed73901f72057943fa71ae1ae"
[[package]]
name = "quick-xml"
version = "0.36.2"
@@ -3771,6 +3789,7 @@ dependencies = [
"poem",
"poem-openapi",
"portable-pty",
"pulldown-cmark",
"reqwest 0.13.2",
"rust-embed",
"serde",