-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add conditional rendering to ModalCard and use the correct classes in ImportProfileModal #1428
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but any idea why GitHub's diff flags the whole ModalCard.vue as changed? Is there a change in tabs/spaces indentation, line endings oslt?
9ab9b19
to
6eea294
Compare
Fixed |
Test the installations and uninstallations of the package loader and a package ("plugin").
The custom folder name of the mod loader was not listed in the paths where the uninstallation logic looks for files. As a result, files belonging to uninstalled mods were left in the profile directory. Also improve some comments and misleading variable names.
Use the new approach for defining how mods should be installed instead of the legacy way. I.e. mostly just movingthings around. It's worth noting that this doesn't actually change what the mod installation or uninstallation does, and what it currently does doesn't necessary reflect how RoRR/Hades 2 communities want this specific mod loader to work in the future.
V2 extends the original PackageInstaller by adding support for installer specific uninstallation logic. Having two separate versions is a bit hacky and requires the profile installer provider to do some extra checks. However, this allows us to add support for one installer at the time, instead of having to implement them all at once.
Uninstalling a mod using ReturnofModding should remove the plugins_data subdir. However, if it contains a cache subdir, the contents of that subdir are kept, while rest of the content is removed. This is done as a way to persist some of the data created by the plugin when the mod is updated, since the update process uninstalls the old version before the new one is installed. The behaviour is documented at https://github.com/xiaoxiao921/ReturnOfModdingBase/tree/master?tab=readme-ov-file#plugins_data
- Actually rename the leaf item of the path - Throw error if source file/dir and target path don't exists to be in line with Node's rename() - Throw error if attempting to rename an item at the root of mocked file system. Rename (and other methods) assume there's some form of dir structure. Fixing this would be too much work now, so just document the "feature"
- Changing the state of the mod loader does nothing, which is in line with what BepInEx does, so I guess it's okay - Disabling a mod renames the plugin's files to have .old file extension and enabling a mod undoes this - The change also affects games using InstallRuleInstaller with the SUBDIR_NO_FLATTEN tracking method, making it match the functionality SUBDIR tracking method already had
Wrong argument passed to Vuex action silently skipped calling ConflictManagementProvider.resolveConflicts()
This commit primarily implements a way to track settings without requiring each game to exist as an independent table. This is done by, simply, moving everything to a new `games` table, by which each game is a row, indexable by each's setting identifier. This commit also removes code that migrated the legacy settings store to v2, but don't fret, I've replaced it with migration code that converts v2 game tables to the new v3 row entries. feat: add legacy table clear, remove old migration code chore: resolve PR review comments - Replace occurences of `==` with customary `===`. - Remove transaction wrapper from `applyV2ToV3Migration` - Invert logic of `getLatestGameSpecific` to reduce nesting and catch case where `game === undefined` and `applyV2ToV3Migration === true`. feat: move migration code to `Version.upgrade` This should ideally handle the migration from < 75 versions to 75 automatically at runtime, thus removing the need to integrate the migration routine into `getLatestGameSpecific`. Legacy game tables are not entirely removed, but they are cleared and, thanks to `Version.upgrade`, should not cause any future problems. chore: code cleanup - remove trailing whitespace, imports, debug log
- TODO: clean up old create profile stuff from Profiles.vue, which is easier to do with the refactoring of the Import module as the two were somewhat convoluted.
Based on code review feedback, implement the uninstallation methods as optional methods, rather than have a separate version of the abstract class with more abstract methods. Replace the approach with abstract classes and methods with a plain TypeScript interface because having optional methods in abstract classes seems poorly supported in TypeScript.
Create a new provider for handling changing the data folder. This shouldn't affect the functionality for r2mm, but allows tsmm to fix the feature on their end. As a bonus it moves the related logic from the bloated Manager component.
Version bumping the settings storage is no longer needed for regular game additions.
The game was hidden while the custom installation/uninstallation logic was improved/implemented.
ImportProfileModal
6eea294
to
297ce50
Compare
No description provided.