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