Skip to content

feat(fediverse): implement activitypub protocols + update user interface

Yassine Doghri requested to merge feat/activity-pub into alpha
  • add "ActivityPub" library to handle server to server federation and basic client to server protocols using activitypub:

    • add webfinger endpoint to look for actor
    • add actor definition with inbox / outbox / followers
    • remote follow an actor
    • create and broadcast notes with possible preview cards
    • interract with favourites, reblogs and replies
    • block incoming actors and/or domains --> For castopod, the podcast is the actor:
    • overwrite the activitypub library for castopod's specific needs
    • perform basic interactions administrating a podcast to interact with fediverse users:
      • create notes with episode attachements
      • favourite and share a note + reply
      • add specific castopod_namespaces for podcasts and episodes definitions
  • overwrite CodeIgniter's Route service to include alternate-content option for activitystream requests

  • update episode publication logic:

    • remove publication inputs in create / edit episode form
    • publish / schedule or unpublish an episode after creation
    • the podcaster publishes a note when publishing an episode
  • Javascript / Typescript modules:

    • fix Dropdown.ts to keep dropdown menu in foreground
    • add Modal.ts for funding links modal
    • add Toggler.ts to toggle various css states in ui
  • User Interface:

    • update tailwindcss to v2
    • use castopod's pine and rose colors
    • update public layout to a 3 column layout
    • add pages in public for podcast activity, episode list and notes
    • update episode page to include linked notes
    • remove previous and next episodes from episode pages
    • show different public views depending on whether user is authenticated or not
  • update CodeIgniter's config files

  • with CodeIgniter's new requirements, update docker environments to be based on php v7.3 image

  • move Image entity to Libraries

  • update composer and npm packages to latest versions

closes #69 (closed) #65 (closed), fixes #51 (closed)

Edited by Yassine Doghri

Merge request reports