Nexus-Mods / NexusMods.App

Home of the development of the Nexus Mods App
https://nexus-mods.github.io/NexusMods.App/
GNU General Public License v3.0
816 stars 43 forks source link

Multiple advanced installer UIs open when selecting multiple archives #1288

Open Pickysaurus opened 4 months ago

Pickysaurus commented 4 months ago

Bug Report

Summary

The advanced button for adding mods lets the user select multiple files, which appears to confuse the app.

Steps to reproduce

  1. Click "Add Mod (Advanced)".
  2. Select multiple archives in the file viewer.
  3. Submit the selection.

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

erri120 commented 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.

Pickysaurus commented 4 months ago

This issue is specifically for the advanced installed. I've made a separate one for the "normal" button. The two may be related though.

erri120 commented 4 months ago

Can you provide more information? What happens when you add multiple mods using the advanced installer?

Pickysaurus commented 4 months ago

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

Pickysaurus commented 4 months ago

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.

Sewer56 commented 4 months ago

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)

Sewer56 commented 4 months ago

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.