Add offline fallbacks for remote components #9

Merged
Dusk-92 merged 101 commits from test/remote-fallbacks into main 2026-09-04 15:03:01 +00:00
Dusk-92 commented 2026-09-03 18:52:00 +00:00 (Migrated from github.com)

Summary

  • restore bundled SuperWoW 2.2 and SuperAPI fallback after redistribution permission was reported by the Modernization Tool maintainer
  • keep upstream SuperWoW release and SuperAPI master as the preferred online sources
  • verify the complete bundled SuperAPI tree before fallback installation
  • keep valid installed components instead of downgrading when an update source is temporarily unavailable
  • keep visual MPQ mods online-only: no bundled MPQ fallback and no MPQ cache fallback
  • keep Vanilla Tweaks independent from SuperWoW
  • make Tool-owned executable Vanilla Tweaks authoritative on inherited pre-patched WoW.exe states where original/patched signatures are known
  • run a read-only Vanilla Tweaks source preflight before any installation files are changed and recheck the source immediately before patching
  • preserve client-owned Custom GlueXML regions byte-for-byte instead of overwriting unknown Turtle/Octo/community loader code
  • preserve an already valid installed MPQ only for genuine remote-source failures
  • let local MPQ write/permission/install failures surface instead of misreporting them as network failures
  • seed WowPresence cache only from tool-managed binaries whose recorded SHA-256 hashes still match
  • preserve valid unknown/manual WowPresence binaries without promoting them into the trusted cache
  • repair modified tool-managed WowPresence binaries and legacy managed installs without recorded hashes instead of preserving them as manual installs
  • force legacy tool-managed WowPresence manifests through a verified online refresh when the source is available
  • use WowPresence offline recovery only for source/package failures; local write, permission and transactional install errors surface as local failures
  • reject malformed, tampered or path-escaping cache metadata
  • bundle a verified known-good WowPresence fallback during release/test builds
  • add regression coverage for strict MPQ error classification, WowPresence cache/trust/recovery behavior, SuperAPI integrity and authoritative Vanilla Tweaks normalization
  • update README, provenance and third-party notices

Fallback order

SuperWoW / SuperAPI

  1. prefer the current upstream source
  2. keep an already valid installed version when an update cannot be fetched
  3. use the bundled known-good pair when repair or first-time offline installation is required

WowPresence

  1. prefer the current upstream release
  2. keep a hash-verified tool-managed install, or a valid unknown/manual install, when the release source is unavailable
  3. repair modified or legacy-unverified tool-managed installs from the validated local cache when available
  4. use the release-bundled known-good fallback when cache repair or first-time offline installation is required

Only hash-verified tool-managed WowPresence binaries may seed the validated cache. Unknown/manual binaries are preserved when valid but are never promoted into that cache. Legacy tool-managed installs without recorded hashes are refreshed or repaired rather than treated as manual installs. Local installation/write/permission failures do not enter the offline fallback path.

Visual MPQ mods

  • no offline fallback is distributed or cached
  • keep an already valid installed MPQ only when the original source is unavailable or returns an invalid package
  • local installation/write/permission errors are reported as failures
  • first-time installation requires the original online source

Vanilla Tweaks and SuperWoW

  • SuperWoW does not disable, grey out or suppress Vanilla Tweaks controls
  • the FoV Calculator remains available, including automatic screen aspect-ratio detection and calculated FoV
  • the Tool normalizes FoV, Farclip, Frill Distance, Nameplate Distance, Max Camera Distance, Sound Channels, QuickLoot, Background Sound, Large Address Aware and Camera Skip Fix to the selected Tool values
  • Custom GlueXML remains authoritative when the original source region is a recognized vanilla/upstream state
  • if the original WoW.exe contains a different Custom GlueXML region, that exact client-owned byte sequence is preserved through the staged patch instead of being replaced by vanilla-tweaks
  • recognized pre-patched Vanilla/Octo/Turtle states can therefore be restored or overridden without sacrificing client-specific loader code
  • Blue Moon and Cross-faction Resurrection intentionally keep their previous upstream vanilla-tweaks behavior and are not post-normalized
  • enabling or disabling SuperWoW does not change the executable patch settings signature

Executable safety

  • the original WoW.exe is checked read-only before the installer performs cleanup, downloads, plugin updates or other installation writes
  • selected numeric Vanilla Tweaks values are validated during the same preflight
  • unknown QuickLoot, Background Sound, LAA or Camera Skip source signatures abort before vanilla-tweaks is launched
  • a foreign Custom GlueXML source region is treated as client-owned and recorded for exact preservation rather than being considered an error
  • the source is checked again immediately before the Vanilla Tweaks transaction
  • vanilla-tweaks runs only against a staged copy of WoW.exe
  • normalization is applied only to staged output
  • client-owned Custom GlueXML bytes recorded during source preflight are restored byte-for-byte after the upstream patcher runs
  • unknown post-patcher signatures without matching source proof still abort the build
  • the staged executable is validated again before commit
  • WoW_Modernized.exe is replaced only after the complete staged build succeeds
  • any normalization or validation failure leaves the previous live WoW_Modernized.exe unchanged

Safety

  • draft PR only
  • no changes to main
  • remote sources remain preferred when available
  • SuperWoW + SuperAPI fallback is installed transactionally as one pair
  • WowPresence fallback packages are validated before installation
  • visual MPQs are never bundled into the Tool
  • regression tests cover source preflight, client-owned Custom GlueXML preservation, authoritative Vanilla Tweaks on/off states, legacy Blue Moon/Cross-faction behavior and transactional rollback
## Summary - restore bundled SuperWoW 2.2 and SuperAPI fallback after redistribution permission was reported by the Modernization Tool maintainer - keep upstream SuperWoW release and SuperAPI master as the preferred online sources - verify the complete bundled SuperAPI tree before fallback installation - keep valid installed components instead of downgrading when an update source is temporarily unavailable - keep visual MPQ mods online-only: no bundled MPQ fallback and no MPQ cache fallback - keep Vanilla Tweaks independent from SuperWoW - make Tool-owned executable Vanilla Tweaks authoritative on inherited pre-patched WoW.exe states where original/patched signatures are known - run a read-only Vanilla Tweaks source preflight before any installation files are changed and recheck the source immediately before patching - preserve client-owned Custom GlueXML regions byte-for-byte instead of overwriting unknown Turtle/Octo/community loader code - preserve an already valid installed MPQ only for genuine remote-source failures - let local MPQ write/permission/install failures surface instead of misreporting them as network failures - seed WowPresence cache only from tool-managed binaries whose recorded SHA-256 hashes still match - preserve valid unknown/manual WowPresence binaries without promoting them into the trusted cache - repair modified tool-managed WowPresence binaries and legacy managed installs without recorded hashes instead of preserving them as manual installs - force legacy tool-managed WowPresence manifests through a verified online refresh when the source is available - use WowPresence offline recovery only for source/package failures; local write, permission and transactional install errors surface as local failures - reject malformed, tampered or path-escaping cache metadata - bundle a verified known-good WowPresence fallback during release/test builds - add regression coverage for strict MPQ error classification, WowPresence cache/trust/recovery behavior, SuperAPI integrity and authoritative Vanilla Tweaks normalization - update README, provenance and third-party notices ## Fallback order ### SuperWoW / SuperAPI 1. prefer the current upstream source 2. keep an already valid installed version when an update cannot be fetched 3. use the bundled known-good pair when repair or first-time offline installation is required ### WowPresence 1. prefer the current upstream release 2. keep a hash-verified tool-managed install, or a valid unknown/manual install, when the release source is unavailable 3. repair modified or legacy-unverified tool-managed installs from the validated local cache when available 4. use the release-bundled known-good fallback when cache repair or first-time offline installation is required Only hash-verified tool-managed WowPresence binaries may seed the validated cache. Unknown/manual binaries are preserved when valid but are never promoted into that cache. Legacy tool-managed installs without recorded hashes are refreshed or repaired rather than treated as manual installs. Local installation/write/permission failures do not enter the offline fallback path. ### Visual MPQ mods - no offline fallback is distributed or cached - keep an already valid installed MPQ only when the original source is unavailable or returns an invalid package - local installation/write/permission errors are reported as failures - first-time installation requires the original online source ## Vanilla Tweaks and SuperWoW - SuperWoW does not disable, grey out or suppress Vanilla Tweaks controls - the FoV Calculator remains available, including automatic screen aspect-ratio detection and calculated FoV - the Tool normalizes FoV, Farclip, Frill Distance, Nameplate Distance, Max Camera Distance, Sound Channels, QuickLoot, Background Sound, Large Address Aware and Camera Skip Fix to the selected Tool values - Custom GlueXML remains authoritative when the original source region is a recognized vanilla/upstream state - if the original WoW.exe contains a different Custom GlueXML region, that exact client-owned byte sequence is preserved through the staged patch instead of being replaced by vanilla-tweaks - recognized pre-patched Vanilla/Octo/Turtle states can therefore be restored or overridden without sacrificing client-specific loader code - Blue Moon and Cross-faction Resurrection intentionally keep their previous upstream vanilla-tweaks behavior and are not post-normalized - enabling or disabling SuperWoW does not change the executable patch settings signature ## Executable safety - the original WoW.exe is checked read-only before the installer performs cleanup, downloads, plugin updates or other installation writes - selected numeric Vanilla Tweaks values are validated during the same preflight - unknown QuickLoot, Background Sound, LAA or Camera Skip source signatures abort before vanilla-tweaks is launched - a foreign Custom GlueXML source region is treated as client-owned and recorded for exact preservation rather than being considered an error - the source is checked again immediately before the Vanilla Tweaks transaction - vanilla-tweaks runs only against a staged copy of WoW.exe - normalization is applied only to staged output - client-owned Custom GlueXML bytes recorded during source preflight are restored byte-for-byte after the upstream patcher runs - unknown post-patcher signatures without matching source proof still abort the build - the staged executable is validated again before commit - WoW_Modernized.exe is replaced only after the complete staged build succeeds - any normalization or validation failure leaves the previous live WoW_Modernized.exe unchanged ## Safety - draft PR only - no changes to main - remote sources remain preferred when available - SuperWoW + SuperAPI fallback is installed transactionally as one pair - WowPresence fallback packages are validated before installation - visual MPQs are never bundled into the Tool - regression tests cover source preflight, client-owned Custom GlueXML preservation, authoritative Vanilla Tweaks on/off states, legacy Blue Moon/Cross-faction behavior and transactional rollback
Sign in to join this conversation.