Commit Graph

428 Commits

Author SHA1 Message Date
John Livingston
ae2d45b007
Enable the chat by default when a live is created:
So that lives created by the Android Peertube Live app will have chat by default.
Fix #400.
2024-06-14 17:33:49 +02:00
John Livingston
7312297e25
Missing SPDX. 2024-06-12 10:53:14 +02:00
OPNA2608
ad27a76fab Deregister prosodyctl interval callback when spawn.stdin disappears
To avoid running into "write EPIPE" errors.
2024-06-11 22:45:00 +02:00
John Livingston
f1cf98921f
Custom channel emoticons WIP (#130):
* fix reset when opening multiple chat
* disable default converseJs custom icons
2024-06-07 13:45:07 +02:00
John Livingston
200d21d5a6
Custom channel emoticons WIP (#130): federation 2024-06-07 13:45:06 +02:00
John Livingston
3c65aa3fd3
Custom channel emoticons WIP (#130): cache 2024-06-07 13:45:06 +02:00
John Livingston
a777c7ac8d
Custom channel emoticons WIP (#130) 2024-06-07 13:45:06 +02:00
John Livingston
893708d93a
Custom channel emoticons WIP (#130) + Fix cleanup on channel deletion. 2024-06-07 13:45:05 +02:00
John Livingston
92e9d6d1af
Custom channel emoticons WIP (#130) 2024-06-07 13:45:05 +02:00
John Livingston
04403225fb
Custom channel emoticons WIP (#130) + various fix 2024-06-07 13:45:04 +02:00
John Livingston
688ab4f029
Custom channel emoticons WIP (#130) 2024-06-07 13:45:04 +02:00
John Livingston
dad29a941f
Custom channel emoticons WIP (#130) 2024-06-07 13:45:04 +02:00
Mehdi Benadel
2c81d9a052 lint update 2024-05-28 13:43:07 +02:00
Mehdi Benadel
9ff4abfce4 added attempt at dynamic listing 2024-05-28 13:43:07 +02:00
John Livingston
5a14e3f755
New setting to listen C2S connection on non-localhost interfaces (#377). 2024-05-27 16:32:40 +02:00
John Livingston
d5c327565c
Adding SPDX headers (WIP) 2024-05-23 11:42:14 +02:00
John Livingston
5f4ac233af
Fix colors in old fullpage mode (#139) 2024-05-21 15:22:09 +02:00
John Livingston
4afc6ec4c6
Slow mode (related to #385):
The slow mode duration on the channel option page is now a default value for new rooms. Streamers can change the value room per room in the room's configuration.
2024-05-17 15:32:31 +02:00
John Livingston
da75765bdb
Changing defaults MUC affiliation (#385):
* For Peertube moderators/admins, we add a button "Promote". Clicking on it will promote them as MUC owner.
2024-05-17 15:18:32 +02:00
John Livingston
5745e8c8a3
Changing defaults MUC affiliation (#385):
* video/channel owner is MUC owner
* the bot is MUC owner
* the bot is admin on the MUC component
* Peertube moderators/admins have no more special access (by default)
* migration script to update all existing rooms
2024-05-17 11:47:37 +02:00
John Livingston
7608f7c14b
Task lists WIP:
* first shot for the pubsub module that will handle tasks.
2024-05-13 10:52:32 +02:00
John Livingston
a026c57cc3
The livechat plugin broke the federation with Peertube >= 6.1.0. 2024-05-05 13:51:10 +02:00
John Livingston
0a492d1921
Adding some standard OpenID Connect providers (Google, Facebook) (WIP):
* frontend
2024-04-22 14:28:55 +02:00
John Livingston
024186ba2c
Adding some standard OpenID Connect providers (Google, Facebook) (WIP):
* refactoring, to allow several OIDC singletons
* settings for google and facebook
* backend code
2024-04-22 13:03:31 +02:00
John Livingston
3d3bb2bd27
OpenID Connect documentation + cleaning. 2024-04-19 11:03:50 +02:00
John Livingston
7afcbcf1a2
Refactoring: better naming, to prepare other external authent. 2024-04-19 09:58:36 +02:00
John Livingston
cfc5e98d90
Improving the pruning mechanism. 2024-04-19 09:58:36 +02:00
John Livingston
ce2d8ed123
Possibility to configure an OpenID Connect provider on the instance level WIP (#128)
Pruning external users periodically.
2024-04-19 09:58:36 +02:00
John Livingston
a9a0925ac0
Possibility to configure an OpenID Connect provider on the instance level WIP (#128)
Default avatar for external accounts.
2024-04-19 09:58:36 +02:00
John Livingston
8a65f447c8
Possibility to configure an OpenID Connect provider on the instance level WIP (#128)
Get avatar from remote service.
2024-04-19 09:58:35 +02:00
John Livingston
2334a5f861
Possibility to configure an OpenID Connect provider on the instance level WIP (#128).
Sign out button for external accounts.
2024-04-19 09:58:35 +02:00
John Livingston
131d9ac22d
Fix. 2024-04-19 09:58:35 +02:00
John Livingston
3efbfbc12b
Possibility to configure an OpenID Connect provider on the instance
level WIP (#128)

Fix chat federation.
2024-04-19 09:58:35 +02:00
John Livingston
c3d7102d4a
Possibility to configure an OpenID Connect provider on the instance
level WIP (#128):

Small fixes, so it works with Google accounts.
2024-04-19 09:58:34 +02:00
John Livingston
a4e42a11b9
Fix controller. 2024-04-19 09:58:33 +02:00
John Livingston
6c13d2e377
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:33 +02:00
John Livingston
3a5f27e751
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:33 +02:00
John Livingston
8574ab581d
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:33 +02:00
John Livingston
6c75863472
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:32 +02:00
John Livingston
43d0fba274
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:32 +02:00
John Livingston
669b260307
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:32 +02:00
John Livingston
e646ebfd69
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:32 +02:00
John Livingston
514cc1d159
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:32 +02:00
John Livingston
c1e877cb44
Refactoring settings registration:
One function by settings "functional section", to have a clearer
initSettings function.
2024-04-19 09:58:31 +02:00
John Livingston
2047282b98
Fix typo. 2024-04-10 09:01:10 +02:00
John Livingston
8fc8e3032b
Log in with external Peertube account (#348):
* For anonymous users: new "log in using an external account" dialog, with the "remote Peertube account" options
* ConverseJS: using global vars for custom localized string (injected
  using Webpack)
2024-04-09 16:46:55 +02:00
John Livingston
33bc346e83
Fix #48: Proper 404 and 403 pages when trying to open non-existant chatroom.:
* error page on the old endpoint, when anonymous users are disabled.
2024-04-04 16:48:19 +02:00
John Livingston
0719d25f35
Fix #48: Proper 404 and 403 pages when trying to open non-existant chatroom (WIP). 2024-04-04 14:58:24 +02:00
John Livingston
e5e6c6f953
Room list: using new chat page 2024-04-03 12:13:44 +02:00
John Livingston
bd695bdb27
New fullscreen chat WIP:
* Fullscreen chat: now uses a custom page (in other words: when opening the chat in a new tab, you will have the Peertube menu). WIP
* some code refactoring (getBaseRoute moved to util/uri, ...)
2024-03-26 11:09:46 +01:00
John Livingston
dea7ab783a
Fix slow mode duration update on channel change. 2024-03-07 18:23:48 +01:00
John Livingston
de15b7d480
Slow mode duration:
* channel option is no more a default value, but the current value
* changing naming in accordance
* changing labels and documentation
2024-03-07 17:56:27 +01:00
John Livingston
e67b21dd9f
Updating slow mode duration on existing rooms when changing channel options (related to #332). 2024-03-07 17:33:18 +01:00
John Livingston
4dd4f18965
Fix #87: updating chat room title when video/channel title is changed:
* renaming module list_rooms to manage_rooms
* added some API to update room info
* when a video or a channel is updated, sending an API call to update
  the room
2024-03-07 16:22:14 +01:00
John Livingston
2115b352a4
Updating xmppjs-chat-box version. 2024-03-07 10:14:36 +01:00
John Livingston
f5b9ffe616
Temporary security fix for #332: rollback of v8.3.1:
* Setting video owner as room owner as side effects. Like leaking the instance moderator/admin list. And maybe others.
  * So we rollback this feature, waiting for a better way to allow room admins/moderators to change room settings.
  * As a consequence, users that are not Peertube moderator/administrator can't change the slow mode configuration without deleting/recreating the room. This will be fixed in a later plugin version.
2024-03-01 15:25:29 +01:00
John Livingston
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
John Livingston
9ec7167da1
Debug Mode: new option to promote some JIDs as admins on the MUC component. 2024-02-29 15:58:41 +01:00
John Livingston
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
John Livingston
3d9237624d
Naming:
* changing delay by duration for slow mode options
* better labels
2024-02-16 17:35:55 +01:00
John Livingston
cd97d91f79
Replaced a sync file operation by an async one, to avoid blocking the server. 2024-02-16 17:35:54 +01:00
John Livingston
afbc78d0e6
Slow Mode WIP (#192): option position 2024-02-16 17:35:54 +01:00
John Livingston
cf179d7f72
Slow mode WIP (#192):
* default delay is configurable in channel's chat rooms options.
2024-02-16 17:35:53 +01:00
John Livingston
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
John Livingston
8a400d2d9f
New abstract avatars 2024-02-12 16:50:08 +01:00
John Livingston
91ef261c16
Fenec avatars. 2024-02-09 15:35:40 +01:00
John Livingston
fbeffef34b
Bird avatars. 2024-02-09 15:12:48 +01:00
John Livingston
9561f36b93
Cats avatars. 2024-02-09 13:17:12 +01:00
John Livingston
70563200fe
New avatars:
* new settings to change the avatar set
* user documentation
2024-02-09 12:41:05 +01:00
John Livingston
19fca3891a
New avatars:
* moving files in better directory structure
* new bot avatar
2024-02-09 11:16:29 +01:00
John Livingston
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
John Livingston
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
John Livingston
5d4bfceb73
Hidden force_default_hide_muc_participants query parameter, for testing
purpose.
2024-01-31 18:12:53 +01:00
John Livingston
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
John Livingston
353f2d03f3
Fix disabling bot 2023-09-26 14:37:56 +02:00
John Livingston
6705cd9e3d
Fix multiline. 2023-09-25 15:37:58 +02:00
John Livingston
b8aef07182
Forbidden words comment field. 2023-09-25 13:16:15 +02:00
John Livingston
06b9417650
Channel configuration UI: form validation. 2023-09-25 12:51:15 +02:00
John Livingston
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
John Livingston
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
John Livingston
562073fc09
Channel conf UI WIP 2023-09-22 16:45:09 +02:00
John Livingston
aa71a302f6
Channel Configuration UI WIP 2023-09-22 16:45:08 +02:00
John Livingston
cc673bd3cb
Refactoring. 2023-09-22 16:45:08 +02:00
John Livingston
eed88e9339
UI WIP. 2023-09-22 16:45:08 +02:00
John Livingston
f00bac5eb1
Channel configuration UI + disabling bannedJIDs (for now) 2023-09-22 16:45:07 +02:00
John Livingston
6c966f608b
Stronger password. 2023-09-22 16:45:07 +02:00
John Livingston
852221d232
Moderation. 2023-09-22 16:45:07 +02:00
John Livingston
4fe972dc10
Configure bot name + refactoring. 2023-09-22 16:45:07 +02:00
John Livingston
9e7d9c6069
Bot must be admin on the MUC component. 2023-09-22 16:45:07 +02:00
John Livingston
e0c31f09aa
Fix bot authentication. 2023-09-22 16:45:06 +02:00
John Livingston
de9de8e358
wip 2023-09-22 16:45:06 +02:00
John Livingston
8b9da417b3
Fix bot spawning, avoiding extra npm process. 2023-09-22 16:45:06 +02:00
John Livingston
437fa4c17b
log level. 2023-09-22 16:45:06 +02:00
John Livingston
2289d79c28
Various fix and wip 2023-09-22 16:45:06 +02:00
John Livingston
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
John Livingston
65fd49a81c
Fix rebuild 2023-09-22 16:45:05 +02:00
John Livingston
55fa6c0623
Fix rebuild 2023-09-22 16:45:05 +02:00
John Livingston
59c0c0c89b
removing unecessary await 2023-09-22 16:45:05 +02:00
John Livingston
260a25f411
Updating room-channel when prosody-room-type is changed 2023-09-22 16:45:05 +02:00
John Livingston
0e201d4e43
Fix muc domain 2023-09-22 16:45:05 +02:00