Commit Graph

237 Commits

Author SHA1 Message Date
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
ad8b71b582 New debug modes for AP/RSS publishing. 2023-07-06 16:39:32 +02:00
995dfa4dff Some refactoring. 2023-07-06 14:10:05 +02:00
3627ef25f6 FEP-1970: name attribute.
Related to #113.
2023-07-05 12:10:27 +02:00
f7e7cddf72 FEP-1970: implementation WIP:
Adding the data on outgoing objects.

Related to #113.
2023-07-04 18:09:50 +02:00
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
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
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
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
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
0185b56cab Some comments. 2023-05-31 17:08:17 +02:00
dbf43ae016 Prosody recommended version is 0.12.x. 2023-05-31 16:52:55 +02:00
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
b3582e6bfa Fix missing self signed certificates is some conditions. 2023-05-31 16:52:53 +02:00
2de38661d6 Websocket S2S: ping every 55s to keep alive. 2023-05-31 16:52:52 +02:00
92d92e3350 Fix: i misunderstood the parameter s2s_close_timeout. And removing a duplicate hook. 2023-05-31 16:52:52 +02:00
efdf01cef2 Fix condition. 2023-05-31 16:52:50 +02:00
2961513d22 Refresh remote server infos when outdated. 2023-05-31 16:52:50 +02:00
e719dc3079 Chat Federation: fetch remote server information when missing. 2023-05-31 16:52:50 +02:00
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
b38d9a6426 Cleaning an aborted PoC 2023-05-31 16:52:49 +02:00
8fe48a068f Refactoring the debug mode code, and adding some options. 2023-05-31 16:52:49 +02:00
b525c203da Chat Federation: first working PoC! 2023-05-31 16:52:49 +02:00
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
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
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
cf0b14d382 Fix import. Seems i am tired... 2023-04-21 19:28:43 +02:00
1a5989d9a9 Fix. 2023-04-21 19:24:55 +02:00
5a4eb7fc33 Fix: wrong usage of URL.protocol, again 2023-04-21 18:57:18 +02:00
4a02f74563 Fix cross domain BOSH. 2023-04-21 18:49:15 +02:00
ba573c1211 Fix protocol detection. 2023-04-21 18:38:43 +02:00
0ce95d4a39 Chat Federation: don't display chat when anonymous connections are disabled 2023-04-21 17:24:16 +02:00
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
b85a1dc90a Fix: wrong usage of URL.protocol 2023-04-21 16:33:17 +02:00
732138e745 Chat Federation: some data caching to reduce disk load. 2023-04-21 12:25:00 +02:00
333590defd Chat Federation: send the information to the frontend. 2023-04-21 12:02:52 +02:00
b1f1271389 Fix missing case. 2023-04-20 18:32:13 +02:00
5028d37c18 Chat federation: storing chat information 2023-04-20 18:28:08 +02:00
850ea3e61f Chat federation: refactoring code + fix case when video has no chat 2023-04-20 16:07:00 +02:00
01e7fdc9b6 Chat federation: new settings to disable the feature. 2023-04-20 12:13:22 +02:00
4c138f3f5b Chat federation metadata fix, and code refactoring. 2023-04-20 11:10:23 +02:00
115fcd8484 Chat federation: add metadata in ActivityPub. WIP 2023-04-19 19:07:08 +02:00
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
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
cf0e4d8061 Fix settings read. 2023-04-14 11:33:41 +02:00
801798852c Prosody: new settings to provide a custom certificates dir 2023-04-14 11:33:41 +02:00
a87a622cba Prosody: renew self signed certificates periodically 2023-04-14 11:33:41 +02:00
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
f8b83defb5 Fix Prosody configuration. 2023-04-14 11:33:41 +02:00
772689f9ce Prosody: Generating self-signed certificates for s2s connections. 2023-04-14 11:33:41 +02:00