Commit Graph
12 Commits
Author SHA1 Message Date
openhands adffac7360 feat(catalog): store furniture bundles as .hab instead of .nitro
Every bundle the CMS writes — upload, clone, sync, repair and the pet /
effect / figure importers — now lands as `<classname>.hab`, the extension
this deployment's renderer asks for. `.hab` and `.nitro` are the same
container, so an upload of either extension is accepted.

Resolution goes through one module, src/lib/furni/bundle-file.ts, so
nothing has to know the extension twice. Every existence check probes
`.hab` first and falls back to `.nitro`: the on-disk asset set is still
predominantly `.nitro`, and without the fallback Studio would report every
imported item as missing and the cleanup scan would classify 18k live
bundles as fake leftovers. Downloads are unchanged — Habbo's CDN and every
configured clone source still serve `.nitro`, so the conversion happens on
write, not on request.

Deliberately unchanged: the staged-attachment store in furni-attachment.ts
keys on a UUID and never reaches the client, so renaming it would break
in-flight recovery jobs.

Adds scripts/migrate-nitro-to-hab.ts to rename the existing asset set. It
refuses to run without --dry-run or --yes, never overwrites an existing
.hab, never deletes, and is idempotent.

Note: renderer-config.json lives outside this repo and was patched to
.hab separately; that file is served with a 30-day max-age, so returning
clients need a cms-client cache purge to pick the change up.
2026-10-10 17:09:36 +02:00
Simo 89af4eb1f6 feat(studio): preserve work position and guide import completion 2026-09-11 10:48:09 +02:00
Simo 13bd3695cb feat(studio): recover matching Nitro sources and persist import phases 2026-09-11 10:22:06 +02:00
Simo 88790d1a0d feat(cms): recover drafts and failed imports with verified UI workflows 2026-09-11 08:58:10 +02:00
Simo c389c3893d feat(cms): improve catalog, editorial recovery and operations 2026-09-09 19:36:15 +02:00
Simo 3ae4f21217 refactor(catalog): separate Studio data hooks and presentation 2026-09-05 18:15:29 +02:00
Simo 2619bec165 feat(catalog): queue furniture imports with history and matching file attachments 2026-09-05 17:02:26 +02:00
Simo 775d14f861 fix(catalog): make source preflight advisory 2026-09-05 15:32:44 +02:00
Simo 2d14e02a68 fix(catalog): remove suggestions that substitute different furniture 2026-09-05 15:26:46 +02:00
Simo 159b1f7d1b fix(catalog): check source assets and offer reachable import alternatives 2026-09-05 14:56:04 +02:00
Simo 9f791ba284 Support Gitea configuration and safe Catalog Studio furniture completion 2026-09-05 13:33:40 +02:00
Simo 26f071117b Add Catalog Studio inspection and guided import review 2026-09-05 13:10:43 +02:00