Skip to content

v0.2.1 — Window-sizing fix + Sessions quality-of-life

Choose a tag to compare

@SQLBImhugh SQLBImhugh released this 08 Jun 14:52
· 31 commits to main since this release

v0.2.1 — Window-sizing fix + Sessions quality-of-life

Four fixes, all reported from daily use of the installed MSIX.

1. Window no longer loads "completely compacted" after a reboot

The launcher (with Start with Windows enabled) could come up collapsed to a tiny title-bar sliver after a reboot — unusable until manually dragged back to size. Root cause was a DPI-scale lifecycle bug in the window sizing: ApplyNormalSize runs before Window.Activate(), so XamlRoot was null and the rasterization scale silently fell back to 1.0, while the AppWindow.Changed size-persistence handler read the real post-activation scale. That asymmetry (restore × 1.0 vs persist ÷ realScale) shrank the saved size on every launch where a >100% DPI context was involved, with no minimum-size clamp to stop the collapse.

Fixes:

  • DPI scale now comes from the Win32 GetDpiForWindow(hwnd) — correct both before and after activation — used symmetrically on restore and persist.
  • Normal-window size is clamped to a 900×700 minimum; the persist handler refuses to save sub-minimum sizes.
  • Startup self-heal: a corrupt saved size (below the minimum) is reset to the 1180×1040 default on launch.

Verified: injecting a corrupt 210×150 saved size now heals to 1180×1040 instead of opening tiny. The deliberate 320×640 compact mode is unaffected.

2. "Recent" filter chip reflects your setting

The Sessions filter chip was hardcoded to "Recent (15d)" even though the actual filter already honored your Recent window (days) setting. The label and tooltip now read the live value (e.g., "Recent (35d)" / "Modified in the last 35 days").

3. Copy session-id button

Each session card has a small copy icon next to the id that copies the full session id to the clipboard.

4. Start-new-session button

Each session card has a small icon next to the working-directory path that launches a fresh Copilot session in that folder (no --resume), using your default new-session flags.

Tests

  • 173 tests green (was 162): added WindowSizingTests plus Sessions ViewModel tests for the recent-label, new-session launch, and unknown-cwd fallback.

Assets

File Use
CopilotLauncher-v0.2.1.msix Recommended. Trust CopilotLauncher-v0.2.1-DevCert.cer to Cert:\CurrentUser\TrustedPeople, then Add-AppxPackage. Installs in-place over v0.2.0.
CopilotLauncher-CmdPal-v0.2.1.msix Optional PowerToys Command Palette extension. Requires the main MSIX.
CopilotLauncher-v0.2.1.exe Portable single-file self-contained .exe. No install required.
CopilotLauncher-portable-v0.2.1.zip Portable folder layout.
CopilotLauncher-v0.2.1-DevCert.cer Dev signing cert (same identity as v0.2.0).
SHA256SUMS.txt Checksums.

Install (MSIX)

Import-Certificate -FilePath .\CopilotLauncher-v0.2.1-DevCert.cer `
  -CertStoreLocation Cert:\CurrentUser\TrustedPeople
Add-AppxPackage .\CopilotLauncher-v0.2.1.msix
Add-AppxPackage .\CopilotLauncher-CmdPal-v0.2.1.msix   # optional

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com