diff --git a/docs/plans/2026-11-11-corrections-plis-firefox.md b/docs/plans/2026-11-11-corrections-plis-firefox.md deleted file mode 100644 index e01af39..0000000 --- a/docs/plans/2026-11-11-corrections-plis-firefox.md +++ /dev/null @@ -1,49 +0,0 @@ -# Corrections : niveau des plis dans le prompt d'un coup, test Firefox instable - -- **Date** : 2026-11-11 -- **Étape** : 1f (suites) -- **Statut** : en cours -- **Exécutant** : sous-agent general-purpose - -## Objectif - -Le prompt d'un coup ne dit que ce que le moteur a calculé, au bon niveau, avec -les mêmes équités que l'application ; le test navigateur « mes parties » ne -dépend plus de la vitesse d'IndexedDB sous Firefox. - -## Consignes - -1. **Niveau d'évaluation dans le prompt d'un coup.** Le prompt - (`docs/prompts/coup.md`, `app/src/domain/prompts/`) dit en titre - « Classement de GNU Backgammon (analyse à 2 plis) », mais chaque ligne dit - « évalué à 1 pli » (ouverture 3-1 : « 8/5 6/5 : équité +0,204, écart 0,000, - évalué à 1 pli »). Trouver ce que vaut le champ `ply` des coups renvoyés par - le moteur (`engine.h`, `engine_best_moves`, commande `moves` d'engine-cli, - `rankMoves`) : décalage de convention, ou coups vraiment évalués à 1 pli, - auquel cas le classement n'est pas celui du conseil (`analyseMove`, 2 plis). - Vérifier que les équités du prompt sont celles de la feuille du maître et de - l'analyse (règle de 1f). Comparer au gnubg de bureau de référence. Corriger - la cause ; tester la cohérence du niveau du titre et des lignes, et - l'égalité des équités avec l'analyse. Si `engine.c` change (jamais - `engine/gnubg/`), recompiler une seule fois et ajouter une référence. -2. **Test instable sous Firefox.** `tests/browser/play.mjs` échoue parfois - sous Firefox, section « mes parties » (« la nouvelle partie n'a pas été - enregistrée », vers la ligne 1624) et passe à la relance. Déterminer s'il - s'agit d'un vrai défaut (sauvegarde perdue, course entre « nouvelle partie » - et l'enregistrement), à corriger dans l'app, ou d'un test qui lit trop tôt, - à corriger en attendant l'état observable plutôt qu'un délai. - -Limites : CSP stricte (aucun `.style.`), aucune nouvelle dépendance, `-j2` -au maximum, vérifier `docker ps` avant `make test-browser` (un autre agent -travaille en parallèle). - -## Critères de réussite - -- `make lint`, `make test`, `make test-browser` passent ; -- `SCRIPTS=play BROWSERS=firefox make test-browser` passe deux fois de suite ; -- un test vérifie la cohérence du niveau (titre et lignes) et l'égalité des - équités du prompt avec l'analyse. - -## Résultat - -Rempli à la clôture, dans la description de la merge request. diff --git a/tests/browser/play.mjs b/tests/browser/play.mjs index 30e35be..ea75380 100644 --- a/tests/browser/play.mjs +++ b/tests/browser/play.mjs @@ -1816,6 +1816,12 @@ if (offline === "roll") { await page.click("#roll"); await waitForPlayer(); } +// Si la partie reprise est finie, son bilan se rouvre au rechargement et +// couvre l'écran (c'est voulu) : on le ferme avant d'ouvrir l'aide. +if (await page.locator("#summary-veil").isVisible()) { + await page.click("#summary-close"); + await page.waitForSelector("#summary-veil", { state: "hidden" }); +} await page.click("#help-button"); await page.waitForSelector(".glossary dt", { state: "attached" }); await page.click("#help-back");