Skip to content

Conversation

@ebkr
Copy link
Owner

@ebkr ebkr commented Jan 2, 2026

Local Mod List Improvements

Mods.yml

Primary change

Dropped mods.yml size down from 16139KB to 105KB. This is on a profile with 177 mods.

This was done using the reducer when stringify-ing the content of mods.yml and stripping out the icon key/value.

Secondary effect

This has an added bonus of drastically improving the load times to get to the profiles screen.

Fixing dragging ghost-effect

Prior to this change, when you drag a mod, due to the asynchronous behaviour of the manager, the mod list is treated as being reset before the state has changed. This gave the appearance of the mod jumping back to the original drag position, and then momentarily after being updated to the real position.

There's now a new ref variable which holds the local state and is updated by both the draggable list and the VueX state.

Suspense

I've also introduced a new SkeletonLocalModCard. This is used as a loading placeholder whilst the actual state and dependency calculation is done in the background for mods.

It means that the installed list can be seen far quicker, albeit non-interactive until loaded. Regardless it's still a nice improvement that's been needed for a while.

@ebkr ebkr requested a review from anttimaki January 2, 2026 16:34
@ebkr ebkr force-pushed the installed-list-improvements branch from f72e1a9 to d61c324 Compare January 6, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants