Edit conflicts (prior edit but last save reverts new edit save) on same yml file of same version

We keep encountering situation when 2 and more peers are working on same yml file editing in same version, the prior edit but last save rewrites / reverts the changes which were made after that prior edit but saved prior to that edit. Like illustrated below, save1 will revert all the changes made in save2.

edit1 edit2 save2 save1
------------------------------------------> time

It impacts a lot in our teams while everyone is working on different parts on same yml file. Please improve this experience, or force the prior edit to sync before saving.

Version: Desktop v4.10.5x64

Thanks!

Hi @yizhou.zhou, thanks for raising this as an issue. There should be a notification in the UI warning you to any users editing the same file you are currently on. From your description it sounds like there may be an issue with that notification, so we’ll do some digging on our end to see what could be going wrong.

We’ll post an update as we know more.

Hi @ross, thanks for your reply. Yes, sometime there is no any notification in the front although somebody is editing. Also I think a block for saving in this situation is necessary. Notification only is not enough to prevent the problem, some kind of forceful sync method should be introduced, e.g. first come first serve, etc.

Also in the future if we can have user branch and merge solution on the Stoplight UI, it can operate like code version control, since the git is already in the back-end of Stoplight.

Hi @yizhou.zhou, we are currently testing a change that improves the logic around how these notifications are presented. I will post an update here as soon as these changes are live.

Regarding:

Also in the future if we can have user branch and merge solution on the Stoplight UI, it can operate like code version control, since the git is already in the back-end of Stoplight.

Stoplight Studio (which will eventually replace the Next designer) is based on the Git protocol directly and allows for more of a “Git flow” type of branching method that would address many (if not all) of the issues here. It doesn’t support conflict resolution yet, but that is certainly on our radar.