Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This draft starts SyndCrawler v0.2 with two production-driven improvements: browser-escalation hardening and a first-class interactive operator TUI.
Browser escalation
Live VPS testing found a false negative on
https://quotes.toscrape.com/js/. The raw page contained enough navigation/footer text to avoid the original thin-shell threshold while its quote cards were synthesized by inline JavaScript.The rendering assessment now keeps the conservative placeholder/app-root signals and additionally recognizes thin pages whose inline JavaScript generates substantial DOM content. Strong
document.write/document.writelnusage counts as rendering evidence;innerHTML/insertAdjacentHTMLrequire a non-trivial inline script to reduce false positives.The live ARM64 VPS regression now reaches:
requires_browser: trueengine: browserrendered: trueescalated_from: httpUbuntu 24.04 on the current trusted VPS blocks Chromium's internal sandbox under the container/AppArmor setup. The deployment therefore uses the existing explicit compatibility setting
SYNCRAWLER_BROWSER_CHROMIUM_SANDBOX=false. This is documented as a trusted self-hosted compatibility mode, not a hostile multi-tenant default.OpenTUI operator console
Adds
tui/, built with React + OpenTUI using patterns fromcmahmud/opentuiandcmahmud/create-tui, with responsive/motion guidance fromcmahmud/syndrid-tui-studio.Functional surface:
syndcrawler tuilauncher for compiled installationsThe TUI talks only to the authenticated control-plane API; it does not require direct Redis/PostgreSQL or Docker-socket access.
Motion and accessibility
Motion was added only after the complete functional TUI checkpoint passed CI.
SYNCRAWLER_TUI_REDUCED_MOTION=truestatic fallbackTERM=dumbautomatically uses reduced motionControl-plane support
Adds authenticated
GET /v1/crawlswith bounded offset pagination, backed by PostgreSQL recent-manifest queries. This lets the TUI display durable crawl history instead of only session-local IDs.Validation
Exact head
8d676fcf3f94d28133906be1331ae3fb5c602bdepassed CI run #395 across all lanes:OpenTUI publishes a native
@opentui/core-linux-arm64package; the next VPS deployment pass will validate the compiled TUI on the actual ARM64 host.This PR remains draft while v0.2 live workload/benchmark validation continues.