fix : agent full screen system
All checks were successful
release / build (push) Successful in 25s
release / verify-windows (push) Successful in 1m29s

This commit is contained in:
jeanotx32
2026-08-12 17:46:44 +02:00
parent 6735d4bb9a
commit 8d45342727
2 changed files with 20 additions and 22 deletions

View File

@@ -258,8 +258,15 @@ export class FirefoxController {
if (!best.active) {
await this.click(best.x, best.y);
} else {
// Referme le menu sans rien changer.
await this.pressEscape();
// Referme le menu sans rien changer — en recliquant le bouton qui
// l'a ouvert, pas avec Échap. Le rappel de plein écran a lieu avant
// cet appel (voir l'ordre dans `startCapture`) : si la touche du
// lecteur a fait entrer la page dans l'API plein écran native,
// Échap en sort aussitôt — c'est le navigateur qui l'intercepte pour
// ça, avant même que la page ne la voie passer, et rien côté page ne
// peut s'y opposer. Un second clic sur le même bouton bascule le menu
// fermé sans y toucher.
await this.click(buttonPoint.x, buttonPoint.y);
}
// Le curseur reste sinon posé sur le bouton ou l'option cliquée : la barre
@@ -754,26 +761,6 @@ export class FirefoxController {
return JSON.parse(raw) as { x: number; y: number } | null;
}
private async pressEscape(): Promise<void> {
await this.send(
'input.performActions',
{
context: this.context,
actions: [
{
type: 'key',
id: 'stream-control-keyboard',
actions: [
{ type: 'keyDown', value: webdriverKey('escape') },
{ type: 'keyUp', value: webdriverKey('escape') },
],
},
],
},
5000,
).catch(() => undefined);
}
private async evaluate(expression: string, userActivation = false): Promise<unknown> {
const response = await this.send<{
type: string;