Commit Graph

147 Commits

Author SHA1 Message Date
John Livingston
0987a036a0
Moderation configuration screen: WIP. 2023-09-22 16:45:01 +02:00
John Livingston
cb6decfa84
Fix: only local channels. 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
64668733c8
Code refactoring:
Splitting API code in several files.
2023-09-07 17:20:01 +02:00
John Livingston
f7a32e95d4
Code refactoring:
Cleaning some backend code, for a better readability.
2023-08-01 18:42:24 +02:00
John Livingston
d33795f7a1
Code refactoring WIP:
Cleaning the way ConverseJS parameters are given to the full page.
2023-08-01 17:01:09 +02:00
John Livingston
efdf01cef2
Fix condition. 2023-05-31 16:52:50 +02:00
John Livingston
e719dc3079
Chat Federation: fetch remote server information when missing. 2023-05-31 16:52:50 +02:00
John Livingston
6ed69d2c2f
Chat Federation: refactoring ActivityPub data:
The data format used by plugin v6.3.0 was not well suited.
Here comes a new data format, with S2S informations.
The plugin can automatically upgrade old format.
It also continues to provide the old format, so than remote instance
that did not update the plugin will still work.
2023-05-31 16:52:50 +02:00
John Livingston
b38d9a6426
Cleaning an aborted PoC 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
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
4a02f74563
Fix cross domain BOSH. 2023-04-21 18:49:15 +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
333590defd
Chat Federation: send the information to the frontend. 2023-04-21 12:02:52 +02:00
John Livingston
115fcd8484
Chat federation: add metadata in ActivityPub. WIP 2023-04-19 19:07:08 +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
38023df6be XMPP clients connections WIP + fix mod_muc_http_defaults 2023-04-14 11:33:41 +02:00
John Livingston
3f47c3c65a
Refactoring and simplification (#122) 2023-01-11 18:05:18 +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
ae5860e537
Implements #123: «disable websocket» settings». 2022-12-08 11:25:57 +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
0be08c7b57
Using Peertube v5.0.0 websocket capacities. 2022-10-13 18:34:41 +02:00
John Livingston
67062aac62
Better implementation. 2022-10-13 10:47:36 +02:00
John Livingston
6f8c7b8a93
Websocket for builtin Prosody. WIP 2022-10-13 10:47:33 +02:00
John Livingston
507da6e042
Fix Peertube crash when stopping the BOSH proxy. 2022-10-13 10:44:02 +02:00
John Livingston
de179e90d3
Promisify proxy close. 2022-10-13 10:44:01 +02:00
John Livingston
1bb202d9d3
Replacing express-http-proxy by http-proxy + code refactoring. 2022-10-13 10:43:59 +02:00
John Livingston
2b7174eb96
Comment. 2022-10-13 10:41:09 +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
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
9a4608863b
Auto viewer mode (WIP). 2022-01-07 19:20:28 +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
148b28ef84
ConverseJS Readonly mode. Changing muc_mention_autocomplete_min_chars. 2021-12-14 13:02:15 +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
9b20042aad
ConverseJS: theme settings. 2021-11-18 11:08:12 +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
3ca97fcf0e
Fix #63: On some old Peertube installations, there can be usernames with upper-case letters. Adding a toLowerCase() for the XMPP jid. 2021-08-05 11:51:16 +02:00
John Livingston
523a5f35ab
Fix. 2021-08-04 17:32:47 +02:00
John Livingston
a3579abb81
Builtin ConverseJS on external XMPP server: new placeholders for the room name: CHANNEL_ID, CHANNEL_NAME. 2021-08-04 00:22:19 +02:00
John Livingston
40ad9629fc
Fix broken API diagnostic.
* Moving http_peertubelivechat_test module in muc component, as the
global config has no http_host.
* Adding Host HTTP Header to API call from Peertube to Prosody
2021-07-20 02:52:58 +02:00
John Livingston
98c5518059
Fix muc component http_host. 2021-07-06 11:26:37 +02:00
John Livingston
9a65da50e5 FIXME. 2021-06-22 14:57:57 +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
a526feac19 Diagnostic tool: testing API communication from Prosody to Peertube. 2021-06-22 12:57:24 +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
385a0074c1 Chat can be enabled in video properties. 2021-06-08 18:08:58 +02:00
John Livingston
d0b44c3486 Replacing old settings by chat-type. 2021-06-03 11:46:11 +02:00
John Livingston
228a60ca3a Remove backward compatibility (peertubeHelpers.user.getAuthUser always available). 2021-06-02 14:07:12 +02:00
John Livingston
d4b8c8b2e2 Using getBaseStaticRoute for index.html urls. 2021-05-18 18:17:13 +02:00
John Livingston
2a8df1dc3c Use peertubeHelpers.plugin methods when available:
* getBaseStaticRoute use peertubeHelper when available
* getBaseRouter renamed getBaseRouterRoute and use peertubeHelper when available
* Backward compatibility is maintained.
2021-05-18 18:06:11 +02:00
John Livingston
73ed34a2fa Fix: starting with Peertube 3.2.0, there is a header X-Frame-Options. Removing it on the iframe route. 2021-05-07 16:45:55 +02:00
John Livingston
fec219a909 Revert getProsodyDomain. Broken when not on localhot. 2021-05-06 14:04:16 +02:00
John Livingston
6cca689ef7 Trying to fix for production. 2021-05-06 13:59:45 +02:00
John Livingston
f590cf2c7b Builtin Prosody: use Peertube domain instead of localhost. 2021-05-06 13:31:55 +02:00
John Livingston
e5d5da4d07 Builtin Prosody: allow moderation operations. 2021-05-05 17:20:06 +02:00
John Livingston
6b77c3585d Protecting some APIs with an APIKEY. 2021-05-05 17:06:19 +02:00
John Livingston
787fed19d0 Peertube 3.2.0 will provide user.Account.name. 2021-05-05 16:30:18 +02:00
John Livingston
3658ee797a getAuthUser becomes async. 2021-05-05 15:55:38 +02:00
John Livingston
07353bd327 Prosody: instance moderators and administrators are automatically owner of rooms. 2021-05-05 15:22:37 +02:00
John Livingston
ad2d7742e9 Prosody: use the user nickname. 2021-05-04 16:33:32 +02:00
John Livingston
76adc7124f Prosody auth, first working code:
* generated password on an api call
* use this password to authenticate on prosody
* using helper getAuthUser when available, else fallback to custom code
2021-05-04 13:00:44 +02:00
John Livingston
4a4ffaae2d Prosody auth WIP. 2021-05-03 20:37:23 +02:00
John Livingston
d2e36344af Adding asyncMiddleware. 2021-05-03 20:06:36 +02:00
John Livingston
5575628e99 Moving the prosody virtualhost to anon.localhost. 2021-05-02 16:55:01 +02:00
John Livingston
75bbfc9159 mod_muc_http_defaults WIP. 2021-05-02 14:35:58 +02:00
John Livingston
b225148dfb 403 status when video invalid. 2021-05-01 19:01:31 +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
0cc57dfc12 Prosody: the first user will not be granted owner rights. 2021-05-01 10:30:41 +02:00
John Livingston
fefcf1f08a Fix room config result. 2021-05-01 10:22:06 +02:00
John Livingston
a25ef24237 WIP. 2021-04-30 18:03:12 +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
fbfd86aab0 WIP. 2021-04-30 16:48:16 +02:00
John Livingston
c19035c0b7 mod_muc_http_defaults WIP. 2021-04-29 18:31:48 +02:00
John Livingston
48851d422a Fix deprecated use of bodyParser. 2021-04-16 13:46:51 +02:00
John Livingston
9b4b17b326 Indentation. 2021-04-16 13:44:24 +02:00
John Livingston
6d63d42e88 Fix using express-http-bind as proxy for BOSH. 2021-04-16 13:42:07 +02:00
John Livingston
f1192e3da0 Using express-http-bind as proxy for BOSH. WIP 2021-04-15 15:21:58 +02:00
John Livingston
af46ecc3a2 Refactoring getProsodyConfig stuffs. Preparing the http bind router. 2021-04-15 12:17:08 +02:00
John Livingston
817cf28e2a Using builtin prosody when enabled. 2021-04-14 18:47:23 +02:00
John Livingston
79bdaceb48 Changing diagnostic functions arguments. 2021-04-12 20:25:56 +02:00
John Livingston
d1ede8d3ee Refactoring diagnostic tests in multiple files. 2021-04-12 17:53:12 +02:00
John Livingston
f64cb10ea2 Diagnostic tools WIP. 2021-04-10 15:10:53 +02:00
John Livingston
42bd94a8c3 Diagnostic tools: testing user rights. 2021-04-10 13:57:47 +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
8b3763761b Better typing. 2021-04-09 19:52:59 +02:00
John Livingston
dcef708370 Routers in separate files. 2021-04-09 19:29:44 +02:00