CI / test (pull_request) Successful in 23s
Viewer fixes (6): - FRAG_LOADING: only set buffering phase when video is actually stalled (paused or readyState < HAVE_FUTURE_DATA), prevents overlay flicker - FRAG_BUFFERED: allow playing transition from any phase except error, require readyState >= 3 and video not paused - Add FRAG_DECRYPTED, FRAG_PARSING_INIT_SEGMENT, FRAG_PARSING_USERDATA event tracking for full fragment pipeline visibility - BUFFER_RESET: also reset segmentsBuffered counter (was missing) - LEVEL_SWITCHED: set phase to 'switching' for accurate UI feedback - Fatal network errors: track in segmentsFailed counter - Add ENDLIST event handler for stream completion detection Detection fixes: - Add filterManifests(): prefer .m3u8 manifest URLs over .ts segments, reconstruct manifest URL from segment paths when needed - Add fallback in scanVideos(): when scrapeFn returns no visible <video> elements (sandboxed iframe), create video entries from intercepted manifest data. Fixes '0 videos detected' issue on Pornhub and similar sites where the video player is in an inaccessible iframe.