.. include:: /urls.rst .. _l1_chat: Librem Chat =========== .. _l1_chat_install: Install ------- .. Android collapsible section .. raw:: html
Android .. _l1_chat_install_android: #. Download and install the `Librem Chat `_ application. .. raw:: html
.. iOS collapsible section .. raw:: html
iOS .. _l1_chat_install_ios: #. Download and install the `Librem Chat `_ application from the App Store. .. raw:: html
.. PureOS desktop collapsible section .. raw:: html
PureOS desktop .. _l1_chat_install_pureos_desktop: .. note:: You may install **Revolt** or `Riot desktop`_. Revolt does not support video and audio calls. If you want these features you can install the `Riot Client ` from Flathub, a third party source. #. :ref:`Launch the Software application `. #. Download and install Revolt. .. raw:: html
.. _l1_chat_credentials: Credentials ----------- Log in using your Librem One email address. Email: ``username@librem.one`` **Advanced settings** Homeserver URL: ``https://chat.librem.one`` .. _l1_chat_usage: Using Librem Chat ----------------- .. _l1_chat_log_in: Log in ~~~~~~ .. Android collapsible section .. raw:: html
Android .. _l1_chat_log_in_android: #. :ref:`Log in ` to Librem Chat: .. image:: /_files/l1/android/chat/LibremChat_01.png :scale: 40% :alt: Librem Chat 1 :class: no-scaled-link .. raw:: html
.. iOS collapsible section .. raw:: html
iOS .. _l1_chat_log_in_ios: #. Launch the **Librem Chat** application. #. Enter your Librem Chat :ref:`credentials ` and press **LOG IN**. .. image:: /_files/l1/ios/chat/LibremChat_1.png :alt: LibremChat_1 :class: no-scaled-link .. raw:: html
.. PureOS desktop collapsible section .. raw:: html
PureOS desktop .. _l1_chat_log_in_pureos_desktop: #. Launch the **Revolt** application. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_00.png :alt: Open Revolt :class: no-scaled-link #. Click **"Sign In"** .. image:: /_files/l1/pureos/chat/LibremChatDesktop_01.png :alt: Sign In 1 :class: no-scaled-link #. Select the option **"Change"**. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_02.png :alt: Sign In 2 :class: no-scaled-link #. In the field **"Homeserver URL:"**, replace the address with ``https://chat.librem.one``. Click **"Next"** .. image:: /_files/l1/pureos/chat/LibremChatDesktop_03.png :alt: Sign In 3 :class: no-scaled-link #. In the field **"Sign in with"**, select **"Email"** #. **Userneme:** *your_librem_one_email_address* #. **Passowrd:** *your_librem_one_account_password* #. Press **"Sign in"** .. image:: /_files/l1/pureos/chat/LibremChatDesktop_23.png :alt: Sign In 4 :class: no-scaled-link You should now be logged in. The desktop client interface has the following layout: .. image:: /_files/l1/pureos/chat/LibremChatDesktop_05.png :alt: Layout :class: no-scaled-link .. raw:: html
.. _l1_chat_new_chat: Start a new chat ~~~~~~~~~~~~~~~~ .. Android collapsible section .. raw:: html
Android .. _l1_chat_new_chat_android: #. Once logged in, tap the **+** button: .. image:: /_files/l1/android/chat/LibremChat_02.png :scale: 40% :alt: Librem Chat 2 :class: no-scaled-link To start a chat: .. image:: /_files/l1/android/chat/LibremChat_03.png :scale: 40% :alt: Librem Chat 3 :class: no-scaled-link If you do not allow Librem Chat to access your address book, no contacts will be available. Let's assume that the application's access to the user contact list has been denied. #. To add a contact in this case, tap **Invite by ID**: .. image:: /_files/l1/android/chat/LibremChat_04.png :scale: 40% :alt: Librem Chat 4 :class: no-scaled-link #. Type the handle/email/ID of a user: .. image:: /_files/l1/android/chat/LibremChat_05.png :scale: 40% :alt: Librem Chat 5 :class: no-scaled-link #. If discovered, it will be autocompleted: .. image:: /_files/l1/android/chat/LibremChat_06.png :scale: 40% :alt: Librem Chat 6 :class: no-scaled-link #. Tap **INVITE** when ready: .. image:: /_files/l1/android/chat/LibremChat_07.png :scale: 40% :alt: Librem Chat 7 :class: no-scaled-link #. Now tap the checkmark to invite the user to chat: .. image:: /_files/l1/android/chat/LibremChat_08.png :scale: 40% :alt: Librem Chat 8 :class: no-scaled-link #. Here is a sample chat window: .. image:: /_files/l1/android/chat/LibremChat_09.png :scale: 40% :alt: Librem Chat 9 :class: no-scaled-link .. raw:: html
.. iOS collapsible section .. raw:: html
iOS .. _l1_chat_new_chat_ios: From the main screen, you will see previous chats with individuals (People) and group chats (Rooms). #. To locate contacts, click on the little person icon (bottom, middle). .. image:: /_files/l1/ios/chat/LibremChat_2.png :alt: LibremChat_2 :class: no-scaled-link #. Your phone will ask if Librem Chat can check your contacts. Tap ``OK``. Your contacts will appear that have already been connected through Librem Chat or other Matrix based services. .. image:: /_files/l1/ios/chat/LibremChat_3.png :alt: LibremChat_3 :class: no-scaled-link #. To initiate a chat with someone, press the ``+`` on the bottom right. .. image:: /_files/l1/ios/chat/LibremChat_4.png :alt: LibremChat_4 :class: no-scaled-link #. Select **Start Chat** to start a one-on-one chat. .. image:: /_files/l1/ios/chat/LibremChat_5.png :alt: LibremChat_5 :class: no-scaled-link .. raw:: html
.. PureOS desktop collapsible section .. raw:: html
PureOS desktop .. _l1_chat_new_chat_pureos_desktop: A Librem Social handle is used for other users to be able to find you. Similar to an email address, a handle is composed by two parts: a username ``@your_librem_one_username`` and the server domain ``:librem.one``. In the case of our test user **"Alice"**, her full handle is: ``@alice:librem.one``. #. In the section **"List of public rooms and chats"** press the **"+"** button to the right of **People** .. image:: /_files/l1/pureos/chat/LibremChatDesktop_06.png :alt: Find People 01 :class: no-scaled-link #. Use the search tool to find the user you want to start talking to #. Select the correct search result #. **"Press Start Chat"** .. tip:: If the user you are searching for already exists in your contact list or participated in a public room with you, you can quickly locate the user by only entering their username. Otherwise, search using the user's full handle: ``@username:librem.one`` If the other user added their email address to their contact information, you can also search for them using an email address. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_07.png :alt: Find People 02 :class: no-scaled-link In the image above, the search provided two results of users with different server domains: ``:librem.one`` and ``:talk.puri.sm``. This is because Librem Social is based on a decentralized open source communication protocol called Matrix, allowing users registered in different Matrix servers to chat with each other. You can chat with users on other Matrix servers without needing a second account. For example, ``librem.one`` is the domain of the Librem One chat server; ``talk.puri.sm`` is the domain of Purism's enterprise chat server. #. After **"Start Chat"** has been pressed, the chat will be joined. The right side of the window shows if the other invited user has already joined the conversation. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_08.png :alt: Start chat 01 :class: no-scaled-link #. Once the invited user joins the room, a notification will be shown in the chat window. Also, the user no longer has the word **"INVITED"** above their username on the right side of the screen. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_09.png :alt: Start chat 02 :class: no-scaled-link #. Start chatting anytime. Sent messages will be available to the other user even if they have not yet joined the room. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_10.png :alt: Start chat 03 :class: no-scaled-link #. To add additional users to this private chat, press the button **"Invite to this Room"**. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_11.png :alt: Start chat 04 :class: no-scaled-link #. Repeat the same process you did to invite the first user to a chat, then press **Send Invite"**. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_12.png :alt: Start chat 05 :class: no-scaled-link #. In this example, the user **"Lupen"** is in the chat. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_13.png :alt: Start chat 06 :class: no-scaled-link #. Repeat this process as many times as necessary. .. raw:: html
.. _l1_chat_enable_encryption: Enable encryption ~~~~~~~~~~~~~~~~~ In a chat message using the default configuration, you will notice there is no indication of encrypted chat. Let's enable encryption. .. Android collapsible section .. raw:: html
Android .. _l1_chat_enable_encryption_android: #. Tap the menu button: .. image:: /_files/l1/android/chat/LibremChat_10.png :scale: 40% :alt: Librem Chat 10 :class: no-scaled-link #. Tap **Room Details**: .. image:: /_files/l1/android/chat/LibremChat_11.png :scale: 40% :alt: Librem Chat 11 :class: no-scaled-link #. Navigate to the **SETTINGS** tab. #. Scroll down until the encryption option is visible. #. Enable encryption: .. image:: /_files/l1/android/chat/LibremChat_12.png :scale: 40% :alt: Librem Chat 12 :class: no-scaled-link #. Tap the arrow (circled in green) to return back to chat once done. When you write something and send it, it is likely that you will see something like shown below: .. image:: /_files/l1/android/chat/LibremChat_13.png :scale: 40% :alt: Librem Chat 13 :class: no-scaled-link #. You must verify each of the devices displayed by tapping the **VERIFY** and following the instructions shown: .. image:: /_files/l1/android/chat/LibremChat_14.png :scale: 40% :alt: Librem Chat 14 :class: no-scaled-link #. If you are certain you are talking to the right person, simply tap **VERIFY**). Tap **OK** when you are done: .. image:: /_files/l1/android/chat/LibremChat_15.png :scale: 40% :alt: Librem Chat 15 :class: no-scaled-link ...and have that message resent: .. image:: /_files/l1/android/chat/LibremChat_16.png :scale: 40% :alt: Librem Chat 16 :class: no-scaled-link And that's all, we have an encrypted chat with our friend Thandi: .. image:: /_files/l1/android/chat/LibremChat_17.png :scale: 40% :alt: Librem Chat 17 :class: no-scaled-link #. Tap the arrow to return to start screen. .. raw:: html
.. _l1_chat_join_room: Locate and join public rooms ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. caution:: Anyone can read conversations in public rooms. Messages within public rooms on Librem Chat are automatically deleted after 30 days. .. Android collapsible section .. raw:: html
Android .. _l1_chat_join_chatroom_android: We see only one chat so far (blue circle), but we can repeat tapping the **+** icon again (green circle). But let's try joining some chatrooms first. #. Tap the *hashtag* icon to list rooms: .. image:: /_files/l1/android/chat/LibremChat_18.png :scale: 40% :alt: Librem Chat 18 :class: no-scaled-link You can change *room directory* (blue circle) to select another domain. Let's join *Support* room on the `librem.one` domain. Tap the room: .. image:: /_files/l1/android/chat/LibremChat_19.png :scale: 40% :alt: Librem Chat 19 :class: no-scaled-link You will see a preview of the room: .. image:: /_files/l1/android/chat/LibremChat_20.png :scale: 40% :alt: Librem Chat 20 :class: no-scaled-link #. Tap the join button to join. Tap the arrow to return. When in start screen, you can also use the kebab menu button (*three vertical dots*) to do a search for public rooms or users. Tap the hamburger menu button (*three horizontal lines*): .. image:: /_files/l1/android/chat/LibremChat_21.png :scale: 40% :alt: Librem Chat 21 :class: no-scaled-link ...to see the Librem Chat menu: .. image:: /_files/l1/android/chat/LibremChat_22.png :scale: 40% :alt: Librem Chat 22 :class: no-scaled-link ...from where you can access *Settings*. Look at *Librem Chat manuals* to learn more about its settings and fine-tuning options. If you wish to simply exit the app, use the **Exit** button. If you **Sign out**, you will lose encryption keys for the existing encrypted chatrooms and you won't be able to read encrypted conversations when you log in again. Head over to *Librem Chat manuals* to learn about how to export your encryption keys. .. raw:: html
.. iOS collapsible section .. raw:: html
iOS .. _l1_chat_join_chatroom_ios: #. To join or create a public chatroom, press the ``+`` on the bottom right. .. image:: /_files/l1/ios/chat/LibremChat_4.png :alt: LibremChat_4 :class: no-scaled-link #. Select **Create Room** to create a room with multiple participants, or select **Join Room** to join a room already created. .. image:: /_files/l1/ios/chat/LibremChat_5.png :alt: LibremChat_5 :class: no-scaled-link .. raw:: html
.. PureOS desktop collapsible section .. raw:: html
PureOS desktop .. _l1_chat_join_chatroom_pureos_desktop: This process is similar to :ref:`starting a chat `. #. In the section **"List of public rooms and chats"**, press the **"+"** button to the right of **Rooms** .. image:: /_files/l1/pureos/chat/LibremChatDesktop_14.png :alt: Join a room 01 :class: no-scaled-link You will then see the **"Room directory"** window, which allows you to discover public Rooms hosted on Librem Chat. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_15.png :alt: Join a room 02 :class: no-scaled-link #. You can scroll up and down the room list to search a room, or use the search tool to search a term or for the room address. .. tip:: Room addresses have the following structure: ``#room_name:server_name``. For example, the addresses for the General Librem Social and the Librem Social Support rooms are: * **General:** ``#general:librem.one`` * **Support:** ``#support:librem.one`` #. Once you discover the room you want, click on it to join then press **"Click here to enter"**. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_16.png :alt: Join a room 03 :class: no-scaled-link #. You are now in the room, and can start chatting: .. image:: /_files/l1/pureos/chat/LibremChatDesktop_17.png :alt: join a room 04 :class: no-scaled-link .. tip:: Remember how we are able to chat with users on other Matrix-based chat servers? You can also search for Public Rooms hosted on other servers and join them without needing a second account. To do that: #. Press the server button on the room directory window #. Change the server #. Do your search #. Join the rooms you want .. image:: /_files/l1/pureos/chat/LibremChatDesktop_18.png :alt: join a room 05 :class: no-scaled-link .. raw:: html
.. _l1_chat_room_management: Room management ~~~~~~~~~~~~~~~ As you join more and more rooms and chats, you may want to adjust your notifications for each room, or even leave some rooms altogether. #. Press the kebab menu (three dots) button to the right of a room or chat name. Various notification options and settings will appear. .. image:: /_files/l1/pureos/chat/LibremChatDesktop_19.png :alt: manage room notifications :class: no-scaled-link .. _l1_chat_tips: Tips ~~~~ **Mentions:** You can mention another user that participates in the same chat or room, by typing their handle. The advantage of this is that the user in question will receive a red notification to the right of the room name like this: .. image:: /_files/l1/pureos/chat/LibremChatDesktop_20.png :alt: mentions 01 :class: no-scaled-link This makes it easier for them to see your comment in the middle of all the chat rooms. To do this: * Write the ID of the user you want to mention when you are composing a message, example: ``@alice:librem.one``. It will auto complete the user ID showing it above the textbox and you click on it to select the user you want to mention in your message .. image:: /_files/l1/pureos/chat/LibremChatDesktop_21.png :alt: mentions 02 :class: no-scaled-link * Send the message And the user you mention will see your message to him highlighted in red: .. image:: /_files/l1/pureos/chat/LibremChatDesktop_22.png :alt: mentions 03 :class: no-scaled-link .. _l1_chat_usage_limit: Usage limits ------------ +-----------------------------------+--------------+ | Feature | Upload Limit | +===================================+==============+ | Total attachment size per message | 10 MB | +-----------------------------------+--------------+