Commit Graph

352 Commits

Author SHA1 Message Date
John Livingston 9cee881383
Bump version 8.0.3 2023-11-16 11:15:10 +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 27b32f022b
Fix #275: Peertube v6.0.0 compatibility for avatars:
Using account.avatars if account.avatar is not available in
mod_vcard_peertubelivechat.
2023-11-16 10:33:16 +01:00
John Livingston 1949580eb9
Changelog. 2023-11-16 09:56:35 +01:00
John Livingston 6be175eacb
changelog 2023-09-28 09:29:52 +02: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 05b45fe6b5
Bump v8.0.1 2023-09-26 15:22:20 +02:00
John Livingston af2798366c
Renaming "pre-recorded messages" to "timers" 2023-09-26 14:41:46 +02:00
John Livingston 353f2d03f3
Fix disabling bot 2023-09-26 14:37:56 +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 8506b38adf
Fix dark mode for channel configuration buttons. 2023-09-26 14:12:30 +02:00
John Livingston 6ed5e4497a
Bump v8.0.0 2023-09-25 17:48:20 +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 2735ae703a
Changelog 2023-09-22 16:45:09 +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 862076b9b9
Changelog. 2023-09-22 16:45:03 +02:00
John Livingston 85e7598c1f
Clean changelog after rebase 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 efb8710f67
Moderation configuration screen: WIP. 2023-09-22 16:45:01 +02:00
John Livingston 64668733c8
Code refactoring:
Splitting API code in several files.
2023-09-07 17:20: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 0cc6298229
ConverseJS 10.1.6. 2023-09-04 12:16:14 +02:00
John Livingston d8cce224e8
Changelog 2023-09-04 12:08:36 +02:00
John Livingston 759809cf0a Changelog 2023-08-15 16:35:28 +02:00
John Livingston 0eb5ae5d97
Bump version 7.2.2 2023-08-07 17:12:26 +02:00
John Livingston 22f7d8fcef
Fix #200: externalizing the Prosody AppImage build:
The build process for the Prosody AppImage only worked on Debian based
stations.
See: https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/200

With this commit, the Prosody AppImage is no more built in this plugin, but downloaded from [prosody-appimage](https://github.com/JohnXLivingston/prosody-appimage).
2023-08-07 16:59:06 +02:00
John Livingston 16587a0d0b
Changelog 2023-08-07 10:20:12 +02:00
John Livingston 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
John Livingston 6184205e36
Fix client tsc check 2023-08-01 16:09:33 +02:00
John Livingston 9621f717d1
Adding a help button in the share chat modal. 2023-07-27 16:39:05 +02:00
John Livingston 46727a1511
Fix link to documentation in french. 2023-07-27 16:12:56 +02:00
John Livingston 4873e34389
Bump version 7.2.0 2023-07-26 18:25:16 +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 56df985745
Documentation translation (#199)
Documentation translation using weblate.

* Use po4a to generate .po files from the english markdowns, then to generate translated files
* Some pages can be marked as «english only» (for technical documentation for example)
* New Hugo shortcode to use application strings in documentation (for example for settings names)
* The code of conduct is no more translated, but there is a link to official Contributor Covenant translations
* Adding all plugin's supported languages

Related to https://github.com/JohnXLivingston/peertube-plugin-livechat/issues/117
2023-07-14 19:15:30 +02:00
John Livingston 0c4c22b323
Changelog update. 2023-07-07 10:09:54 +02:00
John Livingston 995dfa4dff Some refactoring. 2023-07-06 14:10:05 +02:00
John Livingston 9ae7107f3a
Fix FEP name and url. 2023-07-05 15:56:48 +02:00
John Livingston f7e7cddf72
FEP-1970: implementation WIP:
Adding the data on outgoing objects.

Related to #113.
2023-07-04 18:09:50 +02:00
John Livingston abed34ec07
Bump version 7.1.0 2023-06-28 11:21:35 +02:00
John Livingston 89a11cd3d6
Changing the way the translations are handled:
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.
2023-06-09 17:08:39 +02:00
John Livingston 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
John Livingston 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
John Livingston 3a597065ea
Bump version 7.0.0 2023-05-31 18:21:39 +02:00
John Livingston 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
John Livingston 0185b56cab
Some comments. 2023-05-31 17:08:17 +02:00
John Livingston dbf43ae016
Prosody recommended version is 0.12.x. 2023-05-31 16:52:55 +02:00
John Livingston 46cd201724
changelog update. 2023-05-31 16:52:54 +02:00
John Livingston 743c4eabd9
Chat Federation, avoid spoofing:
When sanitizing remote informations, we check that urls and hosts are on
the correct domain or subdomain.
2023-05-31 16:52:54 +02:00
John Livingston 4faf8a3aea
Fix DNS documentation. 2023-05-31 16:52:54 +02:00
John Livingston c097f5a596
Enabling again direct s2s. 2023-05-31 16:52:54 +02:00
John Livingston b3582e6bfa
Fix missing self signed certificates is some conditions. 2023-05-31 16:52:53 +02:00
John Livingston 2f52dc802a
Bump version 6.4.0-alpha5 2023-05-31 16:52:53 +02:00
John Livingston a6e361d1dd
Fix typo + secure test 2023-05-31 16:52:53 +02:00
John Livingston 8132e7f51a
Bump version 6.4.0-alpha4 2023-05-31 16:52:53 +02:00
John Livingston fddf68a0cc
Disabling direct s2s for alpha.4 2023-05-31 16:52:53 +02:00
John Livingston 3b8042ebe2
Fix timer. 2023-05-31 16:52:52 +02:00
John Livingston 589db6566c
Bump version 6.4.0-alpha3 2023-05-31 16:52:52 +02:00
John Livingston c00ffc31b2
Federated chat: enabling the direct s2s mode. 2023-05-31 16:52:52 +02:00
John Livingston 2de38661d6
Websocket S2S: ping every 55s to keep alive. 2023-05-31 16:52:52 +02:00
John Livingston 92d92e3350
Fix: i misunderstood the parameter s2s_close_timeout. And removing a duplicate hook. 2023-05-31 16:52:52 +02:00
John Livingston 9d40405f75
Fix session.secure for outgoint websocket s2s. 2023-05-31 16:52:51 +02:00
John Livingston cf6dce693a
Some TODO. 2023-05-31 16:52:51 +02:00
John Livingston 5d0b80e8d4
Some TODO. 2023-05-31 16:52:51 +02:00
John Livingston c52d231435
6.4.0-alpha.2 version. 2023-05-31 16:52:51 +02:00
John Livingston ff96ff7763
Bump version 6.4.0-alpha.1 2023-05-31 16:52:50 +02:00
John Livingston 627b45ffc7
Chat Federation WIP: code cleaning. 2023-05-31 16:52:49 +02:00
John Livingston 8fe48a068f
Refactoring the debug mode code, and adding some options. 2023-05-31 16:52:49 +02:00
John Livingston 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
John Livingston 1174f661be
TODO notes 2023-05-31 16:52:47 +02:00
John Livingston 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
John Livingston 3ac504a345
Fix changelog. 2023-04-21 19:44:31 +02:00
John Livingston 252dd30db1
Bump version 6.3.0-beta1 2023-04-21 17:35:14 +02:00
John Livingston a07a7a6ce8
Changelog 2023-04-21 17:09:24 +02:00
John Livingston 310419ad66
Fix Peertube crash:
Peertube could crash when someone attemps to connect to Websocket endpoint during plugin initialization.
2023-04-17 11:14:41 +02:00
John Livingston 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
John Livingston 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
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 c81c2eb9bb Diagnostic tool: add the result of `prosodyctl check` in the debug section. 2023-04-14 11:33:41 +02:00
John Livingston 7cae2de92f
Version 6.2.3 2023-03-08 10:25:47 +01:00
John Livingston e5c063afb5
Fix italian translation + v6.2.2. 2023-03-07 16:03:57 +01:00
John Livingston b9c93c41fd
update npm dependencies. 2023-03-07 15:57:14 +01:00
John Livingston 6716888fd1
Changelog. 2023-03-07 14:59:48 +01:00
John Livingston 3bb8b9886a
Changelog v6.2.0 2023-03-06 12:10:02 +01:00
John Livingston d964a96654
Credits. 2023-02-17 09:47:21 +01:00
John Livingston 20a9530992
update changelog 2023-02-16 07:00:41 +01:00
John Livingston c97cb5bb18
Partial german settings translations. 2023-02-15 15:02:22 +01: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 2950fdeddf
link to the new documentation. 2023-02-13 18:03:23 +01:00
John Livingston dc1de61a95
Release v6.1.0 2023-02-01 14:45:49 +01:00
John Livingston 43b49dc4f0
Fix changelog. 2023-02-01 14:38:27 +01:00
John Livingston d6030afabc
ConverseJS: in readonly mode, don't show any info messages (except when disconnected).
Related to #111 #133 #134
2023-01-16 18:04:20 +01:00
John Livingston f1fe010409
ConverseJS: remove browser notifications, and browser tab message count. 2023-01-12 11:53:12 +01:00
John Livingston 0545a1034a
ConverseJS optimization:
* ConverseJS: Don't send state notifications. #134
* ConverseJS: Don't show join/leave messages. #134
2023-01-12 11:46:02 +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 f16f8fa948
Missing changelog entry. 2022-12-12 19:31:30 +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 901d1e96ab
Update @peertube/peertube-types to 4.2.2:
* using a stable version (4.2.2)
* minimum Peertube version is now 4.2.0
* removing some type customizations

Related to issue #122.

Note: there are still some quirks. See: https://github.com/Chocobozzz/PeerTube/issues/5446
2022-12-12 19:31:17 +01:00
John Livingston 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
John Livingston 9683afcbaf
6.0.0 beta 1 changelog 2022-12-06 18:46:08 +01:00
John Livingston 670144d0cf
Credit for japanese translations. 2022-12-06 17:25:18 +01:00
John Livingston 059c6522b6
Implements #37: diagnostic tools includes last lines from prosody error log files. 2022-11-18 17:48:20 +01:00
John Livingston b5901739a9
Using Prosody 0.12.1 (debian bullseye-backport):
This fixes issue #73: deleted message are shown when loading history.
2022-11-18 17:04:24 +01:00
John Livingston 187d8be87f
Documentation update + remove docker build:
* Update documentation and removed deprecated parts
* removed Docker image build files, as it is no more needed
2022-11-15 18:04:51 +01:00
John Livingston 3ba64d3732
Re-ordering the settings page. 2022-11-15 17:19:49 +01:00
John Livingston 459d92cef9
Embedding Prosody using AppImage:
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
2022-11-15 15:20:10 +01:00
John Livingston 91ea442ce6
Fix «autocolor» mecanism when no color provided (raised an error) 2022-11-01 15:17:21 +01:00
John Livingston ab89351f42
Prosody server: enabling mod_disco. 2022-11-01 10:35:42 +01:00
John Livingston a8200a5724
ConverseJS v10.0.0: checkout upstream
Using Converse v10.0.0. WIP
2022-10-31 17:39:08 +01:00
John Livingston f4daae6ed9
Fix Changelog. 2022-10-13 18:36:36 +02:00
John Livingston 7259ae59a2
Builtin Prosody: BOSH path without plugin version, so it can be optimized in the nginx configuration. 2022-10-13 10:40:06 +02: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 36cda4a9b4
Adding an easy way to customize background transparency in OBS and co. 2022-08-07 11:51:07 +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 ecc673dd5d
Bump version 5.6.0. 2022-04-07 11:29:13 +02:00
John Livingston 0e56e20a33
Updating dependencies. 2022-04-07 11:12:34 +02:00
John Livingston d0762362e0
Deprecation warning. 2022-04-07 10:55:31 +02:00
John Livingston 4caf6168bf
Bump version. 2022-01-19 14:43:47 +01:00
John Livingston b975a0c1ff
Changelog for translations. 2022-01-18 18:16:32 +01:00
John Livingston 2704a1a327
Builtin Prosody: using ConverseJS clear_cache_on_logout=true and allow_user_trust_override=false parameters 2022-01-16 19:29:20 +01: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 d9bb6cc106
Bumper version 5.4.0. 2022-01-10 03:07:27 +01:00
John Livingston 4e69a2d8e6
Auto viewer mode (WIP). 2022-01-07 19:28:07 +01:00
John Livingston 1e27debb7d
Better random avatars quality. 2022-01-07 11:29:20 +01:00
John Livingston 42688a42ce
Bump version 5.3.0. 2022-01-07 02:53:09 +01:00
John Livingston 8f42dd6c28
Also hide separators when readonly=noscroll. 2022-01-07 02:15:39 +01:00
John Livingston 7e13f61aa7
Revert v5.2.1, as it was not the bug. 2022-01-07 01:40:35 +01:00
John Livingston 33a569e475
Remove deprecated changelog line. 2022-01-07 01:06:39 +01:00
John Livingston bf35172856
Builtin Prosody: display random avatars for anonymous users. 2022-01-06 05:30:55 +01:00
John Livingston 0f0682036c
ConverseJS Peertube theme: hide avatars under 250px width instead of 576px. 2022-01-05 20:22:33 +01:00
John Livingston 2effa8e4e9
Changelog & cleaning. 2022-01-05 20:13:59 +01:00
John Livingston be592aeacf
Enable Prosody modules pep and vcard_legacy. 2022-01-05 02:01:54 +01:00
John Livingston cf8a013195
Update prosody-modules (mod_muc_moderation, mod_auth_http) 2022-01-05 01:09:55 +01:00
John Livingston 563e42c640
Fix errors. 2022-01-04 17:49:41 +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 5296de6a91
Fix ConverseJS: livechatWindowTitlePlugin was broken. 2022-01-04 04:23:13 +01:00
John Livingston a3484ac963
Trying to fix an OBS cache problem, where OBS can't connect to the chat after a plugin update. 2022-01-03 18:27:56 +01:00
John Livingston 2acd950424
Bump version to 5.2.0 2022-01-03 17:32:54 +01:00
John Livingston 365e2630e2
ConverseJS: Remove spoilers as it is buggy. 2022-01-03 17:20:39 +01:00
John Livingston 607c86a51d
Bump version. 2021-12-28 16:30:03 +01:00
John Livingston 6d4e0c2862
Fix oc language declaration + credits. 2021-12-28 13:01:10 +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 148b28ef84
ConverseJS Readonly mode. Changing muc_mention_autocomplete_min_chars. 2021-12-14 13:02:15 +01:00
John Livingston c19db4dc9c
Builtin ConverseJS mode: fix advanced controls hiding. 2021-12-14 11:59:36 +01:00
John Livingston df3f87e903
XMPP external components. 2021-12-11 19:09:01 +01:00
John Livingston 96598f07d1
Changelog. 2021-12-11 18:02:48 +01:00