Conversation Diffs In JAMI

I have encountered issues where conversations do not sync properly with multiple users.

Where can I read about how JAMI parses diffs in conversations (in code or docs), as well as how conversations are synced across various devices with various users.

This does not yet encompass SWARM, but the same questions are applicable for swarm.

It is a pretty negative aspect of the JAMI experience, and it has been reproduced with 3 different users so far.

All the docs is on docs.jami.net

https://docs.jami.net/en_US/developer/jami-concepts/swarm.html#swarm

Also all conversation is a swarm

Is there known issues? Syncing conversations so far seems to be incredibly problematic.

This entire sync seems to be based on git diffs, but git is not a distributed version control system, so how do you know what device is the leader to pull from.

I was anticipating pulling from the most updated node in the comnections but it seems that a problem will arise of that node has lost connection state.

There is some issues known, but it should work without issue

Git is distributed and every device in the conversation can act be pulled from.

It’s not based on diff but the internal commit tree. Diffs are for files, and here we avoid files to avoid git conflicts.

Generally a new commit will be announced to some peers in the conversation, they will pull and announce it to some other peers. Because if every device pull from one device, there will be too much network operations on one point. (This mechanism is called DRT in the docs).

Generally logs can help to understand what is going. A malformed commit can block transmission, connectivity issues, etc

Thanks, I will dive in when I have time. Right now 3 different users frequently will encounter errors of entire sections of conversation missing. Hopefully logs will help to understand.