Add office island crate: Dioxus file browser + OnlyOffice editor #146

Closed
opened 2026-04-23 12:53:46 +00:00 by zaelgohary · 0 comments
Member

The OnlyOffice editor currently lives as inline iframe code inside hero_os_app with per-doc-type metadata scattered across island_content.rs / registry.rs. There is no dedicated archipelago crate for office documents.

Scope

  • New crate archipelagos/embed/office/ with a single DocType enum (docs / sheets / presentations / pdf / diagrams) driving island metadata.
  • Native Dioxus file browser reading hero_foundry (wasm-gated REST client).
  • iframe-only OnlyOffice editor (no JS glue in the host app).
  • JSON-RPC client for hero_office_server (create editor session, save callback).

Acceptance

  • Exactly one metadata source per doc type (no drift between DocType::ALL and the enum itself — enforceable by a unit test).
  • Host apps can wire the whole thing with one import and one match arm per doc type.
The OnlyOffice editor currently lives as inline iframe code inside `hero_os_app` with per-doc-type metadata scattered across `island_content.rs` / `registry.rs`. There is no dedicated archipelago crate for office documents. ## Scope - New crate `archipelagos/embed/office/` with a single `DocType` enum (docs / sheets / presentations / pdf / diagrams) driving island metadata. - Native Dioxus file browser reading hero_foundry (wasm-gated REST client). - iframe-only OnlyOffice editor (no JS glue in the host app). - JSON-RPC client for `hero_office_server` (create editor session, save callback). ## Acceptance - Exactly one metadata source per doc type (no drift between `DocType::ALL` and the enum itself — enforceable by a unit test). - Host apps can wire the whole thing with one import and one match arm per doc type.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_archipelagos#146
No description provided.