Skip to content

feat: prompt FOMOD configuration after archive downloads#169

Merged
bodencrouch merged 7 commits into
masterfrom
feat/fomod-archive-discovery
Jun 13, 2026
Merged

feat: prompt FOMOD configuration after archive downloads#169
bodencrouch merged 7 commits into
masterfrom
feat/fomod-archive-discovery

Conversation

@bodencrouch

@bodencrouch bodencrouch commented Jun 13, 2026

Copy link
Copy Markdown
Owner

Summary

  • Prompt users to configure FOMOD archives after downloads complete (GUI dialog on Fetch Downloads).
  • Move FOMOD installer presenter and post-download flow into ModSync.Core with a shared FomodPostDownloadOrchestrator and host-based wiring (FomodGuiPostDownloadHost, CLI hosts).
  • Add CLI/agent parity: --fomod-skip, --fomod-choices, --interactive / --non-interactive, TTY console wizard, and MODSYNC_FOMOD_CHOICES for headless configuration on install -d, convert -d, and merge -d.
  • Settings UI: fomodPostDownloadMode (warn-continue / skip) under Download Settings for headless CLI behavior.
  • Fix hidden-step selection apply and re-configure merge (upsert by GUID, strip prior FOMOD instructions for the archive folder).

Test plan

  • dotnet build ModSync.sln --configuration Debug
  • dotnet test --filter "FullyQualifiedName~Fomod" (53/53)
  • FomodCliPostDownloadIntegrationTestsmerge -d --fomod-skip with local FOMOD zip
  • Desktop: Fetch Downloads → FOMOD dialog still appears for selected mods with FOMOD archives
  • CLI TTY smoke: install -d with a FOMOD fixture archive in interactive mode
  • Agent path: --fomod-choices or MODSYNC_FOMOD_CHOICES applies selections without prompts

Docs

  • Plan: docs/plans/2026-06-14-123-feat-fomod-cli-download-prompts-plan.md
  • KB: fomod-support.md, core-cli-reference.md, download-system.md, agent parity audit

Follow-ups (not blocking)

  • Optional Spectre.Console polish for TTY wizard
  • Persist fomodPromptStatus through merge/convert output when ResourceRegistry is sparse

Copilot added 7 commits June 13, 2026 02:54
Detect fomod/ModuleConfig.xml in downloaded archives, offer an optional
post-download wizard, remember dismiss/configure state, and flag FOMOD
archives during file-tree enumeration.
Look up HandlerMetadata from the ResourceRegistry row that contains the
archive file so multi-download mods track dismiss/configure independently.
Move FOMOD presenter and post-download flow into Core with host-based
GUI/CLI wiring. Add --fomod-skip, --fomod-choices, and a TTY console
wizard so install/convert/merge can configure archives headlessly via
MODSYNC_FOMOD_CHOICES or interactively when attached to a terminal.
Wire fomodPostDownloadMode into AppSettings and the Download Settings
picker so headless CLI behavior matches settings.json. Document the flow
in download-system.md and refresh the parity living plan.
Clears CS0105 in FomodInstallerDialog; prior Windows CI failure was an
MSBuild worker crash (MSB4166), not a compile error.
Covers the Plan 123 verification filter for FomodCliPostDownload using a
local FOMOD archive and merge without network download.
Persist prompt status updates after TOML object-dictionary round-trip,
preserve fomodPostDownloadMode across FromCurrentState saves, honor
settings warn-continue on TTY, record warned state for headless runs,
and pass real archive names into the console wizard.
@bodencrouch bodencrouch merged commit bd53b5f into master Jun 13, 2026
11 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.

1 participant