-
Notifications
You must be signed in to change notification settings - Fork 8.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Call UpdateJumplist only if the settings changed (#13692)
This commit stores a hash of the `settings.json` file in `ApplicationState` with which we can detect whether the settings contents actually changed. Since I only use a small 64-bit hash as opposed to SHA2 for instance, I'm taking the last write time of the file into account as well. This allows us to skip calling `UpdateJumplist` at least the majority of app launches which hopefully improves launch performance on devices with slower IO. Part of #5907. ## Validation Steps Performed * Delete some profiles (see above), save settings, tasks are gone ✅ FYI For some (...) inexplicable reason, shell task lists are preserved forever even if msix applications are uninstalled, etc. So to test whether tasks are properly written on first app launch we have to delete some profiles/tasks first, otherwise we can't see whether they're actually written later. * Now exit Windows Terminal, delete `settings.json` and relaunch * All tasks are back ✅ * With a debugger, ensure that `CascadiaSettings::WriteSettingsToDisk` generates the same hash that `LoadAll` reads. ✅
- Loading branch information
Showing
10 changed files
with
87 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters