- Add new swarm interaction endpoints for follow, unfollow, like, unlike, mention, and repost actions
- Create interactions.ts library module to handle federated interaction logic
- Add swarm post detail endpoint for retrieving individual post information
- Update post interaction routes to support federated operations
- Replace logo.svg with new logotext.svg for updated branding
- Update login page and sidebar components with new branding assets
- Enhance swarm discovery and type definitions to support new interaction patterns
- Update user follow endpoint to work with federated swarm interactions
- Add debug information to swarm posts API response including NSFW filter status, source count, and post filtering metrics
- Add filteredCount field to timeline sources to track posts removed by NSFW filtering
- Implement protocol detection logic to use http:// for localhost and 127.0.0.1, https:// for all other domains
- Add comprehensive console logging for timeline queries showing node count, NSFW filter status, and per-node filtering details
- Move NSFW filtering logic earlier in the timeline aggregation to improve code clarity and enable better debugging
- Improve observability of the swarm timeline fetching process for troubleshooting filtering behavior
- Add node NSFW status check to post filtering logic
- Filter posts where either the post itself or its parent node is marked NSFW
- Ensure comprehensive NSFW content filtering across both post and node levels
- Prevents NSFW content from NSFW nodes from appearing in filtered timelines
- Remove node-level NSFW filtering logic from timeline queries
- Query all nodes regardless of NSFW status for more comprehensive results
- Apply NSFW filtering at the post level instead of node level
- Update filtering logic to check both explicit post flags and source node NSFW status
- Improve filtering comment to clarify that posts are filtered, not nodes
- This change ensures users can access content from NSFW nodes while still respecting their content preferences at the post level
- Add NSFW content filtering based on user's nsfwEnabled session setting
- Pass includeNsfw preference to fetchSwarmTimeline in curated and swarm feeds
- Remove in-memory caching from swarm API route to respect per-user preferences
- Add link preview enrichment for swarm posts with URLs but no preview data
- Implement extractFirstUrl utility to parse URLs from post content
- Implement fetchLinkPreview to fetch metadata from external URLs with 3s timeout
- Implement enrichPostsWithPreviews to enrich posts asynchronously
- Skip video URLs (YouTube, Vimeo) from preview enrichment as they use VideoEmbed
- Update swarm API documentation to reflect NSFW filtering behavior
- Improves content discovery by enriching posts with link metadata while respecting user content preferences
- Add swarm node registry with discovery, gossip, and timeline synchronization
- Implement database schema for swarm nodes, seeds, and sync logs with proper indexing
- Create swarm API endpoints for node discovery, gossip protocol, timeline sharing, and announcements
- Add content moderation features with NSFW flagging and muted nodes support
- Implement user settings pages for content filtering and node moderation
- Add background scheduler for automated swarm synchronization and node health checks
- Create .well-known endpoint for swarm protocol discovery
- Remove legacy bot-cron.ts in favor of integrated scheduler system
- Add user account NSFW preferences and age verification tracking
- Update database schema with swarm-related tables and user moderation fields
- Enhance post and user components to support federated content display
- Add instrumentation for monitoring swarm operations and node health