Commit Graph

241 Commits

Author SHA1 Message Date
John Livingston 9f8a9ae5ae
Fix typo. 2023-08-07 10:19:42 +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 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 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 ad8b71b582
New debug modes for AP/RSS publishing. 2023-07-06 16:39:32 +02:00
John Livingston 995dfa4dff Some refactoring. 2023-07-06 14:10:05 +02:00
John Livingston 3627ef25f6
FEP-1970: name attribute.
Related to #113.
2023-07-05 12:10:27 +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 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 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 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 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 b3582e6bfa
Fix missing self signed certificates is some conditions. 2023-05-31 16:52:53 +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 efdf01cef2
Fix condition. 2023-05-31 16:52:50 +02:00
John Livingston 2961513d22
Refresh remote server infos when outdated. 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 8fe48a068f
Refactoring the debug mode code, and adding some options. 2023-05-31 16:52:49 +02:00
John Livingston b525c203da
Chat Federation: first working PoC! 2023-05-31 16:52:49 +02:00
John Livingston 5a945a0cb7
Chat Federation WIP:
Found that net.websocket is not appropriate.
This commit is a proof of concept. It has to be cleaned.
Still not working, but close!
2023-05-31 16:52:48 +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 cf0b14d382
Fix import. Seems i am tired... 2023-04-21 19:28:43 +02:00
John Livingston 1a5989d9a9
Fix. 2023-04-21 19:24:55 +02:00
John Livingston 5a4eb7fc33
Fix: wrong usage of URL.protocol, again 2023-04-21 18:57:18 +02:00
John Livingston 4a02f74563
Fix cross domain BOSH. 2023-04-21 18:49:15 +02:00
John Livingston ba573c1211
Fix protocol detection. 2023-04-21 18:38:43 +02:00
John Livingston 0ce95d4a39
Chat Federation: don't display chat when anonymous connections are disabled 2023-04-21 17:24:16 +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 b85a1dc90a
Fix: wrong usage of URL.protocol 2023-04-21 16:33:17 +02:00
John Livingston 732138e745
Chat Federation: some data caching to reduce disk load. 2023-04-21 12:25:00 +02:00
John Livingston 333590defd
Chat Federation: send the information to the frontend. 2023-04-21 12:02:52 +02:00
John Livingston b1f1271389
Fix missing case. 2023-04-20 18:32:13 +02:00
John Livingston 5028d37c18
Chat federation: storing chat information 2023-04-20 18:28:08 +02:00
John Livingston 850ea3e61f
Chat federation: refactoring code + fix case when video has no chat 2023-04-20 16:07:00 +02:00
John Livingston 01e7fdc9b6
Chat federation: new settings to disable the feature. 2023-04-20 12:13:22 +02:00
John Livingston 4c138f3f5b
Chat federation metadata fix, and code refactoring. 2023-04-20 11:10:23 +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 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 cf0e4d8061 Fix settings read. 2023-04-14 11:33:41 +02:00
John Livingston 801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00