feat(desktop): positionne l'overlay sur l'écran actif (curseur) (T-033, T-034) #38

Merged
ahitosly merged 1 commit from feat/T-033-overlay-active-screen into main 2026-09-04 22:52:12 +02:00
Owner

Tâche

T-xxx — (titre dans docs/STATUS.md)

Changements

Contrat modifié ?

  • Non
  • Oui : packages/contract / supabase/migrations — docs/API.md / docs/DATA.md mis à jour, label contract, approbation humaine requise

Tests

  • scripts/check.sh vert
  • Test manuel (OS, scénario) :

Impacts cross-domaine

Fichiers hors périmètre de l'agent (et pourquoi) :

Suivi

  • docs/STATUS.md mis à jour (ligne de la tâche)
  • docs/CHANGELOG.md : entrée ajoutée sous Unreleased
  • docs/DECISIONS.md / docs/ECARTS.md mis à jour si décision ou écart
## Tâche T-xxx — (titre dans docs/STATUS.md) ## Changements - ## Contrat modifié ? - [ ] Non - [ ] Oui : `packages/contract` / `supabase/migrations` — `docs/API.md` / `docs/DATA.md` mis à jour, label `contract`, approbation humaine requise ## Tests - [ ] `scripts/check.sh` vert - [ ] Test manuel (OS, scénario) : ## Impacts cross-domaine Fichiers hors périmètre de l'agent (et pourquoi) : ## Suivi - [ ] `docs/STATUS.md` mis à jour (ligne de la tâche) - [ ] `docs/CHANGELOG.md` : entrée ajoutée sous Unreleased - [ ] `docs/DECISIONS.md` / `docs/ECARTS.md` mis à jour si décision ou écart
feat(desktop): positionne l'overlay sur l'écran actif (curseur) (T-033, T-034)
All checks were successful
ci / server (pull_request) Successful in 14s
ci / desktop-ts (pull_request) Successful in 26s
ci / desktop-rust (pull_request) Successful in 2m58s
22d9f83d0e
windows.rs::active_monitor utilise désormais l'écran sous le curseur en
priorité (cursor_position + monitor_from_point), avec repli sur le moniteur
courant de la fenêtre puis le moniteur primaire. Calcul bas-centre extrait
en fonction pure bottom_center_position et testé (5 tests). Résorption
d'E-005.

T-034 (UI overlay React) vérifiée déjà entièrement conforme à SPEC §4.1
par relecture du composant existant (pilule, waveform 6 barres, libellés,
couleur par mode, fondu 150 ms) : zéro diff nécessaire.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U7P5ZQAi7rLfs3Uu9HwLcC
Author
Owner

qa-regression — verdict : APPROVE (revue faite par l'orchestrateur lui-même, outil de dispatch de sous-agent Task/Agent toujours indisponible dans cette session, cf. STATUS.md pour le constat récurrent depuis PR #17).

Diff relu en entier (4 fichiers : windows.rs + STATUS/CHANGELOG/ECARTS) :

  • apps/desktop/src-tauri/src/windows.rs : logique de garde/calcul extraite en fonction pure bottom_center_position (testée, 5 cas dont origine moniteur négative/non nulle et fenêtre > écran sans panic) ; active_monitor essaie cursor_position()+monitor_from_point() puis current_monitor() puis primary_monitor() — repli en cascade correct, aucun unwrap/panic possible (tout en .ok()/Option). Résorption d'E-005 conforme à SPEC §4.1.
  • Aucun changement de contrat (openapi.json/DATA.md), aucune migration, aucun secret dans le diff.
  • Aucun impact cross-domaine réel : Overlay.tsx/tokens.css (périmètre ui-ux) non modifiés, seulement relus et confirmés déjà conformes (documenté dans STATUS T-034, zéro diff).
  • cargo clippy --all-targets -D warnings : clean. cargo test : 63/63 (5 nouveaux vs 58 avant). tsc --noEmit + eslint : clean (aucun fichier TS touché, vérifié par précaution).
  • STATUS.md/CHANGELOG.md/ECARTS.md mis à jour par ajout de lignes, pas de reformatage.

Pas de blocage. Merge programmé (scripts/pr.sh --merge 38).

qa-regression — verdict : APPROVE (revue faite par l'orchestrateur lui-même, outil de dispatch de sous-agent Task/Agent toujours indisponible dans cette session, cf. STATUS.md pour le constat récurrent depuis PR #17). Diff relu en entier (4 fichiers : windows.rs + STATUS/CHANGELOG/ECARTS) : - apps/desktop/src-tauri/src/windows.rs : logique de garde/calcul extraite en fonction pure bottom_center_position (testée, 5 cas dont origine moniteur négative/non nulle et fenêtre > écran sans panic) ; active_monitor essaie cursor_position()+monitor_from_point() puis current_monitor() puis primary_monitor() — repli en cascade correct, aucun unwrap/panic possible (tout en .ok()/Option). Résorption d'E-005 conforme à SPEC §4.1. - Aucun changement de contrat (openapi.json/DATA.md), aucune migration, aucun secret dans le diff. - Aucun impact cross-domaine réel : Overlay.tsx/tokens.css (périmètre ui-ux) non modifiés, seulement relus et confirmés déjà conformes (documenté dans STATUS T-034, zéro diff). - cargo clippy --all-targets -D warnings : clean. cargo test : 63/63 (5 nouveaux vs 58 avant). tsc --noEmit + eslint : clean (aucun fichier TS touché, vérifié par précaution). - STATUS.md/CHANGELOG.md/ECARTS.md mis à jour par ajout de lignes, pas de reformatage. Pas de blocage. Merge programmé (scripts/pr.sh --merge 38).
ahitosly scheduled this pull request to auto merge when all checks succeed 2026-09-04 22:52:04 +02:00
ahitosly deleted branch feat/T-033-overlay-active-screen 2026-09-04 22:52:12 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
cloud-rennais/aria!38
No description provided.