- in many cases support of sending files and images is not very good, and sending videos and large files is simply impossible. There are currently these problems:
+**On mobile**
-- the sender has to be online for file transfer to complete, once it was confirmed by the recipient.
-- when the file is sent to the group, the sender will have to transfer it separately to each member, creating a lot of traffic.
-- the file transfer is slow, as it is sent in small chunks - approximately 16kb per message.
+In mobile app settings choose *Use from desktop*, scan the QR code and verify session code when it appears on both devices - it should be the same. Verifying session code confirms that the devices are connected directly via a secure encrypted connection. There is an option to verify this code on subsequent connections too, but by default it is only required once.
-As a result, we limited the supported size of files in the app to 8mb. Even for supported files, it is quite inefficient for sending any files to large groups.
+
+
+The devices are now paired, and you can continue using all mobile profiles from desktop.
+
+If it is an Android app, you can move the app to background, but iOS app has to remain open. In both cases, while you are using mobile profiles from desktop, you won't be able to use mobile app.
+
+The subsequent connections happen much faster - by default, the desktop app broadcasts its session address to the network, in encrypted form, and mobile app connects to it once you choose *Use from desktop* in mobile app settings.
+
+### How does it work?
+
+The way we designed this solution avoided any security compromises, and the end-to-end encryption remained as secure as it was - it uses [double-ratchet algorithm](../docs/GLOSSARY.md#double-ratchet-algorithm), with [perfect forward secrecy](../docs/GLOSSARY.md#forward-secrecy), [post-compromise security](../docs/GLOSSARY.md#post-compromise-security) and deniability.
+
+This solution is similar to WhatsApp and WeChat. But unlike these apps, no server is involved in the connection between mobile and desktop. The connection itself uses a new SimpleX Remote Control Protocol (XRCP) based on secure TLS 1.3 and additional quantum-resistant encryption inside TLS. You can read XRCP protocol specification and threat model in [this document](https://github.com/simplex-chat/simplexmq/blob/master/rfcs/2023-10-25-remote-control.md). We will soon be [augmenting double ratchet](https://github.com/simplex-chat/simplex-chat/blob/master/docs/rfcs/2023-09-30-pq-double-ratchet.md) to be resistant to quantum computers as well.
+
+The downside of this approach is that mobile device has to be connected to the same local network as desktop. But the upside is that the connection is secure, and you do not need to have a copy of all your data on desktop, which usually has lower security than mobile.
+
+Please note, that the files you send, save or play from desktop app, and also images you view are automatically saved on your desktop device (encrypted by default except videos). To remove all these files you can unlink the paired mobile device from the desktop app settings – there will be an option soon allowing to remove the files without unlinking the mobile.
+
+### 🤖 Connecting to remote SimpleX CLI
+
+*Warning*: this section is for technically advanced users!
+
+If you run SimpleX CLI on a computer in another network - e.g., in the cloud VM or on a Raspberry Pi at home while you are at work, you can also use if from desktop via SSH tunnel. Below assumes that you have remote machine connected via SSH and CLI running there - you can use `tmux` for it to keep running when you are not connected via ssh.
+
+Follow these steps to use remote CLI from desktop app:
+1. On the remote machine add the IP address of your desktop to the firewall rules, so that when CLI tries to connect to this address, it connects to `localhost` instead: `iptables -t nat -A OUTPUT -p all -d 192.168.1.100 -j DNAT --to-destination 127.0.0.1` (replace `192.168.1.100` with the actual address of your desktop, and make sure it is not needed for something else on your remote machine).
+2. Also on the remote machine, run Simplex CLI with the option `--device-name 'SimpleX CLI'`, or any other name you like. You can also use the command `/set device name ` command, CLI can be used from desktop app.
+7. To stop remote session use `/stop remote ctrl` command.
+
+## Better groups
+
+### Faster to join, with more reliable message delivery
+
+We improved the protocols for groups, by making joining groups much faster, and also by adding message forwarding. Previously, the problem was that until a new member connects directly with each existing group member, they did not see each other messages in the group. The problem is explained in detail in [this video](https://www.youtube.com/watch?v=7yjQFmhAftE&t=1104s) at 18:23.
+
+With v5.4, the admin who added members to the group forwards messages to and from the new members until they connect to the existing members. So you should no longer miss any messages and be surprised with replies to messages you have never seen once you and new group members upgrade.
+
+### New group features
+
+
+
+**Create groups with incognito profile**
+
+Previously, you could only create groups with your main profile. This version allows creating groups with incognito profile directly. You will not be able to add your contacts, they can only join via group link.
+
+**Block group members to reduce noise**
+
+You now can block messages from group members that send too many messages, or the messages you don't won't to see. Blocked members won't know that you blocked their messages. When they send messages they will appear in the conversation as one line, showing how many messages were blocked. You can reveal them, or delete all sequential blocked messages at once.
+
+**Prohibit files and media in a group**
+
+Group owners now have an option to prohibit sending files and media. This can be useful if you don't won't any images shared, and only want to allow text messages.
+
+## Better calls
+
+Calls in SimpleX Chat still require a lot of work to become stable, but this version improved the speed of connecting calls, and they should work for more users.
+
+We also added screen sharing in video calls to desktop app.
+
+## Other improvements
+
+This version also has many small and large improvements to make the app more usable and reliable.
+
+The new users and group profiles now allow spaces in the names, to make them more readable. To message these contacts in CLI you need to use quotes, for example, `@'John Doe' Hello!`.
+
+When you delete contacts, you can notify them - to let them know they can't message you.
+
+When you try to connect to the same contact or join the same group, or connect via your own link, the app will recognize it and warn you, or simply open the correct conversation.
+
+You can find the full list of fixed bugs and small improvements in the [release notes](https://github.com/simplex-chat/simplex-chat/releases/tag/v5.4.0).
## SimpleX platform
diff --git a/blog/README.md b/blog/README.md
index 129ba2c80d..815009139f 100644
--- a/blog/README.md
+++ b/blog/README.md
@@ -1,5 +1,27 @@
# Blog
+Nov 25, 2023 [SimpleX Chat v5.4 released](./20231125-simplex-chat-v5-4-link-mobile-desktop-quantum-resistant-better-groups.md)
+
+- Link mobile and desktop apps via secure quantum-resistant protocol. 🔗
+- Better groups:
+ - faster to join and more reliable.
+ - create groups with incognito profile.
+ - block group members to reduce noise.
+ - prohibit files and media in a group.
+- Better calls: faster to connect, with screen sharing on desktop.
+- Many other improvements.
+
+---
+
+Sep 25, 2023 [SimpleX Chat v5.3 released](./20230925-simplex-chat-v5-3-desktop-app-local-file-encryption-directory-service.md)
+
+- new desktop app! 💻
+- directory service and other group improvements.
+- encrypted local files and media with forward secrecy.
+- simplified incognito mode.
+
+---
+
July 22, 2023 [SimpleX Chat v5.2 released](./20230722-simplex-chat-v5-2-message-delivery-receipts.md)
**What's new in v5.2:**
diff --git a/blog/images/20231125-block.png b/blog/images/20231125-block.png
new file mode 100644
index 0000000000000000000000000000000000000000..1928b7a6fd2d59a486798ae05a774a6b7c1f54dc
GIT binary patch
literal 1137734
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