mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-04-30 01:41:43 +00:00
Models frequently emit bare codepoints like U+26A0 (⚠), U+2139 (ℹ),
U+2764 (❤), U+2714 (✔), U+2600 (☀), U+263A (☺) which, per Unicode, have
Emoji_Presentation=No and render as monochrome text-style glyphs in
terminals unless followed by VS16 (U+FE0F). Agent output leaked through
the TUI like `⚠ careful` instead of `⚠️ careful`.
Added `ensureEmojiPresentation` (lib/emoji.ts): scans for the curated
set of text-default codepoints and appends VS16 when the next char is
not already VS16, ZWJ, or a keycap-enclosing mark. Idempotent and
fast-pathed by a Unicode-range regex so ASCII-heavy text is untouched.
Applied once at the top of `Md`'s line parse. Hermes-ink's stringWidth
already accounts for VS16, so cursor/layout stays correct.
|
||
|---|---|---|
| .. | ||
| appChrome.tsx | ||
| appLayout.tsx | ||
| appOverlays.tsx | ||
| branding.tsx | ||
| markdown.tsx | ||
| maskedPrompt.tsx | ||
| messageLine.tsx | ||
| modelPicker.tsx | ||
| prompts.tsx | ||
| queuedMessages.tsx | ||
| sessionPicker.tsx | ||
| skillsHub.tsx | ||
| textInput.tsx | ||
| themed.tsx | ||
| thinking.tsx | ||