diff --git a/docs/protocol/diagrams/group.mmd b/docs/protocol/diagrams/group.mmd
index c331b46100..18d392caa5 100644
--- a/docs/protocol/diagrams/group.mmd
+++ b/docs/protocol/diagrams/group.mmd
@@ -3,24 +3,31 @@ sequenceDiagram
participant A as Alice
participant B as Bob
participant C as Existing contact
-
+
note over A, B: 1. send and accept group invitation
A ->> B: x.grp.inv invite Bob to group (via contact connection)
- B ->> A: x.grp.acpt accept invitation (via member connection)
- B ->> A: establish group member connection
+ B ->> A: x.grp.acpt accept invitation (via member connection) establish group member connection
note over M, B: 2. introduce new member Bob to all existing members
A ->> M: x.grp.mem.new "announce" Bob to existing members (via member connections)
- A ->> B: x.grp.mem.intro * N "introduce" members (via member connection)
- B ->> A: x.grp.mem.inv * N "invitations" to connect for all members (via member connection)
- A ->> M: x.grp.mem.fwd forward "invitations" to all members (via member connections)
+ loop batched
+ A ->> B: x.grp.mem.intro * N "introduce" members and their chat protocol versions (via member connection)
+ note over B: prepare group member connections
+ opt chat protocol compatible version < 2
+ note over B: prepare direct connections
+ end
+ B ->> A: x.grp.mem.inv * N "invitations" to connect for all members (via member connection)
+ end
+ A ->> M: x.grp.mem.fwd forward "invitations" and Bob's chat protocol version to all members (via member connections)
note over M, B: 3. establish direct and group member connections
M ->> B: establish group member connection
- M ->> B: establish direct connection
- note over M, C: 4. deduplicate new contact
- B ->> M: x.info.probe "probe" is sent to all new members
- B ->> C: x.info.probe.check "probe" hash, in case contact and member profiles match
- C ->> B: x.info.probe.ok original "probe", in case contact and member are the same user
- note over B: merge existing and new contacts if received and sent probe hashes match
+ opt chat protocol compatible version < 2
+ M ->> B: establish direct connection
+ note over M, C: 4. deduplicate new contact
+ B ->> M: x.info.probe "probe" is sent to all new members
+ B ->> C: x.info.probe.check "probe" hash, in case contact and member profiles match
+ C ->> B: x.info.probe.ok original "probe", in case contact and member are the same user
+ note over B: merge existing and new contacts if received and sent probe hashes match
+ end
diff --git a/docs/protocol/diagrams/group.svg b/docs/protocol/diagrams/group.svg
index d66b560b21..8c1b65dee2 100644
--- a/docs/protocol/diagrams/group.svg
+++ b/docs/protocol/diagrams/group.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/feed.atom b/feed.atom
index c41db448a6..df7187af8e 100644
--- a/feed.atom
+++ b/feed.atom
@@ -1,11 +1,11 @@
-
+SimpleX Chat BlogIt allows you to stay up to date with the latest Blogs from SimpleX Chat.
-
+
2023-07-22T00:00:00Z
- https://simplex.chat/,
+ https://simplex.chat/SimpleX Chatchat@simplex.chat
diff --git a/feed.rss b/feed.rss
index c02d91d1fa..b6e1edbceb 100644
--- a/feed.rss
+++ b/feed.rss
@@ -1,8 +1,8 @@
-
+SimpleX Chat Blog
- https://simplex.chat/,
+ https://simplex.chat/
It allows you to stay up to date with the latest Blogs from SimpleX Chat.en