Configure: improve defaults after rescan?
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 766
- Forks
- 51
- Avg merge
- 16d 14h
- Merged PRs (30d)
- 1
Description
Choosing a default game during a rescan can be hard. Yet, it's important because many users don't even know you can change the default (which is probably an UI problem, but that's another question).
If a rescan finds a new version for an existing game, I think I prefer to try keeping the old version. If this is for example EoSD or another game that keeps its save data in its own directory, choosing another game version could lead to the user losing their save data (not actually losing it, it would still be there in the previous game installation, but that's what it would look like for the end user).
On the other hand, a rescan could also happen because the user moved their games. In this case, he would prefer to have the new games. This case can actually be detected with decent reliability: if the old path doesn't exist, we shouldn't keep using it, and we can start using the new one.
... Unless the game is on an USB drive which happened to be disconnected during the rescan. In which case we would want to keep it.
Anyway, it's not as easy of a choice than it looks like at first glance, but it's worth discussing and trying to see if we can improve things.
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 by tracing the rescan logic and how it chooses a default game version; the issue does not name files or tests. Compare existing paths with newly discovered paths, including disconnected USB drives, and first settle the desired selection rules before implementation. Done means the default choice better distinguishes moved games from newly found versions without unexpectedly switching save data.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100