Do not collapse empty div in message
Do not hover on mobile
Some space between paragraphs
This is an alpha web app built on Borogove.
This app is a static site, just one HTML file and some assets, and as such it could be run simply by opening the HTML file in your browser. Unfortunately there are some browser features which often don't work right when used that way, so you probably want to run an HTTP server. The simplest choice is to run npx serve which will use the serve.json configuration already in this repo to serve the app for use.
For production deployments you probably want to set up rewrites so that all paths load the index.html and add appropriate security headers. An example of this for Apache is in doc/.htaccess
Connections are made via websockets directly to your server with no proxy. Since this is not a standard feature of XMPP servers you may not be able to use the app because of that, but at least all Snikket instances should work. This code is only tested against Snikket instances and similarly configured prosody, and may behave more erattically in other contexts.
This app stores possibly sensitive data, including message history, on your computer. Do not use this client from devices you do not trust, such as library computers, etc.
Any and all questions are welcome in the Sopranica discussion room