fix(markdown-core): CJK-friendly emphasis flanking so **标签:**正文 renders bold (#101120)#101230
Conversation
|
Codex review: stale review; fresh review needed. Summary Next step Review history (4 earlier review cycles)
|
…miter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230.
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
e070fcb to
0041bc6
Compare
…miter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230.
…miter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230.
0041bc6 to
e471027
Compare
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
Dependency graph change authorizedThis PR includes dependency graph changes. A repository admin or member of
A later push changes the PR head SHA and requires a fresh security approval. |
…miter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230.
6e0e94f to
b09b0c8
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
|
/allow-dependencies-change maintained MIT CJK delimiter plugin; exact package source, tests, metadata, lockfile, Node compatibility, and transitive graph reviewed |
|
Merged via squash.
|
…rs bold (openclaw#101120) (openclaw#101230) * test(telegram): reproduce CJK emphasis flanking bug * fix(markdown-core): support CJK emphasis flanking * fix(markdown-core): type CJK delimiter state (openclaw#101120) * fix(markdown-core): mirror markdown-it Unicode whitespace in CJK delimiter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230. * refactor(markdown): use maintained CJK flanking plugin --------- Co-authored-by: Peter Steinberger <[email protected]>
…rs bold (openclaw#101120) (openclaw#101230) * test(telegram): reproduce CJK emphasis flanking bug * fix(markdown-core): support CJK emphasis flanking * fix(markdown-core): type CJK delimiter state (openclaw#101120) * fix(markdown-core): mirror markdown-it Unicode whitespace in CJK delimiter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230. * refactor(markdown): use maintained CJK flanking plugin --------- Co-authored-by: Peter Steinberger <[email protected]>
…rs bold (openclaw#101120) (openclaw#101230) * test(telegram): reproduce CJK emphasis flanking bug * fix(markdown-core): support CJK emphasis flanking * fix(markdown-core): type CJK delimiter state (openclaw#101120) * fix(markdown-core): mirror markdown-it Unicode whitespace in CJK delimiter override Preserves markdown-it isWhiteSpace classification (U+3000, U+00A0, U+2000-200A, etc.) before forcing CJK-adjacent delimiter flags, and adds U+3000/U+2009 regressions. Addresses clawsweeper P1 finding on openclaw#101230. * refactor(markdown): use maintained CJK flanking plugin --------- Co-authored-by: Peter Steinberger <[email protected]>
Fixes #101120
What Problem This Solves
CJK Markdown such as
**标题:**正文can render literal emphasis markers. CommonMark's closing-delimiter rule rejects punctuation immediately inside**when adjacent CJK text follows without whitespace. Because Telegram, Signal, and Slack consume the shared Markdown IR, the defect belongs inpackages/markdown-core, not in one transport.Why This Change Was Made
markdown-it-cjk-friendly2.0.2 plugin at the sharedMarkdownItconstruction point.@openclaw/markdown-core; its only runtime dependency,get-east-asian-width, was already resolved in this workspace.User Impact
CJK emphasis now renders consistently through every channel using the shared Markdown IR. Ordinary CommonMark behavior remains unchanged outside the CJK-friendly amendment; invalid whitespace-delimited openers remain literal.
Evidence
Reviewed head:
dbc66f154026d80e23b496d723e60762712cd0cacbx_ed9e9a7749ff/coral-lobster, public network, no Tailscale, empty instance profile, no credential hydration.run_837ab245e94c:pnpm test packages/markdown-core/src/ir.emphasis-cjk.test.ts extensions/telegram/src/format.test.ts— 77 passed;pnpm check:changed -- ...— passed;pnpm build— passed.run_4947d71286b2: clean full build plus source-blind built-artifact validation — 11/11 behavior fixtures passed.git diff --checkand focusedoxfmt --check— passed.markdown-it-cjk-friendly2.0.2 source/tests/package metadata andmarkdown-it14.3.0 delimiter scanner; package is ESM-only, MIT, Node 18+, actively maintained, and tests parity against the CommonMark 0.31.2 corpus.Docs
No command, configuration, or operator workflow changed. The maintainer changelog entry thanks @nicknmorty and references this PR and #101120.