Some contact names missing from Messages, but initials still visible? This is recent (popped up in the last week), and I don't think it came up with any updates; most recent thing I can think of is watchOS 4.2. I'm on the iPhone 7, with iOS 11.2.

Only in my Messages app, some contact names are still visible, but most contact names have been replaced with their phone numbers. The contact "picture" on the side still has their initials though.

Any ideas on how to fix this?
I had this problem for weeks and tried numerous solutions like toggling on and off the short names, adding a country prefix to the number, etc. What finally worked for me was toggling OFF icloud contacts under Settings.