Word for reminder of inconvenient truths

What do you call a person who constantly tells others things they don't want to hear even though it's true? (Maybe even revels in their dismay)

Something along the lines of Person A telling Person B that Person B's laziness is B's problem for something. Person B is in denial of it even though it is true, and hates hearing it. Person A likes telling B and others things like these that they hate to hear, but are true. What is Person A?

Another example would be someone who unwarrantedly goes into detail about the things that can go horribly wrong when someone dies(like being falsely remembered as a criminal), to people who are squeamish about it, fear it, had some bad experiences with relatives in that position etc.

I thought "doomsayer" at first perhaps, but that's more about predicting inconvenient events or disasters, not about the way things are now or about something people hide that someone else uncovers or narrates to their dismay. "Abuser" isn't specific enough. "Gloater" is more about the speaker's ego and prestige, while this is more about one person trying to sort of tear others down.


Would "killjoy" work for you? My grandfather would have said this person was a "crepehanger," but I haven't heard that word in years.