Skip to content

Immortal 1.42.1 — Windows provisioning fix

Choose a tag to compare

@starbrightlab starbrightlab released this 20 Jun 00:14
· 4 commits to main since this release
0bee1ff

A provisioning-only hotfix. The app is unchanged from 1.42 (same APK, same versionCode) — there is nothing to update on already-provisioned Portals. This only matters if you are setting up a Portal from Windows.

Fixed

  • Provision-Portal.bat crashed on Windows with Missing closing '}' in statement block at function Grant-Perms. Three em dashes () had slipped into provision.ps1 in the 1.42 provisioning hardening. Windows PowerShell 5.1 (what the .bat runs) reads the file as ANSI and mis-decodes one of them inside a string into a phantom quote, which breaks parsing. macOS/Linux (provision.sh) were never affected. The script is now pure ASCII and parses identically on Windows PowerShell 5.1 and PowerShell 7.

Won't happen again

  • CI now parses provision.ps1 under real Windows PowerShell 5.1 on a Windows runner (the previous check only ran PowerShell 7, which reads UTF-8 correctly and never saw the bug), plus a guard that rejects any non-ASCII byte in the Windows-executed scripts.

Getting the fix

  • Download immortal-provisioning-1.42.1.zip below, or re-pull the provisioning/ folder from the repo.
  • Already on Windows and mid-setup? Run this once in the Provisioning folder, then re-run Provision-Portal.bat:
    $p="$PWD\provision.ps1";$t=[IO.File]::ReadAllText($p,[Text.Encoding]::UTF8);[IO.File]::WriteAllText($p,($t -replace [char]0x2014,'-'),[Text.ASCIIEncoding]::new())

immortal-1.42.apk is included unchanged for convenience.