Skip to content

v1.3.0

Choose a tag to compare

@hiroshiyui hiroshiyui released this 08 Mar 09:04
· 1181 commits to main since this release
204627b

What's New

Boost (Announce) Feature

  • Article & comment boosts — fully federated via ActivityPub Announce/Undo(Announce) activities
  • Like & boost buttons on article pages, board listings, and the personal feed
  • Feed item interactions — like and boost remote feed items, sending AP activities to remote inboxes
  • Self-interaction prevention — users cannot like or boost their own content
  • Boost notification types (article_boosted, comment_boosted) with user preferences

Comment Like Federation Upgrade

  • Comment likes now send AP Like/Undo(Like) activities (previously local-only)
  • Remote comment likes received via inbox create notifications

Security Hardening

  • Safe integer parsing (parse_id/1) in all LiveView toggle handlers
  • Board visibility checks on like/boost — prevents interaction with articles in restricted boards
  • Feed item access validation — users must follow the remote actor to interact
  • Reject remote Like/Announce on articles in non-public or non-AP-enabled boards
  • AP ID format validation (https?://) on remote boost schemas

Code Quality

  • Extract Content.Interactions module — shared visibility, AP ID stamping, and constraint helpers
  • Extract InteractionHelpers module — generic LiveView toggle handlers (~336 lines reduced)

Database Migration

  • New tables: article_boosts, comment_boosts, feed_item_likes, feed_item_boosts
  • Run mix ecto.migrate after upgrading