pub fn queue_preview_label(text: &str) -> StringExpand description
Build the display preview for one queued message: the full text when it
fits, otherwise the first MAX_QUEUE_PREVIEW_CHARS characters plus an
ellipsis. Truncation is char-boundary safe; newlines are preserved for the
client to render.