docs: design configurable furni import source

This commit is contained in:
Simo committed 2026-08-02 14:04:58 +02:00
1 parent 86cd43def9
commit 1126a70d55
1 file changed
+40
@@ -0,0 +1,40 @@
# 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.