Open Pickysaurus opened 4 months ago
It doesn't "confuse" the app, we process the archives in parallel, which just happens to lock the DB due to ingestion in some cases.
This issue is specifically for the advanced installed. I've made a separate one for the "normal" button. The two may be related though.
Can you provide more information? What happens when you add multiple mods using the advanced installer?
Nothing seems to happen, I'll try and get some log files, but my monitor is playing up right now so it's difficult to access anything on one of my screens xD
Added a video and some log files. It seems this time it spammed the advanced modal. Ideally these should queue in some way rather than appearing all at once.
I take it we probably want to introduce an asynchronous lock then, so it only shows one by one at a time if this behaviour is undesirable. Given that we run the installers in parallel.
The only other caveat is there's not really a way to cancel the installation of all items. Not sure if there's much that could be done UI wise there. (In code behind, no problem, just use a cancellation token)
Thinking about it some more. I'm not sure how high priority this is.
The current behaviour isn't incorrect, and may in fact be preferable for cancelling the operation, as you could quicker close the windows.
Maybe instead, a better UX solution would be to ask the user in a modal/pop up if this is what they really want to do?
You are about to Advanced Install 30 mods. Running this will open 30 windows. You sure about this mate? (Innit?) [Let's Go Son] [Oh Noes]
Maybe not with that text, but some food for thought.
Bug Report
Summary
The advanced button for adding mods lets the user select multiple files, which appears to confuse the app.
Steps to reproduce
What is the expected behaviour?
Only one archive can be selected OR the app can queue mods to be processed by this UI.
Other information
https://github.com/Nexus-Mods/NexusMods.App/assets/31670524/ebb352a2-f40d-4b93-978b-a1b748378c0a
nexusmods.app.main.current.log nexusmods.app.slim.current.log