Files
EpicNext-Cms/docs/superpowers/specs/2026-08-02-furni-import-hotel-source-design.md
T

1.7 KiB

Furni import hotel source

Problem

The furni import already fetches furnidata through the CMS setting habbo_gamedata_hotel, but its public and internal language still refers to Habbo Italy. This makes the active source unclear and gives the impression that the importer is hardcoded to habbo.it.

Design

The import page will read habbo_gamedata_hotel on the server and pass the normalized hotel value and label to the client. The page will display the active official furnidata source near the import controls, including the resolved habbo.<hotel> host.

Import enrichment warnings will use the resolved hotel label rather than the literal habbo.it. Internal furnidata cache APIs and types will be renamed from Italy-specific names to generic official-Habbo names while retaining temporary aliases only where needed to avoid an unsafe all-at-once migration.

Furniture SWF and icon downloads remain on images.habbo.com. That host is Habbo's global asset CDN and must not be derived from the gamedata locale.

Data flow

  1. Admin settings stores habbo_gamedata_hotel.
  2. Server-side import code normalizes the value through getHabboGamedataHotel().
  3. Furnidata and external texts use www.habbo.<hotel>.
  4. The import UI and enrichment messages display the same resolved hotel.
  5. The in-memory cache remains keyed by hotel, so changing the setting loads the selected locale rather than reusing another locale's data.

Verification

Tests will cover normalized locale URL generation, cache separation after a hotel change, dynamic enrichment text, and the source information passed to the import UI. Existing furni import tests, typecheck, full tests, and the production build must pass.