☰
v2.0.386 (insiders): Issue 80: pup_screenshot no longer dies silently on an occluded background window - on a CDP timeo…
v2.0.385 (insiders): Measured-progress fix: the timing helpers collided with an older same-named function later in the…
v2.0.384 (insiders): Measured-progress timing history: log whether each sample was recorded (the write was failing sile…
v2.0.383 (insiders): Bridge SDK conformance (#59/#63/#64): windowEtiquette on every open/raise/lower response (placemen…
v2.0.382 (insiders): Insiders tier, corrected to the fleet convention (John: a separate private page is wiki-bloat): th…
v2.0.379: Investigation log now keeps [identity] and [thread-tile] events, so taskbar-identity decisions (stamps, recov…
v2.0.378: Issue 81 closed: pup_use {temporary:true} pins expire at the next bridge boot, and pup_open_window returns _t…
v2.0.377: Consent-toast retract hardening: the retract now AWAITS ab's notify_dismiss and logs the actual dismissed res…
v2.0.376: Consent toasts now RETRACT on timeout: a reminder toast is sticky and ab never auto-dismisses it, while timeo…
v2.0.375: Declare ab-side timeouts for the consent-gated verbs (fill_card, credential_reveal: 150s) - ab's default 60s…
v2.0.374: Two backlog items. Issue 84: a payment-card vault so pup can FINISH a checkout - pup_card_set/pup_cards/pup_c…
v2.0.373: Fix: the floaty/hotkey watcher re-arm no longer forces mode auto onto an overlay the Alt+Shift+M hotkey just…
v2.0.372: Annotate hotkeys: Alt+Shift+M starts annotate straight into MULTI mode (compose shapes with auto-advancing co…
v2.0.371: Annotate Multi mode: the color auto-advances after each finished shape (red, blue, yellow, green, purple - ne…
v2.0.370: Annotate: two explicit capture modes and one-click colors. Auto (default) still captures the instant the mous…
v2.0.369: Fleet fix for the missing toolbar: CfT-first is now enforced by CODE, not pinning. When toolbarExtension is o…
v2.0.368: pup_credential_reveal: hand ONE saved login to a LOCAL desktop assistant, gated by the user clicking Reveal o…
v2.0.367: Stop pinning the page viewport on every sized open (the cause John saw across three different threads' window…
v2.0.366: Emulation is measured, not remembered (project-a5): recovery wiped the override record while Chrome kept the…
v2.0.365: pup_set_viewport reset now verifies the clear instead of assuming it, forces a reflow before measuring, and r…
v2.0.364: Resolve the session from the serialized output payload: most verbs put sessionId inside obj.output as a JSON…
v2.0.363: Attach session notices at the sendJSON chokepoint instead of inside the bug-invite path, which returns early…
v2.0.362: Wire the caller's args into the response decorator: it only ever received (obj, verb), so both the restart no…
v2.0.361: An emulated viewport now announces itself on every measuring verb: a page that fills a 1400px override report…
v2.0.360: Retry the adopted-window title lookup (follow-up to 2.0.357): the OS window title lags the DOM title, so a si…
v2.0.359: Tell a session when the bridge restarted underneath it (issue #80): recovery and adoption now attach a target…
v2.0.358: Split the log ring in two (issue #80): the loop radar emitted a summary every minute into the same fixed buff…
v2.0.357: Tag the OS window on adoption and re-tag on recovery (issue #79 root cause): a window pup adopted never went…
v2.0.356: Migrate away the persisted 'reclaimed' owner sentinel on restore (issue #79): removing the line that wrote it…
v2.0.355: Stop writing the sentinel 'reclaimed' into owner (issue #79): owner is the AI-thread name and tiles mode rend…
v2.0.354: Declare pup's agent-permission posture (wiki#156): which pup verbs are genuinely read-only, and the four that…
v2.0.353: Native dialog handling actually works now: detection scanned only the legacy sessionId so it never fired for…
v2.0.352: Upgrade the vendored module to 2.19.1, which measures phrase headroom with an offscreen probe instead of an e…
v2.0.351: Discover Hydrogen's control API instead of hardcoding a container-side port: the bridge runs on the desktop w…
v2.0.350: Upgrade the vendored module to 2.17.0, which refuses to report selfCheck from a collapsed pane and adds check…
v2.0.349: Relay the control API byte-for-byte instead of parsing and re-emitting it, so an upstream number or a non-JSO…
v2.0.348: Upgrade the vendored module to 2.5.0, whose gutter row finds the nearest scrolling ancestor instead of naming…
v2.0.347: Upgrade the vendored module to 2.4.0, whose gutter row measures the panel against its own mount container rat…
v2.0.346: Adopt the fleet gutter: 16px a side on the panel's mount container so its border box is the pane minus 32, an…
v2.0.345: Upgrade the vendored newbie-panel module to 2.1.2, which decouples the module version from the pack so docume…
v2.0.344: Detect native JS dialogs instead of hanging: a blocking alert, confirm, prompt or beforeunload is now reporte…
v2.0.343: Upgrade the vendored newbie-panel module from 2.0.3 to 2.0.5, which accepts both the declared and device-snap…
v2.0.342: The newbie panel is now the shared adom-ui-design module instead of a hand-rolled copy: pup serves newbie-pan…
v2.0.341: The prompts panel renders two columns in a real dock pane: the collapse breakpoint moves from 760px to 620px…
v2.0.340: The dashboard header mark is the same drawing as the favicon and the dock card, so the page no longer shows o…
v2.0.339: The dock tab wears the line-drawing pup mark again: moving the dock to the bridge-served dashboard in 2.0.337…
v2.0.338: Send to AI waits 120 seconds (the editor can take 60s just to create a tab), proves delivery by delivered_to…
v2.0.337: One dashboard, not two: the dock now opens the live-windows dashboard, which wears the contract regions (44px…
v2.0.336: Send to AI gates on the shell release version from GET /updater/status (updater.current_version, the one endp…
v2.0.335: Dashboard fills its surface at every width: the hardcoded 1180px layout cap is gone (adom-ui-design 1.17.0),…