Describe the bug
After Windows starts, the Pangolin UI process is launched automatically (it is
visible in Task Manager as Pangolin.exe), but no system tray icon appears
and there is no window. The process just sits there "invisible". If I then start
Pangolin manually (Start menu / exe), the tray icon appears correctly and
everything works.
This looks distinct from #13 (which was standard-user accounts being
excluded by the isAdmin/isOperator check and was fixed in 0.6.0). In my case
the UI process is spawned and a manual launch does work, so authorization is
fine — this is a timing/race problem with the auto-launched instance only.
Environment
- Pangolin Windows client 0.10.3 (MSI:
pangolin-amd64-0.10.3.msi)
- Windows 11 Pro 64-bit (build 10.0.26200)
- Per-machine install to
C:\Program Files\Pangolin\
Steps to reproduce
- Install Pangolin and let it run (manager service installed, UI enabled).
- Reboot / log in.
- Observe:
Pangolin.exe is running (Task Manager) but there is no tray icon
and no window.
- Manually launch Pangolin -> tray icon appears and works normally.
Likely root cause
Inspecting Pangolin.exe shows the manager service launches the UI via
managers.launchUIProcess using WTSGetActiveConsoleSessionId +
WTSQueryUserToken + CreateProcessAsUser. At boot/logon this runs before the
shell's notification area is ready, so the initial Shell_NotifyIcon(NIM_ADD)
fails silently while the process keeps running. A later manual launch (shell
already up) succeeds. There is a UI launch: retry attempt path, but it is not
sufficient in this scenario.
Suggested fix
Make the tray UI resilient to being started before the shell:
- Handle the
TaskbarCreated registered window message and (re-)add the
tray icon when it arrives. This is the canonical Win32 pattern and also fixes
the icon vanishing after an Explorer restart.
- Optionally, retry
Shell_NotifyIcon(NIM_ADD) with backoff for longer / until
it succeeds, or wait for explorer.exe / the shell window to be present
before the first add.
Describe the bug
After Windows starts, the Pangolin UI process is launched automatically (it is
visible in Task Manager as
Pangolin.exe), but no system tray icon appearsand there is no window. The process just sits there "invisible". If I then start
Pangolin manually (Start menu / exe), the tray icon appears correctly and
everything works.
This looks distinct from #13 (which was standard-user accounts being
excluded by the
isAdmin/isOperatorcheck and was fixed in 0.6.0). In my casethe UI process is spawned and a manual launch does work, so authorization is
fine — this is a timing/race problem with the auto-launched instance only.
Environment
pangolin-amd64-0.10.3.msi)C:\Program Files\Pangolin\Steps to reproduce
Pangolin.exeis running (Task Manager) but there is no tray iconand no window.
Likely root cause
Inspecting
Pangolin.exeshows the manager service launches the UI viamanagers.launchUIProcessusingWTSGetActiveConsoleSessionId+WTSQueryUserToken+CreateProcessAsUser. At boot/logon this runs before theshell's notification area is ready, so the initial
Shell_NotifyIcon(NIM_ADD)fails silently while the process keeps running. A later manual launch (shell
already up) succeeds. There is a
UI launch: retry attemptpath, but it is notsufficient in this scenario.
Suggested fix
Make the tray UI resilient to being started before the shell:
TaskbarCreatedregistered window message and (re-)add thetray icon when it arrives. This is the canonical Win32 pattern and also fixes
the icon vanishing after an Explorer restart.
Shell_NotifyIcon(NIM_ADD)with backoff for longer / untilit succeeds, or wait for
explorer.exe/ the shell window to be presentbefore the first add.