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