Commit Graph

143 Commits

Author SHA1 Message Date
97b85be4ad Fix #322: "Sepia is no longer an owner of this groupchat" message when joining the chat.
* This was related to the fact that the bot was owner because of the "admins" Prosody config key, and not registered in the room.
* To fix it, i added the bot as owner when creating rooms.
* This means that the fix only work for newly created rooms.
* There might still be an issue in ConverseJS or Prosody, don't know exactly where.
2024-03-01 12:20:32 +01:00
9ec7167da1 Debug Mode: new option to promote some JIDs as admins on the MUC component. 2024-02-29 15:58:41 +01:00
3ec09ce267 Fix: video owner must be room owner, not only admin. Otherwise they can't edit room parameters (including slow mode settings). 2024-02-22 18:08:06 +01:00
3d9237624d Naming:
* changing delay by duration for slow mode options
* better labels
2024-02-16 17:35:55 +01:00
cd97d91f79 Replaced a sync file operation by an async one, to avoid blocking the server. 2024-02-16 17:35:54 +01:00
afbc78d0e6 Slow Mode WIP (#192): option position 2024-02-16 17:35:54 +01:00
ee71d3f729 Slow mode WIP (#192):
* new option in room configuration to set the slow mode delay (new prosody module mod_muc_slow_mode).
2024-02-16 17:35:48 +01:00
8a400d2d9f New abstract avatars 2024-02-12 16:50:08 +01:00
91ef261c16 Fenec avatars. 2024-02-09 15:35:40 +01:00
fbeffef34b Bird avatars. 2024-02-09 15:12:48 +01:00
9561f36b93 Cats avatars. 2024-02-09 13:17:12 +01:00
70563200fe New avatars:
* new settings to change the avatar set
* user documentation
2024-02-09 12:41:05 +01:00
19fca3891a New avatars:
* moving files in better directory structure
* new bot avatar
2024-02-09 11:16:29 +01:00
b9b0eb41d9 New avatars set WIP:
* adding new avatars by David Revoy
* replacing old avatars to test

TODO: add a settings to choose between legacy and new avatars.
TODO: generate a bot avatar.
2024-02-08 18:49:49 +01:00
c008e84da7 Fix #295: Prosody: disabling message carbons for anonymous users.
Anonymous users can't use carbons, as they cannot connect with multiple
tabs on the same anonymous account.
So we disable carbons on the anonymous virtualhost, to improve
performances.

See here for some performances tests: https://github.com/JohnXLivingston/livechat-perf-test/tree/main/tests/50-anonymous-carbons
2024-02-01 15:20:52 +01:00
5614987901 Fix self-signed certificates on ubuntu + v8.0.2:
* On some Ubuntu server, the self-signed certificates generation fails:
  * See [issue #268](https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/268)
  * This prevents the bot to connect to the server
  * As a fallback, we directly call openssl to generate the certificates
2023-09-27 14:29:17 +02:00
e2c85af001 Bot avatar:
* For now, only one avatar possible,
* uses mod_random_vcard_peertubelivechat,
* mod_random_vcard_peertubelivechat has a new option with the avatar
  list (instead of a hardcoded avatar number)
* Peertube lists available avatars files, and pass it to mod_random_vcard_peertubelivechat
2023-09-25 11:20:46 +02:00
d80cedfee5 Auto ban anonymous IP:
* 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
2023-09-22 18:17:54 +02:00
9e7d9c6069 Bot must be admin on the MUC component. 2023-09-22 16:45:07 +02:00
e0c31f09aa Fix bot authentication. 2023-09-22 16:45:06 +02:00
2289d79c28 Various fix and wip 2023-09-22 16:45:06 +02:00
f97e54d499 Moderation Bot integration WIP:
* Start and stop the bot WIP
* Prosody: removing the BOSH module from the global scope (must only be present on relevant virtualhosts)
* Some refactoring
2023-09-22 16:45:06 +02:00
e4683cf282 WIP: store and get relation between rooms and channels:
* rebuildData
* handling video update (to check for channel changes)
2023-09-22 16:45:04 +02:00
d0ba7d017d External Components interface configuration:
You can now configure on which network interfaces Prosody will listen for external components.
2023-09-22 16:45:02 +02:00
64668733c8 Code refactoring:
Splitting API code in several files.
2023-09-07 17:20:01 +02:00
9f8a9ae5ae Fix typo. 2023-08-07 10:19:42 +02:00
609b9e99ec Fix #100: API endpoint enhancement
Bypassing Nginx for API call originated from Prosody (if Peertube >=5.1).
Can also fix some Docker setup, which needed to set the prosody-peertube-uri settings.
2023-08-02 17:08:42 +02:00
8f66ea4032 Fix #180: Letsencrypt import not working
Letsencrypt certificate import procedure was not working on server that had never installed Prosody.
Adding `prosody_user` in the Prosody configuration file to fix this.
Updating the procedure: the `chown` is no more needed in `/etc/letsencrypt/renewal-hooks/deploy/prosody.sh`.
2023-06-08 10:22:43 +02:00
472caf9f5b Fix: direct s2s connection not always possible
Trying to connect to a remote instance using direct s2s won't work if local instance has not the feature enabled, and if the remote instance does not know the local one.
So using Websocket S2S in such case (that embed a discovery mecanism).
2023-06-01 13:06:59 +02:00
f644ad0d88 Fix #124 (dirty hack):
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.
2023-05-31 18:13:35 +02:00
b3582e6bfa Fix missing self signed certificates is some conditions. 2023-05-31 16:52:53 +02:00
2de38661d6 Websocket S2S: ping every 55s to keep alive. 2023-05-31 16:52:52 +02:00
92d92e3350 Fix: i misunderstood the parameter s2s_close_timeout. And removing a duplicate hook. 2023-05-31 16:52:52 +02:00
8fe48a068f Refactoring the debug mode code, and adding some options. 2023-05-31 16:52:49 +02:00
b525c203da Chat Federation: first working PoC! 2023-05-31 16:52:49 +02:00
5a945a0cb7 Chat Federation WIP:
Found that net.websocket is not appropriate.
This commit is a proof of concept. It has to be cleaned.
Still not working, but close!
2023-05-31 16:52:48 +02:00
9a2da60b7d Chat Federation (and a lot more) WIP:
Note: websocket s2s is not working yet, still WIP.

New Features

* Chat Federation:
  * You can now connect to a remote chat with your local account.
  * This remote connection is done using a custom implementation of [XEP-0468: WebSocket S2S](https://xmpp.org/extensions/xep-0468.html), using some specific discovering method (so that it will work without any DNS configuration).

Minor changes and fixes

* Possibility to debug Prosody in development environments.
* Using process.spawn instead of process.exec to launch Prosody (safer, and more optimal).
* Prosody AppImage: fix path mapping: we only map necessary /etc/ subdir, so that the AppImage can access to /etc/resolv.conf, /etc/hosts, ...
* Prosody AppImage: hidden debug mode to disable lua-unbound, that seems broken in some docker dev environments.
2023-05-31 16:52:47 +02:00
3bc05d88df Chat Federation: using S2S if available.
* if both local and remote instance have external XMPP connections enabled, the user joins the remote room with his local account
* some code refactoring (builtin.ts)

Note: documentation and settings descriptions are to do.

Related to #112
2023-05-31 16:52:47 +02:00
d359d3ad99 Fix Prosody room topic:
Due to a bug in mod_muc_http_defaults (https://hg.prosody.im/prosody-modules/rev/6d99ddd99694),
room topics were badly configured. The plugin will fix them at startup, and stops trying to set the subject.
2023-04-14 11:33:41 +02:00
cf0e4d8061 Fix settings read. 2023-04-14 11:33:41 +02:00
801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00
a87a622cba Prosody: renew self signed certificates periodically 2023-04-14 11:33:41 +02:00
b4dabfeeb9 New debug mode:
Debug mode is no more triggered by the NODE_ENV value, but by testing
the existance of a file in the plugin data directory.
2023-04-14 11:33:41 +02:00
f8b83defb5 Fix Prosody configuration. 2023-04-14 11:33:41 +02:00
772689f9ce Prosody: Generating self-signed certificates for s2s connections. 2023-04-14 11:33:41 +02:00
38023df6be XMPP clients connections WIP + fix mod_muc_http_defaults 2023-04-14 11:33:41 +02:00
d544a53b38 XMPP clients connections WIP 2023-04-14 11:33:41 +02:00
4d9d9d39b0 XMPP clients connections WIP:
* new option to allow external xmpp account s2s connections
* settings to setup the port and network interfaces
* documentation WIP

Related to issue #114
2023-04-14 11:33:41 +02:00
c81c2eb9bb Diagnostic tool: add the result of prosodyctl check in the debug section. 2023-04-14 11:33:41 +02:00
ed3f236120 Prosody Appimage: supports only x86_64:
* 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.
2022-12-12 19:17:43 +01:00