Skip to content

[Scraping] Guard user interactions during scraping#261

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

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

Conversation

@Aleqsd

@Aleqsd Aleqsd commented Apr 11, 2026

Copy link
Copy Markdown
Collaborator

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

Aleqsd commented Apr 11, 2026

Copy link
Copy Markdown
Collaborator Author

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