[nu-demo] Dock islands broken on web feature build — OSIS/Services have only native variants, Services is dead wood, Videos missing, Books needs iframe default #34
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
On a fresh herodemo deployed with default
WASM_FEATURES=web(notweb-native), clicking various dock icons produces:Failed to load island WASM 'services': Island not found: services (HTTP 404)Failed to load island WASM 'osis': Island not found: osis (HTTP 404)Error: JSON parse error: EOF while parsing(double-slash URL bug, sibling #157)Root cause
hero_os_app/Cargo.tomlhas two mutually-partial feature tiers:web(default) — expects every island to have an iframe fallback OR a non--nativeDioxus native variant.web-native— pulls in the new_appcrates that usedioxus-bootstrap-css.The following islands have ONLY the
-nativevariant, so on thewebbuild there's no code path to render them → 404:osis→ dispatcher referenceshero_osis_app::HeroOsisAppguarded by#[cfg(feature = "island-osis-native")]services→hero_zero_app::HeroZeroAppguarded by-nativewhiteboard→ has iframe fallback but iframe content is dark (cosmetic)collab→ has iframe fallback + native; iframe renders but dark theme makes it look brokenAdditionally:
Videoswas missing from thewebfeature's island list despiteisland-videosbeing defined.Booksdefaulted to the Dioxus native island (BooksApp) which has a trailing-slash base_url bug (#157), AND the iframe version (served byhero_books_uias HTML) is objectively nicer (matches the hero.gent04.grid.tf demo's 'Knowledge World' page).Servicesas an island concept is architectural dead wood — in the nu-shell / hero_router era, hero_router's admin UI (hero_router/CLAUDE.md) provides service discovery natively. The dock entry should not exist.Demo workaround applied (on herodemo 2026-04-24)
All changes made on-VM in
hero_os_app/{Cargo.toml, src/registry.rs, src/island_content.rs}(committed locally todevelopment_mik_nu_demo, will push after WASM rebuild validates):Added iframe fallback for OSIS in
island_content.rs:Removed Services island entirely from
registry.rs(builder block) andisland_content.rs(dispatch arm). The dock no longer shows it; clicking the (now non-existent) icon just isn't possible.Swapped Books default to iframe by renaming the feature
island-books→island-books-embed(keeping the Dioxus native crate available under a new name for anyone who wants it) and adding a thirdisland_content.rsarm that falls through toExternalServiceIframe { src: "/hero_books/ui/" }when neitherisland-books-embednorisland-books-nativeis enabled. Removedisland-booksfrom thewebfeature list. Result: onweb, Books is the beautiful 'Knowledge World' server-rendered HTML.Added
island-videosto thewebfeature list so Videos shows in the Media archipelago dock.Proper fix (upstream)
Two parallel tracks:
Track A — complete the iframe fallback matrix
For every dock island, ensure
island_content.rshas at least three dispatch arms:The
webfeature tier should produce a working dock for every island ID in the registry, via iframe when no Dioxus crate is available. CI should assert this:strings target/release/hero_os_app.wasm | grep island-not-found-404should return 0 references, and every registered island should have at least one matching cfg arm.Track B — remove architectural dead wood
Any dock island whose functionality is now owned by hero_router / hero_proc / another service should be removed from
registry.rsand its feature flag deleted. Candidates:services— owned by hero_router admin UI (this issue)proc— owned by hero_router admin UIinspector— sameConsolidate the "admin" dock entries into one that links to hero_router's
/(the admin dashboard atui.sock).Verification (after herodemo WASM6 finishes)
Related
webfeature (sibling — same class of gap)Signed-off-by: mik-tf
Originally filed as home#171 on 2026-04-24 by mik-tf — moved to hero_demo as part of consolidating issue tracking.
webfeature build — OSIS/Services have only native variants, Services is dead wood, Videos missing, Books needs iframe default #171