Commit Graph

364 Commits

Author SHA1 Message Date
John Livingston
a25cdb44ef
Fix WS timeouts:
Nginx as also a timeout. Seems to be 30s. So we ping every 25s, and set an intermediate timeout for Prosody.
2022-11-01 11:58:02 +01:00
John Livingston
90e86a130a
Fix Websocket timeouts:
* defining a ping_interval in ConverseJS
* defining a longer c2s_close_timeout in Prosody configuration
2022-11-01 11:37:24 +01:00
John Livingston
6a54f4d747
Disco: hide external components. 2022-11-01 11:23:34 +01:00
John Livingston
ab89351f42
Prosody server: enabling mod_disco. 2022-11-01 10:35:42 +01:00
John Livingston
9e06e32351
Websocket: only activate on Prosody if the feature is available. 2022-10-13 18:56:00 +02:00
John Livingston
0be08c7b57
Using Peertube v5.0.0 websocket capacities. 2022-10-13 18:34:41 +02:00
John Livingston
e7eca75736
Fix Prosody WS configuration. 2022-10-13 10:47:36 +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
01a052d380
Fix #97 #54: Settings to hide the chat for anonymous users 2022-04-11 18:12:12 +02:00
John Livingston
01bb6bdc67
Fix links. 2022-04-07 10:57:39 +02:00
John Livingston
d0762362e0
Deprecation warning. 2022-04-07 10:55:31 +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
bf35172856
Builtin Prosody: display random avatars for anonymous users. 2022-01-06 05:30:55 +01:00
John Livingston
6afb640df2
Builtin-Prosody: use Peertube's avatar. 2022-01-05 18:53:44 +01:00
John Livingston
be592aeacf
Enable Prosody modules pep and vcard_legacy. 2022-01-05 02:01:54 +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
c95dd1f713
chat-share-url 2021-12-21 19:54:37 +01:00
John Livingston
148b28ef84
ConverseJS Readonly mode. Changing muc_mention_autocomplete_min_chars. 2021-12-14 13:02:15 +01:00
John Livingston
586df3983c
Fix typo. 2021-12-13 21:51:00 +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
42988a5d04
Demo Bot: Complete code refactoring. WIP. 2021-12-08 15:29:34 +01:00
John Livingston
0e45f9a197
Demo Bot: WIP. 2021-12-07 18:57:08 +01:00
John Livingston
978ee83eee
Demo Bot: first proof of concept. 2021-12-07 13:14:01 +01:00
John Livingston
f8ce4e6583
Config: preparing the arrival of new config files (for bots). Code refactoring. 2021-12-07 11:59:32 +01:00
John Livingston
2244ae22c2
Prosody diagnostic: hidden secret keys from the result. 2021-12-07 10:50: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
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
8a2b063489
Settings: auto compute «list rooms» button styles. 2021-11-18 10:44:30 +01:00
John Livingston
efc8c6a94f
Message near the diagnostic button to suggest to refresh the page if not working. 2021-11-02 17:13:38 +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
e14007f2e9
External webchat tool: new placeholder CHANNEL_ID in the webchat url. 2021-08-04 17:38:26 +02:00
John Livingston
523a5f35ab
Fix. 2021-08-04 17:32:47 +02:00
John Livingston
b2b489af6e
Adding debug information in the diagnostic screen. 2021-08-04 17:15:58 +02:00
John Livingston
ddaf57b5d5
Minor fix + code refactoring. 2021-08-04 00:57:14 +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
e50cfa6a8b
Moving setting prosody-peertube-uri in advanced settings. 2021-07-14 19:22:25 +02:00
John Livingston
446ebc0de9
Merge branch 'release/3.2.0' into prosody_room_list 2021-07-14 19:11:09 +02:00
John Livingston
ed718d7d27
Rewriting some c2s code. 2021-07-14 18:46:08 +02:00
tytan652
3b51bf2946 Add localhost c2s connections 2021-07-13 20:18:32 +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
67f330017d Diagnostic tool: correctly parse Prosody nightly build versions. 2021-06-22 13:28:15 +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
a526feac19 Diagnostic tool: testing API communication from Prosody to Peertube. 2021-06-22 12:57:24 +02:00
John Livingston
7279761c66 Diagnostic tool: testing API communication between Peertube and Prosody. 2021-06-22 10:26:45 +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
d4f9fa9428 Text simplification to prepare translation. 2021-06-11 14:45:18 +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
a7b19df76b Settings tips. 2021-06-03 12:27:52 +02:00
John Livingston
40568f800a Settings: moving the chat mode on top. 2021-06-03 12:24:09 +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
11d79fc611 Migration script in prevision of the future settings "chat-type". 2021-06-02 19:16:27 +02:00
John Livingston
24c764c3a5 Merge branch 'main' into release/3.0.0 2021-06-02 16:16:46 +02:00
John Livingston
83c2de963a Fix typo: builtin prosody wont stop when desactivated. 2021-06-02 16:10:56 +02:00
John Livingston
52a3edb9da Remove backward compatibility (onSettingsChange callback is async). 2021-06-02 16:07:52 +02:00
John Livingston
88d9ad1f94 Remove backward compatibility (restoring default values for checkboxes). 2021-06-02 15:56:12 +02:00
John Livingston
10bbb7f040 Remove backward compatibility (peertubeHelpers.plugin always available). 2021-06-02 15:48:56 +02:00
John Livingston
228a60ca3a Remove backward compatibility (peertubeHelpers.user.getAuthUser always available). 2021-06-02 14:07:12 +02:00
John Livingston
6f57931a9d Remove backward compatibility (user.Account.name is always provided). 2021-06-02 13:14:03 +02:00
John Livingston
af20f3918f Remove backward compatibility (always using permanent working dir). 2021-06-02 12:41:28 +02:00
John Livingston
760dbc93f7 Merge v2.2.1. 2021-05-18 21:02:53 +02:00
John Livingston
5984722880 Revert «Better default values for settings», because of a bug in Peertube. 2021-05-18 20:51:07 +02:00
John Livingston
bc81008ffb Room are persistent by default when there is a non temporary working dir. 2021-05-18 18:29:17 +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
4cf9ab51aa Prosody log rotation every 24 hour. 2021-05-12 14:59:52 +02:00
John Livingston
c5bcf611d3 Prosody log level will be the same as the Peertube's one. 2021-05-12 11:48:38 +02:00
John Livingston
c9eb3ffda4 Update comment after more tests. 2021-05-11 17:31:20 +02:00
John Livingston
236a9301bc mod_muc_moderation 2021-05-11 16:49:55 +02:00
John Livingston
a602c7870a Using mod_muc_mam:
* Starting with Peertube 3.2.0, builtin prosody save room history on server. So when a user connects, he can get previously send messages.
* Fix: settings archive_expires_after was useless without mod_mam
2021-05-11 16:10:57 +02:00
John Livingston
094193a3b1 Builtin prosody use a working dir provided by Peertube. 2021-05-11 15:37:34 +02:00
John Livingston
4840bd735a Better default values for settings:
* Remove old Peertube 3.0.1 compatibility (default value for checkbox settings should be false)
2021-05-07 19:18:41 +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
5484947f51 Fix: if the video owner is already owner of the chatroom, he should not be downgraded to admin. 2021-05-06 21:05:46 +02:00
John Livingston
e91d378e5c Fix: 2.1.0 was in fact correct... Did not work on my preprod env because of... a Livebox bug... 2021-05-06 21:00:42 +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
bda306b461 Dont add chat admin for remote videos. 2021-05-06 12:42:07 +02:00
John Livingston
27d8ab7fc6 Prosody: the video owner is admin for the room. 2021-05-05 18:00:03 +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
5792b98376 Rewriting using Map. 2021-05-04 16:43:38 +02:00
John Livingston
ad2d7742e9 Prosody: use the user nickname. 2021-05-04 16:33:32 +02:00
John Livingston
deff34ab95 Fix. 2021-05-04 15:33:05 +02:00
John Livingston
96844d1662 carbon module 2021-05-04 13:16:59 +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
f11fec7c97 Diagnostic: check prosody version. 2021-05-02 16:16:19 +02:00
John Livingston
e1b08ce025 Removing muc_create_api_auth, because Peertube will not allow an authorization header. 2021-05-02 15:22:08 +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
aa88870a49 Prosody: specifying storage=internal. 2021-04-30 18:00: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
fbfd86aab0 WIP. 2021-04-30 16:48:16 +02:00
John Livingston
1c0fbe743f Rewriting the prosody config generator code. 2021-04-30 16:22:58 +02:00
John Livingston
c19035c0b7 mod_muc_http_defaults WIP. 2021-04-29 18:31:48 +02:00
John Livingston
a4d671bf50 Prosody log level debug for test environment. 2021-04-29 17:45:04 +02:00
John Livingston
62af899a50 Builtin Prosody modules:
* initialize prosody modules folder
* comment on prosody modules licensing
* use mod_muc_http_defaults to set rooms properties and prevent unauthorized room creation WIP
2021-04-29 16:50:30 +02:00
John Livingston
079332733a Fix Peertube server crash when prosody is not installed. 2021-04-18 17:48:21 +02:00
John Livingston
8ddbb21c7f Documentation. 2021-04-16 17:55:48 +02:00
John Livingston
9b5caacb28 Display prosody port. 2021-04-16 15:23:08 +02:00
John Livingston
295a55c9f6 Port configuration. 2021-04-16 15:13:46 +02:00
John Livingston
fce0e7c63c Cleaning config file. 2021-04-16 14:39:25 +02:00
John Livingston
bd91abc5b8 Working prosody configuration. 2021-04-16 14:26:21 +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
58b0a0cd69 Unloading http bind route. 2021-04-15 13:11:59 +02:00
John Livingston
af46ecc3a2 Refactoring getProsodyConfig stuffs. Preparing the http bind router. 2021-04-15 12:17:08 +02:00
John Livingston
7dbb964ad7 Fix prosody config. 2021-04-15 11:02:05 +02:00
John Livingston
817cf28e2a Using builtin prosody when enabled. 2021-04-14 18:47:23 +02:00
John Livingston
d536625f7b WIP on diagnostic. 2021-04-14 18:15:43 +02:00
John Livingston
faa12de768 Better prosody process handling. 2021-04-14 17:55:26 +02:00
John Livingston
63112df21a Fix prosody exec call. 2021-04-14 17:48:46 +02:00
John Livingston
8a73d93aac WIP on prosody spawning. 2021-04-14 17:10:22 +02:00
John Livingston
a018ef5293 WIP on Prosody diagnostic. 2021-04-14 16:14:56 +02:00
John Livingston
f5b438d587 WIP. Spawning prosody. 2021-04-14 15:26:00 +02:00
John Livingston
da37e539f7 WIP. 2021-04-13 18:00:45 +02:00
John Livingston
cc21305f6a WIP on Prosody integration. 2021-04-13 17:13:41 +02:00
John Livingston
4690d97384 WIP on builtin prosody. 2021-04-12 20:52:21 +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
f0fc7148aa Adding an useless settings to display some help. 2021-04-12 16:31:48 +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
John Livingston
490d6f18c3 Refactoring server code:
* Split server code in several libs
* improve server/peertube.d.ts.
2021-04-08 02:43:21 +02:00