@testdriverai/runner 7.8.0-test.53 → 7.8.0-test.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testdriverai/runner",
3
- "version": "7.8.0-test.53",
3
+ "version": "7.8.0-test.55",
4
4
  "description": "TestDriver Runner - Ably-based remote automation agent with Node.js automation",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -60,6 +60,23 @@ if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
60
60
  export DBUS_SESSION_BUS_ADDRESS
61
61
  fi
62
62
 
63
+ # ─── Pre-configure xfwm4 to disable compositor ───────────────────────────────
64
+ # Writing the config file BEFORE starting XFCE ensures xfwm4 starts with
65
+ # compositing disabled from frame zero. The previous approach ran xfconf-query
66
+ # 3 seconds after startxfce4, but xfwm4 often started with compositing enabled
67
+ # before the query ran (or dbus wasn't ready) — causing the Xvfb framebuffer to
68
+ # stay permanently black (~1/15 runs). Pre-writing the XML avoids the race.
69
+ mkdir -p "${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml"
70
+ cat > "${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml" << 'EOF'
71
+ <?xml version="1.0" encoding="UTF-8"?>
72
+ <channel name="xfwm4" version="1.0">
73
+ <property name="general" type="empty">
74
+ <property name="use_compositing" type="bool" value="false"/>
75
+ </property>
76
+ </channel>
77
+ EOF
78
+ echo "[start-desktop] xfwm4 compositor pre-disabled via config file"
79
+
63
80
  # ─── Start XFCE desktop ──────────────────────────────────────────────────────
64
81
  if pgrep -x xfce4-session > /dev/null 2>&1; then
65
82
  echo "[start-desktop] XFCE already running, skipping"
@@ -68,9 +85,6 @@ else
68
85
  startxfce4 &
69
86
  sleep 3
70
87
 
71
- # Disable xfwm4 compositor (causes black screen in Xvfb — no GPU)
72
- xfconf-query -c xfwm4 -p /general/use_compositing -s false 2>/dev/null || true
73
-
74
88
  # Kill power manager, screensaver, and error dialogs (not needed in headless)
75
89
  killall xfce4-power-manager 2>/dev/null || true
76
90
  killall xfce4-screensaver 2>/dev/null || true
@@ -78,6 +92,12 @@ else
78
92
  xdotool search --name "Power Manager" windowclose 2>/dev/null || true
79
93
  fi
80
94
 
95
+ # Always enforce compositor=off at runtime regardless of whether XFCE was already
96
+ # running. Belt-and-suspenders: covers the case where this script's previous run
97
+ # started XFCE (skipping the else-block above), or where xfwm4 somehow ignored
98
+ # the config file.
99
+ xfconf-query -c xfwm4 -p /general/use_compositing -s false 2>/dev/null || true
100
+
81
101
  # ─── Set TestDriver wallpaper ─────────────────────────────────────────────────
82
102
  WALLPAPER="/usr/share/backgrounds/xfce/wallpaper.png"
83
103
  if [ -f "$WALLPAPER" ]; then