Adom Bridge
Public Made by Adomby adom
Adom Bridge unleashes your AI onto your full PC: full power, full safety. The AI breaks out of the container it runs in and onto your real machine, managing and running your entire laptop as you: launch apps, move files, drive any window, control KiCad, Fusion 360 or your real signed-in browser. Works with any AI, cloud or local (Claude Desktop, Claude Code, Codex), no Hydrogen required. Bridge and its bridges are an operating system for AI, with managed Node and Python runtimes, and a human-onl
Jump list shows for ~200-300ms then vanishes on the FIRST right-click of any window branded via desktop_set_window_identity (4 hypotheses eliminated, measurements attached)
Handing this to AD because I have exhausted what the bridge can do, and every remaining mechanism sits in desktop_set_window_identity / the shell interaction, which AD owns. Four hypotheses eliminated with measurements below, so nobody re-derives them.
The symptom
John right-clicks a pup window's taskbar button. The jump list appears for ~200-300ms and then vanishes. A second right-click shows it and it stays. Reproduces on every pup window, every time, on a clean slate. The jump-list CONTENT is correct when it does show (Tasks / "Close ALL Adom Pup windows" / "Adom Pup · " / Pin / Close).
Impact is small per occurrence and constant in aggregate: he runs ~20 AI threads, each typically owning a pup window, and the taskbar right-click is how he reaches the per-window tasks.
What pup does, for context
Per window: desktop_register_app_identity {appId: "Adom.Pup.<session>.<category>.<gen>", shortcut: false} (registry-only, to avoid 20 Start Menu entries), then desktop_set_window_jumplist {appId, hwnd, headerIcon, tasks}, then desktop_set_window_identity {hwnd, appId, iconPath, displayName, relaunchCommand}.
Everything except the flyout persistence works: the taskbar tile art is right, Alt-Tab is right, the header row shows our icon and name, the tasks are correct and they run.
Four hypotheses, each eliminated by measurement
1. Something pup does races the click. Captured the bridge log, waited 40 seconds with windows idle and no calls from me, captured again: 0 new lines. pup is completely silent while the user right-clicks.
2. AUMID churn recreates the button underneath the open flyout. Counted registrations per window from the log. Windows with exactly 1 AUMID registration (no category flip, no re-stamp) blip identically to ones that flipped. Ruled out.
3. The missing Start Menu shortcut (i.e. shortcut:false leaves the shell unable to fully resolve the identity). A/B: registered one window's AUMID with shortcut:true (real Start Menu shortcut) and left its siblings registry-only. John reported no behavioural difference between them.
4. Jump-list commit ordering. pup commits the destination list BEFORE the identity stamp (deliberate: so the header art bakes at button creation). Since the stamp recreates the button, the list was committed against a button that then ceased to exist. I shipped a re-commit ~1.6s after a successful stamp, verified in the log that all three test windows got exactly 1 registration + 1 re-commit, and John reported all three still blip. So the list being attached to the live button is not sufficient.
What I believe is left, and why it needs AD
The one thing common to every pup window and not yet testable from the bridge: the per-window AUMID retag itself recreates the taskbar button, and the shell's first flyout on that recreated button is dismissed. pup cannot avoid the retag (it is the only way to brand a borrowed Chrome window), and cannot see or influence what the shell does afterwards.
A 5-second diagnostic that would settle it, and only AD can run it: AD flips its OWN window's AUMID for the embedded/standalone mode signal (icon_swap::apply_to_main_window, the muted/vivid identities). So:
- Right-click AD's own taskbar button after a mode flip. If AD's own flyout blips the same way, this is inherent to per-window AUMID retagging and has nothing to do with pup, which also means it is reproducible without a bridge in the picture.
- If AD's own button is fine, then AD is doing something on its own window that pup is not, and that difference is the fix.
Questions I could not answer from here
- Is a
SHChangeNotify(or equivalent shell-notify) expected afterdesktop_set_window_identityso the shell settles the new button's association? pup has no way to issue one. - Does the order of the trio matter — register AUMID, commit destination list, stamp window — versus register, stamp, then commit? I tried commit-before-stamp (current, for header baking) and commit-again-after-stamp. A stamp-then-commit-only variant is untested because the header art then bakes generic, which was its own bug (fixed in pup v1.9.61).
- Is there a known Win11 behaviour where the first
ICustomDestinationListflyout on a window whosePKEY_AppUserModel_IDwas set at runtime is discarded?
Not urgent
Cosmetic friction, no data loss, a second right-click always works. Filing it because it is a paper cut on the most-used surface of the window-identity feature, it reproduces 100%, and I have measurements that should save whoever picks it up a few hours. If AD concludes it is shell behaviour we cannot change, that is a perfectly good answer and I will document it as a known quirk in pup's skill rather than keep chasing it.