Skip to content

Releases: dlamanna/DesktopShell

v2026.04.01

02 Apr 01:35

Choose a tag to compare

Fixes

Screen detection resilience (VR headset / multi-monitor)

  • Area-based screen matching: Saves each screen's WorkingArea geometry to settings.ini. When screen indices shift (e.g., VR headset connect/disconnect), matches by geometry instead of index to find the correct physical monitor.
  • Boot-time retry with fallback: If no trigger rects created at startup, retries every 5s for 30s then falls back to primary screen.
  • Matching order: index-based → area-based → retry → primary screen fallback.

Test fix

  • Fixed HandleClaudex_Step3ReceivesBothResponses test — was checking stdin (null) instead of -p argument where Step 3 actually passes data.

CI fix

  • Added .nojekyll to prevent Jekyll Liquid syntax errors on GitHub Pages builds.

Full Changelog: v2026.03.31...v2026.04.01

Full Changelog: v2026.03.31...v2026.04.01

v2026.03.31

01 Apr 04:54

Choose a tag to compare

Fixes

  • Thread-safe logging: Log() now uses a lock to serialize concurrent writes from different threads (TCP handler, UI, retry timer). Previously, simultaneous calls would throw IOException due to FileShare.Read. Changed to FileShare.ReadWrite and added IOException to the catch filter.
  • Boot-time screen retry (from v2026.03.29): retry screen detection every 5s for up to 2 minutes when no trigger rects are created at startup.

Full Changelog: v2026.03.29...v2026.03.31

Full Changelog: v2026.03.29...v2026.03.31

v2026.03.29

29 Mar 21:08

Choose a tag to compare

Fix: boot-time screen detection retry

When DesktopShell starts before all monitors are enumerated (e.g. at boot with a VR headset plugged in), it could end up with zero trigger rects — making the shell invisible and unresponsive.

Changes:

  • If no trigger rects are created at startup, retry every 5 seconds for up to 2 minutes
  • Handle extra detected screens gracefully (treat as disabled) instead of bailing out entirely
  • Add diagnostic logging to InitDropDownRects (detected/settings counts, zero-rect warning)
  • Fix Console.WriteLineGlobalVar.Log() so screen mismatches appear in the log file

Full Changelog: v2026.03.22...v2026.03.29

Full Changelog: v2026.03.22.1...v2026.03.29

v2026.03.22.1

22 Mar 22:49

Choose a tag to compare

Fix: handle extra screens (e.g. VR headset) gracefully instead of silently failing

When Windows detects more screens than settings.ini has entries for, InitDropDownRects was bailing out entirely — creating no trigger rects and making the app invisible/unresponsive. Now treats extra screens as disabled and proceeds normally.

Also fixed Console.WriteLineGlobalVar.Log() so screen mismatches are visible in the log file.

Full Changelog: v2026.03.22...v2026.03.22.1

Full Changelog: v2026.03.22...v2026.03.22.1

v2026.03.22

22 Mar 07:50

Choose a tag to compare

Release v2026.02.17

18 Feb 06:38

Choose a tag to compare

Changes

  • Migrated to .NET 10 (net10.0-windows10.0.26100.0)
  • Updated Microsoft.Windows.Compatibility to 10.0.0
  • Removed packages now inbox in .NET 10 (Microsoft.CSharp, System.Data.DataSetExtensions, System.Net.Sockets)
  • Updated test packages (MSTest 3.8.3, FluentAssertions 7.2.0)
  • Fixed single-file publish: added RuntimeIdentifier and SatelliteResourceLanguages to produce a clean single-exe output
  • Fixed obsolete WinForms API usage (Form.Closed → FormClosed, X509Certificate2 constructor → X509CertificateLoader)

Full Changelog: v2026.02.16...v2026.02.17

v2026.02.16

16 Feb 11:53

Choose a tag to compare

v2026.02.11

12 Feb 06:06

Choose a tag to compare

v2026.02.01.1

01 Feb 13:07

Choose a tag to compare

v2026.02.01

01 Feb 12:47

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2026.01.30...v2026.02.01