Commit Graph

258 Commits

Author SHA1 Message Date
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
6c13d2e377
Possibility to configure an OpenID Connect provider on the instance level WIP (#128). 2024-04-19 09:58:33 +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
64f9ff752a
Fix error messages. 2024-04-04 17:02:21 +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
972306aa3e
Fix visual glitch. 2024-04-03 17:36:01 +02:00
John Livingston
543f18c727
Fix Typescript. 2024-04-03 16:48:43 +02:00
John Livingston
df8dd8c764
dirty linting fix 2024-04-03 16:05:25 +02:00
John Livingston
2672290367
TODO/FIXME 2024-04-03 16:00:28 +02:00
John Livingston
3dcc05bf26
Share dialog: new page when no option is selected. 2024-04-03 15:54:58 +02:00
John Livingston
08fa8c28f4
Dirty hack to prevent some click event to default to href=# 2024-04-03 15:06:18 +02:00
John Livingston
e5e6c6f953
Room list: using new chat page 2024-04-03 12:13:44 +02:00
John Livingston
610040b253
Some styling and html fixes. 2024-04-02 17:40:43 +02:00
John Livingston
612a9f622d
Embeddeding chat without iframe besieds videos WIP 2024-03-28 15:06:15 +01:00
John Livingston
ba52d4e3d8
Reconnect livechat in embedded mode. 2024-03-28 12:22:30 +01:00
John Livingston
8988a85ec9
Refactoring + new embedded chat:
* moving conversejs plugin in separate files
* disconnecting embedded chat on navigation-end
2024-03-27 16:26:32 +01:00
John Livingston
67a1a6e32d
New embedded chat: spinner while loading 2024-03-26 17:38:40 +01:00
John Livingston
b6478f0f9e
New chat integration:
* refactoring
* cleaning
* using peertubeHelpers to get authent info when available
2024-03-26 15:38:22 +01:00
John Livingston
4cf2cd3ac8
New fullpage chat: better CSS 2024-03-26 14:49:47 +01:00
John Livingston
e04d553d0b
New full screen chat WIP + code refactoring. 2024-03-26 11:12:44 +01:00
John Livingston
22a675e915
WIP new full screen chat 2024-03-26 11:10:02 +01: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
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
3a9c17fba8
Slow Mode (#192): help button + fix field css 2024-02-22 14:53:41 +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
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
73922680c1
Fix #276: Peertube v6.0.0 compatibility in chatrooms page:
Using channel.avatars if channel.avatar is not available.
2023-11-16 10:46:58 +01:00
John Livingston
89c3eae9b1
labels 2023-09-26 14:58:59 +02:00
John Livingston
89fb6a7ac6
Don't validate hidden fields. 2023-09-26 14:28:06 +02:00
John Livingston
03dfa3de6f
Help button. 2023-09-26 14:21:32 +02:00
John Livingston
eb99369bea
Fix button margin 2023-09-26 14:15:29 +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
e9ff502646
Help links. 2023-09-22 20:39:50 +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
af115e984b
Fix help button 2023-09-22 16:45:09 +02:00
John Livingston
679baf024c
Moving Mustache templates content in separate files. 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
567a5e80ab
Link to channel options in room list 2023-09-22 16:45:08 +02:00
John Livingston
eed88e9339
UI WIP. 2023-09-22 16:45:08 +02:00
John Livingston
d77a276fac
Channel configuration 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
501e958c4b
Channels list UI 2023-09-22 16:45:07 +02:00
John Livingston
19264fb915
Channels list UI 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
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
d410d4e08e
Settings to disable the bot and the advances channel configuration 2023-09-22 16:45:02 +02:00
John Livingston
5373fb1570
Renaming 'moderation' pages to 'configuration'. 2023-09-22 16:45:02 +02:00
John Livingston
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
John Livingston
28c586fc09
Fix missing channel name. 2023-09-22 16:45:02 +02:00
John Livingston
0987a036a0
Moderation configuration screen: WIP. 2023-09-22 16:45:01 +02:00
John Livingston
09b1c889ff
Fix sort. 2023-09-22 16:45:01 +02:00
John Livingston
a25c4822fa
Moderation configuration screen: WIP. 2023-09-22 16:45:01 +02:00
John Livingston
02728bb38d
Moderation configuration screen: WIP. 2023-09-22 16:45:01 +02:00
John Livingston
efb8710f67
Moderation configuration screen: WIP. 2023-09-22 16:45:01 +02:00
John Livingston
5ecff1d916
Localized help urls:
Links to documentation are now using the front-end language to point to the translated documentation page
(except for some links generated from the backend, in the diagnostic tool for example).

Partial fix for #224.
2023-09-06 17:58:54 +02:00
John Livingston
9621f717d1
Adding a help button in the share chat modal. 2023-07-27 16:39:05 +02:00
John Livingston
3fd6b9b563
Links to online documentation:
* Adding a help button on top of the chat, that links to the online documentation on frama.io.
* Replaced github.io documentation links by frama.io documentation.
* Adding links to the documentation in the diagnostic tool.
2023-07-26 18:16:30 +02:00
John Livingston
f73ccbbf7e
Localization 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
2023-06-12 19:36:14 +02:00
John Livingston
5d323b2dfd
Chat Federation, connection to remote chat:
Front-end connect using BOSH or WS directly on the remote server.
If use is logged-in, his nickname is use as default nickname.
2023-04-21 16:56:48 +02:00
John Livingston
1bd5c4decc
Better xmpp share link (#114) 2023-04-14 11:57:01 +02:00
John Livingston
801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00
John Livingston
4a28991497 XMPP client connection WIP:
Adding an option in the «share chat» dialog to display the XMPP room
address.
2023-04-14 11:33:41 +02:00
John Livingston
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
John Livingston
9d18e401a7
Implements #153: Settings translations (#155)
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.
2023-02-15 11:54:48 +01:00
John Livingston
42c21ead94
Moving public directory away:
Moving `public/images` dir to `assets/images`, because it conflicts with gitlab CI/CD for documentation.
Moving `assets/styles.css` to `assets/styles/styles.css`.

Related to #117.
2023-02-14 10:19:55 +01:00
John Livingston
ce9d531db7
Share chat link popup: add an option to generate an iframe.
Implements #110, and #92 partially.
2023-01-11 19:24:13 +01:00
John Livingston
c178213e19
Use ESBuild for frontend build.
Replacing webpack by ESBuild for client code compilation (as in the
official quickstart plugin).

So we can remove deprecated webpack dependencies.

Note: webpack is still used for ConverseJS build.
This may be removed soon.

Related to issue #122.
2022-12-12 19:31:29 +01:00
John Livingston
7906ddf625
Prosody mode only:
Removing old modes (ConverseJS and External URI).
Work in progress.
2022-10-10 18:08:20 +02:00
John Livingston
01a052d380
Fix #97 #54: Settings to hide the chat for anonymous users 2022-04-11 18:12:12 +02:00
John Livingston
80ac08bd18
Transparent background + fix
* Builtin Prosody, Share chat url: option to have a transparent background (for streaming integration).
* Builtin Prosody, Share chat url: fixed new day hidding when no scrollbar in readonly mode.
2022-01-16 17:50:11 +01:00
John Livingston
7db856ce0f
Using types declarations from the official @peertube/peertube-types package. 2022-01-11 01:29:33 +01:00
John Livingston
04b1945239
Builtin Prosody, Share chat url: ability to show/hide the scrollbar in readonly mode. 2022-01-04 17:42:03 +01:00
John Livingston
19b3846a5a
Fix Autocolors on chrome browser. 2022-01-04 05:05:32 +01:00
John Livingston
c95dd1f713
chat-share-url 2021-12-21 19:54:37 +01:00
John Livingston
ffb8be8b30
Share chat modal: saving form. 2021-12-21 18:39:02 +01:00
John Livingston
05af985489
Share chat modal WIP. 2021-12-21 18:12:18 +01:00
John Livingston
fc72c33574
Share chat modal WIP. 2021-12-21 17:14:02 +01:00
John Livingston
e9ad38afe6
WIP. 2021-12-15 15:00:39 +01:00
John Livingston
9f9643ac89
Share chat modal WIP. 2021-12-14 17:46:07 +01:00
John Livingston
e6dd31afd0
Code refactoring. 2021-12-14 15:54:36 +01:00
John Livingston
566681150b
Share chat url
Modal for video owner (and instance's moderators) that allows to generate a link to the chat. So you can - for example - obtain the url to use for OBS integration.
WIP
2021-12-14 15:41:34 +01:00
John Livingston
df3f87e903
XMPP external components. 2021-12-11 19:09:01 +01:00
John Livingston
2e7cec04d9
Reverting work on DemoBot (it is now an external package). 2021-12-11 17:40:26 +01:00
John Livingston
d01d13a69e
Merge branch 'main' into develop 2021-12-08 19:41:43 +01:00
John Livingston
aaab1fe604
Fix some cases where the chat immediatly close
Peertube events are not fired in the good order.
This is a dirty fix: saving the current window location when
initializing the chat, and comparing the saved url when navigation-end
is triggered.
2021-12-08 19:33:28 +01:00
John Livingston
62456aead1
Bots settings (WIP). 2021-12-07 10:29:20 +01:00
John Livingston
5e988605ce
Builtin Prosody: new settings to choose how long the room's content is archived, and if it should be archived by default. 2021-12-01 12:57:15 +01:00
John Livingston
f28fbf7ed3
New buttons. 2021-11-25 16:56:32 +01:00
John Livingston
215c5c7f1e
Fix autocolors settings. 2021-11-24 18:21:35 +01:00
John Livingston
ba44eabe95
Fix css autocolors. 2021-11-22 14:02:25 +01:00
John Livingston
ede36695cd
Simplier colors detection (using css vars). 2021-11-22 13:30:55 +01:00
John Livingston
8999133dcc
Autocolors
WIP on a new feature: trying to guess current Peertube theme's colors,
and apply them to ConverseJS.
2021-11-19 16:45:10 +01:00
John Livingston
6c19f0a609
CSS: chat buttons smaller when chat is open. 2021-11-18 15:35:13 +01:00
John Livingston
9b20042aad
ConverseJS: theme settings. 2021-11-18 11:08:12 +01:00
John Livingston
8a2b063489
Settings: auto compute «list rooms» button styles. 2021-11-18 10:44:30 +01:00
John Livingston
5f3e8f08a2
Hacking Peertube's styles to maximize chat width. 2021-11-17 14:41:25 +01:00
John Livingston
aaea040a4f
Renaming. 2021-08-05 18:48:06 +02:00
John Livingston
0e14ec6649
Removed the settings «Chats are only available for local videos».
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).
2021-08-05 18:45:06 +02:00
John Livingston
3dcbba57e6
Room list: force channel or video room. 2021-08-05 18:34:38 +02:00
John Livingston
e9d1e55084
Room list: handle channel rooms. 2021-08-05 18:25:27 +02:00
John Livingston
5c0b274f39
Builtin Prosody: adding the prosody-room-type settings to allow rooms to be per channel or per video. WIP. 2021-08-05 15:41:49 +02:00
John Livingston
e14007f2e9
External webchat tool: new placeholder CHANNEL_ID in the webchat url. 2021-08-04 17:38:26 +02:00
John Livingston
b64d9730d0
Adding last activity informations. 2021-07-19 16:51:51 +02:00
John Livingston
91ade27d81
Changing labels. 2021-07-19 15:47:18 +02:00
John Livingston
4a775b1df5
Room list: retrieving video metadata. 2021-07-19 15:45:57 +02:00
John Livingston
446ebc0de9
Merge branch 'release/3.2.0' into prosody_room_list 2021-07-14 19:11:09 +02:00
tytan652
3b51bf2946 Add localhost c2s connections 2021-07-13 20:18:32 +02:00
John Livingston
47bf53bafb Merge branch 'release/3.2.0' into prosody_room_list 2021-06-22 13:47:39 +02:00
John Livingston
6608480826 Builtin Prosody: optional settings to change the url for Prosody's API calls. 2021-06-22 13:23:01 +02:00
John Livingston
30d70e033e Retrieving list rooms from prosody. 2021-06-12 03:52:45 +02:00
John Livingston
56e74e0877 Initialize prosody-list-rooms button. 2021-06-12 01:16:57 +02:00
John Livingston
80ef06c65f Settings simplification to prepare translations. Diagnostic button is initialized by frontend. 2021-06-11 14:30:46 +02:00
John Livingston
385a0074c1 Chat can be enabled in video properties. 2021-06-08 18:08:58 +02:00
John Livingston
5e69474234 Simpler settings screen (tips, help, titles, ...) 2021-06-03 12:20:19 +02:00
John Livingston
d0b44c3486 Replacing old settings by chat-type. 2021-06-03 11:46:11 +02:00
John Livingston
36146ee76c Adding the chat-type field in the settings. 2021-06-02 19:54:04 +02:00
John Livingston
22f392d838 Use frontend peertubeHelpers.getBaseRouterRoute when available. 2021-06-02 15:18:09 +02:00
John Livingston
56f1c5895e Remove backward compatibility (registerSettingsScript). 2021-06-02 12:32:00 +02:00
John Livingston
a1d5d83cc5 Remove backward compatibility. 2021-06-02 12:20:15 +02:00
John Livingston
5b7f247af3 Using new placeholder. WIP. 2021-05-18 20:35:19 +02:00
John Livingston
07ab2a80ed Settings: hide unnecessary settings depending on webchat mode (requires Peertube 3.2.0). 2021-05-10 21:04:04 +02:00
John Livingston
bebefb1a5d Don't display webchat when viewing a playlist:
* remove old Peertube 3.0.1 hook compatibility
* use new parameters for hook action:video-watch.video.loaded (Peertube
3.2.0)
* backward compatibility with Peertube 3.1.0 hooks
* don't display webchat if there is a current playlist
2021-05-07 18:52:01 +02:00
John Livingston
34d8b7ded5 Fix token type. 2021-05-04 11:29:03 +02:00
John Livingston
f11fec7c97 Diagnostic: check prosody version. 2021-05-02 16:16:19 +02:00
John Livingston
834611dfe5 Frontend: using the new videoHasWebchat function. 2021-05-01 19:06:05 +02:00
John Livingston
ef05583fba Adding a Shared folder:
* init some shared functions (videoHasWebchat, parseConfigUUIDs)
* api/room: checking that video has live enabled
* fix promise handling in initChat function
* removing some 'use strict' that are no more necessary in typescript
2021-05-01 18:30:21 +02:00
John Livingston
9dc0ce6383 Removing a hack:
* replacing loadByUrl by loadByIdOrUuid
* breaks compatibility with peertube 3.0.1
* simpler webchat route
* fix uuid escaping in iframe uri
2021-04-30 17:39:27 +02:00
John Livingston
817cf28e2a Using builtin prosody when enabled. 2021-04-14 18:47:23 +02:00
John Livingston
a018ef5293 WIP on Prosody diagnostic. 2021-04-14 16:14:56 +02:00
John Livingston
6bc1f66cf1 Moving peertube definition files to @types directory. 2021-04-12 16:41:18 +02:00
John Livingston
20a5372e12 Adding PLUGIN_CHAT_PACKAGE_NAME 2021-04-12 15:08:05 +02:00
John Livingston
80a51df1d5 Fix: better response processing. 2021-04-10 13:57:15 +02:00
John Livingston
f65b6ae876 Diagnostic tools. WIP 2021-04-10 04:16:25 +02:00
John Livingston
59cd78ee82 Initializing a diagnostic tools. WIP 2021-04-09 21:28:16 +02:00
John Livingston
1728e52e9f Fix typing. 2021-04-09 13:08:20 +02:00
John Livingston
0edc81ec62 Better peertube definitions. 2021-04-09 13:07:42 +02:00
John Livingston
3e46552ec0 Typescript for frontend code. 2021-04-07 18:14:58 +02:00
John Livingston
3dd8718744 Eslint: configure for standard-typescript (backend), and separate configurations depending on folders. 2021-04-07 17:20:28 +02:00
John Livingston
10f6b17d84 New icons for buttons. 2021-03-08 11:33:09 +01:00
John Livingston
a7c6e520e6 Better UX
* All buttons are in the same DOM container as the iframe
* Icons for buttons
* Rewriting the build process
* Simplier state management
* Buttons are hidden using CSS
2021-03-01 18:38:39 +01:00
John Livingston
5230aad30f The «open in new window» button is now optional. 2021-02-21 00:13:29 +01:00
John Livingston
a06961c5cc Option for enabling live only on local videos. 2021-02-20 23:37:23 +01:00
John Livingston
d9e461f984 Builtin ConverseJS:
* Building with webpack. TODO: include assets.
* Page template
2021-02-20 20:42:41 +01:00
John Livingston
fbfb38392d Work in progress: builtin converseJS. 2021-02-20 18:31:21 +01:00
John Livingston
e41938f773 The chat is displayed on the right of the video. 2021-02-20 16:31:16 +01:00
John Livingston
767b9d0a27 Fix uncomplete commit. 2021-02-20 16:03:44 +01:00
John Livingston
b071489e5b Fix:
* Chat should be displayed for waiting and ended lives
* Chat and chat buttons must be cleaned out of the dom on navigation
2021-02-20 15:41:00 +01:00