Wild idea: custom column and dialog to show what locks a file

Just a heads up that this script will error in 13.22.5 because of this change:

Improved the checks Vars.Set() does to detect non-Opus objects (they are not supported in Vars objects as they can easily cause crashes, since they can't persist from one instance of a script to another).

We previously checked for variables that were added directly to Vars and rejected non-Opus objects (e.g. jscript arrays), but we now also check for non-Opus objects hidden inside Opus ones (e.g. in a Vector).

Using jscript objects in a Vars object doesn't work reliably (and often crashes) because the objects are linked to the instance of the script engine that created them. Objects will remain in memory because of their refcount, but if the jscript garbage collector runs after that instance has shut down, the memory underlying them is released and the object now points to unallocated memory.

If you need to persist non-Opus objects from one instance of a script to another the only safe way is by serialising them (e.g. to JSON). Or e.g. use an Opus object like a Vector instead of a jscript array.