Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Update LocatorIds before synchronization#3940

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
Al12rs merged 2 commits intomainfrombackup-fixes-again
Oct 2, 2025
Merged

Conversation

@halgari
Copy link
Collaborator

fixes#3455

This pull request refactors the loadout synchronization logic to improve the handling of locator IDs and game version updates when ingesting from disk. The main changes involve separating the update of locator IDs from the override reprocessing logic, ensuring locator IDs are updated before building the sync tree.

@github-project-automationgithub-project-automationbot moved this toDevelopment review inAppOct 1, 2025
@halgarihalgari requested a review froma teamOctober 1, 2025 21:35
@erri120erri120 requested a review fromAl12rsOctober 2, 2025 07:53
}

// Update locator IDs before building the sync tree
loadout=awaitUpdateLocatorIds(loadout);
Copy link
Contributor

@Al12rsAl12rsOct 2, 2025
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

EDIT: Actually my analysis was wrong, I updated it

I thinkUpdateLocatorIds(loadout) might need to go before theawait ActivateLoadout(loadout); (L1144) during the loadout switching code.

Otherwise if there was a game update, and the user tries to switch to a different target loadout we would:

  • Correctly deactivate the previous loadout, updating itsLocatorIds, ingesting any changes.
  • Reset the game to the gameMetadataLocatorIds, which should be the latest ones due to the previous Synchronize.
  • Try to Activate the target loadout against a vanilla game state that doesn't match the loadoutLocatorIds (still on the old game version).
  • Likely run into missing backups exceptions because we no longer backup old game versions.

I think we should also update the target loadout to use the newLocatorIds as the base for now.

In the future, if we wish to allow users to select which Game version they wish each Loadout to be on, then we will have to add some extra data likeDesiredLocatorIds to be able to determine exactly which version we should want a loadout to be based on, but for now, I think going by what is provided by the game storeLocatorIds is best.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Might be something for QA to test, not sure if they have loadout switching between different game versions on their list.

Copy link
Contributor

@Al12rsAl12rsOct 2, 2025
edited
Loading

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

Test case for cyberpunk would be:

  • Unmanage game, close the app.
  • In steam disable a DLC, run the game to ensure the change is applied.
  • Open the app, manage the game (loadout A), add a couple of mods, apply.
  • Create a second loadout (B), don't apply.
  • Go in steam and enable the DLC again, run the game to ensure the change applied.
  • Go back to the app
  • Disable a mod in Loadout A, Apply. This should hopefully not backup the DLC.
  • Now go to Loadout B and Apply that one
  • Ideally this should work without exceptions and without backing up DLCs either.

@Al12rs
Copy link
Contributor

Moved theUpdateLocatorIds() call at the start of Synchronize to cover the loadout switch case. Doing this now to get a 0.18.1 build to send to QA and have them test this.

@Al12rsAl12rs merged commitb75fc0d intomainOct 2, 2025
11 checks passed
@github-project-automationgithub-project-automationbot moved this fromDevelopment review toDone inAppOct 2, 2025
@Al12rsAl12rs deleted the backup-fixes-again branchOctober 2, 2025 09:30
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment

Reviewers

@erri120erri120erri120 approved these changes

@Al12rsAl12rsAl12rs left review comments

Assignees

@halgarihalgari

Labels

None yet

Projects

Archived in project

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Synchronizer is using old LocatorIds in case of Game updates/DLC changes duringBuildSynchTree

4 participants

@halgari@Al12rs@erri120

[8]ページ先頭

©2009-2025 Movatter.jp