ContextKeeper/ContextKeeper.VisualStudio

[Win 11 Dev Drive] Snapshots are no longer created/loaded when creating/checking-out branches

Closed this issue · 9 comments

If I create a branch, I no longer get a new snapshot for it, and switching branches no longer loads the appropriate snapshot. This is my primary use case for ContextKeeper so that is rather disappointing!

Using Visual Studio 2022 v17.8.6 and ContextKeeper v1.98.14.

Could you go to the Extensions->ContextKeeper->Mental Snapshot and check if appropriate snapshot was created for your branch? If so, try to force load the snapshot and copy & paste logs from View->Output->ContextKeeper,

Please double check if you have entered your license key (Extensions->ContextKeeper->License Details ...). I see in the system that you have bought a license, if you cannot find your license key, please let me know and I will resend it.

For installations made more than 6 months ago, a license key is now required. You should see a clear message in the Mental Snapshot window if the Beta Program license has expired.

P. S. I've checked the latest VS 2022 v17.8.6 and it looks fine. Switching between branches triggers a snapshot restore as expected so my guess is expired Beta Program license.

Oh, I saw that it said "valid beta license" so I thought it was already up to date; maybe it should say "expired beta license" instead?

However even after entering my license key, the snapshots still aren't automatically created, updated, or restored. I can do it manually but that's a bit of a nuisance.

Here's the log from my most recent session:

17:26:27.623: [ProcessId:12672] [ThreadId:1] Info [LoadSnapshots] Loading mental snapshots ...
17:26:28.166: [ProcessId:12672] [ThreadId:1] Info [LoadSnapshots] Snapshots loaded.
17:27:02.441: [ProcessId:12672] [ThreadId:1] Warn [AssertThatAllDocumentTabsClosed] There are open documents during Restore process:
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp29300_571925.GameSetup.960603ec.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp38164_244411.GameSetup.960603ec.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp40100_213120.GameSetup.54f643e6.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp31792_439596.GameSetup.f8131b38.cs
17:27:02.442: [ProcessId:12672] [ThreadId:371] Info [LoadSelectedItemModelCommandHandler] '56-integrated-multiplayer-server-and-client' snapshot restored.
17:29:12.927: [ProcessId:12672] [ThreadId:1] Warn [AssertThatAllDocumentTabsClosed] There are open documents during Restore process:
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp29300_571925.GameSetup.960603ec.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp38164_244411.GameSetup.960603ec.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp40100_213120.GameSetup.54f643e6.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp31792_439596.GameSetup.f8131b38.cs
17:29:12.928: [ProcessId:12672] [ThreadId:735] Info [LoadSelectedItemModelCommandHandler] '56-integrated-multiplayer-server-and-client' snapshot restored.
17:29:31.754: [ProcessId:12672] [ThreadId:1] Info [ContextMenuServiceOnUpdateCommandFired] Updating snapshot '56-integrated-multiplayer-server-and-client' ...
17:29:31.811: [ProcessId:12672] [ThreadId:1] Info [SaveSnapshot] Snapshot saved:R:\vs\FrEee.contextkeeper.git-branches\56-integrated-multiplayer-server-and-client.ck
17:29:31.817: [ProcessId:12672] [ThreadId:1] Info [ContextMenuServiceOnUpdateCommandFired] Snapshot '56-integrated-multiplayer-server-and-client' updated.
17:29:45.447: [ProcessId:12672] [ThreadId:1] Warn [AssertThatAllDocumentTabsClosed] There are open documents during Restore process:
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp29300_571925.GameSetup.960603ec.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp38164_244411.GameSetup.960603ec.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp40100_213120.GameSetup.54f643e6.cs
C:\Users\edkol\AppData\Local\Temp\TFSTemp\vctmp31792_439596.GameSetup.f8131b38.cs
17:29:45.448: [ProcessId:12672] [ThreadId:772] Info [LoadSelectedItemModelCommandHandler] '56-integrated-multiplayer-server-and-client' snapshot restored.
17:29:45.664: [ProcessId:12672] [ThreadId:1] Info [Restore] Finished in 0.21 seconds.

I don't remember exactly what I did in what order, but I switched branches a few times and also created, updated, and restored a snapshot manually.

Thanks!

This looks like some unusual "path" bug. ContextKeeper keeps all your snapshots (manual and git branch's snapshots) in the .contextkeeper folder, in the same level where a solution file (.sln) is placed.

Branch's snapshots always go to the .contextkeeper\.git-branches folder but looks like your branch snapshot have gone to:

R:\vs\FrEee.contextkeeper.git-branches\56-integrated-multiplayer-server-and-client.ck which is totally incorrect path for snapshots. Should be more like ...\.contextkeeper\.git-branches\...

Could you attach a screenshot with your entire directory structure, at the level where the solution file sits?

Sure, is this what you're looking for?

image

This may be related to my moving my Git repos from c:\Users\edkol\source\repos to R:\vs; I created a "dev drive" using the new Windows feature not too long ago. There's also a .contextkeeper folder at R:\vs for some reason, even though that's just a folder that contains a bunch of repos:

image

That's the one that is referenced by the logs, right?

Thanks for all details! I've successfully reproduced the bug using Dev Drive, and looks like it is not path related. I am working on the fix.

Awesome, thank you!

It is fixed in the version 1.98.15! Please force auto-update it in Visual Studio to check it out (Tools->Extensions->Updates->ContextKeeper->Update).

email

Once again, thanks for reporting the issue!

Thanks! Now the snapshots are properly switching when I switch branches.