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
1.1k stars 52 forks source link

Unable to remove game #1718

Closed BucketListMod closed 4 months ago

BucketListMod commented 5 months ago

Bug Report

Summary

When attempting to remove Stardew Valley as a game from the mod manager for purposes of cleaning downloads/returning to manual installation, "Removing Game" loading circle spins indefinitely

Steps to reproduce

Attempt to remove Stardew Valley as a game from SteamDeck using AppImage

What is the expected behaviour?

The game would get removed and be able to be re-added

Other information

AppImage does not appear to have a log

Sewer56 commented 5 months ago

Are you sure there aren't any logs? In the current release, the View Logs file under the help icon may be greyed out, but the App should still produce logs.

[Added in next build]

Check the .local/state/NexusMods.App/Logs folder under your home/user directory. You may need to unhide hidden files in your file manager.

BucketListMod commented 5 months ago

I had trouble finding the .local folder but I have now been able to do so, thank you! nexusmods.app.main.current.log nexusmods.app.slim.current.log

Sewer56 commented 5 months ago
00:05:48.425 [ERROR] (NexusMods.App.Program) Encountered an exception published to an object with an unobserved ThrownExceptions property|NexusMods.Abstractions.Games.Loadouts.NeedsIngestException: Loadout needs to be ingested before it can be applied
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.HandleNeedIngest(HashedEntryWithName entry) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 379
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.FileTreeToDiskImpl(FileTree fileTree, Model loadout, FlattenedLoadout flattenedLoadout, DiskStateTree prevState, GameInstallation installation, Boolean fixFileMode, Boolean skipIngest) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 167
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.FileTreeToDiskImpl(FileTree fileTree, Model loadout, FlattenedLoadout flattenedLoadout, DiskStateTree prevState, GameInstallation installation, Boolean fixFileMode, Boolean skipIngest) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 147
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.FileTreeToDisk(FileTree fileTree, Model loadout, FlattenedLoadout flattenedLoadout, DiskStateTree prevState, GameInstallation installation, Boolean skipIngest) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 130
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.Apply(Model loadout, Boolean forceSkipIngest) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 564
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.ApplyVanillaStateLoadout(GameInstallation installation) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 1231
   at NexusMods.Abstractions.Loadouts.Synchronizers.ALoadoutSynchronizer.UnManage(GameInstallation installation) in /_/src/Abstractions/NexusMods.Abstractions.Loadouts.Synchronizers/ALoadoutSynchronizer.cs:line 1022
   at NexusMods.App.UI.Pages.MyGames.MyGamesViewModel.RemoveAllLoadouts(GameInstallation install) in /_/src/NexusMods.App.UI/Pages/MyGames/MyGamesViewModel.cs:line 127
   at NexusMods.App.UI.Pages.MyGames.MyGamesViewModel.<>c__DisplayClass7_1.<<-ctor>b__11>d.MoveNext() in /_/src/NexusMods.App.UI/Pages/MyGames/MyGamesViewModel.cs:line 77
--- End of stack trace from previous location ---
   at NexusMods.App.UI.Pages.MyGames.MyGamesViewModel.<>c__DisplayClass7_1.<<-ctor>b__8>d.MoveNext() in /_/src/NexusMods.App.UI/Pages/MyGames/MyGamesViewModel.cs:line 77

Error is here.

I think this is loosely related to:

The whole system is currently being reworked by @halgari , so chances are it'll be fixed after an update or two from now.

In any case. Go to the loadout (game), and hit Ingest if the button is available. Do the action and hopefully removing the game after that point should work fine.

BucketListMod commented 5 months ago

I did not see an Ingest button, but when I attempted to hit "Apply" after deleting/removing all the mods it did not work. Then somehow added two separate instances of Stardew Valley... Ended up purging the whole thing and restarting from scratch but now when I attempt to open NXM links it launches Stardew Valley instead, even though I've followed everything on the wiki to a T for resetting/choosing how to open NXM links

So long story short I think I fucked everything up 😅 Here's the log of me trying to sign in/open NXM links and the game running instead, in case it's helpful. nexusmods.app.main.current.log But I think I'm just too much of a newbie at Linux and may be a detriment to testing this rather than a benefit

Sewer56 commented 5 months ago

I attempt to open NXM links it launches Stardew Valley instead

I'm not even sure how that could potentially happen. Based on what's present in the log.

(Also note that multiple loadouts are experimental, there's a reason they're listed as 'unsupported' in the settings).

I believe a change in the link handler logic will be present in the next update, which is a breaking change [reinstall needed] either way. That'll be available within the next week, so it's probably better to wait till then.