REVAMP : Firefox handling
All checks were successful
release / build (push) Successful in 25s
release / verify-windows (push) Successful in 1m15s

This commit is contained in:
jeanotx32
2026-08-12 01:46:14 +02:00
parent 3bd4d5f2ba
commit 77bfa0b8c5
14 changed files with 1223 additions and 108 deletions

View File

@@ -80,6 +80,34 @@ export function resolveDisplay(): string {
return ':0';
}
/**
* Socket Wayland de la session, si elle existe.
*
* Sans cette variable, une application lancée par l'agent retombe sur XWayland
* alors que la session est native — c'est-à-dire sur une copie d'image
* supplémentaire, payée à chaque trame pendant tout l'enregistrement.
*/
export function resolveWaylandDisplay(): string | null {
const declared = process.env.WAYLAND_DISPLAY?.trim();
if (declared) return declared;
const runtime = runtimeDir();
if (!runtime) return null;
try {
const sockets = fs
.readdirSync(runtime)
.filter((entry) => /^wayland-\d+$/.test(entry))
.sort();
for (const socket of sockets) {
if (fs.statSync(path.join(runtime, socket)).isSocket()) return socket;
}
} catch {
/* pas de session Wayland accessible */
}
return null;
}
/**
* Bus de session de l'utilisateur.
*
@@ -122,5 +150,8 @@ export function sessionEnv(): NodeJS.ProcessEnv {
const bus = resolveSessionBus();
if (bus) env.DBUS_SESSION_BUS_ADDRESS = bus;
const wayland = resolveWaylandDisplay();
if (wayland) env.WAYLAND_DISPLAY = wayland;
return env;
}