fix(text): keep surrogate pairs whole outside SafeText display truncates (#546)

#543 closed the shared SafeText display path, but notifications, AI Insights
summaries, cost labels, and support-report text still sliced UTF-16 code units
and could leave a lone high surrogate (half an emoji) at the bound. Route those
truncations through SafeText.truncatedText and cover each site with a regression
test.
c2cae56db5Simone committed on 10/16/2026, 7:09:28 PM· committed by GitHubparent8f849c2
9 files changedLine totals unavailable