Files
appsandbox/web
James Stringer 4e45f8ef93 Host-derived locale/keyboard/timezone/hostname + Linux cred validation + IDD audio fix
Linux guest provisioning now mirrors the host's regional settings instead
of hardcoding en_US / us / America/New_York / "ubuntu":

  - detect_host_locale_settings() reads the current Windows user's locale
    (GetUserDefaultLocaleName), keyboard (GetKeyboardLayoutList) and
    timezone (GetDynamicTimeZoneInformation), translating each to the
    Linux equivalent. Language is gated to the 8 ISO-preinstalled
    languages (de/en/es/fr/it/pt/ru/zh) and falls back to en_US.UTF-8
    otherwise; keyboard + timezone always match the host (every XKB
    layout and IANA zone ships in the squashfs offline).
  - VM name flows through as the guest hostname (mirrors Windows
    ComputerName), staged as /etc/appsandbox-hostname.
  - All four values staged as marker files; firstboot STEP 2/3/4 read
    them with safe fallbacks and STEP 17 echoes the applied values.

Create-VM UI validation is now per-guest-OS, keyed consistently off
osType across validateVmName / validateUsername / validatePassword:
  - Linux hostname: lowercase, RFC-1123 charset
  - Linux username: ^[a-z_][a-z0-9_-]*$, <=32 chars
  - Linux password: all chars allowed (host $6$ hash path), <=255 bytes
  - default name lowercases to "myappsandbox" when Linux is selected
  - OS Type moved above VM Name in the modal; .field-warn now wraps so
    long messages don't break the modal layout; added admin-pass-warn span

IDD audio: drop the unused GetMixFormat call that returned
AUDCLNT_E_UNSUPPORTED_FORMAT on some AMD endpoints and needlessly killed
the audio path. renderfmt is built from the guest header and Initialize
runs with AUTOCONVERTPCM, so the host mix format was never used.
2026-05-30 12:59:54 -04:00
..