Commit Graph

256 Commits

Author SHA1 Message Date
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
John Livingston fe6cf4ad32 Fix positionning. 2021-02-20 14:27:01 +01:00
John Livingston fba0422adb Adding eslint. 2021-02-20 11:55:00 +01:00