Skip to content

Ultra mode times out on Cloudflare/chat-widget-protected sites (most modern commercial sites) #4

Description

@fediddy

Bug

Running skillui --url <url> --mode ultra against any site that holds long-lived network connections fails with:

✗ Ultra extraction  page.goto: Timeout 30000ms exceeded.
Call log:
  - navigating to "https://<site>/", waiting until "networkidle"

Root cause

waitUntil: 'networkidle' requires zero in-flight network connections for 500ms straight. That condition never becomes true on sites that hold connections open indefinitely:

  • Cloudflare Turnstile / Bot Management (3+ long-poll connections per protected page)
  • Chat widgets — Tawk.to, Intercom, Drift, LiveChat, Zendesk
  • Session recording — Hotjar, FullStory, LogRocket
  • Remarketing pixels — Google Ads ga-audiences, Meta Pixel

That's most of the commercial web. On affected sites the 25–30s timeout fires and ultra extraction silently bails with no useful data.

Repro

skillui --url https://gironroofing.com --mode ultra

Instrumented Playwright on that page and confirmed 4 connections still open 10s after load fired:

host role
challenges.cloudflare.com/... (×3) Cloudflare Turnstile bot-detection iframes
www.google.com/ads/ga-audiences Google Ads remarketing beacon (intentionally never returns)

Fix

PR #3 replaces waitUntil: 'networkidle' with waitUntil: 'load' plus a soft waitForLoadState('networkidle', { timeout: 8000 }) in try/catch across 6 ultra/computed extractor goto sites. Well-behaved sites still benefit from the network-idle wait; affected sites continue rather than silently failing.

Also adds &screenshot.fullPage=true to the Microlink screenshot URL so screenshots/homepage.png captures the entire scrollable page rather than just the 1280×720 viewport.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions