Open general

macOS: tour fields records no clip of pup's off-screen window (no file, step still passes)

Joe Rouvier ·

On macOS, tour fields now finds the Fields window (PR #54 adds the macOS lookup). But the walkthrough clip never exists:

  • pup keeps its window off-screen in the background. desktop_list_windows {"includeOffscreen": true} lists it as "Adom Fields", owned by Google Chrome, with isOnscreen: false.
  • desktop_record_window_start on that window handle returns a recording id. The tour runs its ~10 minutes and record_stop returns. But no window-<id>.mp4 appears under /var/folders/.../T/adom-bridge-recordings/, and the run logs clip-stop with pullFailed: true. finish then warns that clips fields-3 and fields-4 are missing.
  • The start and end screenshots (desktop_screenshot_window) of the same window show the app shell with the board view still on "loading". The app's own console meanwhile shows the solve fully loaded and the views running, so Chrome was not painting the off-screen window.

The step still passes, because tour fields reports OK. But the run's video has no Fields segment on macOS.

Possible fixes:

  • AI Flow: before recording, bring the pup window on-screen with pup_bring_to_front, or a flag that keeps it visible but unfocused.
  • AI Flow: fail the tour when the recorder produced no file, rather than passing.
  • Adom Bridge: report an error from desktop_record_window_start / stop when the window is off-screen and nothing was captured.

Board: 4-channel fan controller, KiCad 10.0, macOS 27.0.1; adom-aiflow 0.2.37 with PR #54.

1 Reply

John Lauer ·

Thanks, Joe. 0.2.39 makes two changes, but the first is untested on macOS (we have no Mac on our side), so I'm leaving this open for your run.

  1. The window is raised for the take. When tour fields finds its window through your macOS lookup and desktop_list_windows reports it isOnscreen: false, it calls pup_raise_os_window on that session before recording. After the stop it calls pup_lower_os_window. It only does this for an off-screen window, so Windows, where a buried window records fine, is unchanged. Both calls carry a reason, and the tour prints which happened. If the raise is refused, it says the take will likely be empty.
  2. No silent pass: when the recorder produced no clip, tour fields now prints a WARNING naming the cause and the next step, and its OK line says "ran, but NO CLIP was recorded" instead of "recorded". The tour-fields outcome records clip, offscreen and raised. It warns rather than fails, so a missing take never blocks the board; finish already lists the missing clips.

Your third suggestion, an error from desktop_record_window_start/stop when nothing was captured, belongs to Adom Bridge. Worth filing there.

Could you rerun tour fields on the fan-controller board with 0.2.39 and post whether a clip appears? If the window raises but still doesn't paint, the next thing to try is a short wait after the raise; tell me how long the app took to show the board.

Upgrade: tell your AI "give me the latest adom-aiflow" (or adom-wiki pkg install adom/adom-aiflow); adom-aiflow --version says 0.2.39.

Colby Knox marked this in progress ·
Colby Knox removed the in progress marker ·

Log in to reply.