app
Pup - the AI's own browser
Public Made by Adomby adom
pup gives your AI a real browser on your desktop that it drives completely, in the background, signed in as you: windows that never jump in front of your work, one shared profile that learns your logins, and every window labeled on the taskbar with its AI thread's name.
← Commit history
pup-bridge-debug: Explorer icon-cache white-page disease with diagnostic ladder, and the category-icon plus one-session-one-window design notes
1 file changed
+40
dev-skills/pup-bridge-debug/SKILL.md+40@@ -162,6 +162,46 @@ tray item), reproduce the real invocation — run the literal command line, clic before claiming it works. If you cannot press the control from here, at minimum execute the exact command line it would run. +## Taskbar icon paints the generic WHITE PAGE while every API says success (Explorer cache)++Found 2026-07-20 after an AD downgrade/upgrade thrash. Symptom: desktop_set_window_identity reports+applied [appId, relaunchIcon, displayName, icon] and iconCached:true, desktop_register_app_identity+succeeds, the ICO files are valid and on disk - yet EVERY pup taskbar button paints Windows' generic+white document icon. Even the old, proven icon. Even brand-new windows. Nothing you set changes it.++Root cause: EXPLORER's own icon/AppResolver cache was poisoned (the AUMID registrations churned+under it during the AD version thrash). The shell serves its cached white fallback no matter what+the window or registry now says. No pup or AD call can fix it because the bad state is inside+explorer.exe.++Diagnostic ladder (each step isolates one layer):+1. Stamp the KNOWN-GOOD icon (adom-pup-browser3.ico) on one window. Still white -> not your ICO.+2. Stamp WITHOUT relaunchCommand. Still white -> not the Relaunch trio.+3. Fresh window after clean registrations. Still white -> not per-window state.+4. All three white -> it is the SHELL. Restart Explorer: taskkill /f /im explorer.exe && start+ explorer.exe (targeted and standard; taskbar blinks for a second). Icons paint immediately after.++Note on ICO format: pup's category icons ship with classic BMP frames (PIL bitmap_format="bmp").+PNG-compressed frames were suspected during this hunt and never re-tested after the Explorer fix,+so BMP is kept as the safe choice; the PROVEN root cause of the white icons was the Explorer cache.++## Category icons + one-session-one-window (v1.9.19 to 1.9.22, the design)++A pup window's taskbar icon states its CATEGORY: wiki (outline book), wiki signed-in (solid book),+adom app (window+prompt), web (globe), mixed (stacked windows) - each a DARK TEAL #003d40 glyph on+the teal tile (John: match the original pup tile; white glyphs broke the family), drawn on the 24x24+house grid per the brand icon law (no emoji, no extra colours; the signed-in signal is solid-vs-+hollow, the one mass change that survives 24px). classifyUrl + pupCategory decide; mixed wins when+tabs span categories; updateTabCountBadge re-stamps IMMEDIATELY on a category change (the 10-minute+brand debounce only suppresses same-icon re-stamps). Tab titles use monochrome TEXT glyphs U+25CF /+U+25CB (geometric shapes, not emoji). The favicon overlay is sacred: it keeps its slot untouched.++Load-bearing prerequisite: ONE SESSION = ONE OS WINDOW (createPageInNewWindow via CDP+Target.createTarget {newWindow:true} when a profile is already in use). Without it, sessions sharing+the authed profile collapse into TABS of one window, the "(session: <id>)" title belongs only to the+active tab, and every per-window operation (stamp, overlay, flash, jump list) silently fails for the+background sessions - the original reason the login icon would not repaint after a view toggle.+ ## The one-paragraph field guide (if you read nothing else) pup misbehaving → **read `bridge_log_read` first.** Spawn-with-no-reap every ~N seconds = pup