release: v0.2.37 — zero-argument startup, first-run wizard, real download progress

Startup no longer needs arguments: the config is created on first launch, a busy
port is swapped for a free one, the console is open by default, and the browser
lands on a setup wizard that downloads a ready-made .cmf model and wires it into
routing (managed server + routing.default) when you press Finish.

Download progress was reported from curl's own meter, which prints a full
0→100% bar for the -L redirect hop before the transfer starts — so every job
showed 100% and then hung. Progress now comes from bytes on disk against the
size from the HuggingFace tree (or a HEAD request).

The UI and the gateway also disagreed about the output file name, so a finished
download never marked its card as downloaded; the gateway now returns the exact
stem and the UI sends it back verbatim for download, progress and delete.

Featured models are read live from the infosave HF account in both the wizard
and Import, and all 432 UI strings now exist in every one of the 7 languages.
This commit is contained in:
infosave2007
2026-08-06 17:56:42 +03:00
parent ad438a5dcb
commit 9ec8861464
25 changed files with 3154 additions and 234 deletions
+29
View File
@@ -397,6 +397,7 @@ export default {
"import.state.error": "error",
"import.state.cancelled": "cancelled",
"import.featuredTitle": "Featured Ready-to-Run .cmf Models",
"import.featuredSub": "Pre-converted .cmf models from the infosave account on HuggingFace — the list is read live, so newly published models appear here on their own.",
"import.readyCmfBadge": "Ready .cmf",
"import.directDownload": "Download",
"import.q.q8_2f": "8-bit two-field (𝒲×θ) — recommended: best quality/size.",
@@ -432,4 +433,32 @@ export default {
"import.adv.o1mHint": "landmark budget (default 32)",
"import.adv.o1windowHint": "exact-window width (default 128)",
"import.adv.o1sinkHint": "permanent exact sink keys (default 4)",
// onboarding (first run)
"onboarding.title": "Welcome setup",
"onboarding.welcome": "Welcome to Cortiq Gateway",
"onboarding.welcomeSub": "Choose your language — you can change it anytime in the header.",
"onboarding.next": "Next",
"onboarding.back": "Back",
"onboarding.skip": "Skip for now",
"onboarding.skipSetup": "Skip",
"onboarding.finish": "Finish setup",
"onboarding.featuredTitle": "Ready-made models (one click)",
"onboarding.featuredSub": "These are pre-converted .cmf models from infosave on HuggingFace — just Download, no conversion needed. Pick one or more to get started instantly.",
"onboarding.download": "Download",
"onboarding.hfTitle": "Any HuggingFace model — auto convert",
"onboarding.hfSub": "Search any model, pick a quantization, and we convert it to .cmf automatically. No manual config edits.",
"onboarding.noJobs": "No downloads yet.",
"onboarding.doneTitle": "You're all set",
"onboarding.doneSub": "Models you downloaded will be registered automatically. You can add more in Import or Models.",
"onboarding.doneHint": "Finish connects every completed download as a local model, starts its .cmf server and points routing at it. You can change all of it later in Models.",
"onboarding.willRegister": "Will be connected as local models",
"onboarding.nothingToRegister": "No finished downloads yet — nothing to connect. Go back a step to pick a model.",
"onboarding.registeredN": "Connected {n} model(s): {ids}",
"onboarding.runtimeMissing": "The cortiq runtime isn't installed — install it in Settings → Local models to serve these.",
"onboarding.downloaded": "downloaded",
"onboarding.update": "Update",
"onboarding.deleteFile": "Delete the .cmf file from disk",
"onboarding.confirmDelete": "Delete '{id}'? The .cmf file will be removed from disk.",
"onboarding.unregistered": "Also unregistered: {ids}",
};