The backend rejects whitespace in emoji keys, so an entry like " 🐶 "
must fail the picker's validation rather than be saved as emoji:🐶.
Only an exactly empty field clears the icon; whitespace-only text now
shows the invalid-emoji error.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The edit sheet offers the curated Font Awesome subset and an emoji field
next to the Lucide grid, storing lucide:<name>, fa:<name> or
emoji:<grapheme>; an invalid emoji blocks the save. Existing fa/emoji/
legacy icons prefill the matching choice, and the definition list draws
any resolveIcon result (glyph, emoji text, or the fallback task glyph).
Task 7c29d925-3ec9-4b04-8bf1-453896f2b4f5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>