diff --git a/locales/fa/LC_MESSAGES/contribute.po b/locales/fa/LC_MESSAGES/contribute.po
index aa4832e93f76f9edfaab30dd0c3f20113ff39808..60f011a1277ea76a5a05243d38a1125b5be9faa3 100644
--- a/locales/fa/LC_MESSAGES/contribute.po
+++ b/locales/fa/LC_MESSAGES/contribute.po
@@ -1,14 +1,14 @@
-# SOME DESCRIPTIVE TITLE.
+# LANGUAGE translation of FILENAME.pot
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
-# This file is distributed under the same license as the Jami package.
+# This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-19 12:03+0000\n"
+"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:52+0000\n"
 "Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n"
 "MIME-Version: 1.0\n"
diff --git a/locales/fa/LC_MESSAGES/developer.po b/locales/fa/LC_MESSAGES/developer.po
index 5425a199d96dfdbcfd23397c90e950f55ae2b539..00667cbadfffd2ee6d6ddc9e63daf4420989bfb9 100644
--- a/locales/fa/LC_MESSAGES/developer.po
+++ b/locales/fa/LC_MESSAGES/developer.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
 "Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
-"POT-Creation-Date: 2022-11-08 03:52+0000\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:48+0000\n"
 "Last-Translator: Amin Mahmudian, 2022\n"
 "Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n"
@@ -1249,7 +1249,7 @@ msgstr ""
 
 #: ../../../developer/conference-protocol.md:38
 #: ../../../developer/conference-protocol.md:95
-#: ../../../developer/swarm.md:490
+#: ../../../developer/swarm.md:520
 msgid "Implementation"
 msgstr ""
 
@@ -1703,7 +1703,7 @@ msgstr ""
 msgid "ChannelSockets are used by the client to interact with the other peer."
 msgstr ""
 
-#: ../../../developer/connection-manager.md:67 ../../../developer/swarm.md:507
+#: ../../../developer/connection-manager.md:67 ../../../developer/swarm.md:537
 msgid "Usage"
 msgstr ""
 
@@ -1839,8 +1839,8 @@ msgid ""
 "As from September of 2020, Jami team has added plugins as a call feature for"
 " GNU/Linux, Windows, and Android users. This meaning that now you can "
 "personalize your call and chat experience by using one of our available "
-"plugins.  But that is not all, you can also transform your awesome ideas "
-"into a brand new plugin!"
+"plugins. But that is not all, you can also transform your awesome ideas into"
+" a brand new plugin!"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:11
@@ -2133,7 +2133,7 @@ msgid ""
 "`defaultValue`, and `scope`. The specific ones are linked to the type of the"
 " preference constructed. For `EDITTEXT` preferences there is no other "
 "property to be set. For `PATH` preferences we have: `mimeType`. For `LIST` "
-"preferences we have: `entries` and `entryValues`.  A `LIST` preference must "
+"preferences we have: `entries` and `entryValues`. A `LIST` preference must "
 "have a list of possible values to be used and a list of 'names' for these "
 "values. For example: If you have two `entriesValues`: '0' and '1', these "
 "values may not be understandable by the user. Jami's UI will take the values"
@@ -2555,9 +2555,9 @@ msgstr ""
 #: ../../../developer/creating-jami-plugins.md:320
 #: ../../../developer/creating-jami-plugins.md:454
 msgid ""
-"Available APIs:  (1) video during a call (Media Handler API) (2) audio "
-"during a call (Media Handler API) (3) chat messages (Chat Handler API) For "
-"more information about the API, call help preferences."
+"Available APIs: (1) video during a call (Media Handler API) (2) audio during"
+" a call (Media Handler API) (3) chat messages (Chat Handler API) For more "
+"information about the API, call help preferences."
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:326
@@ -2576,7 +2576,7 @@ msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:332
 msgid ""
-"Your preferences options available are:  (0) List; (1) Path; (2) EditText;"
+"Your preferences options available are: (0) List; (1) Path; (2) EditText;"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:337
@@ -2607,7 +2607,7 @@ msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:358
 msgid ""
-"Your preferences options available are:  (0) List; (1) Path; (3) EditText;"
+"Your preferences options available are: (0) List; (1) Path; (3) EditText;"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:363
@@ -2730,7 +2730,7 @@ msgid "python3 build-plugin.py --projects=HelloWorld"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:427
-#: ../../../developer/feature-requests.md:40
+#: ../../../developer/feature-requests.md:39
 msgid "Android:"
 msgstr ""
 
@@ -2809,6 +2809,146 @@ msgid ""
 "community is developping their own plugins!"
 msgstr ""
 
+#: ../../../developer/debugging-tools.rst:2
+msgid "Debugging Tools"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:4
+msgid ""
+"There are several ways to debug Jami from a developer perspective, depending"
+" on what you want to debug."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:7
+msgid "Loggers"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:9
+msgid ""
+"The first way is to use runtime loggers. Starting `jami` with `-d` will "
+"enable logging by the deamon (or the Troubleshoot section in the General "
+"settings). Because Jami uses several libraries, we do not enable all logs by"
+" default. But you can pass some environment variables to show it:"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:13
+msgid "`SIPLOGLEVEL=5` for enabling logs from PJSIP."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:14
+msgid "`DHTLOGLEVEL=5` for enabling logs from OpenDHT."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:15
+msgid "`AVLOGLEVEL=50` for enabling logs from ffmpeg."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:18
+msgid "Debuggers"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:20
+msgid ""
+"Generally your IDE has an embedded debuggger. Else, you can use `gdb` for "
+"example to be able to add breakpoints, backtraces from crashes, print "
+"internal structures, etc. You need to compile the project in *DEBUG* mode to"
+" get debug symbols."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:24
+msgid "Some useful commands:"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:26
+msgid ""
+"`b file.cpp:line` - Add a breakpoint (*file.cpp:line* can be replaced by a "
+"symbol)"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:27
+msgid "`t a a bt` - (thread apply all backtrace) to get all backtraces"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:28
+msgid "`Ctrl + X / A` - pass in graphical view"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:29
+msgid "`p` - print an internal value."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:32
+msgid "Profilers"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:34
+msgid ""
+"Debuggers are useful, but they do not show real-time memory "
+"consumption/network activity/CPU usage. For this, you can use the embedded "
+"profiler in your IDE (from Android Studio or Qt Creator/Visual Studio for "
+"example)."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:39
+msgid "Address Sanitizer"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:41
+msgid ""
+"This can be useful to detect leaks, crashes, potential deadlocks at runtime."
+" To enable this, you can compile the daemon with "
+"`CXXFLAGS+=\"-fsanitize=address\"`. Other flags like `tsan` may be useful."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:45
+msgid "Valgrind/Callgrind"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:47
+msgid ""
+"Valgrind is a tool to watch allocations, CPU usage and more and can be used "
+"via: `valgrind --tool=callgrind ./jami -d`. This will make the application "
+"very slow but can provide useful reports about memory allocation/performance"
+" usage (**KCacheGrind** can be used to read reports)."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:52
+msgid "Tests"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:54
+msgid ""
+"Daemon has many tests and coverage enabled. If the daemon is built in static"
+" (else private symbols will not be available), adding new tests can help to "
+"reproduce bugs, solve bugs and avoid any regression. (cf. "
+"`daemon/tests/unitTests``)"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:59
+msgid "Agent"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:61
+msgid ""
+"Tests are only using one daemon to simulate both peers. So it can be "
+"difficult to test in various environments. Another possibility is to write a"
+" scenario and run an agent (documentation is available in the daemon's "
+"repository)."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:66
+msgid "LTTng"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:68
+msgid ""
+"Finally, tracepoints can be created and analyzed. `daemon/tools/trace` "
+"provide the documentation and some examples. The advantage of LTTng is that "
+"it is quicker than logs, can be triggered by system events and can be used "
+"with tracepoints already present in the kernel (so that it can be used with "
+"tracepoints from network interfaces)."
+msgstr ""
+
 #: ../../../developer/feature-requests.md:1
 msgid "Feature requests"
 msgstr ""
@@ -2826,7 +2966,7 @@ msgstr ""
 #: ../../../developer/feature-requests.md:10
 msgid ""
 "{daemon-issue}`Implement pipewire <13> to support screen sharing on Wayland`"
-" -> Contact #Jami (Adrien, Sébastien, etc.) / hard"
+" -> Contact #Jami (Adrien, Sébastien, etc.) / hard / In progress"
 msgstr ""
 
 #: ../../../developer/feature-requests.md:12
@@ -2854,161 +2994,164 @@ msgid "SIP:"
 msgstr ""
 
 #: ../../../developer/feature-requests.md:18
-msgid "re-check all SIP features / easy"
+msgid "Fix IP to IP -> Contact #Jami (Adrien, Sébastien) / easy"
 msgstr ""
 
 #: ../../../developer/feature-requests.md:19
-msgid ""
-"Check why SIP unregister is not sent when leaving the application. -> "
-"Contact #Jami / easy"
-msgstr ""
-
-#: ../../../developer/feature-requests.md:20
 msgid "Add unit-tests / probably easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:21
+#: ../../../developer/feature-requests.md:20
 msgid ""
 "Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien) / hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:23
+#: ../../../developer/feature-requests.md:22
 msgid ""
 "Search in system contacts ({client-gnome-issue}`1191`, {client-gnome-"
 "issue}`829`, etc.) -> Contact #Jami (Adrien, Sébastien, Andreas, etc.) / "
 "easy but long"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:26
+#: ../../../developer/feature-requests.md:25
 msgid "Crypto: (Contact #Jami - Adrien)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:27
+#: ../../../developer/feature-requests.md:26
 msgid "Update media RTP ciphers for ffmpeg / probably easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:28
+#: ../../../developer/feature-requests.md:27
 msgid "Support ECC (instead RSA) for Jami accounts / hard but short"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:29
+#: ../../../developer/feature-requests.md:28
 msgid "Remove usages of SHA1 (ids + git) / hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:30
+#: ../../../developer/feature-requests.md:29
 msgid "Media -> Contact #Jami (Adrien, Andreas, etc.)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:31
+#: ../../../developer/feature-requests.md:30
 msgid "Push to talk support (system wide) / easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:32
+#: ../../../developer/feature-requests.md:31
 msgid "{daemon-issue}`POC for AV1 support <27>` / probably hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:33
+#: ../../../developer/feature-requests.md:32
 msgid "Fix the video recorder / probably hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:34
-msgid "Fix audio mixing (when sharing camera + a file) / probably hard"
+#: ../../../developer/feature-requests.md:33
+msgid ""
+"Fix audio mixing (when sharing camera + a file) / probably hard / In "
+"progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:35
+#: ../../../developer/feature-requests.md:34
 msgid "Investigate audio quality (contact #Jami, medium difficulty)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:36
+#: ../../../developer/feature-requests.md:35
 msgid "Plugins ideas: (Contact #Jami - Aline)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:37
+#: ../../../developer/feature-requests.md:36
 msgid ""
 "{client-qt-issue}`Live closed captions (multiple languages) <576>` (Whisper "
-"OpenAI, Google Speech API or similar) / probably easy"
+"OpenAI, Google Speech API or similar) / probably easy / In progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:39
+#: ../../../developer/feature-requests.md:38
 msgid "Payment plug-in"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:41
+#: ../../../developer/feature-requests.md:40
 msgid "Fix support for Bluetooth/headset / probably easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:42
+#: ../../../developer/feature-requests.md:41
 msgid ""
-"Support OpenPush (Android + OpenDHT - <https://bubu1.eu/openpush/>) / easy "
-"and started"
+"Support OpenPush (Android + OpenDHT - <https://bubu1.eu/openpush/>) / easy /"
+" In progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:44
+#: ../../../developer/feature-requests.md:43
 msgid ""
 "Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a dedicated "
 "library (can be shared with OpenDHT) / medium difficulty & long term project"
+" / In progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:47
+#: ../../../developer/feature-requests.md:46
 msgid "Add new transports (e.g. QUIC?)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:48
+#: ../../../developer/feature-requests.md:47
 msgid "Add libtorrent support?"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:49
+#: ../../../developer/feature-requests.md:48
 msgid "POC HTTP or SSH over this library"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:50
+#: ../../../developer/feature-requests.md:49
 msgid ""
 "Public page/personal blog available through Jami (Contact #Jami / medium "
 "difficulty & long term project)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:52
+#: ../../../developer/feature-requests.md:51
 msgid "Qt:"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:53
+#: ../../../developer/feature-requests.md:52
 msgid ""
 "Add support for location sharing (contact #Jami - medium difficulty) (In "
 "progress)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:54
+#: ../../../developer/feature-requests.md:53
 msgid ""
 "{client-qt-issue}`Add support for peer discovery<868>` (contact #Jami - "
 "easy)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:55
+#: ../../../developer/feature-requests.md:54
 msgid ""
 "{client-qt-issue}`Add support for searching messages in conversations<869>` "
 "(contact #Jami - easy)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:56
+#: ../../../developer/feature-requests.md:55
 msgid ""
 "Emoji as a native component to avoid depending on qt-webengine for this (not"
 " available on macOS) (e.g. https://github.com/jnodev/QMLemoji)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:58
+#: ../../../developer/feature-requests.md:57
 msgid ""
 "Categorized conversations (like favorites, groups, etc) (to discuss with "
 "#Jami)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:59
+#: ../../../developer/feature-requests.md:58
 msgid "Swarm:"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:60
+#: ../../../developer/feature-requests.md:59
 msgid "Add emoji reactions to messages (Contact #Jami - easy)"
 msgstr ""
 
+#: ../../../developer/feature-requests.md:60
+msgid ""
+"{daemon-issue}`File-transfer small improvements<788>`  (contact #Jami - "
+"easy)"
+msgstr ""
+
 #: ../../../developer/feature-requests.md:61
 msgid "jami-web:"
 msgstr ""
@@ -3241,8 +3384,8 @@ msgstr ""
 msgid "{daemon-issue}`Remote control <349>`"
 msgstr ""
 
-#: ../../../developer/file-transfer.md:1 ../../../developer/swarm.md:374
-#: ../../../developer/swarm.md:554
+#: ../../../developer/file-transfer.md:1 ../../../developer/swarm.md:404
+#: ../../../developer/swarm.md:584
 msgid "File transfer"
 msgstr ""
 
@@ -5237,7 +5380,7 @@ msgid ""
 "`ns.jami.net` and querying an Ethereum node."
 msgstr ""
 
-#: ../../../developer/protocol.md:1 ../../../developer/swarm.md:378
+#: ../../../developer/protocol.md:1 ../../../developer/swarm.md:408
 msgid "Protocol"
 msgstr ""
 
@@ -7005,49 +7148,86 @@ msgid ""
 msgstr ""
 
 #: ../../../developer/swarm.md:264
-msgid "Merge conflicts management"
+msgid "Preferences"
 msgstr ""
 
 #: ../../../developer/swarm.md:266
 msgid ""
+"Every conversation has attached preferences set by the user. Those "
+"preferences are synced across user's devices. This can be the color of the "
+"conversation, if the user wants to ignore notifications, file transfer size "
+"limit, etc. For now, the recognized keys are:"
+msgstr ""
+
+#: ../../../developer/swarm.md:268
+msgid "\"color\" - the color of the conversation"
+msgstr ""
+
+#: ../../../developer/swarm.md:269
+msgid ""
+"\"ignoreNotifications\" - to ignore notifications for new messages in this "
+"conversation"
+msgstr ""
+
+#: ../../../developer/swarm.md:270
+msgid "\"symbol\" - to define a default emoji."
+msgstr ""
+
+#: ../../../developer/swarm.md:272
+msgid ""
+"Those preferences are stored in a packet MapStringString, stored in "
+"`accountDir/conversation_data/conversationId/preferences` and only sent "
+"across devices of the same user via SyncMsg."
+msgstr ""
+
+#: ../../../developer/swarm.md:274
+msgid "The API to interact with the preferences are:"
+msgstr ""
+
+#: ../../../developer/swarm.md:294
+msgid "Merge conflicts management"
+msgstr ""
+
+#: ../../../developer/swarm.md:296
+msgid ""
 "Because two admins can change the description at the same time, a merge "
 "conflict can occur on `profile.vcf`. In this case, the commit with the "
 "higher hash (eg ffffff > 000000) will be chosen."
 msgstr ""
 
-#: ../../../developer/swarm.md:268
+#: ../../../developer/swarm.md:298
 msgid "APIs"
 msgstr ""
 
-#: ../../../developer/swarm.md:270
+#: ../../../developer/swarm.md:300
 msgid "The user got 2 methods to get and set conversation's metadatas:"
 msgstr ""
 
-#: ../../../developer/swarm.md:296
+#: ../../../developer/swarm.md:326
 msgid "where `infos` is a `map<str, str>` with the following keys:"
 msgstr ""
 
-#: ../../../developer/swarm.md:298
+#: ../../../developer/swarm.md:328
 msgid "mode: READ-ONLY"
 msgstr ""
 
-#: ../../../developer/swarm.md:299
+#: ../../../developer/swarm.md:329
 msgid "title"
 msgstr ""
 
-#: ../../../developer/swarm.md:300
+#: ../../../developer/swarm.md:330
 msgid "description"
 msgstr ""
 
-#: ../../../developer/swarm.md:301
+#: ../../../developer/swarm.md:331
 msgid "avatar"
 msgstr ""
 
-#: ../../../developer/swarm.md:303
+#: ../../../developer/swarm.md:333
 msgid "Re-import an account (link/export)"
 msgstr ""
 
-#: ../../../developer/swarm.md:305
+#: ../../../developer/swarm.md:335
 msgid ""
 "The archive MUST contain conversationId to be able to retrieve conversations"
 " on new commits after a re-import (because there is no invite at this "
@@ -7055,123 +7235,123 @@ msgid ""
 "possibilities:"
 msgstr ""
 
-#: ../../../developer/swarm.md:307
+#: ../../../developer/swarm.md:337
 msgid ""
 "The conversationId is there, in this case, the daemon is able to re-clone "
 "this conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:308
+#: ../../../developer/swarm.md:338
 msgid ""
 "The conversationId is missing, so the daemon asks (via a message "
 "`{{\"application/invite\", conversationId}}`) a new invite that the user "
 "needs to (re)accepts"
 msgstr ""
 
-#: ../../../developer/swarm.md:310
+#: ../../../developer/swarm.md:340
 msgid ""
 "Note, a conversation can only be retrieved if a contact or another device is"
 " there, else it will be lost. There is no magic."
 msgstr ""
 
-#: ../../../developer/swarm.md:312
+#: ../../../developer/swarm.md:342
 msgid "Other mime types"
 msgstr ""
 
-#: ../../../developer/swarm.md:314
+#: ../../../developer/swarm.md:344
 msgid ""
 "`application/call-history+json` with a JSON containing the `id` and the "
 "`duration` of the call"
 msgstr ""
 
-#: ../../../developer/swarm.md:315
+#: ../../../developer/swarm.md:345
 msgid ""
 "`application/data-transfer+json` with a JSON containing the `tid` of the "
 "file, the `sha3sum` and `displayName`"
 msgstr ""
 
-#: ../../../developer/swarm.md:317
+#: ../../../developer/swarm.md:347
 msgid "Used protocols"
 msgstr ""
 
-#: ../../../developer/swarm.md:319
+#: ../../../developer/swarm.md:349
 msgid "Git"
 msgstr ""
 
-#: ../../../developer/swarm.md:321
+#: ../../../developer/swarm.md:351
 msgid "Why this choice"
 msgstr ""
 
-#: ../../../developer/swarm.md:323
+#: ../../../developer/swarm.md:353
 msgid ""
 "Each conversation will be a git repository. This choice is motivated by:"
 msgstr ""
 
-#: ../../../developer/swarm.md:325
+#: ../../../developer/swarm.md:355
 msgid ""
 "We need to sync and order messages. The Merkle Tree is the perfect structure"
 " to do that and can be linearized by merging branches. Moreover, because "
 "it's massively used by Git, it's easy to sync between devices."
 msgstr ""
 
-#: ../../../developer/swarm.md:326
+#: ../../../developer/swarm.md:356
 msgid "Distributed by nature. Massively used. Lots of backends and pluggable."
 msgstr ""
 
-#: ../../../developer/swarm.md:327
+#: ../../../developer/swarm.md:357
 msgid "Can verify commits via hooks and massively used crypto"
 msgstr ""
 
-#: ../../../developer/swarm.md:328
+#: ../../../developer/swarm.md:358
 msgid "Can be stored in a database if necessary"
 msgstr ""
 
-#: ../../../developer/swarm.md:329
+#: ../../../developer/swarm.md:359
 msgid "Conflicts are avoided by using commit messages, not files."
 msgstr ""
 
-#: ../../../developer/swarm.md:331
+#: ../../../developer/swarm.md:361
 msgid "What we have to validate"
 msgstr ""
 
-#: ../../../developer/swarm.md:333
+#: ../../../developer/swarm.md:363
 msgid "Performance? `git.lock` can be low"
 msgstr ""
 
-#: ../../../developer/swarm.md:334
+#: ../../../developer/swarm.md:364
 msgid "Hooks in libgit2"
 msgstr ""
 
-#: ../../../developer/swarm.md:335
+#: ../../../developer/swarm.md:365
 msgid "Multiple pulls at the same time?"
 msgstr ""
 
-#: ../../../developer/swarm.md:337
+#: ../../../developer/swarm.md:367
 msgid "Limits"
 msgstr ""
 
-#: ../../../developer/swarm.md:339
+#: ../../../developer/swarm.md:369
 msgid ""
 "History can't be deleted. To delete a conversation, the device has to leave "
 "the conversation and create another one."
 msgstr ""
 
-#: ../../../developer/swarm.md:341
+#: ../../../developer/swarm.md:371
 msgid ""
 "However, non-permanent messages (like messages readable only for some "
 "minutes) can be sent via a  special message via the DRT (like Typing or Read"
 " notifications)."
 msgstr ""
 
-#: ../../../developer/swarm.md:343
+#: ../../../developer/swarm.md:373
 msgid "Moreover editing messages will be possible! (`commit --fixup`)"
 msgstr ""
 
-#: ../../../developer/swarm.md:345
+#: ../../../developer/swarm.md:375
 msgid "Structure"
 msgstr ""
 
-#: ../../../developer/swarm.md:376
+#: ../../../developer/swarm.md:406
 msgid ""
 "Swarm massively changes file transfer. Now, all the history is syncing, "
 "allowing all devices in the conversation to easily retrieve old files. This "
@@ -7183,19 +7363,19 @@ msgid ""
 "allowing to retrieve files even if the sender is not there."
 msgstr ""
 
-#: ../../../developer/swarm.md:380
+#: ../../../developer/swarm.md:410
 msgid ""
 "The sender adds a new commit in the conversation with the following format:"
 msgstr ""
 
-#: ../../../developer/swarm.md:390
+#: ../../../developer/swarm.md:420
 msgid ""
 "and creates a link in "
 "`${data_path}/conversation_data/${conversation_id}/${file_id}` where "
 "`file_id=${commitid}_${value[\"tid\"]}.${extension}`"
 msgstr ""
 
-#: ../../../developer/swarm.md:392
+#: ../../../developer/swarm.md:422
 msgid ""
 "Then, the receiver can now download the files by contacting the devices "
 "hosting the file by opening a channel with `name=\"data-transfer://\" + "
@@ -7204,7 +7384,7 @@ msgid ""
 "`${data_path}/conversation_data/${conversation_id}/waiting`"
 msgstr ""
 
-#: ../../../developer/swarm.md:394
+#: ../../../developer/swarm.md:424
 msgid ""
 "The device receiving the connection will accepts the channel by verifying if"
 " the file can be sent (if sha3sum is correct and if file exists). The "
@@ -7214,172 +7394,172 @@ msgid ""
 " data."
 msgstr ""
 
-#: ../../../developer/swarm.md:396
+#: ../../../developer/swarm.md:426
 msgid ""
 "When the transfer is finished or the channel closed, the sha3sum is verified"
 " to validate that the file is correct (else it's deleted). If valid, the "
 "file will be removed from the waiting."
 msgstr ""
 
-#: ../../../developer/swarm.md:398
+#: ../../../developer/swarm.md:428
 msgid ""
 "In case of failure, when a device of the conversation will be back online, "
 "we will ask for all waiting files by the same way."
 msgstr ""
 
-#: ../../../developer/swarm.md:400
+#: ../../../developer/swarm.md:430
 msgid "Call in swarm"
 msgstr ""
 
-#: ../../../developer/swarm.md:402
+#: ../../../developer/swarm.md:432
 msgid "TODO: nameserver part"
 msgstr ""
 
-#: ../../../developer/swarm.md:404
+#: ../../../developer/swarm.md:434
 msgid "Idea"
 msgstr ""
 
-#: ../../../developer/swarm.md:406
+#: ../../../developer/swarm.md:436
 msgid ""
 "A swarm conversation can have multiple rendez-vous. A rendez-vous is defined"
 " by the following uri:"
 msgstr ""
 
-#: ../../../developer/swarm.md:408
+#: ../../../developer/swarm.md:438
 msgid ""
 "\"accountUri/deviceId/conversationId/confId\" where accountUri/deviceId "
 "describes the host."
 msgstr ""
 
-#: ../../../developer/swarm.md:410
+#: ../../../developer/swarm.md:440
 msgid "The host can be determined via two ways:"
 msgstr ""
 
-#: ../../../developer/swarm.md:412
+#: ../../../developer/swarm.md:442
 msgid ""
 "In the swarm metadatas. Where it's stored like the title/desc/avatar of the "
 "room"
 msgstr ""
 
-#: ../../../developer/swarm.md:413
+#: ../../../developer/swarm.md:443
 msgid "Or the initial caller."
 msgstr ""
 
-#: ../../../developer/swarm.md:415
+#: ../../../developer/swarm.md:445
 msgid ""
 "When starting a call, the host will add a new commit to the swarm, with the "
 "URI to join (accountUri/deviceId/conversationId/confId). This will be valid "
 "till the end of the call (announced by a commit with the duration to show)"
 msgstr ""
 
-#: ../../../developer/swarm.md:418
+#: ../../../developer/swarm.md:448
 msgid ""
 "So every part will receive the infos that a call has started and will be "
 "able to join it by calling it."
 msgstr ""
 
-#: ../../../developer/swarm.md:420
+#: ../../../developer/swarm.md:450
 msgid "Attacks?"
 msgstr ""
 
-#: ../../../developer/swarm.md:422
+#: ../../../developer/swarm.md:452
 msgid "Avoid git bombs"
 msgstr ""
 
-#: ../../../developer/swarm.md:424
+#: ../../../developer/swarm.md:454
 msgid "Notes"
 msgstr ""
 
-#: ../../../developer/swarm.md:426
+#: ../../../developer/swarm.md:456
 msgid ""
 "The timestamp of a commit can be trusted because it's editable. Only the "
 "user's timestamp can be trusted."
 msgstr ""
 
-#: ../../../developer/swarm.md:428
+#: ../../../developer/swarm.md:458
 msgid "TLS"
 msgstr ""
 
-#: ../../../developer/swarm.md:430
+#: ../../../developer/swarm.md:460
 msgid ""
 "Git operations, control messages, files, and other things will use a p2p TLS"
 " v1.3 link with only ciphers which guaranty PFS. So each key is renegotiated"
 " for each new connexion."
 msgstr ""
 
-#: ../../../developer/swarm.md:432
+#: ../../../developer/swarm.md:462
 msgid "DHT (udp)"
 msgstr ""
 
-#: ../../../developer/swarm.md:434
+#: ../../../developer/swarm.md:464
 msgid ""
 "Used to send messages for mobiles (to trigger push notifications) and to "
 "initiate TCP connexions."
 msgstr ""
 
-#: ../../../developer/swarm.md:436
+#: ../../../developer/swarm.md:466
 msgid "DRT (the name will change)"
 msgstr ""
 
-#: ../../../developer/swarm.md:438
+#: ../../../developer/swarm.md:468
 msgid ""
 "The DRT is a new concept used in swarm to maintain p2p connections. Indeed, "
 "group members define a graph of nodes (identified by a hash) en must be "
 "connected."
 msgstr ""
 
-#: ../../../developer/swarm.md:440
+#: ../../../developer/swarm.md:470
 msgid "So we need a structure that:"
 msgstr ""
 
-#: ../../../developer/swarm.md:442
+#: ../../../developer/swarm.md:472
 msgid "Maximize the connected nodes at every time"
 msgstr ""
 
-#: ../../../developer/swarm.md:443
+#: ../../../developer/swarm.md:473
 msgid "Minimize the time for message transmission"
 msgstr ""
 
-#: ../../../developer/swarm.md:444
+#: ../../../developer/swarm.md:474
 msgid "Minimize links between peers"
 msgstr ""
 
-#: ../../../developer/swarm.md:445
+#: ../../../developer/swarm.md:475
 msgid "Needs low calculation"
 msgstr ""
 
-#: ../../../developer/swarm.md:447
+#: ../../../developer/swarm.md:477
 msgid "Several solutions exist:"
 msgstr ""
 
-#: ../../../developer/swarm.md:449
+#: ../../../developer/swarm.md:479
 msgid ""
 "Each node has a connection to the next node. So we only need $N$ "
 "connections, but it's not effective to transmit a message, because the "
 "message will go through all peers, one by one."
 msgstr ""
 
-#: ../../../developer/swarm.md:450
+#: ../../../developer/swarm.md:480
 msgid ""
 "Each node is connected to all other nodes $N\\timesN$ connections. Effective"
 " to transmit, but need more resources **WILL BE CHOSEN FOR THE FIRST "
 "VERSION**"
 msgstr ""
 
-#: ../../../developer/swarm.md:451
+#: ../../../developer/swarm.md:481
 msgid ""
 "[*Maximizing the Coverage of Roadmap Graph for Optimal Motion "
 "Planning*](https://www.hindawi.com/journals/complexity/2018/9104720/). But "
 "need calculations"
 msgstr ""
 
-#: ../../../developer/swarm.md:452
+#: ../../../developer/swarm.md:482
 msgid ""
 "Use the algorithm of the DHT for the routing table. The 4 points are "
 "basically solved and already used by Jami in UDP."
 msgstr ""
 
-#: ../../../developer/swarm.md:454
+#: ../../../developer/swarm.md:484
 msgid ""
 "Note: to optimize the socket numbers, a socket will be given by a "
 "**ConnectionManager** to get multiplexed sockets with a given hash. This "
@@ -7387,35 +7567,35 @@ msgid ""
 "one socket will be used."
 msgstr ""
 
-#: ../../../developer/swarm.md:456
+#: ../../../developer/swarm.md:486
 msgid "Network activity"
 msgstr ""
 
-#: ../../../developer/swarm.md:458
+#: ../../../developer/swarm.md:488
 msgid "Process to invite someone"
 msgstr ""
 
-#: ../../../developer/swarm.md:460
+#: ../../../developer/swarm.md:490
 msgid "Alice wants to invite Bob:"
 msgstr ""
 
-#: ../../../developer/swarm.md:462
+#: ../../../developer/swarm.md:492
 msgid "Alice adds bob to a conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:463
+#: ../../../developer/swarm.md:493
 msgid ""
 "Alice generates an invite: { \"application/invite+json\" : {  "
 "\"conversationId\": \"$id\",  \"members\": [{...}] }}"
 msgstr ""
 
-#: ../../../developer/swarm.md:467
+#: ../../../developer/swarm.md:497
 msgid ""
 "Two possibilities for sending the message  a. If not connected, via the DHT"
 "  b. Else, Alice sends on the SIP channel"
 msgstr ""
 
-#: ../../../developer/swarm.md:470
+#: ../../../developer/swarm.md:500
 msgid ""
 "Two possibilities for Bob  a. Receives the invite, a signal is emitted for "
 "the client  b. Not connected, so will never receive the request cause Alice "
@@ -7423,23 +7603,23 @@ msgid ""
 "regenerate a new invite via a new message (cf. next scenario)"
 msgstr ""
 
-#: ../../../developer/swarm.md:474
+#: ../../../developer/swarm.md:504
 msgid "Process to send a message to someone"
 msgstr ""
 
-#: ../../../developer/swarm.md:476
+#: ../../../developer/swarm.md:506
 msgid "Alice wants to send a message to Bob:"
 msgstr ""
 
-#: ../../../developer/swarm.md:478
+#: ../../../developer/swarm.md:508
 msgid "Alice adds a message in the repo, giving an ID"
 msgstr ""
 
-#: ../../../developer/swarm.md:479
+#: ../../../developer/swarm.md:509
 msgid "Alice gets a message received (from herself) if successful"
 msgstr ""
 
-#: ../../../developer/swarm.md:480
+#: ../../../developer/swarm.md:510
 msgid ""
 "Two possibilities, alice and bob are connected, or not. In both case a "
 "message is crafted: { \"application/im-gitmessage-id\" : "
@@ -7448,7 +7628,7 @@ msgid ""
 "Alice sends on the SIP channel"
 msgstr ""
 
-#: ../../../developer/swarm.md:483
+#: ../../../developer/swarm.md:513
 msgid ""
 "Four possibilities for Bob:  a. Bob is not connected to Alice, so if he "
 "trusts Alice, ask for a new connection and go to b.  b. If connected, fetch "
@@ -7459,28 +7639,28 @@ msgid ""
 "message but will try to sync when the next connection will occur"
 msgstr ""
 
-#: ../../../developer/swarm.md:492
+#: ../../../developer/swarm.md:522
 msgid "![Diagram: swarm chat classes](images/swarm-chat-classes-diagram.jpg)"
 msgstr ""
 
-#: ../../../developer/swarm.md:492
+#: ../../../developer/swarm.md:522
 msgid "Diagram: swarm chat classes"
 msgstr ""
 
-#: ../../../developer/swarm.md:495
+#: ../../../developer/swarm.md:525
 msgid "**!! OLD DRAFT !!**"
 msgstr ""
 
-#: ../../../developer/swarm.md:497
+#: ../../../developer/swarm.md:527
 msgid ""
 "Note: Following notes are not organized yet. Just some line of thoughts."
 msgstr ""
 
-#: ../../../developer/swarm.md:499
+#: ../../../developer/swarm.md:529
 msgid "Crypto improvements."
 msgstr ""
 
-#: ../../../developer/swarm.md:501
+#: ../../../developer/swarm.md:531
 msgid ""
 "For a serious group chat feature, we also need serious crypto. With the "
 "current design, if a certificate is stolen as the previous DHT values of a "
@@ -7488,91 +7668,91 @@ msgid ""
 "something like **Double ratchet**."
 msgstr ""
 
-#: ../../../developer/swarm.md:503
+#: ../../../developer/swarm.md:533
 msgid ""
 "Note: a lib might exist to implement group conversations. TODO, investigate."
 msgstr ""
 
-#: ../../../developer/swarm.md:505
+#: ../../../developer/swarm.md:535
 msgid "Needs ECC support in OpenDHT"
 msgstr ""
 
-#: ../../../developer/swarm.md:509
+#: ../../../developer/swarm.md:539
 msgid "Add Roles?"
 msgstr ""
 
-#: ../../../developer/swarm.md:511
+#: ../../../developer/swarm.md:541
 msgid "There is two major use case for group chats:"
 msgstr ""
 
-#: ../../../developer/swarm.md:513
+#: ../../../developer/swarm.md:543
 msgid ""
 "Something like a Mattermost in a company, with private channels, and some "
 "roles (admin/spectator/bot/etc) or for educations (where only a few are "
 "active)."
 msgstr ""
 
-#: ../../../developer/swarm.md:514
+#: ../../../developer/swarm.md:544
 msgid "Horizontal conversations like a conversation between friends."
 msgstr ""
 
-#: ../../../developer/swarm.md:516
+#: ../../../developer/swarm.md:546
 msgid "Ring will be for which one?"
 msgstr ""
 
-#: ../../../developer/swarm.md:518
+#: ../../../developer/swarm.md:548
 msgid "Implementation idea"
 msgstr ""
 
-#: ../../../developer/swarm.md:520
+#: ../../../developer/swarm.md:550
 msgid ""
 "A certificate for a group that sign user with a flag for a role. Adding or "
 "revoking can also be done."
 msgstr ""
 
-#: ../../../developer/swarm.md:522
+#: ../../../developer/swarm.md:552
 msgid "Join a conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:524
+#: ../../../developer/swarm.md:554
 msgid "Only via a direct invite"
 msgstr ""
 
-#: ../../../developer/swarm.md:525
+#: ../../../developer/swarm.md:555
 msgid "Via a link/QR Code/whatever"
 msgstr ""
 
-#: ../../../developer/swarm.md:526
+#: ../../../developer/swarm.md:556
 msgid "Via a room name? (a **hash** on the DHT)"
 msgstr ""
 
-#: ../../../developer/swarm.md:528
+#: ../../../developer/swarm.md:558
 msgid "What we need"
 msgstr ""
 
-#: ../../../developer/swarm.md:530
+#: ../../../developer/swarm.md:560
 msgid ""
 "Confidentiality: members outside of the group chat should not be able to "
 "read messages in the group"
 msgstr ""
 
-#: ../../../developer/swarm.md:531
+#: ../../../developer/swarm.md:561
 msgid ""
 "Forward secrecy: if any key from the group is compromised, previous messages"
 " should remain confidential (as much as possible)"
 msgstr ""
 
-#: ../../../developer/swarm.md:533
+#: ../../../developer/swarm.md:563
 msgid "Message ordering: There is a need to have messages in the right order"
 msgstr ""
 
-#: ../../../developer/swarm.md:534
+#: ../../../developer/swarm.md:564
 msgid ""
 "Synchronization: There is also a need to be sure to have all messages at "
 "soon as possible."
 msgstr ""
 
-#: ../../../developer/swarm.md:535
+#: ../../../developer/swarm.md:565
 msgid ""
 "Persistence: Actually, a message on the DHT lives only 10 minutes. Because "
 "it's the best timing calculated for this kind of DHT. To persist data, the "
@@ -7583,53 +7763,53 @@ msgid ""
 "will still do 64 requests but limit the max redundancy to 8 nodes."
 msgstr ""
 
-#: ../../../developer/swarm.md:537
+#: ../../../developer/swarm.md:567
 msgid "Other distributed ways"
 msgstr ""
 
-#: ../../../developer/swarm.md:539
+#: ../../../developer/swarm.md:569
 msgid "IPFS: Need some investigation"
 msgstr ""
 
-#: ../../../developer/swarm.md:540
+#: ../../../developer/swarm.md:570
 msgid "BitMessage: Need some investigation"
 msgstr ""
 
-#: ../../../developer/swarm.md:541
+#: ../../../developer/swarm.md:571
 msgid "Maidsafe: Need some investigation"
 msgstr ""
 
-#: ../../../developer/swarm.md:543
+#: ../../../developer/swarm.md:573
 msgid "Based on current work we have"
 msgstr ""
 
-#: ../../../developer/swarm.md:545
+#: ../../../developer/swarm.md:575
 msgid ""
 "Group chat can be based on the same work we already have for multi-devices "
 "(but here, with a group certificate). Problems to solve:"
 msgstr ""
 
-#: ../../../developer/swarm.md:547
+#: ../../../developer/swarm.md:577
 msgid ""
 "History sync. This needs to move the database from the client into the "
 "daemon."
 msgstr ""
 
-#: ../../../developer/swarm.md:548
+#: ../../../developer/swarm.md:578
 msgid ""
 "If nobody is connected, the synchronization can't be done, and the person "
 "will never see the conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:550
+#: ../../../developer/swarm.md:580
 msgid "Another dedicated DHT"
 msgstr ""
 
-#: ../../../developer/swarm.md:552
+#: ../../../developer/swarm.md:582
 msgid "Like a DHT with a superuser. (Not convinced)"
 msgstr ""
 
-#: ../../../developer/swarm.md:556
+#: ../../../developer/swarm.md:586
 msgid ""
 "Currently, the file transfer algorithm is based on a TURN connection (See "
 "{doc}`file-transfer`). In the case of a big group, this will be bad. We "
@@ -7637,21 +7817,21 @@ msgid ""
 "transfer."
 msgstr ""
 
-#: ../../../developer/swarm.md:558
+#: ../../../developer/swarm.md:588
 msgid ""
 "Other problem: currently there is no implementation for TCP support for ICE "
 "in PJSIP. This is mandatory for this point (in pjsip or homemade)"
 msgstr ""
 
-#: ../../../developer/swarm.md:560
+#: ../../../developer/swarm.md:590
 msgid "Resources"
 msgstr ""
 
-#: ../../../developer/swarm.md:562
+#: ../../../developer/swarm.md:592
 msgid "https://eprint.iacr.org/2017/666.pdf"
 msgstr ""
 
-#: ../../../developer/swarm.md:563
+#: ../../../developer/swarm.md:593
 msgid ""
 "Robust distributed synchronization of networked linear systems with "
 "intermittent information (Sean Phillips and Ricardo G.Sanfelice)"
diff --git a/locales/fa/LC_MESSAGES/index.po b/locales/fa/LC_MESSAGES/index.po
index b71523c5d1f8cd9d6199a2b30665d7d85325b9af..f13db3a66eb73f4bc8c541a26cda1733e6f5a8aa 100644
--- a/locales/fa/LC_MESSAGES/index.po
+++ b/locales/fa/LC_MESSAGES/index.po
@@ -1,6 +1,6 @@
-# SOME DESCRIPTIVE TITLE.
+# LANGUAGE translation of FILENAME.pot
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
-# This file is distributed under the same license as the Jami package.
+# This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
 # Translators:
@@ -10,8 +10,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-19 12:03+0000\n"
+"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:41+0000\n"
 "Last-Translator: Mohammad Amin Sameti <mamins1376@gmail.com>, 2022\n"
 "Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n"
diff --git a/locales/fa/LC_MESSAGES/sphinx.po b/locales/fa/LC_MESSAGES/sphinx.po
index 1bbf6fb74a704a291346bc15f8df32ab8e0251e2..45af78cf5543fbd74e991d7cf8d2c275ab338f07 100644
--- a/locales/fa/LC_MESSAGES/sphinx.po
+++ b/locales/fa/LC_MESSAGES/sphinx.po
@@ -1,14 +1,14 @@
-# SOME DESCRIPTIVE TITLE.
+# LANGUAGE translation of FILENAME.pot
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
-# This file is distributed under the same license as the Jami package.
+# This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-19 12:03+0000\n"
+"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:53+0000\n"
 "Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n"
 "MIME-Version: 1.0\n"
diff --git a/locales/fa/LC_MESSAGES/user.po b/locales/fa/LC_MESSAGES/user.po
index c4055ff04a30371e6e5e4a91e3171e7901ce321a..077841dfd87e388d1f51f781acea8e8f56a42519 100644
--- a/locales/fa/LC_MESSAGES/user.po
+++ b/locales/fa/LC_MESSAGES/user.po
@@ -2,10 +2,9 @@
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
 # This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# 
 # Translators:
 # . . <ovari123@zoho.com>, 2022
-# Mohammad Amin Sameti <mamins1376@gmail.com>, 2022
 # Mrehdi Ghayour, 2022
 # Reza Ghasemi, 2022
 # Amir Taherizadeh, 2022
@@ -14,13 +13,13 @@
 # ali ask <aliraadlar@gmail.com>, 2022
 # Hamid reza Zaefarani, 2022
 # Danial Behzadi <dani.behzi@ubuntu.com>, 2022
-#
+# 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
 "Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
-"POT-Creation-Date: 2022-11-01 02:52+0000\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:45+0000\n"
 "Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>, 2022\n"
 "Language-Team: Persian (https://www.transifex.com/savoirfairelinux/teams/49466/fa/)\n"
@@ -47,13 +46,18 @@ msgid "E : experimental"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:8
-msgid "X : not available yet"
+msgid "X : not yet available"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:9
 msgid "N/A : not applicable for this client"
 msgstr ""
 
+#: ../../../user/all-features-by-client.md:10
+msgid "Desktop : Apple macOS, GNU/Linux, Microsoft Windows operating systems"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
 #: ../../../user/all-features-by-client.md:11
 msgid "Text messaging"
 msgstr "پیغامدهی متنی"
@@ -63,11 +67,7 @@ msgid "**Client**"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Linux"
-msgstr ""
-
-#: ../../../user/all-features-by-client.md:0
-msgid "Windows"
+msgid "Desktop"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -82,14 +82,6 @@ msgstr ""
 msgid "iOS"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:0
-msgid "macOS"
-msgstr ""
-
-#: ../../../user/all-features-by-client.md:0
-msgid "Text Messaging"
-msgstr ""
-
 #: ../../../user/all-features-by-client.md:0
 msgid "✓"
 msgstr ""
@@ -106,16 +98,12 @@ msgstr ""
 msgid "X"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:0
-msgid "Clear History"
-msgstr "پاک کردن تاریخچه"
-
 #: ../../../user/all-features-by-client.md:0
 msgid "Chat history shared across devices"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Send Files"
+msgid "Send files"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -134,16 +122,52 @@ msgstr ""
 msgid "Read status"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:25
+#: ../../../user/all-features-by-client.md:0
+msgid "Reply to"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Message edition"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Emoji reaction"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Update conversation's profile"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Add/Kick members"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Conversation's preferences"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Search messages"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Share location"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Media gallery"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:33
 msgid "Calling"
 msgstr "در حال تماس"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Audio Calling"
+msgid "Audio calling"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Video Calling"
+msgid "Video calling"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -190,6 +214,10 @@ msgstr ""
 msgid "Window sharing"
 msgstr ""
 
+#: ../../../user/all-features-by-client.md:0
+msgid "✓(3)"
+msgstr ""
+
 #: ../../../user/all-features-by-client.md:0
 msgid "Media sharing"
 msgstr ""
@@ -211,7 +239,7 @@ msgid "Texting while on call"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Remote recording notif"
+msgid "Remote recording notification"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -219,7 +247,7 @@ msgid "Rendez-vous mode"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Conference Layout"
+msgid "Conference layout"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -231,31 +259,35 @@ msgid "Videosplit"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Audio Processor \\*\\*"
+msgid "Audio processor \\*\\*"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
 msgid "✓(2)"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:54
+#: ../../../user/all-features-by-client.md:0
+msgid "Voice activity"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:63
 msgid ""
-"\\* This enables 4k video calling support   \\*\\* cf. {ref}`user/faq:How "
-"can I configure the audio processor?` in the FAQ"
+"\\* This enables 4k video calling support \\*\\* cf. {ref}`user/faq:How can "
+"I configure the audio processor?` in the FAQ"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:58
+#: ../../../user/all-features-by-client.md:67
 msgid ""
-"(1) only on X (not Wayland)   (2) Some features enabled by default and not "
-"configurable"
+"(1) only on X (not Wayland) (2) Some features enabled by default and not "
+"configurable (3) only on X and not on Microsoft Windows"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:61
+#: ../../../user/all-features-by-client.md:71
 msgid "Account settings"
 msgstr "تنظیمات حساب کاربری"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Profile avatar"
+msgid "Profile picture"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -275,11 +307,11 @@ msgid "Register username"
 msgstr "ثبت نام کاربری"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Delete Contacts"
+msgid "Delete contacts"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Block Contacts"
+msgid "Block contacts"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -294,20 +326,20 @@ msgstr ""
 msgid "Auto answer"
 msgstr "پاسخ خودکار"
 
-#: ../../../user/all-features-by-client.md:77
+#: ../../../user/all-features-by-client.md:87
 msgid "Other features"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Scan QR Code"
-msgstr "اسکن کد QR"
+msgid "Scan QR code"
+msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Display QR Code"
+msgid "Display QR code"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Ban contact"
+msgid "Block contact"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -343,23 +375,29 @@ msgid "Dark theme support"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "JAMS support"
+msgid "JAMS\\*\\* support"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
 msgid "Plugin support"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:94
-msgid "\\* According to <https://explore.transifex.com/savoirfairelinux/jami/>"
+#: ../../../user/all-features-by-client.md:0
+msgid "Application translation"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:105
+msgid ""
+"\\* According to <https://explore.transifex.com/savoirfairelinux/jami/> "
+"\\*\\* JAMS (Jami Account Management Server) <https://jami.biz/>"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:96
+#: ../../../user/all-features-by-client.md:108
 msgid "Advanced settings"
 msgstr "تنظیمات پیشرفته"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "DHT Proxy support"
+msgid "DHT proxy support"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -2331,3 +2369,120 @@ msgid ""
 "This will start a geth daemon with an attached console which is now syncing "
 "with Jami's network."
 msgstr ""
+
+#: ../../../user/lan-only.rst:2
+msgid "Use Jami on a LAN"
+msgstr ""
+
+#: ../../../user/lan-only.rst:4
+msgid ""
+"Due the distributed nature of Jami, it is possible to use it over a LAN, "
+"without any Internet connection. This allows you to continue to communicate "
+"with other people in the company/building/country without global Internet "
+"access. However, some services are external so in this document we will "
+"explain some tweaks you may need."
+msgstr ""
+
+#: ../../../user/lan-only.rst:16
+msgid "Boostraping"
+msgstr ""
+
+#: ../../../user/lan-only.rst:19
+msgid "What is a bootstrap?"
+msgstr ""
+
+#: ../../../user/lan-only.rst:21
+msgid ""
+"Jami uses the DHT technology to find other users. So, all the users you want"
+" to contact must be reachable on the same DHT network (e.g. if the Internet "
+"is split between two buildings, users in the first buildings will not be "
+"able to reach the second building). To enter a DHT network, one must be able"
+" to reach at least one other node. This node is called bootstrap, it is the "
+"entry point of the network. By default, **bootstrap.jami.net** is "
+"configured, but any node in the public DHT can be a bootstrap (it is a "
+"classic node, generally always online)."
+msgstr ""
+
+#: ../../../user/lan-only.rst:29
+msgid ""
+"So, if the Internet is cut, you need another bootstrap to create a network. "
+"On a LAN, there is two ways to configure it in Jami:"
+msgstr ""
+
+#: ../../../user/lan-only.rst:33
+msgid "Bootstrap settings"
+msgstr ""
+
+#: ../../../user/lan-only.rst:35
+msgid ""
+"In the advanced account settings, the user can configure multiple "
+"bootstraps. **bootstrap.jami.net** is usually the default, "
+"**bootstrap.jami.net;your.bootstrap.tld** will be valid. The IP:port of "
+"another DHT node can be specified as a bootstrap."
+msgstr ""
+
+#: ../../../user/lan-only.rst:40
+msgid "Local Peer Discovery"
+msgstr ""
+
+#: ../../../user/lan-only.rst:42
+msgid ""
+"Another way is to enable peer discovery. This will announce the bootstrap on"
+" the network by broadcasting UDP packets (like a printer). So, UDP broadcast"
+" must be supported by the network in order to work. However, this method "
+"does not need to specify an ip:port in the settings, so it can be preferred."
+msgstr ""
+
+#: ../../../user/lan-only.rst:48
+msgid "TURN"
+msgstr ""
+
+#: ../../../user/lan-only.rst:50
+msgid ""
+"Another external service is the TURN server, used as a fallback for "
+"connections if the NAT block all possible connections. Generally it is "
+"**turn.jami.net** but can be any TURN (we use coturn, cf. "
+":doc:`/developer/setting-up-your-own-turn-server`)"
+msgstr ""
+
+#: ../../../user/lan-only.rst:54
+msgid ""
+"On a LAN, it may be ignored (because there will be no NAT), but disabling it"
+" should not be necessary (because it will not be used if unreachable)."
+msgstr ""
+
+#: ../../../user/lan-only.rst:58
+msgid "On mobile (DHT Proxy)"
+msgstr ""
+
+#: ../../../user/lan-only.rst:60
+msgid ""
+"A DHT Proxy is used with mobile devices to save battery by avoiding "
+"synchronization. It is generally **dhtproxy.jami.net** but can be any DHT "
+"node with the REST API enabled. However, if the DHT proxy is using push "
+"notifications it will depend on another external service (Firebase or APN or"
+" a Unified Push instance). In this case, only the third one can be self-"
+"hosted."
+msgstr ""
+
+#: ../../../user/lan-only.rst:65
+msgid ""
+"On iOS it is basically not possible to work without push, as the OS from "
+"Apple will kill any application as soon as it is in background. So you can "
+"not disable the usage of push notifications. However, for Android, you may "
+"want to self-host your proxy (with or without unified push support), or you "
+"can disable the DHT Proxy and enable \"Run in background\" in order to use "
+"your local DHT."
+msgstr ""
+
+#: ../../../user/lan-only.rst:72
+msgid "NameServer"
+msgstr ""
+
+#: ../../../user/lan-only.rst:74
+msgid ""
+"Finally, the last external service you may need is a NameServer. This is "
+"used to translate addresses (the 40-characters fingerprint ID) to usernames."
+" You may not have access to **ns.jami.net**, but you can self-host one "
+"(:doc:`/developer/name-server-protocol`) or only use IDs."
+msgstr ""
diff --git a/locales/fr/LC_MESSAGES/developer.po b/locales/fr/LC_MESSAGES/developer.po
index f8fdeb0f04167389015c3886e3666c616d37e794..f365109ccc3ce43e7cc3101af4688866fe84bee2 100644
--- a/locales/fr/LC_MESSAGES/developer.po
+++ b/locales/fr/LC_MESSAGES/developer.po
@@ -13,7 +13,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
 "Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
-"POT-Creation-Date: 2022-11-08 03:52+0000\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:48+0000\n"
 "Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n"
 "Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n"
@@ -1255,7 +1255,7 @@ msgstr ""
 
 #: ../../../developer/conference-protocol.md:38
 #: ../../../developer/conference-protocol.md:95
-#: ../../../developer/swarm.md:490
+#: ../../../developer/swarm.md:520
 msgid "Implementation"
 msgstr ""
 
@@ -1709,7 +1709,7 @@ msgstr ""
 msgid "ChannelSockets are used by the client to interact with the other peer."
 msgstr ""
 
-#: ../../../developer/connection-manager.md:67 ../../../developer/swarm.md:507
+#: ../../../developer/connection-manager.md:67 ../../../developer/swarm.md:537
 msgid "Usage"
 msgstr ""
 
@@ -1845,8 +1845,8 @@ msgid ""
 "As from September of 2020, Jami team has added plugins as a call feature for"
 " GNU/Linux, Windows, and Android users. This meaning that now you can "
 "personalize your call and chat experience by using one of our available "
-"plugins.  But that is not all, you can also transform your awesome ideas "
-"into a brand new plugin!"
+"plugins. But that is not all, you can also transform your awesome ideas into"
+" a brand new plugin!"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:11
@@ -2139,7 +2139,7 @@ msgid ""
 "`defaultValue`, and `scope`. The specific ones are linked to the type of the"
 " preference constructed. For `EDITTEXT` preferences there is no other "
 "property to be set. For `PATH` preferences we have: `mimeType`. For `LIST` "
-"preferences we have: `entries` and `entryValues`.  A `LIST` preference must "
+"preferences we have: `entries` and `entryValues`. A `LIST` preference must "
 "have a list of possible values to be used and a list of 'names' for these "
 "values. For example: If you have two `entriesValues`: '0' and '1', these "
 "values may not be understandable by the user. Jami's UI will take the values"
@@ -2561,9 +2561,9 @@ msgstr ""
 #: ../../../developer/creating-jami-plugins.md:320
 #: ../../../developer/creating-jami-plugins.md:454
 msgid ""
-"Available APIs:  (1) video during a call (Media Handler API) (2) audio "
-"during a call (Media Handler API) (3) chat messages (Chat Handler API) For "
-"more information about the API, call help preferences."
+"Available APIs: (1) video during a call (Media Handler API) (2) audio during"
+" a call (Media Handler API) (3) chat messages (Chat Handler API) For more "
+"information about the API, call help preferences."
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:326
@@ -2582,7 +2582,7 @@ msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:332
 msgid ""
-"Your preferences options available are:  (0) List; (1) Path; (2) EditText;"
+"Your preferences options available are: (0) List; (1) Path; (2) EditText;"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:337
@@ -2613,7 +2613,7 @@ msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:358
 msgid ""
-"Your preferences options available are:  (0) List; (1) Path; (3) EditText;"
+"Your preferences options available are: (0) List; (1) Path; (3) EditText;"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:363
@@ -2736,7 +2736,7 @@ msgid "python3 build-plugin.py --projects=HelloWorld"
 msgstr ""
 
 #: ../../../developer/creating-jami-plugins.md:427
-#: ../../../developer/feature-requests.md:40
+#: ../../../developer/feature-requests.md:39
 msgid "Android:"
 msgstr ""
 
@@ -2815,6 +2815,146 @@ msgid ""
 "community is developping their own plugins!"
 msgstr ""
 
+#: ../../../developer/debugging-tools.rst:2
+msgid "Debugging Tools"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:4
+msgid ""
+"There are several ways to debug Jami from a developer perspective, depending"
+" on what you want to debug."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:7
+msgid "Loggers"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:9
+msgid ""
+"The first way is to use runtime loggers. Starting `jami` with `-d` will "
+"enable logging by the deamon (or the Troubleshoot section in the General "
+"settings). Because Jami uses several libraries, we do not enable all logs by"
+" default. But you can pass some environment variables to show it:"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:13
+msgid "`SIPLOGLEVEL=5` for enabling logs from PJSIP."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:14
+msgid "`DHTLOGLEVEL=5` for enabling logs from OpenDHT."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:15
+msgid "`AVLOGLEVEL=50` for enabling logs from ffmpeg."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:18
+msgid "Debuggers"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:20
+msgid ""
+"Generally your IDE has an embedded debuggger. Else, you can use `gdb` for "
+"example to be able to add breakpoints, backtraces from crashes, print "
+"internal structures, etc. You need to compile the project in *DEBUG* mode to"
+" get debug symbols."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:24
+msgid "Some useful commands:"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:26
+msgid ""
+"`b file.cpp:line` - Add a breakpoint (*file.cpp:line* can be replaced by a "
+"symbol)"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:27
+msgid "`t a a bt` - (thread apply all backtrace) to get all backtraces"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:28
+msgid "`Ctrl + X / A` - pass in graphical view"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:29
+msgid "`p` - print an internal value."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:32
+msgid "Profilers"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:34
+msgid ""
+"Debuggers are useful, but they do not show real-time memory "
+"consumption/network activity/CPU usage. For this, you can use the embedded "
+"profiler in your IDE (from Android Studio or Qt Creator/Visual Studio for "
+"example)."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:39
+msgid "Address Sanitizer"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:41
+msgid ""
+"This can be useful to detect leaks, crashes, potential deadlocks at runtime."
+" To enable this, you can compile the daemon with "
+"`CXXFLAGS+=\"-fsanitize=address\"`. Other flags like `tsan` may be useful."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:45
+msgid "Valgrind/Callgrind"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:47
+msgid ""
+"Valgrind is a tool to watch allocations, CPU usage and more and can be used "
+"via: `valgrind --tool=callgrind ./jami -d`. This will make the application "
+"very slow but can provide useful reports about memory allocation/performance"
+" usage (**KCacheGrind** can be used to read reports)."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:52
+msgid "Tests"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:54
+msgid ""
+"Daemon has many tests and coverage enabled. If the daemon is built in static"
+" (else private symbols will not be available), adding new tests can help to "
+"reproduce bugs, solve bugs and avoid any regression. (cf. "
+"`daemon/tests/unitTests``)"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:59
+msgid "Agent"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:61
+msgid ""
+"Tests are only using one daemon to simulate both peers. So it can be "
+"difficult to test in various environments. Another possibility is to write a"
+" scenario and run an agent (documentation is available in the daemon's "
+"repository)."
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:66
+msgid "LTTng"
+msgstr ""
+
+#: ../../../developer/debugging-tools.rst:68
+msgid ""
+"Finally, tracepoints can be created and analyzed. `daemon/tools/trace` "
+"provide the documentation and some examples. The advantage of LTTng is that "
+"it is quicker than logs, can be triggered by system events and can be used "
+"with tracepoints already present in the kernel (so that it can be used with "
+"tracepoints from network interfaces)."
+msgstr ""
+
 #: ../../../developer/feature-requests.md:1
 msgid "Feature requests"
 msgstr ""
@@ -2832,7 +2972,7 @@ msgstr ""
 #: ../../../developer/feature-requests.md:10
 msgid ""
 "{daemon-issue}`Implement pipewire <13> to support screen sharing on Wayland`"
-" -> Contact #Jami (Adrien, Sébastien, etc.) / hard"
+" -> Contact #Jami (Adrien, Sébastien, etc.) / hard / In progress"
 msgstr ""
 
 #: ../../../developer/feature-requests.md:12
@@ -2860,161 +3000,164 @@ msgid "SIP:"
 msgstr ""
 
 #: ../../../developer/feature-requests.md:18
-msgid "re-check all SIP features / easy"
+msgid "Fix IP to IP -> Contact #Jami (Adrien, Sébastien) / easy"
 msgstr ""
 
 #: ../../../developer/feature-requests.md:19
-msgid ""
-"Check why SIP unregister is not sent when leaving the application. -> "
-"Contact #Jami / easy"
-msgstr ""
-
-#: ../../../developer/feature-requests.md:20
 msgid "Add unit-tests / probably easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:21
+#: ../../../developer/feature-requests.md:20
 msgid ""
 "Investigate: SIP/XMPP bridge -> Contact #Jami (Adrien, Sébastien) / hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:23
+#: ../../../developer/feature-requests.md:22
 msgid ""
 "Search in system contacts ({client-gnome-issue}`1191`, {client-gnome-"
 "issue}`829`, etc.) -> Contact #Jami (Adrien, Sébastien, Andreas, etc.) / "
 "easy but long"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:26
+#: ../../../developer/feature-requests.md:25
 msgid "Crypto: (Contact #Jami - Adrien)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:27
+#: ../../../developer/feature-requests.md:26
 msgid "Update media RTP ciphers for ffmpeg / probably easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:28
+#: ../../../developer/feature-requests.md:27
 msgid "Support ECC (instead RSA) for Jami accounts / hard but short"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:29
+#: ../../../developer/feature-requests.md:28
 msgid "Remove usages of SHA1 (ids + git) / hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:30
+#: ../../../developer/feature-requests.md:29
 msgid "Media -> Contact #Jami (Adrien, Andreas, etc.)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:31
+#: ../../../developer/feature-requests.md:30
 msgid "Push to talk support (system wide) / easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:32
+#: ../../../developer/feature-requests.md:31
 msgid "{daemon-issue}`POC for AV1 support <27>` / probably hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:33
+#: ../../../developer/feature-requests.md:32
 msgid "Fix the video recorder / probably hard"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:34
-msgid "Fix audio mixing (when sharing camera + a file) / probably hard"
+#: ../../../developer/feature-requests.md:33
+msgid ""
+"Fix audio mixing (when sharing camera + a file) / probably hard / In "
+"progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:35
+#: ../../../developer/feature-requests.md:34
 msgid "Investigate audio quality (contact #Jami, medium difficulty)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:36
+#: ../../../developer/feature-requests.md:35
 msgid "Plugins ideas: (Contact #Jami - Aline)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:37
+#: ../../../developer/feature-requests.md:36
 msgid ""
 "{client-qt-issue}`Live closed captions (multiple languages) <576>` (Whisper "
-"OpenAI, Google Speech API or similar) / probably easy"
+"OpenAI, Google Speech API or similar) / probably easy / In progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:39
+#: ../../../developer/feature-requests.md:38
 msgid "Payment plug-in"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:41
+#: ../../../developer/feature-requests.md:40
 msgid "Fix support for Bluetooth/headset / probably easy"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:42
+#: ../../../developer/feature-requests.md:41
 msgid ""
-"Support OpenPush (Android + OpenDHT - <https://bubu1.eu/openpush/>) / easy "
-"and started"
+"Support OpenPush (Android + OpenDHT - <https://bubu1.eu/openpush/>) / easy /"
+" In progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:44
+#: ../../../developer/feature-requests.md:43
 msgid ""
 "Separate connectivity (ICE/TCP/TLS/UPNP/connection manager) in a dedicated "
 "library (can be shared with OpenDHT) / medium difficulty & long term project"
+" / In progress"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:47
+#: ../../../developer/feature-requests.md:46
 msgid "Add new transports (e.g. QUIC?)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:48
+#: ../../../developer/feature-requests.md:47
 msgid "Add libtorrent support?"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:49
+#: ../../../developer/feature-requests.md:48
 msgid "POC HTTP or SSH over this library"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:50
+#: ../../../developer/feature-requests.md:49
 msgid ""
 "Public page/personal blog available through Jami (Contact #Jami / medium "
 "difficulty & long term project)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:52
+#: ../../../developer/feature-requests.md:51
 msgid "Qt:"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:53
+#: ../../../developer/feature-requests.md:52
 msgid ""
 "Add support for location sharing (contact #Jami - medium difficulty) (In "
 "progress)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:54
+#: ../../../developer/feature-requests.md:53
 msgid ""
 "{client-qt-issue}`Add support for peer discovery<868>` (contact #Jami - "
 "easy)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:55
+#: ../../../developer/feature-requests.md:54
 msgid ""
 "{client-qt-issue}`Add support for searching messages in conversations<869>` "
 "(contact #Jami - easy)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:56
+#: ../../../developer/feature-requests.md:55
 msgid ""
 "Emoji as a native component to avoid depending on qt-webengine for this (not"
 " available on macOS) (e.g. https://github.com/jnodev/QMLemoji)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:58
+#: ../../../developer/feature-requests.md:57
 msgid ""
 "Categorized conversations (like favorites, groups, etc) (to discuss with "
 "#Jami)"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:59
+#: ../../../developer/feature-requests.md:58
 msgid "Swarm:"
 msgstr ""
 
-#: ../../../developer/feature-requests.md:60
+#: ../../../developer/feature-requests.md:59
 msgid "Add emoji reactions to messages (Contact #Jami - easy)"
 msgstr ""
 
+#: ../../../developer/feature-requests.md:60
+msgid ""
+"{daemon-issue}`File-transfer small improvements<788>`  (contact #Jami - "
+"easy)"
+msgstr ""
+
 #: ../../../developer/feature-requests.md:61
 msgid "jami-web:"
 msgstr ""
@@ -3247,8 +3390,8 @@ msgstr ""
 msgid "{daemon-issue}`Remote control <349>`"
 msgstr ""
 
-#: ../../../developer/file-transfer.md:1 ../../../developer/swarm.md:374
-#: ../../../developer/swarm.md:554
+#: ../../../developer/file-transfer.md:1 ../../../developer/swarm.md:404
+#: ../../../developer/swarm.md:584
 msgid "File transfer"
 msgstr ""
 
@@ -5243,7 +5386,7 @@ msgid ""
 "`ns.jami.net` and querying an Ethereum node."
 msgstr ""
 
-#: ../../../developer/protocol.md:1 ../../../developer/swarm.md:378
+#: ../../../developer/protocol.md:1 ../../../developer/swarm.md:408
 msgid "Protocol"
 msgstr ""
 
@@ -7011,49 +7154,86 @@ msgid ""
 msgstr ""
 
 #: ../../../developer/swarm.md:264
-msgid "Merge conflicts management"
+msgid "Preferences"
 msgstr ""
 
 #: ../../../developer/swarm.md:266
 msgid ""
+"Every conversation has attached preferences set by the user. Those "
+"preferences are synced across user's devices. This can be the color of the "
+"conversation, if the user wants to ignore notifications, file transfer size "
+"limit, etc. For now, the recognized keys are:"
+msgstr ""
+
+#: ../../../developer/swarm.md:268
+msgid "\"color\" - the color of the conversation"
+msgstr ""
+
+#: ../../../developer/swarm.md:269
+msgid ""
+"\"ignoreNotifications\" - to ignore notifications for new messages in this "
+"conversation"
+msgstr ""
+
+#: ../../../developer/swarm.md:270
+msgid "\"symbol\" - to define a default emoji."
+msgstr ""
+
+#: ../../../developer/swarm.md:272
+msgid ""
+"Those preferences are stored in a packet MapStringString, stored in "
+"`accountDir/conversation_data/conversationId/preferences` and only sent "
+"across devices of the same user via SyncMsg."
+msgstr ""
+
+#: ../../../developer/swarm.md:274
+msgid "The API to interact with the preferences are:"
+msgstr ""
+
+#: ../../../developer/swarm.md:294
+msgid "Merge conflicts management"
+msgstr ""
+
+#: ../../../developer/swarm.md:296
+msgid ""
 "Because two admins can change the description at the same time, a merge "
 "conflict can occur on `profile.vcf`. In this case, the commit with the "
 "higher hash (eg ffffff > 000000) will be chosen."
 msgstr ""
 
-#: ../../../developer/swarm.md:268
+#: ../../../developer/swarm.md:298
 msgid "APIs"
 msgstr ""
 
-#: ../../../developer/swarm.md:270
+#: ../../../developer/swarm.md:300
 msgid "The user got 2 methods to get and set conversation's metadatas:"
 msgstr ""
 
-#: ../../../developer/swarm.md:296
+#: ../../../developer/swarm.md:326
 msgid "where `infos` is a `map<str, str>` with the following keys:"
 msgstr ""
 
-#: ../../../developer/swarm.md:298
+#: ../../../developer/swarm.md:328
 msgid "mode: READ-ONLY"
 msgstr ""
 
-#: ../../../developer/swarm.md:299
+#: ../../../developer/swarm.md:329
 msgid "title"
 msgstr ""
 
-#: ../../../developer/swarm.md:300
+#: ../../../developer/swarm.md:330
 msgid "description"
 msgstr ""
 
-#: ../../../developer/swarm.md:301
+#: ../../../developer/swarm.md:331
 msgid "avatar"
 msgstr ""
 
-#: ../../../developer/swarm.md:303
+#: ../../../developer/swarm.md:333
 msgid "Re-import an account (link/export)"
 msgstr ""
 
-#: ../../../developer/swarm.md:305
+#: ../../../developer/swarm.md:335
 msgid ""
 "The archive MUST contain conversationId to be able to retrieve conversations"
 " on new commits after a re-import (because there is no invite at this "
@@ -7061,123 +7241,123 @@ msgid ""
 "possibilities:"
 msgstr ""
 
-#: ../../../developer/swarm.md:307
+#: ../../../developer/swarm.md:337
 msgid ""
 "The conversationId is there, in this case, the daemon is able to re-clone "
 "this conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:308
+#: ../../../developer/swarm.md:338
 msgid ""
 "The conversationId is missing, so the daemon asks (via a message "
 "`{{\"application/invite\", conversationId}}`) a new invite that the user "
 "needs to (re)accepts"
 msgstr ""
 
-#: ../../../developer/swarm.md:310
+#: ../../../developer/swarm.md:340
 msgid ""
 "Note, a conversation can only be retrieved if a contact or another device is"
 " there, else it will be lost. There is no magic."
 msgstr ""
 
-#: ../../../developer/swarm.md:312
+#: ../../../developer/swarm.md:342
 msgid "Other mime types"
 msgstr ""
 
-#: ../../../developer/swarm.md:314
+#: ../../../developer/swarm.md:344
 msgid ""
 "`application/call-history+json` with a JSON containing the `id` and the "
 "`duration` of the call"
 msgstr ""
 
-#: ../../../developer/swarm.md:315
+#: ../../../developer/swarm.md:345
 msgid ""
 "`application/data-transfer+json` with a JSON containing the `tid` of the "
 "file, the `sha3sum` and `displayName`"
 msgstr ""
 
-#: ../../../developer/swarm.md:317
+#: ../../../developer/swarm.md:347
 msgid "Used protocols"
 msgstr ""
 
-#: ../../../developer/swarm.md:319
+#: ../../../developer/swarm.md:349
 msgid "Git"
 msgstr ""
 
-#: ../../../developer/swarm.md:321
+#: ../../../developer/swarm.md:351
 msgid "Why this choice"
 msgstr ""
 
-#: ../../../developer/swarm.md:323
+#: ../../../developer/swarm.md:353
 msgid ""
 "Each conversation will be a git repository. This choice is motivated by:"
 msgstr ""
 
-#: ../../../developer/swarm.md:325
+#: ../../../developer/swarm.md:355
 msgid ""
 "We need to sync and order messages. The Merkle Tree is the perfect structure"
 " to do that and can be linearized by merging branches. Moreover, because "
 "it's massively used by Git, it's easy to sync between devices."
 msgstr ""
 
-#: ../../../developer/swarm.md:326
+#: ../../../developer/swarm.md:356
 msgid "Distributed by nature. Massively used. Lots of backends and pluggable."
 msgstr ""
 
-#: ../../../developer/swarm.md:327
+#: ../../../developer/swarm.md:357
 msgid "Can verify commits via hooks and massively used crypto"
 msgstr ""
 
-#: ../../../developer/swarm.md:328
+#: ../../../developer/swarm.md:358
 msgid "Can be stored in a database if necessary"
 msgstr ""
 
-#: ../../../developer/swarm.md:329
+#: ../../../developer/swarm.md:359
 msgid "Conflicts are avoided by using commit messages, not files."
 msgstr ""
 
-#: ../../../developer/swarm.md:331
+#: ../../../developer/swarm.md:361
 msgid "What we have to validate"
 msgstr ""
 
-#: ../../../developer/swarm.md:333
+#: ../../../developer/swarm.md:363
 msgid "Performance? `git.lock` can be low"
 msgstr ""
 
-#: ../../../developer/swarm.md:334
+#: ../../../developer/swarm.md:364
 msgid "Hooks in libgit2"
 msgstr ""
 
-#: ../../../developer/swarm.md:335
+#: ../../../developer/swarm.md:365
 msgid "Multiple pulls at the same time?"
 msgstr ""
 
-#: ../../../developer/swarm.md:337
+#: ../../../developer/swarm.md:367
 msgid "Limits"
 msgstr ""
 
-#: ../../../developer/swarm.md:339
+#: ../../../developer/swarm.md:369
 msgid ""
 "History can't be deleted. To delete a conversation, the device has to leave "
 "the conversation and create another one."
 msgstr ""
 
-#: ../../../developer/swarm.md:341
+#: ../../../developer/swarm.md:371
 msgid ""
 "However, non-permanent messages (like messages readable only for some "
 "minutes) can be sent via a  special message via the DRT (like Typing or Read"
 " notifications)."
 msgstr ""
 
-#: ../../../developer/swarm.md:343
+#: ../../../developer/swarm.md:373
 msgid "Moreover editing messages will be possible! (`commit --fixup`)"
 msgstr ""
 
-#: ../../../developer/swarm.md:345
+#: ../../../developer/swarm.md:375
 msgid "Structure"
 msgstr ""
 
-#: ../../../developer/swarm.md:376
+#: ../../../developer/swarm.md:406
 msgid ""
 "Swarm massively changes file transfer. Now, all the history is syncing, "
 "allowing all devices in the conversation to easily retrieve old files. This "
@@ -7189,19 +7369,19 @@ msgid ""
 "allowing to retrieve files even if the sender is not there."
 msgstr ""
 
-#: ../../../developer/swarm.md:380
+#: ../../../developer/swarm.md:410
 msgid ""
 "The sender adds a new commit in the conversation with the following format:"
 msgstr ""
 
-#: ../../../developer/swarm.md:390
+#: ../../../developer/swarm.md:420
 msgid ""
 "and creates a link in "
 "`${data_path}/conversation_data/${conversation_id}/${file_id}` where "
 "`file_id=${commitid}_${value[\"tid\"]}.${extension}`"
 msgstr ""
 
-#: ../../../developer/swarm.md:392
+#: ../../../developer/swarm.md:422
 msgid ""
 "Then, the receiver can now download the files by contacting the devices "
 "hosting the file by opening a channel with `name=\"data-transfer://\" + "
@@ -7210,7 +7390,7 @@ msgid ""
 "`${data_path}/conversation_data/${conversation_id}/waiting`"
 msgstr ""
 
-#: ../../../developer/swarm.md:394
+#: ../../../developer/swarm.md:424
 msgid ""
 "The device receiving the connection will accepts the channel by verifying if"
 " the file can be sent (if sha3sum is correct and if file exists). The "
@@ -7220,172 +7400,172 @@ msgid ""
 " data."
 msgstr ""
 
-#: ../../../developer/swarm.md:396
+#: ../../../developer/swarm.md:426
 msgid ""
 "When the transfer is finished or the channel closed, the sha3sum is verified"
 " to validate that the file is correct (else it's deleted). If valid, the "
 "file will be removed from the waiting."
 msgstr ""
 
-#: ../../../developer/swarm.md:398
+#: ../../../developer/swarm.md:428
 msgid ""
 "In case of failure, when a device of the conversation will be back online, "
 "we will ask for all waiting files by the same way."
 msgstr ""
 
-#: ../../../developer/swarm.md:400
+#: ../../../developer/swarm.md:430
 msgid "Call in swarm"
 msgstr ""
 
-#: ../../../developer/swarm.md:402
+#: ../../../developer/swarm.md:432
 msgid "TODO: nameserver part"
 msgstr ""
 
-#: ../../../developer/swarm.md:404
+#: ../../../developer/swarm.md:434
 msgid "Idea"
 msgstr ""
 
-#: ../../../developer/swarm.md:406
+#: ../../../developer/swarm.md:436
 msgid ""
 "A swarm conversation can have multiple rendez-vous. A rendez-vous is defined"
 " by the following uri:"
 msgstr ""
 
-#: ../../../developer/swarm.md:408
+#: ../../../developer/swarm.md:438
 msgid ""
 "\"accountUri/deviceId/conversationId/confId\" where accountUri/deviceId "
 "describes the host."
 msgstr ""
 
-#: ../../../developer/swarm.md:410
+#: ../../../developer/swarm.md:440
 msgid "The host can be determined via two ways:"
 msgstr ""
 
-#: ../../../developer/swarm.md:412
+#: ../../../developer/swarm.md:442
 msgid ""
 "In the swarm metadatas. Where it's stored like the title/desc/avatar of the "
 "room"
 msgstr ""
 
-#: ../../../developer/swarm.md:413
+#: ../../../developer/swarm.md:443
 msgid "Or the initial caller."
 msgstr ""
 
-#: ../../../developer/swarm.md:415
+#: ../../../developer/swarm.md:445
 msgid ""
 "When starting a call, the host will add a new commit to the swarm, with the "
 "URI to join (accountUri/deviceId/conversationId/confId). This will be valid "
 "till the end of the call (announced by a commit with the duration to show)"
 msgstr ""
 
-#: ../../../developer/swarm.md:418
+#: ../../../developer/swarm.md:448
 msgid ""
 "So every part will receive the infos that a call has started and will be "
 "able to join it by calling it."
 msgstr ""
 
-#: ../../../developer/swarm.md:420
+#: ../../../developer/swarm.md:450
 msgid "Attacks?"
 msgstr ""
 
-#: ../../../developer/swarm.md:422
+#: ../../../developer/swarm.md:452
 msgid "Avoid git bombs"
 msgstr ""
 
-#: ../../../developer/swarm.md:424
+#: ../../../developer/swarm.md:454
 msgid "Notes"
 msgstr ""
 
-#: ../../../developer/swarm.md:426
+#: ../../../developer/swarm.md:456
 msgid ""
 "The timestamp of a commit can be trusted because it's editable. Only the "
 "user's timestamp can be trusted."
 msgstr ""
 
-#: ../../../developer/swarm.md:428
+#: ../../../developer/swarm.md:458
 msgid "TLS"
 msgstr ""
 
-#: ../../../developer/swarm.md:430
+#: ../../../developer/swarm.md:460
 msgid ""
 "Git operations, control messages, files, and other things will use a p2p TLS"
 " v1.3 link with only ciphers which guaranty PFS. So each key is renegotiated"
 " for each new connexion."
 msgstr ""
 
-#: ../../../developer/swarm.md:432
+#: ../../../developer/swarm.md:462
 msgid "DHT (udp)"
 msgstr ""
 
-#: ../../../developer/swarm.md:434
+#: ../../../developer/swarm.md:464
 msgid ""
 "Used to send messages for mobiles (to trigger push notifications) and to "
 "initiate TCP connexions."
 msgstr ""
 
-#: ../../../developer/swarm.md:436
+#: ../../../developer/swarm.md:466
 msgid "DRT (the name will change)"
 msgstr ""
 
-#: ../../../developer/swarm.md:438
+#: ../../../developer/swarm.md:468
 msgid ""
 "The DRT is a new concept used in swarm to maintain p2p connections. Indeed, "
 "group members define a graph of nodes (identified by a hash) en must be "
 "connected."
 msgstr ""
 
-#: ../../../developer/swarm.md:440
+#: ../../../developer/swarm.md:470
 msgid "So we need a structure that:"
 msgstr ""
 
-#: ../../../developer/swarm.md:442
+#: ../../../developer/swarm.md:472
 msgid "Maximize the connected nodes at every time"
 msgstr ""
 
-#: ../../../developer/swarm.md:443
+#: ../../../developer/swarm.md:473
 msgid "Minimize the time for message transmission"
 msgstr ""
 
-#: ../../../developer/swarm.md:444
+#: ../../../developer/swarm.md:474
 msgid "Minimize links between peers"
 msgstr ""
 
-#: ../../../developer/swarm.md:445
+#: ../../../developer/swarm.md:475
 msgid "Needs low calculation"
 msgstr ""
 
-#: ../../../developer/swarm.md:447
+#: ../../../developer/swarm.md:477
 msgid "Several solutions exist:"
 msgstr ""
 
-#: ../../../developer/swarm.md:449
+#: ../../../developer/swarm.md:479
 msgid ""
 "Each node has a connection to the next node. So we only need $N$ "
 "connections, but it's not effective to transmit a message, because the "
 "message will go through all peers, one by one."
 msgstr ""
 
-#: ../../../developer/swarm.md:450
+#: ../../../developer/swarm.md:480
 msgid ""
 "Each node is connected to all other nodes $N\\timesN$ connections. Effective"
 " to transmit, but need more resources **WILL BE CHOSEN FOR THE FIRST "
 "VERSION**"
 msgstr ""
 
-#: ../../../developer/swarm.md:451
+#: ../../../developer/swarm.md:481
 msgid ""
 "[*Maximizing the Coverage of Roadmap Graph for Optimal Motion "
 "Planning*](https://www.hindawi.com/journals/complexity/2018/9104720/). But "
 "need calculations"
 msgstr ""
 
-#: ../../../developer/swarm.md:452
+#: ../../../developer/swarm.md:482
 msgid ""
 "Use the algorithm of the DHT for the routing table. The 4 points are "
 "basically solved and already used by Jami in UDP."
 msgstr ""
 
-#: ../../../developer/swarm.md:454
+#: ../../../developer/swarm.md:484
 msgid ""
 "Note: to optimize the socket numbers, a socket will be given by a "
 "**ConnectionManager** to get multiplexed sockets with a given hash. This "
@@ -7393,35 +7573,35 @@ msgid ""
 "one socket will be used."
 msgstr ""
 
-#: ../../../developer/swarm.md:456
+#: ../../../developer/swarm.md:486
 msgid "Network activity"
 msgstr ""
 
-#: ../../../developer/swarm.md:458
+#: ../../../developer/swarm.md:488
 msgid "Process to invite someone"
 msgstr ""
 
-#: ../../../developer/swarm.md:460
+#: ../../../developer/swarm.md:490
 msgid "Alice wants to invite Bob:"
 msgstr ""
 
-#: ../../../developer/swarm.md:462
+#: ../../../developer/swarm.md:492
 msgid "Alice adds bob to a conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:463
+#: ../../../developer/swarm.md:493
 msgid ""
 "Alice generates an invite: { \"application/invite+json\" : {  "
 "\"conversationId\": \"$id\",  \"members\": [{...}] }}"
 msgstr ""
 
-#: ../../../developer/swarm.md:467
+#: ../../../developer/swarm.md:497
 msgid ""
 "Two possibilities for sending the message  a. If not connected, via the DHT"
 "  b. Else, Alice sends on the SIP channel"
 msgstr ""
 
-#: ../../../developer/swarm.md:470
+#: ../../../developer/swarm.md:500
 msgid ""
 "Two possibilities for Bob  a. Receives the invite, a signal is emitted for "
 "the client  b. Not connected, so will never receive the request cause Alice "
@@ -7429,23 +7609,23 @@ msgid ""
 "regenerate a new invite via a new message (cf. next scenario)"
 msgstr ""
 
-#: ../../../developer/swarm.md:474
+#: ../../../developer/swarm.md:504
 msgid "Process to send a message to someone"
 msgstr ""
 
-#: ../../../developer/swarm.md:476
+#: ../../../developer/swarm.md:506
 msgid "Alice wants to send a message to Bob:"
 msgstr ""
 
-#: ../../../developer/swarm.md:478
+#: ../../../developer/swarm.md:508
 msgid "Alice adds a message in the repo, giving an ID"
 msgstr ""
 
-#: ../../../developer/swarm.md:479
+#: ../../../developer/swarm.md:509
 msgid "Alice gets a message received (from herself) if successful"
 msgstr ""
 
-#: ../../../developer/swarm.md:480
+#: ../../../developer/swarm.md:510
 msgid ""
 "Two possibilities, alice and bob are connected, or not. In both case a "
 "message is crafted: { \"application/im-gitmessage-id\" : "
@@ -7454,7 +7634,7 @@ msgid ""
 "Alice sends on the SIP channel"
 msgstr ""
 
-#: ../../../developer/swarm.md:483
+#: ../../../developer/swarm.md:513
 msgid ""
 "Four possibilities for Bob:  a. Bob is not connected to Alice, so if he "
 "trusts Alice, ask for a new connection and go to b.  b. If connected, fetch "
@@ -7465,28 +7645,28 @@ msgid ""
 "message but will try to sync when the next connection will occur"
 msgstr ""
 
-#: ../../../developer/swarm.md:492
+#: ../../../developer/swarm.md:522
 msgid "![Diagram: swarm chat classes](images/swarm-chat-classes-diagram.jpg)"
 msgstr ""
 
-#: ../../../developer/swarm.md:492
+#: ../../../developer/swarm.md:522
 msgid "Diagram: swarm chat classes"
 msgstr ""
 
-#: ../../../developer/swarm.md:495
+#: ../../../developer/swarm.md:525
 msgid "**!! OLD DRAFT !!**"
 msgstr ""
 
-#: ../../../developer/swarm.md:497
+#: ../../../developer/swarm.md:527
 msgid ""
 "Note: Following notes are not organized yet. Just some line of thoughts."
 msgstr ""
 
-#: ../../../developer/swarm.md:499
+#: ../../../developer/swarm.md:529
 msgid "Crypto improvements."
 msgstr ""
 
-#: ../../../developer/swarm.md:501
+#: ../../../developer/swarm.md:531
 msgid ""
 "For a serious group chat feature, we also need serious crypto. With the "
 "current design, if a certificate is stolen as the previous DHT values of a "
@@ -7494,91 +7674,91 @@ msgid ""
 "something like **Double ratchet**."
 msgstr ""
 
-#: ../../../developer/swarm.md:503
+#: ../../../developer/swarm.md:533
 msgid ""
 "Note: a lib might exist to implement group conversations. TODO, investigate."
 msgstr ""
 
-#: ../../../developer/swarm.md:505
+#: ../../../developer/swarm.md:535
 msgid "Needs ECC support in OpenDHT"
 msgstr ""
 
-#: ../../../developer/swarm.md:509
+#: ../../../developer/swarm.md:539
 msgid "Add Roles?"
 msgstr ""
 
-#: ../../../developer/swarm.md:511
+#: ../../../developer/swarm.md:541
 msgid "There is two major use case for group chats:"
 msgstr ""
 
-#: ../../../developer/swarm.md:513
+#: ../../../developer/swarm.md:543
 msgid ""
 "Something like a Mattermost in a company, with private channels, and some "
 "roles (admin/spectator/bot/etc) or for educations (where only a few are "
 "active)."
 msgstr ""
 
-#: ../../../developer/swarm.md:514
+#: ../../../developer/swarm.md:544
 msgid "Horizontal conversations like a conversation between friends."
 msgstr ""
 
-#: ../../../developer/swarm.md:516
+#: ../../../developer/swarm.md:546
 msgid "Ring will be for which one?"
 msgstr ""
 
-#: ../../../developer/swarm.md:518
+#: ../../../developer/swarm.md:548
 msgid "Implementation idea"
 msgstr ""
 
-#: ../../../developer/swarm.md:520
+#: ../../../developer/swarm.md:550
 msgid ""
 "A certificate for a group that sign user with a flag for a role. Adding or "
 "revoking can also be done."
 msgstr ""
 
-#: ../../../developer/swarm.md:522
+#: ../../../developer/swarm.md:552
 msgid "Join a conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:524
+#: ../../../developer/swarm.md:554
 msgid "Only via a direct invite"
 msgstr ""
 
-#: ../../../developer/swarm.md:525
+#: ../../../developer/swarm.md:555
 msgid "Via a link/QR Code/whatever"
 msgstr ""
 
-#: ../../../developer/swarm.md:526
+#: ../../../developer/swarm.md:556
 msgid "Via a room name? (a **hash** on the DHT)"
 msgstr ""
 
-#: ../../../developer/swarm.md:528
+#: ../../../developer/swarm.md:558
 msgid "What we need"
 msgstr ""
 
-#: ../../../developer/swarm.md:530
+#: ../../../developer/swarm.md:560
 msgid ""
 "Confidentiality: members outside of the group chat should not be able to "
 "read messages in the group"
 msgstr ""
 
-#: ../../../developer/swarm.md:531
+#: ../../../developer/swarm.md:561
 msgid ""
 "Forward secrecy: if any key from the group is compromised, previous messages"
 " should remain confidential (as much as possible)"
 msgstr ""
 
-#: ../../../developer/swarm.md:533
+#: ../../../developer/swarm.md:563
 msgid "Message ordering: There is a need to have messages in the right order"
 msgstr ""
 
-#: ../../../developer/swarm.md:534
+#: ../../../developer/swarm.md:564
 msgid ""
 "Synchronization: There is also a need to be sure to have all messages at "
 "soon as possible."
 msgstr ""
 
-#: ../../../developer/swarm.md:535
+#: ../../../developer/swarm.md:565
 msgid ""
 "Persistence: Actually, a message on the DHT lives only 10 minutes. Because "
 "it's the best timing calculated for this kind of DHT. To persist data, the "
@@ -7589,53 +7769,53 @@ msgid ""
 "will still do 64 requests but limit the max redundancy to 8 nodes."
 msgstr ""
 
-#: ../../../developer/swarm.md:537
+#: ../../../developer/swarm.md:567
 msgid "Other distributed ways"
 msgstr ""
 
-#: ../../../developer/swarm.md:539
+#: ../../../developer/swarm.md:569
 msgid "IPFS: Need some investigation"
 msgstr ""
 
-#: ../../../developer/swarm.md:540
+#: ../../../developer/swarm.md:570
 msgid "BitMessage: Need some investigation"
 msgstr ""
 
-#: ../../../developer/swarm.md:541
+#: ../../../developer/swarm.md:571
 msgid "Maidsafe: Need some investigation"
 msgstr ""
 
-#: ../../../developer/swarm.md:543
+#: ../../../developer/swarm.md:573
 msgid "Based on current work we have"
 msgstr ""
 
-#: ../../../developer/swarm.md:545
+#: ../../../developer/swarm.md:575
 msgid ""
 "Group chat can be based on the same work we already have for multi-devices "
 "(but here, with a group certificate). Problems to solve:"
 msgstr ""
 
-#: ../../../developer/swarm.md:547
+#: ../../../developer/swarm.md:577
 msgid ""
 "History sync. This needs to move the database from the client into the "
 "daemon."
 msgstr ""
 
-#: ../../../developer/swarm.md:548
+#: ../../../developer/swarm.md:578
 msgid ""
 "If nobody is connected, the synchronization can't be done, and the person "
 "will never see the conversation"
 msgstr ""
 
-#: ../../../developer/swarm.md:550
+#: ../../../developer/swarm.md:580
 msgid "Another dedicated DHT"
 msgstr ""
 
-#: ../../../developer/swarm.md:552
+#: ../../../developer/swarm.md:582
 msgid "Like a DHT with a superuser. (Not convinced)"
 msgstr ""
 
-#: ../../../developer/swarm.md:556
+#: ../../../developer/swarm.md:586
 msgid ""
 "Currently, the file transfer algorithm is based on a TURN connection (See "
 "{doc}`file-transfer`). In the case of a big group, this will be bad. We "
@@ -7643,21 +7823,21 @@ msgid ""
 "transfer."
 msgstr ""
 
-#: ../../../developer/swarm.md:558
+#: ../../../developer/swarm.md:588
 msgid ""
 "Other problem: currently there is no implementation for TCP support for ICE "
 "in PJSIP. This is mandatory for this point (in pjsip or homemade)"
 msgstr ""
 
-#: ../../../developer/swarm.md:560
+#: ../../../developer/swarm.md:590
 msgid "Resources"
 msgstr ""
 
-#: ../../../developer/swarm.md:562
+#: ../../../developer/swarm.md:592
 msgid "https://eprint.iacr.org/2017/666.pdf"
 msgstr ""
 
-#: ../../../developer/swarm.md:563
+#: ../../../developer/swarm.md:593
 msgid ""
 "Robust distributed synchronization of networked linear systems with "
 "intermittent information (Sean Phillips and Ricardo G.Sanfelice)"
diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po
index b0e742f4decfe33e5f62f4a4b8a0229ac12c9573..4bae3fb81b23d2cb476aaf8389bb78540edcd3e7 100644
--- a/locales/fr/LC_MESSAGES/index.po
+++ b/locales/fr/LC_MESSAGES/index.po
@@ -1,6 +1,6 @@
-# SOME DESCRIPTIVE TITLE.
+# LANGUAGE translation of FILENAME.pot
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
-# This file is distributed under the same license as the Jami package.
+# This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
 # Translators:
@@ -11,8 +11,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-19 12:03+0000\n"
+"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:41+0000\n"
 "Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n"
 "Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n"
diff --git a/locales/fr/LC_MESSAGES/sphinx.po b/locales/fr/LC_MESSAGES/sphinx.po
index 54acd4b0a220080396eb87c371bb8c11dfa04001..736821361b490ead0fe050744ac809f6e3bdd44a 100644
--- a/locales/fr/LC_MESSAGES/sphinx.po
+++ b/locales/fr/LC_MESSAGES/sphinx.po
@@ -1,14 +1,14 @@
-# SOME DESCRIPTIVE TITLE.
+# LANGUAGE translation of FILENAME.pot
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
-# This file is distributed under the same license as the Jami package.
+# This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 # 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-10-19 12:03+0000\n"
+"Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:53+0000\n"
 "Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n"
 "MIME-Version: 1.0\n"
diff --git a/locales/fr/LC_MESSAGES/user.po b/locales/fr/LC_MESSAGES/user.po
index 5bbe282a2b23b053d60e615e898218656bc57d17..c2086d911f7b2bd87d25b1b0051856185a406bdb 100644
--- a/locales/fr/LC_MESSAGES/user.po
+++ b/locales/fr/LC_MESSAGES/user.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2018-2022 Savoir-faire Linux Inc. and contributors
 # This file is distributed under the same license as the Jami documentation.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# 
 # Translators:
 # savoirfairelinux <support@savoirfairelinux.com>, 2022
 # Ecko <edric.milaret@gmail.com>, 2022
@@ -15,13 +15,13 @@
 # Zertrin, 2022
 # Antoine Gorenflot, 2022
 # Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022
-#
+# 
 #, fuzzy
 msgid ""
 msgstr ""
 "Project-Id-Version: Jami\n"
 "Report-Msgid-Bugs-To: https://git.jami.net/savoirfairelinux/jami-docs/-/issues\n"
-"POT-Creation-Date: 2022-11-01 02:52+0000\n"
+"POT-Creation-Date: 2022-11-15 03:53+0000\n"
 "PO-Revision-Date: 2022-09-14 17:45+0000\n"
 "Last-Translator: Cyrille Béraud <cyrille.beraud@savoirfairelinux.com>, 2022\n"
 "Language-Team: French (https://www.transifex.com/savoirfairelinux/teams/49466/fr/)\n"
@@ -48,13 +48,18 @@ msgid "E : experimental"
 msgstr "E : Expérimentale"
 
 #: ../../../user/all-features-by-client.md:8
-msgid "X : not available yet"
-msgstr "X : non disponible pour le moment "
+msgid "X : not yet available"
+msgstr ""
 
 #: ../../../user/all-features-by-client.md:9
 msgid "N/A : not applicable for this client"
 msgstr ""
 
+#: ../../../user/all-features-by-client.md:10
+msgid "Desktop : Apple macOS, GNU/Linux, Microsoft Windows operating systems"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
 #: ../../../user/all-features-by-client.md:11
 msgid "Text messaging"
 msgstr "Messagerie texte"
@@ -64,13 +69,9 @@ msgid "**Client**"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Linux"
+msgid "Desktop"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:0
-msgid "Windows"
-msgstr "Les fenêtres"
-
 #: ../../../user/all-features-by-client.md:0
 msgid "Android"
 msgstr "Android"
@@ -83,14 +84,6 @@ msgstr "Android TV"
 msgid "iOS"
 msgstr "iOS"
 
-#: ../../../user/all-features-by-client.md:0
-msgid "macOS"
-msgstr "macOS"
-
-#: ../../../user/all-features-by-client.md:0
-msgid "Text Messaging"
-msgstr ""
-
 #: ../../../user/all-features-by-client.md:0
 msgid "✓"
 msgstr "✓"
@@ -107,16 +100,12 @@ msgstr ""
 msgid "X"
 msgstr "X"
 
-#: ../../../user/all-features-by-client.md:0
-msgid "Clear History"
-msgstr "Effacer l'historique"
-
 #: ../../../user/all-features-by-client.md:0
 msgid "Chat history shared across devices"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Send Files"
+msgid "Send files"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -135,16 +124,52 @@ msgstr ""
 msgid "Read status"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:25
+#: ../../../user/all-features-by-client.md:0
+msgid "Reply to"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Message edition"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Emoji reaction"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Update conversation's profile"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Add/Kick members"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Conversation's preferences"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Search messages"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Share location"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:0
+msgid "Media gallery"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:33
 msgid "Calling"
 msgstr "Appel en cours"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Audio Calling"
+msgid "Audio calling"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Video Calling"
+msgid "Video calling"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -191,6 +216,10 @@ msgstr ""
 msgid "Window sharing"
 msgstr ""
 
+#: ../../../user/all-features-by-client.md:0
+msgid "✓(3)"
+msgstr ""
+
 #: ../../../user/all-features-by-client.md:0
 msgid "Media sharing"
 msgstr ""
@@ -212,7 +241,7 @@ msgid "Texting while on call"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Remote recording notif"
+msgid "Remote recording notification"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -220,7 +249,7 @@ msgid "Rendez-vous mode"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Conference Layout"
+msgid "Conference layout"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -232,31 +261,35 @@ msgid "Videosplit"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Audio Processor \\*\\*"
+msgid "Audio processor \\*\\*"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
 msgid "✓(2)"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:54
+#: ../../../user/all-features-by-client.md:0
+msgid "Voice activity"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:63
 msgid ""
-"\\* This enables 4k video calling support   \\*\\* cf. {ref}`user/faq:How "
-"can I configure the audio processor?` in the FAQ"
+"\\* This enables 4k video calling support \\*\\* cf. {ref}`user/faq:How can "
+"I configure the audio processor?` in the FAQ"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:58
+#: ../../../user/all-features-by-client.md:67
 msgid ""
-"(1) only on X (not Wayland)   (2) Some features enabled by default and not "
-"configurable"
+"(1) only on X (not Wayland) (2) Some features enabled by default and not "
+"configurable (3) only on X and not on Microsoft Windows"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:61
+#: ../../../user/all-features-by-client.md:71
 msgid "Account settings"
 msgstr "Paramètres du compte"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Profile avatar"
+msgid "Profile picture"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -276,11 +309,11 @@ msgid "Register username"
 msgstr "Enregistrer le nom d'utilisateur"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Delete Contacts"
+msgid "Delete contacts"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Block Contacts"
+msgid "Block contacts"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -295,20 +328,20 @@ msgstr ""
 msgid "Auto answer"
 msgstr "Décrocher automatiquement"
 
-#: ../../../user/all-features-by-client.md:77
+#: ../../../user/all-features-by-client.md:87
 msgid "Other features"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Scan QR Code"
-msgstr "Scanner un code QR"
+msgid "Scan QR code"
+msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Display QR Code"
+msgid "Display QR code"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "Ban contact"
+msgid "Block contact"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -344,23 +377,29 @@ msgid "Dark theme support"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
-msgid "JAMS support"
+msgid "JAMS\\*\\* support"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
 msgid "Plugin support"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:94
-msgid "\\* According to <https://explore.transifex.com/savoirfairelinux/jami/>"
+#: ../../../user/all-features-by-client.md:0
+msgid "Application translation"
 msgstr ""
 
-#: ../../../user/all-features-by-client.md:96
+#: ../../../user/all-features-by-client.md:105
+msgid ""
+"\\* According to <https://explore.transifex.com/savoirfairelinux/jami/> "
+"\\*\\* JAMS (Jami Account Management Server) <https://jami.biz/>"
+msgstr ""
+
+#: ../../../user/all-features-by-client.md:108
 msgid "Advanced settings"
 msgstr "Réglages avancés"
 
 #: ../../../user/all-features-by-client.md:0
-msgid "DHT Proxy support"
+msgid "DHT proxy support"
 msgstr ""
 
 #: ../../../user/all-features-by-client.md:0
@@ -2332,3 +2371,120 @@ msgid ""
 "This will start a geth daemon with an attached console which is now syncing "
 "with Jami's network."
 msgstr ""
+
+#: ../../../user/lan-only.rst:2
+msgid "Use Jami on a LAN"
+msgstr ""
+
+#: ../../../user/lan-only.rst:4
+msgid ""
+"Due the distributed nature of Jami, it is possible to use it over a LAN, "
+"without any Internet connection. This allows you to continue to communicate "
+"with other people in the company/building/country without global Internet "
+"access. However, some services are external so in this document we will "
+"explain some tweaks you may need."
+msgstr ""
+
+#: ../../../user/lan-only.rst:16
+msgid "Boostraping"
+msgstr ""
+
+#: ../../../user/lan-only.rst:19
+msgid "What is a bootstrap?"
+msgstr ""
+
+#: ../../../user/lan-only.rst:21
+msgid ""
+"Jami uses the DHT technology to find other users. So, all the users you want"
+" to contact must be reachable on the same DHT network (e.g. if the Internet "
+"is split between two buildings, users in the first buildings will not be "
+"able to reach the second building). To enter a DHT network, one must be able"
+" to reach at least one other node. This node is called bootstrap, it is the "
+"entry point of the network. By default, **bootstrap.jami.net** is "
+"configured, but any node in the public DHT can be a bootstrap (it is a "
+"classic node, generally always online)."
+msgstr ""
+
+#: ../../../user/lan-only.rst:29
+msgid ""
+"So, if the Internet is cut, you need another bootstrap to create a network. "
+"On a LAN, there is two ways to configure it in Jami:"
+msgstr ""
+
+#: ../../../user/lan-only.rst:33
+msgid "Bootstrap settings"
+msgstr ""
+
+#: ../../../user/lan-only.rst:35
+msgid ""
+"In the advanced account settings, the user can configure multiple "
+"bootstraps. **bootstrap.jami.net** is usually the default, "
+"**bootstrap.jami.net;your.bootstrap.tld** will be valid. The IP:port of "
+"another DHT node can be specified as a bootstrap."
+msgstr ""
+
+#: ../../../user/lan-only.rst:40
+msgid "Local Peer Discovery"
+msgstr ""
+
+#: ../../../user/lan-only.rst:42
+msgid ""
+"Another way is to enable peer discovery. This will announce the bootstrap on"
+" the network by broadcasting UDP packets (like a printer). So, UDP broadcast"
+" must be supported by the network in order to work. However, this method "
+"does not need to specify an ip:port in the settings, so it can be preferred."
+msgstr ""
+
+#: ../../../user/lan-only.rst:48
+msgid "TURN"
+msgstr ""
+
+#: ../../../user/lan-only.rst:50
+msgid ""
+"Another external service is the TURN server, used as a fallback for "
+"connections if the NAT block all possible connections. Generally it is "
+"**turn.jami.net** but can be any TURN (we use coturn, cf. "
+":doc:`/developer/setting-up-your-own-turn-server`)"
+msgstr ""
+
+#: ../../../user/lan-only.rst:54
+msgid ""
+"On a LAN, it may be ignored (because there will be no NAT), but disabling it"
+" should not be necessary (because it will not be used if unreachable)."
+msgstr ""
+
+#: ../../../user/lan-only.rst:58
+msgid "On mobile (DHT Proxy)"
+msgstr ""
+
+#: ../../../user/lan-only.rst:60
+msgid ""
+"A DHT Proxy is used with mobile devices to save battery by avoiding "
+"synchronization. It is generally **dhtproxy.jami.net** but can be any DHT "
+"node with the REST API enabled. However, if the DHT proxy is using push "
+"notifications it will depend on another external service (Firebase or APN or"
+" a Unified Push instance). In this case, only the third one can be self-"
+"hosted."
+msgstr ""
+
+#: ../../../user/lan-only.rst:65
+msgid ""
+"On iOS it is basically not possible to work without push, as the OS from "
+"Apple will kill any application as soon as it is in background. So you can "
+"not disable the usage of push notifications. However, for Android, you may "
+"want to self-host your proxy (with or without unified push support), or you "
+"can disable the DHT Proxy and enable \"Run in background\" in order to use "
+"your local DHT."
+msgstr ""
+
+#: ../../../user/lan-only.rst:72
+msgid "NameServer"
+msgstr ""
+
+#: ../../../user/lan-only.rst:74
+msgid ""
+"Finally, the last external service you may need is a NameServer. This is "
+"used to translate addresses (the 40-characters fingerprint ID) to usernames."
+" You may not have access to **ns.jami.net**, but you can self-host one "
+"(:doc:`/developer/name-server-protocol`) or only use IDs."
+msgstr ""