# Parsee - the jealous XMPP<=>Matrix bridge
Parsee is a Matrix<=>XMPP bridge written in C99, with Cytoplasm, similar to Bifrost, but it is NOT a drop-in replacment. ## Why? ### Naming The name 'Parsee' is actually a reference to [Parsee Mizuhashi](https://en.touhouwiki.net/wiki/Parsee_Mizuhashi), a "*bridge* princess". ### Reasoning (personal to LDA) I hate Bifrost. I also wanted to dip my toes in XMPP, XML, and bridges a bit. Also, as a sister project to KappaChat, this means that I can integrate Parsee with KappaChat however I wish it to be, which allows me to mess around with a codebase I'm already familiar with. ### "Why not just use Matrix lol" ### "Why not just use XMPP lol" These two having the same answer should be enough information. Also can I *just* have fun? ~~Also dependency bad.~~ ## BUILDING ```sh $ make # This generates a 'parsee' executable. $ ``` ### DEPENDENCIES Parsee tries to avoid dependencies aside from [Cytoplasm](https://git.telodendria.io/Telodendria/Cytoplasm). ## RUNNING TODO ## DOCS TODO ## TODOS - Mess with Cytoplasm to make it have support for something like LMDB as an *optional* dependency. This should increase reliability and speed for anyone. - Nesting might be an issue we'll need to deal with. libdb and Berkley DB seem to lack support for them. If we can shove entries at specific indices, we _might_ just manage to get some system that can at least emulate that, and hopefully be reasonably faster than the filesystem, with some added reliability. - Get rid of the '?'-syntax and use another invalid Matrix char/valid XMPP char ('$'?) for escaped - PROPER FUCKING AVATARS XEP-0084 IS THE WORST PIECE OF SHIT KNOWN TO MAN. If any Jabberbros want to look at terrible code/XML and suggest things to have *proper* avatar support, I'm all in. - Consider making room/MUC admins/owners be able to plumb instead of it being restricted to Parsee admins, with permission from MUC owners, too - Limiting to admins may be a way to "control" consent for both, but this is only if Parsee admins are good-willed, which we must assume such statment to be false by default. - Look at XEPS-TBD.TXT for XEPs to be done - Manage MUC DMs in a reasonable manner. Thanks `@freeoffers4u:matrix.org` for being a fucking annoyance and DMing an old Parsee semi-anon user for no clear reason. ## DONATING/CONTRIBUTING If you know things about XMPP or Matrix, yet aren't familiar with C99, or just want to suggest a feature, you may open an issue. Packaging Parsee (and Cytoplasm) for your specific platform might be a nice to have, to make Parsee easier to setup and manage. **(DON'T FOR NOW, THERE IS LITERALLY NOWHERE THIS GOES TO)** You may also donate to [the LiberaPay](https://en.liberapay.com/Parsee), alongside [Telodendria's](https://en.liberapay.com/Telodendria), as it is the project currently maintaining Cytoplasm.