PostRowView already renders interactive reaction chips backed by /interactions/. ThreadView was adding a second static copy from the thread payload's moods (focal post and every reply node), so every reaction appeared twice. Remove ThreadView's own chips and keep PostRowView as the single source.