fix(#497): apply Gemini review, one honest label and one equivalence rule
Two defects the adversarial review found, both verified before accepting. 1. `label` trimmed the name for display while the token stayed raw, so two contacts differing only by surrounding whitespace rendered as identical rows with no way to tell which one was about to be addressed. That hides the exact identity #497 exists to preserve. Display now defaults to the raw name. 2. Candidate deduplication used String.toLowerCase() while matching uses the ASCII fold. Verified empirically: 'É' and 'é' compare equal under toLowerCase and unequal under foldAscii, so of two real contacts one silently vanished from the mention list while remaining matchable. foldAscii is now public and is the single equivalence rule used for both dedup and matching. Regression tests added for both. Full suite 719 pass, analyze clean, format clean. Agent: CalmBay (session d14220d9)feat/483-button-buzzer-ui
parent
e52cb2a43f
commit
7aee4007b3
Loading…
Reference in new issue