diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..d7751ed --- /dev/null +++ b/README.md @@ -0,0 +1,94 @@ + + +# LimoX + +The Linux on mobile XMPP (LimoX) client. It should be fast, compliant and +usable on mobile linux devices like smartphones or tablets. + +Also mind the [project page][2] and my [packaging repository][3] for Arch Linux +with support for LimoX. + + +## Building and dependencies + +Install these build dependencies: + +- meson +- ninja +- gcc + +Install these runtime dependencies: + +- libstrophe +- gtk4 + +Just run these commands to build and run: + + meson build + ninja -C build + ./build/limox + +Run `rm -r build` to clean the build folder. You can get a help page by running +`./build/limox -h`. + + +## Roadmap + +- [x] build a GTK 4 GUI +- [x] finish minimal viable product (MVP) to send and receive text messages + - [x] static GUI widgets + - [x] dynamic GUI widgets (like text messages) + - [x] roster request + - [x] receiving one-to-one text messages + - [x] sending one-to-one text messages +- [ ] refactoring + - [ ] proper memory management + - [ ] fix random crashes (if still existing) + - [ ] handle roster updates (includes reconnect bug) + - [ ] implement 'disconnecting' state + - [ ] audit functions combined with every possible state + - [ ] consistent error handling (including semantic error codes) + - [ ] logging / debug flags and output + - [ ] signal handling + - [ ] improve event loop performance (if still an issue) + - [ ] write docstrings + - [ ] check if code is splint-clean +- [ ] persistence with sqlite3 +- [ ] XMPP core [compliance suite 2022][1] / client + - [ ] RFC 6120: XMPP Core + - [ ] RFC 7590: TLS for XMPP + - [ ] XEP-0030: Service Discovery + - [ ] XEP-0115: Entity Capabilities +- [ ] XMPP IM [compliance suite 2022][1] / client + - [ ] RFC 6121: XMPP Instant Messaging + - [ ] XEP-0245: The /me Command + - [ ] XEP-0054: vcard-temp + - [ ] XEP-0280: Message Carbons + - [ ] XEP-0045: Multi-User Chat + - [ ] XEP-0249: Direct MUC Invitations + - [ ] XEP-0363: HTTP File Upload +- [ ] XMPP mobile [compliance suite 2022][1] / client + - [ ] XEP-0198: Stream Management + - [ ] XEP-0352: Client State Indication +- [ ] XEP-0077: In-Band Registration (just password change) +- [ ] XEP-0313: Message Archive Management +- [ ] Evaluate multi-platform support (up to Linux, Windows, Android, Mac, iOS) + - implement gui.h with cross-platform SDL2? + - implement gui.h with native widget toolkits? +- [ ] implement further XEPs + - [ ] XEP-0286: Mobile Considerations on LTE Networks + - [ ] XEP-0333: Chat Markers + - [ ] XEP-0085: Chat State Notifications + - [ ] XEP-0191: Blocking Command + - [ ] XEP-0308: Last Message Correction + - [ ] XEP-0393: Message Styling + - [ ] XEP-0444: Message Reactions + - [ ] XEP-0392: Consistent Color Generation + - [ ] XEP-0184: Message Delivery Receipts + - [ ] XEP-0380: Explicit Message Encryption + - [ ] XEP-0384: OMEMO Encryption + + +[1]: https://xmpp.org/extensions/xep-0459.html +[2]: https://xengineering.eu/git/limox +[3]: https://xengineering.eu/git/pkgbuilds |