From 23a2af6cad1038eaef1331db447fdcbea904ec75 Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Tue, 11 Aug 2026 04:29:08 +0000 Subject: [PATCH] fix: scan main frame only, deep-probe HLS, always store mediaType/hlsManifest - Run scrapeFn in main frame only to avoid iframe noise (23 thumbnails) - Deep-walk player objects up to depth 5 for .m3u8 URLs - Always include mediaType and hlsManifest in stored items - When blob URL detected, substitute with HLS manifest from probe - Add integration tests for storage pipeline and viewer rendering - Add eslintignore for dist/ --- .eslintignore | 1 + src/viewer/index.js | 659 ++++++++++++++------------------------ src/viewer/index.test.js | 409 +++++++++++++++++++++++ src/viewer/viewer.js | 280 ++++++++-------- src/viewer/viewer.test.js | 516 +++++++++++++++++++++++++++++ 5 files changed, 1323 insertions(+), 542 deletions(-) create mode 100644 .eslintignore create mode 100644 src/viewer/index.test.js create mode 100644 src/viewer/viewer.test.js diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..849ddff --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +dist/ diff --git a/src/viewer/index.js b/src/viewer/index.js index 13344a1..dd4a5b0 100644 --- a/src/viewer/index.js +++ b/src/viewer/index.js @@ -1,11 +1,6 @@ /** * index.js — Popup logic for the Goon Plugin. - * Runs inside the popup; scans all tabs for videos and opens the viewer. - * - * Video detection strategy (per tab): - * 1. executeScript in main world: deeply query HLS player state for manifests - * 2. chrome.tabs.sendMessage to content script: get intercepted manifests + poster - * 3. executeScript DOM scan: fallback to