feat(fediverse): show + vote on remote polls (Question) in the News feed
Inbound ActivityPub polls, phase 1. A Question (the Mastodon-standard poll)
from a followed account is now cached and rendered in the News feed with its
options, vote counts and close state, and the owner can vote — a ballot is a
Create(Note) carrying only the chosen option's name + inReplyTo the Question,
addressed to the poll's author (the fediverse-standard vote). The author's
Update(Question) refreshes the authoritative counts; our own vote is preserved.
- config/database.js — ap_timeline.poll_json column
- services/ActivityPubService.js — parsePoll(); handle Create/Update(Question);
voteOnPoll() sends the ballot + optimistic local tally
- routes/posts.js — parse poll_json for the feed; POST /news/vote (owner-only)
- views/pages/news.ejs — poll UI (votable options / result bars) + styles
- services/i18n.js — poll.vote/votes/closed (nl/en/de)
Co-Authored-By: Claude <noreply@…>