Filesystem change date of mods not calculated correctly, giving false positives in the "Update Workshop Mods" screen
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1.2k
- Forks
- 155
- Avg merge
- 16h 10m
- Merged PRs (30d)
- 59
Description
Release Type
Compiled (Windows x86-64)
Version
1.6.4633 rev1260
Operating System
Windows 11
Relevant logs
No response
Describe the bug
Apparently Steam only downloads delta updates, but RimSort only checks the mod folder's modification date. In Windows 11 the folder is only considered modified if a file directly inside the folder is modified.
This means that if a mod update only changes a file nested inside a subfolder of the mod's root folder, then the mod update is not detected by RimSort.
For example, the most recent Vanilla Expanded Framework update (on January 8) only changed /1.6/Assemblies/VEF.dll compared to the version I had installed (November 17), so the update itself is not detected by RimSort, and the mod shows up over and over in the updates list.
As an experiment, I manually deleted the README.md from the mod folder and verified the integrity of the game files. This forced Steam to redownload the README.md which is in the root folder. Now the root folder's modification date is set to today's date and the mod no longer shows up as needing update.
Additional context
No response
Code of Conduct
I agree to follow this project's Code of Conduct
Duplicate Issue Check
I've checked for similar issues and didn't find anything
Wiki/FAQ Check
I've checked the Wiki for a solution and didn't find a solution
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the Update Workshop Mods screen logic that checks a mod folder's modification date, and reproduce the case where only a nested file such as /1.6/Assemblies/VEF.dll changes. Done means changes below the mod's root are detected and the mod no longer remains falsely listed as needing an update.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100