From df32686159629bf6f36609f2bc9ec6cb4fcd5d0e Mon Sep 17 00:00:00 2001 From: Amin Bandali <amin.bandali@savoirfairelinux.com> Date: Wed, 7 Sep 2022 15:15:37 -0400 Subject: [PATCH] user/faq: update various questions for swarm and group chats Change-Id: I88aced34d8dd41e663a08cb94d61fe4ed6e02e2f --- user/faq.rst | 95 +++++++++++++++++++++++++------------------ user/introduction.rst | 10 ++--- 2 files changed, 61 insertions(+), 44 deletions(-) diff --git a/user/faq.rst b/user/faq.rst index 1d678f17..64d25ff0 100644 --- a/user/faq.rst +++ b/user/faq.rst @@ -102,40 +102,57 @@ clicking the "Add participant" button. Does Jami have group chats? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Not yet, but they are :ref:`coming soon <technical-overview:Swarms>`. - - -Why is my contact not seeing my avatar? -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Due to technical limitation, avatars are only transfered to your -contacts during a voice or video call. This limitation will disappear -when :ref:`group chats <technical-overview:swarms>` are released. +Yes, Jami now has :doc:`../developer/swarm` group chats. However, +they are currently experimental and must be manually enabled from +application settings. Also, group chats are currently limited to 8 +participants (so that bugs and issues could be more easily found and +fixed in smaller scenarios, and hopefully lift this limit in the +future). Why aren't my sent messages showing up on all linked devices? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -All of your devices receive the same messages from your contacts, but -*sent* messages will not show up on all of your devices. - -The :ref:`swarm <technical-overview:swarms>` update will introduce -full conversation sync between linked devices for all conversations -(including one-on-one conversations). +Before :doc:`../developer/swarm`, an account's devices would receive +the same messages from contacts if the device was online at the time +of the message being sent, but *sent* messages would not show up on +devices other than the one sending the message. + +With the introduction of Swarm, conversation histories of new Swarm +conversations (including one-on-one conversations) are fully +synchronized between all of an account's linked devices. If you are +using an older version of Jami, please upgrade to the latest version +with Swarm support. The latest version of Jami is always available +from the Download page of the Jami website, at +https://jami.net/download/. + +To learn more about Swarm, you can read our blog post `Synchronizing +conversation history with Swarm +<https://jami.net/synchronizing-conversation-history-with-swarm/>`_ +and see the :doc:`../developer/swarm` page of the Jami developer +manual. Can I message offline contacts? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Jami does not yet have offline/persistent messages because of its -distributed nature. - -Your messages can't be queued on a central server so both contacts -must be online to message each other. If you send a message to an -offline contact, Jami will save the message on your device and send it -to them when they come online. - -There are some possible future solutions to this issue, including -:ref:`swarms <technical-overview:swarms>`, which will allow users to -set up their own "server" node to receive messages for them. +With :doc:`../developer/swarm` conversations, every device stores all +a copy of all of the messages in that conversation. If a device +(whether your own, or another participant's) is not available/online +when a message is sent, when it comes back online again it will try to +fetch any new messages from other online devices/peers and synchronize +message history. This can be done whenever at least one other device +that has a copy of the new messages is also online. + +.. note:: You can read more about how Swarm conversations are + synchronized in our blog post `Synchronizing conversation + history with Swarm + <https://jami.net/synchronizing-conversation-history-with-swarm/>`_. + +If the participants in a conversation are often not online at the same +time (for instance, due to timezone differences), one of them might +choose to set up Jami on an often-online device that would receive the +messages from each participant and relay it to the other(s) whenever +they come online. Thus, acting similarly to a "server", all the while +Jami remains distributed by nature. .. _config-file-location: @@ -226,7 +243,7 @@ optional): in your device. More information about Jami accounts is available in the -:ref:`Technical Overview <technical-overview:jami account>`. +:ref:`Technical Overview <developer/technical-overview:Jami Account>`. Where is my Jami ID? ~~~~~~~~~~~~~~~~~~~~ @@ -289,11 +306,11 @@ There are two ways to back up your account: 1. Link another device to your account so your account will be on two devices. You can find this option in the account settings page. -2. Back up the :ref:`account archive <technical-overview:Account - storage and backup>`. This file can be found in the account files - :ref:`folder <user/faq:Where are the configuration files - located?>`. In some clients, you can export this archive from the - account settings. +2. Back up the :ref:`account archive + <developer/technical-overview:Jami archive (export.gz)>`. This + file can be found in the account files :ref:`folder <user/faq:Where + are the configuration files located?>`. In some clients, you can + export this archive from the account settings. Can I retrieve my username without my keys? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -305,8 +322,8 @@ If you use a different name server, there may be a way to move a username to a new Jami ID at the discretion of the administrator of that name server. -For more information about name servers, see :ref:`the Technical -Overview <technical-overview:Name servers and ns.jami.net>`. +For more information about name servers, see +:doc:`../developer/name-server-protocol`. Can I recover my account if I forget my password? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -343,9 +360,9 @@ What happens when I link a new device? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you link a device to your account, your :ref:`account archive -<technical-overview:account storage and backup>` is put on the Jami -network for a few minutes. It is protected by a password Jami gives -you. +<developer/technical-overview:Jami archive (export.gz)>` is put on the +Jami network for a few minutes. It is protected by a password Jami +gives you. The new device receives your full account certificate with the master RSA keys, but it generates a new device key for signing/encrypting @@ -432,10 +449,10 @@ blockchain). With the default name server, you can look up usernames at ``https://ns.jami.net/name/test``, where ``test`` is a username for which we are looking for a matching :doc:`Infohash -<../guidelines/Identifiers>`. Once registered, this name server +<../developer/jami-identifiers>`. Once registered, this name server **does not** provide any way to remove the mapping. -Read more about the Jami :doc:`../technical/Name-Server-Protocol`. +Read more about the Jami :doc:`../developer/name-server-protocol`. How can I change the timeout for a call? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/user/introduction.rst b/user/introduction.rst index 0d7c1fa4..9d60aed6 100644 --- a/user/introduction.rst +++ b/user/introduction.rst @@ -8,9 +8,9 @@ Jami is a free/libre, end-to-end encrypted and private communication platform that requires no central authority. Jami's features include: text chats, voice and video calls, screen -sharing, file sharing, conference calls, and group chats (:ref:`coming -soon <general/technical-overview:swarms>`). Jami can also function as -a regular SIP client. +sharing, file sharing, conference calls, and :doc:`group chats +<../developer/swarm>`. Jami can also function as a regular SIP +client. Jami works on GNU/Linux, Windows, macOS, iOS, and Android. Multiple devices can be linked to a Jami account, and no personal information @@ -34,8 +34,8 @@ secure connection, performing `Secure Real-time Transport Protocol For more on how Jami works, see the `Jami and how it empowers users <https://kelar.org/~bandali/talks/jami-empowers-users.html>`_ talk by `Amin Bandali <https://kelar.org/~bandali/>`_, as well as the -:doc:`Technical Overview <technical-overview>` for more in-depth -information. +:doc:`Technical Overview <../developer/technical-overview>` for more +in-depth information. Who makes Jami? --------------- -- GitLab