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
desktop_caption same-ID text updates blink: retain the window and ship the fix to all users
Same-ID desktop_caption updates visibly blink in screen recordings. John explicitly requests that AB own and ship this fix for ALL Adom users, rather than using a private executable for one demo.
Reproducer: issue desktop_caption repeatedly with id "astra-esc-routing", changed text, size "small", position "bottom", duration 15000. Our recording script waited 120 ms after each call. It never hid the caption until recording cleanup. Every text replacement nevertheless creates a visible gap.
Affected take: https://wiki.adom.inc/api/pages/adom/codex/files/docs/videos/astra-routing-esc-g431.mp4?v=646bdfb7ecd6 Related routing issue: https://wiki.adom.inc/adom/kicad-bridge/issues/94 Desktop arav-rog, AB 2.1.114, KiCad bridge 1.0.3, KiCad 10.0.3.
Cause in src-tauri/src/caption.rs: handle_caption calls destroy_captions(Some(&effective_id)), waits 80 ms, then starts another window/message loop. The API/skills tell callers same ID updates in place, but the implementation recreates the window.
Expected: retain the same HWND on same-ID updates, repaint changed text without hiding it, remeasure changed text/font/placement, reset expiry, keep attribution and close-button behavior, and keep different IDs independent. Verify rapid updates, an update during fade, expiry renewal, explicit hide, close-button cleanup, and sequential captured frames. A handful of screenshots is insufficient to catch the regression.
Candidate patch attached, commit b5677ba9 on local branch fix/caption-in-place, based on 662b1e06. Rust change prepares the next caption state then sends it synchronously to the existing window's owning UI thread; swaps/repaints state, resets timers and registry metadata, frees the old fonts, and falls back to creation when no live same-ID window remains. It removes the explicit destroy/80ms gap. A live regression script is attached and included in the patch.
Validation status: full Windows cargo build --release succeeded, with existing warnings. NOT live-tested, NOT installed, NOT released. A candidate EXE was only copied into the test desktop's Downloads staging folder before John redirected this work to the owner. The running executable was not changed. The patch needs owner review, especially concurrent same-ID calls, HWND lifetime/expiry races, synchronous message dispatch and style changes.
Please integrate, run live frame-level validation and publish through the normal AB release/package workflow so all Adom users receive it. Update the verb documentation and shared caption skill to distinguish same-window updates from replacement if necessary. Report the shipped version back on this issue.
For the replacement routing video, Astra will avoid the repeated-caption loop on the existing production build. That workaround does not close this product defect.
