* New settings: "Ban anonymous user's IP when user is banned from a chatroom":
* if enabled, every time a streamer bans an anonymous user, it will ban its IP on the chat server,
* banned IPs are logged on disk, so server's admin can use them to feed fail2ban (for example),
* option disabled by default, because could be used to create trapped-rooms on public servers
* Start and stop the bot WIP
* Prosody: removing the BOSH module from the global scope (must only be present on relevant virtualhosts)
* Some refactoring
* the front-end now use global constants, based on the translation key
* build-client.js use the ESBuild "define" directive to replace these
globals at compile time, by the english value
* build:client must now be called after build:languages
* moving the loadLoc and loc backend functions in a separate lib
To make the Weblate integration simplier, this commit merge all
translations in yml files (there is no more distinction between
standards and settings strings)
This yml files will be handled by Weblate.
TODO: document the new translation process.
This commit is a dirty hack to fix issue with ARM64 Prosody AppImage.
The fixed appimagebuild tool is not released by the dev team.
So i patch it in my build script. This is not a good solution, but it
works, and let me go forward.
* new option to allow external xmpp account s2s connections
* settings to setup the port and network interfaces
* documentation WIP
Related to issue #114
Implementing a new translating system, so we can more easily translate
settings strings. Indeed, these strings are difficult to embed in
JSON format.
We still use JSON files for standard strings, but in addition we have
dedicated YAML files to translate settings strings.
There is a new build-languages.js script that merge all translations in JSON files.
Other modifications:
* Eslint: ignoring documentation and build scripts.
* french settings translations.
* stop trying to generated an ARM64 AppImage (as it is buggy)
* display a warning in the settings if incompatible CPU detected
* documentation for a workaround
Implements #120.
Thanks to this commit, there is no more need to manually install Prosody
on the server.
The plugin now build and embed an AppImage of Prosody.
In this commit:
* building and using a Prosody AppImage.
* Adding a launcher in the AppImage: the first command argument tells if
we want to run prosody or prosodyctl
* prosodyCtl functions now uses the AppImage.
* Prosody AppImage: extract once at the startup, then run the squashfs
From now on, webchat can only be activated for local videos.
It will never be displayed on remote videos.
This is because an incompatibility with a new feature (webchat per channel).
Moreover this feature was very limited: the webchat was not shared with the remote instance (this will probably be achieved in a future release).