Bug Symptoms
When launching a status-driven or detached command like Playnite Fullscreen, Vibepollo properly launches the target but loses the strict process tracking hook because the initial launcher process exits immediately (App exited with code [0] within 5 seconds of launch. Treating the app as a detached command.).
Because Playnite Fullscreen modifies the Windows system parameters via SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE) to prevent screensavers during active library browsing, this global OS flag is left orphaned when the Moonlight stream disconnects. Vibepollo executes its standard session teardown, but because the command was decoupled/placebo, it fails to toggle the screensaver flag back to TRUE.
The host PC's idle timer (GetLastInputInfo) continues to count up flawlessly and powercfg /requests returns entirely clear (DISPLAY: None), but the screensaver never fires because it has been globally turned off at the Win32 API level.
Diagnostic Verification / Proof:
While the issue was actively occurring, running a SystemParametersInfo query for SPI_GETSCREENSAVEACTIVE (0x0010) explicitly confirmed that the OS-level flag was disabled post-stream:
Was the screensaver enabled at the OS level? False
Screensaver successfully FORCED ON.
Expected Behavior
Vibepollo should cache the host's state of SPI_GETSCREENSAVEACTIVE before executing a command. Upon session teardown—regardless of whether the application status is active, detached, or placebo—Vibepollo should forcefully revert SPI_SETSCREENSAVEACTIVE back to its pre-stream state to ensure host display protection (OLED burn-in mitigation) remains functional.
Windows Version
25H2
Package
Windows - msi installer (recommended)
GPU Type
NVIDIA
GPU Model
5090
GPU Driver Version
596.49
Capture Method
SudoVDA virtual display
Apps
Logs (Optional but Recommended)
No response
Screenshot (Optional)
Bug Symptoms
When launching a status-driven or detached command like Playnite Fullscreen, Vibepollo properly launches the target but loses the strict process tracking hook because the initial launcher process exits immediately (App exited with code [0] within 5 seconds of launch. Treating the app as a detached command.).
Because Playnite Fullscreen modifies the Windows system parameters via SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE) to prevent screensavers during active library browsing, this global OS flag is left orphaned when the Moonlight stream disconnects. Vibepollo executes its standard session teardown, but because the command was decoupled/placebo, it fails to toggle the screensaver flag back to TRUE.
The host PC's idle timer (GetLastInputInfo) continues to count up flawlessly and powercfg /requests returns entirely clear (DISPLAY: None), but the screensaver never fires because it has been globally turned off at the Win32 API level.
Diagnostic Verification / Proof:
While the issue was actively occurring, running a SystemParametersInfo query for SPI_GETSCREENSAVEACTIVE (0x0010) explicitly confirmed that the OS-level flag was disabled post-stream:
Expected Behavior
Vibepollo should cache the host's state of SPI_GETSCREENSAVEACTIVE before executing a command. Upon session teardown—regardless of whether the application status is active, detached, or placebo—Vibepollo should forcefully revert SPI_SETSCREENSAVEACTIVE back to its pre-stream state to ensure host display protection (OLED burn-in mitigation) remains functional.
Windows Version
25H2
Package
Windows - msi installer (recommended)
GPU Type
NVIDIA
GPU Model
5090
GPU Driver Version
596.49
Capture Method
SudoVDA virtual display
Apps
Logs (Optional but Recommended)
No response
Screenshot (Optional)