Can this be null? What happens if you use null for multiple messages? What about old messages in the history, before this patch?

I think you should allow null value, and it should disable the concatenation behavior.