Skip to content

[Scraping] Guard user interactions during scraping#261

Draft
Aleqsd wants to merge 1 commit intomainfrom
fix/223-scraping-interaction-guard
Draft

[Scraping] Guard user interactions during scraping#261
Aleqsd wants to merge 1 commit intomainfrom
fix/223-scraping-interaction-guard

Conversation

@Aleqsd
Copy link
Copy Markdown
Collaborator

@Aleqsd Aleqsd commented Apr 11, 2026

Résumé

Cette PR réduit les risques d'interactions utilisateur perturbant le scraping en ajoutant une protection active côté page pendant l'analyse.

Refs #223

Changements principaux

  • ajout d'un ScrapingInteractionGuard partagé dans la couche scraping-content-script
  • activation d'un overlay plein écran transparent pendant le scraping (curseur progress, blocage des interactions utilisateur)
  • blocage des événements utilisateur isTrusted en capture (click, mousedown, pointer*, ouch*, wheel, keydown, etc.)
  • ajout d'un handler Beforeunload pour afficher une confirmation navigateur en cas de navigation/fermeture pendant l'analyse
  • intégration du guard dans ScrapingContentScript.scrapPost() avec cleanup garanti via inally
  • ajout d'un watchdog URL pendant le scraping pour détecter une navigation de page en cours d'analyse et échouer explicitement

Tests ajoutés

  • tests unitaires ScrapingInteractionGuard:
    • overlay injecté/supprimé correctement
    • événements trusted bloqués
    • événements synthétiques non bloqués
    • activation/désactivation de la confirmation �eforeunload
  • tests ScrapingContentScript:
    • cleanup du guard sur succès
    • cleanup du guard sur échec
    • cleanup du guard sur annulation
    • échec explicite si navigation détectée en cours de scraping

Validation locale

  • corepack pnpm lint
  • corepack pnpm compile
  • corepack pnpm test run src/shared/scraping-content-script/tests/ScrapingInteractionGuard.test.ts src/shared/scraping-content-script/tests/ScrapingContentScript.test.ts

Suivi

Draft volontaire: des tests manuels complémentaires sont nécessaires avant passage en ready.

@github-actions
Copy link
Copy Markdown

@Aleqsd
Copy link
Copy Markdown
Collaborator Author

Aleqsd commented Apr 11, 2026

Pour l'instant ça a l'air fonctionnel sur YouTube, pas fou sur Instagram, a voir en fonction des types de posts

@Aleqsd Aleqsd self-assigned this Apr 11, 2026
@Aleqsd Aleqsd added instagram-scraper Issue liée au scraping instagram youtube-scraper labels Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

instagram-scraper Issue liée au scraping instagram youtube-scraper

Projects

Status: Todo 🔧

Development

Successfully merging this pull request may close these issues.

1 participant