Skip to content

✨ Show combined sync plan and confirm once in mod sync#73

Merged
sakuro merged 2 commits intomainfrom
feature/mod-sync-show-combined-plan-and-confirm-once-before-applying-changes
Mar 3, 2026
Merged

✨ Show combined sync plan and confirm once in mod sync#73
sakuro merged 2 commits intomainfrom
feature/mod-sync-show-combined-plan-and-confirm-once-before-applying-changes

Conversation

@sakuro
Copy link
Owner

@sakuro sakuro commented Feb 26, 2026

Summary

Show a combined plan of all pending changes before asking for confirmation once, rather than asking separately for installs and silently applying other changes.

Changes

  • Plan all changes (install, enable/disable, conflict resolution, unlisted disable) in a single phase before showing them together
  • Ask for confirmation once; skip confirmation entirely when there is nothing to change
  • Extract plan_existing_mod_changes, plan_expansion_mod_changes, and apply_single_change helpers to reduce block nesting and length
  • Add specs for exactly-one confirmation, no-confirmation-when-clean, and declined-confirmation-prevents-both-install-and-save

- Plan all changes (install, enable/disable, conflict resolve, unlisted disable) before showing them together, then ask for confirmation once
- Skip confirmation entirely when there is nothing to change
- Extract plan_existing_mod_changes, plan_expansion_mod_changes, and apply_single_change helpers to reduce nesting and block length
When a MOD has no version in mod-list.json (nil), treat it as
no change rather than a version mismatch — version is optional
in mod-list.json and absence means "use whatever is installed".
@sakuro sakuro merged commit 9427fdf into main Mar 3, 2026
5 checks passed
@sakuro sakuro deleted the feature/mod-sync-show-combined-plan-and-confirm-once-before-applying-changes branch March 3, 2026 10: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.

1 participant