Clarify upgrade log: plain-language phases and ASCII errors
Summary
Operator feedback on the web-surfaced Windows upgrade log (1.8.15):
-
Plain-language phases — replace the opaque "Phase A / Phase B" jargon in the raw upgrade log with what's actually happening:
Preparing upgrade to <version>,Installing <version>,Upgrade complete. The structured eventphasefield staysA/B(the events-parity data contract); only the human-readable log text changes. The web UI relabels the timeline[A]/[B]→[Prep]/[Install](SquidWeb PR). -
No more mojibake in error lines — exception messages on a non-Latin OS (e.g. Chinese Windows) were localized and rendered as garbage in the web log (a DNS failure showed up as
ʹ�á�...). Force the thread UI culture toen-USso .NET errors come through in English, and ASCII-sanitize everyAppend-UpgradeLogline as a belt-and-braces guarantee.
Test plan
-
707 upgrade unit tests green; new drift pins for the reworded banners + the en-US-culture / ASCII-sanitize -
Script still pure ASCII (the comment that introduced the only non-ASCII char was fixed) -
Windows E2E (dispatched on this branch) — the production .ps1runs end-to-end with the reworded log + culture set