A (simple, very basic) Jabber/XMPP client for KaiOS [WIP]
Find a file
Badri Sunderarajan d517766af6
Add DOAP record
This also, incidentally, helps to keep track of all the
supported features! (Also, comparing with the DOAP of
ConverseJS is motivation to go add more features here 😅)
2024-11-05 18:26:36 +05:30
public Don't autocapitalise headings 2024-10-28 16:46:00 +05:30
screenshots Add screenshots (and include in README) 2024-10-28 17:29:14 +05:30
src Change ConverseJS log level to 'warn' for release 2024-10-28 16:52:31 +05:30
.gitignore Initial commit, with basically nothing 2022-09-14 18:28:36 +05:30
badge-bananahackers.png Add BananaHackers WebStore badge and info to README 2024-10-29 21:27:38 +05:30
convo.doap Add DOAP record 2024-11-05 18:26:36 +05:30
COPYING Initial commit, with basically nothing 2022-09-14 18:28:36 +05:30
package.json Bump ConverseJS from 9.1.1 to 10.1.7 and *make it work* 2024-03-26 17:14:21 +05:30
README.md Add BananaHackers WebStore badge and info to README 2024-10-29 21:27:38 +05:30
rollup.config.js Bump ConverseJS from 9.1.1 to 10.1.7 and *make it work* 2024-03-26 17:14:21 +05:30
tsconfig.json Initial commit, with basically nothing 2022-09-14 18:28:36 +05:30
yarn.lock Bump ConverseJS from 9.1.1 to 10.1.7 and *make it work* 2024-03-26 17:14:21 +05:30

Convo logo

Convo

A (simple, very basic) Jabber/XMPP client for KaiOS, powered by ConverseJS

Discuss via XMPP Liberapay goal progress Open issues Releases

Get it on the BananaHackers WebStore

Screenshots

Splash screen Login screen First start (or waiting to load) screen Contact list Inside a (group) conversation Option to close the chat Populated conversation list, with profile pictures! A (formerly) exciting announcement

Installation

This app is published to the BananaHackers WebStore. So if you have the BananaHackers WebStore client, you can install Convo directly by searching for it or open the page on your computer to QR-beam it to your phone.

If you don't have the BananaHackers store, you can download the latest release as a .zip file from the Releases page.

To install the .zip file, you will have to use one of the following methods:

  • If you have an older device, you can simply install the .zip using OmniSD, assuming you have set that up.
  • Alternatively, you can: extract the .zip file, extract the application.zip file you find inside (a zip-in-a-zip!) and sideload the resulting folder using ADB and WebIDE (for KaiOS 2.x) or the official appscmd tool (for KaiOS 3.x)
  • Finally, if you want to get the latest changes you can clone the repo and build it yourself as described in the next section.

Development and testing

yarn dev builds the app in watch mode and serves the site. Great for testing it out in a desktop browser.

Enabling XMPP stanza printing

If you want Convo to print out all the XMPP stanzas to the console as they come in, you can open the file src/routes/Login.svelte, and search for a line looking like:

        loglevel: 'warn',

Edit that line to replace warn with debug

        loglevel: 'debug',

In future, this and other options in that code block will be made into settings that can be toggled from within the app itself, for easier access.

Deploying to a device

  1. Connect your device to your computer and make sure it appears in WebIDE.
  2. yarn build
  3. In WebIDE, load the /public folder as a packaged app.

Contributing

Pull requests are welcome. Feel free to pick up any of the issues or work on your own feature. (If it's some wacky feature, maybe discuss it first by making a new issue!)

The good news is that Convo is based on ConverseJS, which already supports a wide range of features. So adding a "feature" to Convo often involves just implementing the UI to expose a pre-existing ConverseJS feature!

If you're not sure where to start, you can always join the XMPP chatroom!

Donations

Besides code, you can also contribute financially. I haven't been finding the time to work on Convo, so your funds would help me make more time to work on it.

I charge about 7.50 USD per hour for the freelance projects I take on, so I will dedicate a corresponding amount of time for any donations that come in. (Of course, I will also be putting in extra work when I'm able, but funding would help establish a baseline since I won't have to decide between working on this and earning my daily bread 🍞)

Donate using Liberapay

Recommended companion apps

Since Convo is in a very early stage, it is recommended to have an additional XMPP running on your desktop, laptop, or smart(er)phon. This will let you perform operations that can't be done through Convo directly (such as setting up a bridge or accepting contact requests). Recommendations for stable apps are as follows, with a preference for stability over looks since you'll probably not be using that app as much as the KaiOS one:

  • Gajim - Linux, Windows
  • Conversations - Android
  • Monal IM - iOS and MacOS
  • Dino - Linux (less group chat and moderation features, but has a responsive design to work on mobile devices)

Credits and Licensing

The project itself is licenced under the GNU General Public Licence version 3.0, or, at your convenience, any later version. For more information, see the COPYING file.