Commit e17feaa
fix(session-cost-usage): keep emoji / surrogate pairs intact during first user message truncation
The discoverAllSessions helper in session-cost-usage.ts truncates the
first user message with .slice(0, 100), which counts UTF-16 code units.
When an emoji straddles the cut boundary, .slice() produces a lone
surrogate that renders as � in session titles and usage API output.
Replace .slice(0, 100) with the already-imported truncateUtf16Safe()
to avoid splitting surrogate pairs at the boundary.
Co-Authored-By: Claude <[email protected]>1 parent 60f0749 commit e17feaa
2 files changed
Lines changed: 43 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2721 | 2721 | | |
2722 | 2722 | | |
2723 | 2723 | | |
| 2724 | + | |
| 2725 | + | |
| 2726 | + | |
| 2727 | + | |
| 2728 | + | |
| 2729 | + | |
| 2730 | + | |
| 2731 | + | |
| 2732 | + | |
| 2733 | + | |
| 2734 | + | |
| 2735 | + | |
| 2736 | + | |
| 2737 | + | |
| 2738 | + | |
| 2739 | + | |
| 2740 | + | |
| 2741 | + | |
| 2742 | + | |
| 2743 | + | |
| 2744 | + | |
| 2745 | + | |
| 2746 | + | |
| 2747 | + | |
| 2748 | + | |
| 2749 | + | |
| 2750 | + | |
| 2751 | + | |
| 2752 | + | |
| 2753 | + | |
| 2754 | + | |
| 2755 | + | |
| 2756 | + | |
| 2757 | + | |
| 2758 | + | |
| 2759 | + | |
| 2760 | + | |
| 2761 | + | |
| 2762 | + | |
| 2763 | + | |
| 2764 | + | |
2724 | 2765 | | |
2725 | 2766 | | |
2726 | 2767 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2160 | 2160 | | |
2161 | 2161 | | |
2162 | 2162 | | |
2163 | | - | |
| 2163 | + | |
2164 | 2164 | | |
2165 | 2165 | | |
2166 | 2166 | | |
| |||
2170 | 2170 | | |
2171 | 2171 | | |
2172 | 2172 | | |
2173 | | - | |
| 2173 | + | |
2174 | 2174 | | |
2175 | 2175 | | |
2176 | 2176 | | |
| |||
0 commit comments