Symptom

Button text and icon labels containing emoji or non-ASCII Unicode characters (📅, 🗑️, ✏️, ➕, ✕, ➡️, etc.) rendered as empty rectangles in WASM browser sessions.

Root cause

composeApp has an EmojiText composable that applies the NotoColorEmoji font family when running on WASM (where the browser’s default font may not include emoji). Many edit screens were using the standard Text() composable directly for emoji strings, bypassing the NotoColorEmoji fallback. Only a subset of the UI (e.g. ViewScreenToolbar, ExecutorActionButton) had been updated to use EmojiText.

Fix

Replaced all Text("…") calls containing emoji or rendering-problematic Unicode characters with EmojiText("…") across 13 files in composeApp/src/commonMain/: EditTaskList.kt, EditOutboundWebHook.kt, EditLogicGate.kt, GraphScreen.kt, EditCompute.kt, EditMqtt.kt, SerialDeviceView.kt, EditLambda.kt, EditIncomingWebHook.kt, EditLLM.kt, EditJournal.kt, EditPin.kt, ClientScreen.kt, and ExecutorEditComponents.kt. All files already imported krill.zone.app.* so no import changes were needed.

Prevention