Badri Sunderarajan
18d8fbdd69
This was somewhat harder than you'd imagine, because ConverseJS and Strophe have changed a bit in the meantime. Nothing major, but a small change had unintended consequences. Some backstory: we use Rollup for bundling Convo into a format that KaiOS' ageing engine can understand. The bad news: due to a weird bug/issue/something, Rollup doesn't like the UMD format that ConverseJS dependency Strophe bundles into. This bug has been affecting a lot of people and has been extensively documented in issues like this one: https://github.com/rollup/rollup-plugin-commonjs/issues/139 (I think Strophe also bundles into other formats, but for some reason the default one picked by Rollup is dist/strophe.umd.js that it then immediately raises a complaint about). The good news was that @converse/headless was inadvertently sidestepping this issue because it imported the Strophe object from a specific file in Strophe's src like this: import { Strophe } from 'strophe.js/src/strophe'; which completely bypassed the problematic dist folder. Since Rollup eventually bundled everything anyway, reading from source to start with wasn't a problem. The bad news was that, at some point, ConverseJS was updated to use a newer version of Strophe. Unfortunately, the new Strophe had renamed its src/strophe.js to src/index.js: |
||
---|---|---|
public | ||
src | ||
.gitignore | ||
COPYING | ||
README.md | ||
package.json | ||
rollup.config.js | ||
tsconfig.json | ||
yarn.lock |
README.md
Convo
A (simple, very basic) Jabber/XMPP client for KaiOS
Development and testing
yarn dev
builds the app in watch mode and serves the site. Great for testing
it out in a desktop browser.
Deploying to a device
- Connect your device to your computer and make sure it appears in WebIDE.
yarn build
- In WebIDE, load the
/public
folder as a packaged app.
Credits and Licensing
- This project is based on the KaiOS Svelte starter (MIT)
- UI components from KaiOS-native-UI (WTFPL)
- XMPP/Jabber support from ConverseJS (headless version, MPL-2.0)
- Icon created from a combination of FontAwesome's comment icon and Icons8's XMPP icon