Skip to main content

Roadmap

Here, Matrix puppet refers to a "fake" Matrix user, handled by Kazarma, representing an ActivityPub user. Similarly, AP puppet refers to a "fake" ActivityPub user, handled by Kazarma, representing a Matrix user.

  • User search
    • Matrix users handled by a Kazarma instance appear when looked up by an AP server as AP puppets that are created if they don't exist
    • AP users appear when looked up by a Matrix user as Matrix puppets that are created if they don't exist
  • User profile (display name and avatar)
    • AP puppet profile is set upon creation
    • AP puppet profile is changed when matrix user profile changes and the change is federated to AP network
    • Matrix puppet profile is set upon creation
    • Matrix puppet profile is changed when AP user profile changes
  • Web interface
    • Users can search for Matrix or AP users using their Matrix ID, AP username or AP ID
    • The interface provides information on how to reach those users using their respective puppets on the other network
    • The interface shows last public activities for actors
  • Chat messages (Pleroma only)
    • Sending a message to a Matrix direct room with a Matrix puppet relays it as a Pleroma direct message to the corresponding AP user
    • Sending a message to an AP puppet using Pleroma direct message interface makes the corresponding Matrix puppet send a message to its direct conversation with the corresponding Matrix user (and creates the room if it doesn't exist)
  • Private posts / direct messages (Pleroma & Mastodon)
    • Sending a message to a Matrix private room without encryption where Matrix puppets are invited (they join automatically) relays the message as a private post mentioning the users in the room (with the same conversation context as the first bridged message)
    • Sending a private post mentioning an AP puppet makes the corresponding Matrix puppet create a private room without encryption with the users invited. If the private post is a reply to an already bridged private post, it is relayed as a message to the same room, inviting new users if necessary
  • ActivityPub outbox rooms
    • Joining a Matrix room with an alias made from a puppet username joins or launches the creation of a public room corresponding to the AP user timeline
    • Public posts from the AP user are relayed in the room
    • Messages to the room from Matrix users are relayed as public posts mentioning the AP user
    • Invite to room when mentioning on AP
  • Matrix outbox rooms
    • Appservice bot accept invites to public rooms
    • Relay events if they are created by the relevant user
    • Relay events from other users as public posts mentioning the AP puppet
  • Bridging with Mobilizon
    • Relay actor automatically accept follow and follows back
    • Collection rooms are created when inviting an AP puppet
    • Joining a collection room accepts the invitation
  • Object types
    • Note objects are accepted
    • Event objects (Mobilizon) are accepted
    • Video objects (Peertube) are accepted
    • Article objects are accepted
  • Follows
    • AP puppets automatically accept follows
    • Matrix users can follow AP users by saying "!kazarma follow" in the AP outbox room
    • Matrix users can unfollow AP users by saying "!kazarma unfollow" in the AP outbox room
  • Replies
    • Matrix replies are bridged
    • AP replies are bridged
  • Attachments
    • Matrix attachments are bridged
    • AP attachments are bridged
  • Formatting
    • Matrix formatting is bridged
    • AP formatting is bridged
  • Deletions
    • Matrix deletions are bridged
    • AP deletions are bridged
  • Mentions
    • Matrix mentions are bridged
    • AP mentions are bridged
  • Likes
  • Implement the AP S2S spec
    • Actors
    • Objects
    • Inboxes
    • Collections
      • Outboxes
      • Followers
      • Followings
      • Liked
      • Likes
      • Shares
  • Linking a Matrix account to a remote AP account
  • Implement the AP C2S spec