feat(polls): vote on any fediverse poll from the interact page
The interact page (paste any post URL) now detects a Question and shows a ballot
(radio/checkbox + Vote) so you can vote on any fediverse poll by URL — not only
polls from accounts you follow (which vote via /news). Casts the Mastodon-standard
ballot straight to the poll's author, no timeline cache needed.
- src/services/ActivityPubService.js — voteOnRemotePoll(site, url, choices) fetches
the Question fresh, validates the choice(s) and delivers the ballot to the author;
resolveRemoteNote now returns the parsed poll so the view can render options.
- src/routes/posts.js — POST /authorize_interaction/vote; GET passes
voted and
skips re-resolving the target on the confirmation view.
- src/views/pages/authorize-interaction.ejs — ballot (open) / results (closed) above
the like/boost/reply actions, a "vote sent" confirmation, and scoped .auth-poll styles.
- src/services/i18n.js — poll.voted_title/_done (nl/en/de).
Co-Authored-By: Claude <noreply@…>