Spaces:
Running
Running
Commit History
-
Collapse reveal toggles when navigating between wizard steps Running
malteosUnverified signatureOpen toggles (the "Run on my own hardware" commands, the "More options" / "Advanced: hardware" details, the signed-out gate, the language dropdown) stayed open when moving to another step. goto() now resets them so each step starts clean.e637202 -
Add per-step form validation; allow language-only filter; drop "mockup" wording
malteosUnverified signatureValidation (shown inline on Next/Estimate click, blocking forward navigation): - Filter guided: at least one of registered domains / exact hostnames / content languages. Each is now labelled "(optional)" with a group note; a language-only filter is allowed (previously blocked by validate_targets and the SQL builder). - Filter advanced: SQL WHERE must be non-empty. - Crawls: at least one crawl selected. - Output: path and WARC name must be non-empty (syncForm no longer silently defaults an empty name to "repackaged", which had hidden the check). Errors clear as the user edits; the Estimate button jumps to the first invalid step. Backend: buckets.validate_targets accepts languages (language-only valid), and index_query._build_sql builds a language-only WHERE (no host/domain predicate). Also: removed the "mockup" mention from the Output guest gate. Tests: language-only in validate_targets and index_query; suite green (56).fdce60b
-
Show "Run on my own hardware" by default (useful for signed-in users too)
malteosUnverified signatureMove the run-locally option out of the signed-out auth gate into an always-visible button beside "Estimate costs via HF job", so any user can grab the copy-pasteable commands that reproduce their exact filter locally (no HF job / cost). The signed-out gate now just adds the sign-in prompt and points to that button (it also auto-expands the commands for convenience).e6f6a56 -
Signed-out estimate: show sign-in + "run on my own hardware", and clarify the button
malteosUnverified signaturePreviously a signed-out visitor (deployed hfjobs mode) could click through the wizard and only hit a raw "please sign in" error at Estimate. Now: - The estimate button is explicit: "📊 Estimate costs via HF job". - Clicking it while signed out shows an auth gate instead of firing a failing request: a "Sign in with Hugging Face" button (→ /login) plus a "Run on my own hardware" button that reveals copy-pasteable shell commands. - Those commands reproduce the user's *exact* filter locally against the public Common Crawl bucket (no account needed): git clone the public repo, run src.index_query with the CC_* env vars (domains/hostnames/languages/SQL/max), then cdxt repackage the resulting ranges.csv. A Copy button copies them.f32ba25 -
Show the example's real bucket/path in the tutorial review Output
malteosUnverified signatureIn tutorial (demo) mode the review "Output" line showed "/exports/run1/..." with no bucket, because the guest bucket input is empty and syncForm overwrote the demo's state on every navigation. Now: - the example JSON exposes its hosted bucket + path; - runDemo sets state.bucket/state.path to the example's real location; - syncForm is a no-op in demo mode (fields are fixed by the example); - the review falls back to "<your bucket>" when no bucket is set (guest, non-demo). The tutorial Output now reads e.g. malteos/cc-repackage-examples/wikipedia-fr/ wikipedia-fr-*.warc.gz.5f0f1c6 -
Add immediate loading feedback for estimate/repackage jobs
malteosUnverified signatureOn real HF Jobs the POST + SCHEDULING gap before the first logs (~5s) left the buttons looking dead. Now on click we immediately: - show a spinner in the button ("Estimating…" / "Repackaging…") and in the console header, plus a live human-readable stage ("waiting for a worker", "running", "completed"); - print an initial narrative in the log pane: "Submitting job…", then "Job launched: <id> — waiting for a worker to pick it up…"; - keep that narrative until real log lines stream in. Also fixes a CSS-specificity bug where element display rules overrode the [hidden] attribute (the spinner never hid, same class of bug as the demo banner): add a global [hidden]{display:none!important} guard.39297e7 -
Add FastAPI wizard UI (custom frontend) alongside the Gradio app
malteosUnverified signatureA guided, step-by-step web UI to replace the single-screen Gradio form. It's a thin HTTP+SSE shell over the existing src/ modules — no job logic is duplicated. - server/main.py — FastAPI app: static wizard at /, JSON at /api/*, live job log streaming over SSE (/api/jobs/{id}/events, /api/examples/{key}/events?phase=). Reuses src.job_runner (real HF Jobs or local podman), src.jobs, src.buckets, src.estimate, src.examples. HF OAuth wired via authlib only when the Space injects OAUTH_CLIENT_ID; locally it runs as guest (like Gradio's IS_PODMAN). - server/static/ — the approved Common Crawl-styled wizard (CC fonts/logo/palette, cc-examples footer). Six steps: Start (sign-in + precomputed examples) -> Filter (guided fields incl. quick-pick + searchable all-119-languages select, or raw SQL) -> Crawls -> Output -> Estimate (streamed logs + cost tiles) -> Run (progress + result with download link). Header logo/title link home. - Demo examples run as a guided tutorial: a banner…051cf03