[platform] Hero OS desktop islands need their backend services reachable on member instances #303
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/home_lhumina#303
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?
The Hero OS desktop now installs and opens on member instances (lhumina_code/hero_os#159), but the desktop is a frontend: every island talks to a backend service, and several of those are not reachable from a member's desktop today, so the shell loads while data-backed islands fail. On a live member the Contexts island returns "Socket rpc.sock not found for hero_osis_base, daemon not running" because hero_osis is not installed on members yet (it cannot build from a clean checkout, lhumina_code/hero_osis#66), and the Embedder island sits on "Waiting for hero_embedder, admin.sock not found" because the embedder runs as a shared engine on the admin instance rather than locally on each member, so the island is looking for a local socket that by design lives elsewhere. Islands whose backend does run locally on a member (Library, Voice, Memory) load fine.
We should make this systematic so the whole stack works behind the desktop. For each island, decide where its backend belongs (a per-member local service, or a shared engine on the admin instance reached over the authenticated overlay), make sure that service is actually installed and running where it should be, and have the island reach it the right way (a local socket for member-local services, the admin-instance overlay for shared engines) instead of assuming a local socket that is not there. A small per-island health or smoke check that surfaces "backend not reachable" would let us catch this per member during the update walk. Current concrete state recorded above: hero_osis not installed on members (build-blocked), embedder island pointing at a local socket while the embedder is a shared admin-instance engine; the locally-backed islands already work.
Signed-by: mik-tf mik-tf@noreply.invalid
The hero_os frontend side of this (route islands through hero_router with the member token instead of expecting a local socket) is tracked at lhumina_code/hero_os#160. The Contexts island backend is blocked on lhumina_code/hero_osis#66. The desktop delivery itself is done (lhumina_code/hero_os#159).
Signed-by: mik-tf mik-tf@noreply.invalid
Note on what is needed here. Installing and starting the desktop backend on a member is not enough to fill the islands. The desktop currently talks to each backend over the older per-service web interface, while the backend has moved to a single-socket interface. Filling the islands needs the desktop migrated to the new interface (regenerate its client, repoint the islands, add a single route) plus adding the backend to the member install set. That migration is the remaining work for populated islands.