Skip to content

Conversation

ebkr
Copy link
Owner

@ebkr ebkr commented Mar 10, 2025

Includes 3.1.57

ebkr and others added 30 commits February 26, 2025 18:43
(cherry picked from commit dd13184)
To reduce time spent on the splash screen, recent changes skip
refreshing the online mod list if older version is found in IndexedDB
cache. This means the user might have outdated mod list when importing
a profile, and the manager can't import mods it doesn't know about. To
mitigate the issue, a warning was added to profile preview step with an
option for the user to update the mod list.

However, the warning uses the mod list in Vuex to check if a mod is
available, which is a mistake since that only checks if the mod itself
is known, and not whether the mod version in the profile is known. This
caused recently updated mods to not always trigger the warning. The
download part uses IndexedDB as its source of truth, and silently
ignored the unknown mods/versions, since user has explicitly decided to
import a partial profile.

To fix the issue, both parts now use IndexedDB as the source of truth.

The implementation in ImportProfileModal now somewhat akwardly handles
the mod information as ExportMods (read from mods.yml and required to
know which mods are disabled), ThunderstoreMods (required to use
existing UI components), and ThunderstoreCombos (required to download a
specific version of the mod). This could potentially be simplified but
is outside the scope of this PR.

ExportMod support was dropped from TsModsModule functions to remove the
footgun that caused this whole problem.
Fix profile import silently leaving some mods uninstalled
Added dispatch to update API cache in background if cache was already present
The empty value returned by the API is null, not undefined. This caused
the button to be erroneously rendered on OnlineModList where strict
check against undefined was used. Clicking the button then caused an
unhandled error.
- This reverts an accidental change which was made previously
Update game cover images for Gang Beasts, R.E.P.O., and Zort
Add 3 new games: Dusk, Monster Train 2 and My Dream Setup
Only filter out versions when not dealing with modpacks
Fix OnlineModList rendering donate buttons for mods without donation links
A warning was logged when the actual prop passed to the component
overwrote the default value.
Remove default value definition to avoid causing rerendering
anttimaki and others added 28 commits April 9, 2025 09:37
Use ThunderstoreCombo and ImmutableProfile types in installModAfterDownload
…inex-check

Remove a check which made BepInEx package not be uninstalled before reinstall
Perform some cleanup for installModAfterDownload
Relocate installModAfterDownload to DownloadModule
Export all mod loader mappings from the TS module they're declared in.
This is done in order to allow the ecosystem-schema import script to
render them into yaml/json
Update the cover images for R.E.P.O. and Gatekeeper
* Move hookModInstallingViaProtocol to UtilityMixin
* Call the function from App.vue
* Add error handling for when the user hasn't selected a profile
Remove Promises and other unnecessary waiting
…pecific

Separate downloadSpecific into downloadAndInstallSpecific and installSpecific
…addsolutionstoerror

Move downloadProgressCallback and addSolutionsToError away from UI components
Move installSpecific away from UI component and rename the dispatches
Perform some cleanup for stuff related to downloadAndInstallSpecific
Move downloadAndInstallSpecific away from the UI component
* ENA: Dream BBQ
* Human Fall Flat
* Magicite
@ebkr ebkr changed the title Release 3.1.57 (Develop) Release 3.1.58 (Develop) Apr 17, 2025
@ebkr ebkr merged commit c0c6c5d into master Apr 17, 2025
7 checks passed
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.

7 participants