Skip to content

fix(sync): retry failed removals before recording repository version - #377

Open
Lng999 wants to merge 1 commit into
Alban1911:mainfrom
Lng999:fix/skin-sync-removals-20261020
Open

Lng999 wants to merge 1 commit into
Alban1911:mainfrom
Lng999:fix/skin-sync-removals-20261020

Conversation

@Lng999

@Lng999 Lng999 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

When an obsolete skin/resource file is temporarily locked, incremental sync and its full-ZIP fallback previously treated the failed deletion as success and recorded the new repository SHA. The obsolete file was then never retried.

Count failed removals (including renamed source files) alongside extraction failures and keep the previous SHA until all files synchronize. Preserve .skin_version during cleanup so a failed full sync cannot erase the previous marker. Reset failure accounting for each extraction, allowing the next successful full retry to record its SHA.

Validation: six focused regression tests fail against 146f7986 and pass with this change, covering removal/rename callers, full fallback, successful retry and cleanup counts. python -B -m unittest discover -s utils/tests -t .: 52 tests pass with temporary LOCALAPPDATA. Ruff E9/F63/F7/F82 and git diff --check pass. No network or live game required by the new tests.

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.

1 participant