Losing locks on open work objects
I am working on an application that has a parent work object, with a tree of many child work objects. It is set up so that the parent is not locked when the children are opened - so that different users can work on different children in parallel. At the end of processing some of the children, an activity runs that opens and updates the parent very briefly.
If the parent is already opened by another user, Obj-Open-By-Handle reports a locking error, which we catch and create a page-error (so the user can re-try after the other user is finished). This works well and the users are happy with the results.
But we have problems when the parent object is open in another Tab of the same browser. In this case Obj-Open-By-Handle in the child thread does not report an error, so we go ahead and update the parent object, and save it. The flow commits the change & the lock is lost when we return to the tab with the parent object.
Is there any way to detect this condition in advance?