# VVVV always thinks referenced patches have been modified

This has been reported before here (Patch marked as changed on opening), but in 22.5 also referenced VL documents are marked as changed, even when they have not been opened at all, and vvvv asks the user if he/she wants to save the file when the program is closed. This is super confusing.

Here is how to reproduce:

1. Open the latest preview
2. Create two files main.vl and include.vl
3. Reference include.vl in main.vl
4. Save both files somewhere and close the program
5. Open vvvv
6. Open main.vl
7. Close vvvv

In my case vvvv says there are changes in both files and if they should be saved. In 4.12. it was only saying that main.vl has been changed, which was already a bit confusing.

4 Likes

Big +1 on that one

Once you have lots of things referenced the dialogue is basically useless and you simply have to remember to save all the files that you have actually changed.

Also the root file itself is marked changed as soon as it is opened and literally zero user interaction has happened, which is just very confusing.

Also the behaviour is different between closing and shutting down. When closing, it asks to close other documents, which is good:

but then asking to save is then done for each file individually with the dialog popping up for each file:

I think there should be consistent behavior between both.

[using 2022.5 preview-0574]

1 Like

@chk Upcoming previews should do a better job in tracking the save state of a document. It’s not perfect yet but better than the status quo.

@seltzdesign
Since 5.0-676 (around one week) the system will by default compile all packages, no matter whether they were installed via nuget install or you passed them via the --package-repositories command line argument. That means when it sees a package the first time, it will open its documents, compile them to a dll, close the documents and continue loading the compiled dll. Once the system is ready, no documents should be loaded at all. One can observe that by looking at the “All Documents” menu entry, there should be none. Hence closing vvvv will not lead to any query for saving it all. So under normal circumstances we should no longer see those endless long document lists to save.

Now say you want to modify/contribute to the VL.Stride packages, you’ll need to start the system with --editable-packages VL.Stride* in order to tell vvvv that you want to work on them. All the documents of those packages will now again be loaded into memory and we basically come back to the situation you were describing.
In order to address this, we re-saved all our documents (thereby getting rid of changes which accumulated over the 4.0 to 5.0 transitioning phase) and fixed some areas where the save state of documents wasn’t properly preserved. In general the situation should therefor be better now.

Edit: I forgot mentioning that these fixes will be an upcoming build >= 5.0-687

2 Likes

That sound great, thanks. I guess to edit Stride for example, we will be editing the new VL.StandardLibs in the future, right? Or will editing still be more fine-grained, so you would still edit VL.Stride individually?

vvvv.exe --package-repositories foo\bar\VL.StandardLibs
vvvv.exe --package-repositories foo\bar\VL.StandardLibs --editable-packages VL.Stride*