2026-03-04 22:45:02,561 - [ResetFrom] Icon monitor Pre-Change-Verify [rcMonitorValid 0] (.url) [\\.\DISPLAY3, 1920x0->1920x0] [VerifyMonitor1: 10062 0 0,0 0x0] [VerifyMonitor2: 0 0 0,0 0x0] - 0
We are getting close!
This verified that the monitor handle at \\.\DISPLAY3 was indeed invalidated, and as well, we're unable to look up a new handle for it, even though it's still being reported as present by Windows via EnumMonitors.
This is touching on very sensitive logic, wherein a "fix" could create problems for other people, so, treading carefully and making sure to understand the scenario.
Going to think up a final round of debug output to explore the scenario more exhaustively, and then can hopefully come to a decision around how to go about fixing.
(1) If monitor is invalid, and cannot refresh handle, ignore monitor change without attempting to reassign to a new monitor [would fix, but dangerous, if we don't know why it's still present but giving back nil monitor info]
(2) cache the monitor information. if monitor info missing but monitor itself is still present, pull from cache [likely even more dangerous]
(3) [something else, depending on what the debug output shows]
New build coming in the morning. 👍 I don't know what it is about this specific system that is causing this, but, it's immaterial. The app needs to be able to know that this scenario exists and handle it.