Fetch viewer like/repost state for authenticated users on profile pages
Injects AtprotoOAuthService into ProfileController and uses the viewer's
authenticated agent to call getPosts, building a viewer map (postUri →
likeUri/repostUri) and CID map passed to the template. Falls back silently
to viewer=null on auth errors. Sets Cache-Control to private when viewer
data is present.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>