WIP: Pure dioxus-bootstrap-css migration — hero_os shell #27

Draft
mik-tf wants to merge 0 commits from development_dioxus_bootstrap_2 into development
Owner

Summary

Pure dioxus-bootstrap-css migration for hero_os shell (toolbar, dock, windows, island content).

Part of the full Hero OS migration tracked in home#28 — see that issue for the complete plan, all PRs, merge strategy, and technical details.

Branch: development_dioxus_bootstrap_2

Changes in this repo

  • Shell components use dioxus-bootstrap-css (Navbar, Container, Row, Col, Card, Button, etc.)
  • .desktop bottom gap increased to 130px (prevents dock overlap)
  • overflow: auto on island content wrapper divs (enables scrolling)
  • All 16 service UI islands wired via #[cfg(feature = "bs-*")] match arms
  • Registry cleaned (single hero_* IDs, no duplicates)
  • Cargo.toml: path dependencies to all service UI crates, bootstrap-islands feature group
  • dioxus-bootstrap-css bumped to 0.2.5

DO NOT MERGE to development — see merge plan in home#28.

## Summary Pure dioxus-bootstrap-css migration for hero_os shell (toolbar, dock, windows, island content). Part of the full Hero OS migration tracked in **[home#28](https://forge.ourworld.tf/lhumina_code/home/issues/28)** — see that issue for the complete plan, all PRs, merge strategy, and technical details. ### Branch: `development_dioxus_bootstrap_2` ### Changes in this repo - Shell components use dioxus-bootstrap-css (Navbar, Container, Row, Col, Card, Button, etc.) - `.desktop` bottom gap increased to 130px (prevents dock overlap) - `overflow: auto` on island content wrapper divs (enables scrolling) - All 16 service UI islands wired via `#[cfg(feature = "bs-*")]` match arms - Registry cleaned (single hero_* IDs, no duplicates) - Cargo.toml: path dependencies to all service UI crates, `bootstrap-islands` feature group - dioxus-bootstrap-css bumped to 0.2.5 ### DO NOT MERGE to development — see merge plan in [home#28](https://forge.ourworld.tf/lhumina_code/home/issues/28).
feat: add Bootstrap-based OS shell (hero_os_ui_wasm) and --dist flag
Some checks failed
Build and Test / test (pull_request) Failing after 4m14s
45514a3d03
Phase 4 of the Dioxus Bootstrap migration. Adds:

- hero_os_ui_wasm: standalone WASM crate providing a Bootstrap-based
  alternative shell for Hero OS using dioxus-bootstrap-css v0.1.6.
  Features navbar with context selector, sidebar with grouped island
  navigation, and iframe-based embedding of migrated service UIs.

- Server --dist flag: hero_os_ui gains an optional --dist argument to
  serve the Bootstrap shell at /shell alongside the main app.
feat: wire 15 Bootstrap service islands into hero_os_app
Some checks failed
Build and Test / test (pull_request) Failing after 4m14s
8d72ca94ab
Add optional dependencies and feature flags (bs-*) for all 15
Bootstrap-migrated service UI crates. Each island is gated behind
its own feature flag, with a bootstrap-islands group feature to
enable all at once.

Adds cfg-gated match arms in island_content.rs and island metadata
entries in registry.rs for: hero_services, hero_cloud, hero_indexer,
hero_inspector, hero_voice, hero_proxy, hero_embedder, hero_zinit,
hero_auth, hero_aibroker, hero_redis, hero_books, hero_foundry,
hero_forge, hero_osis.

Also adds media and development archipelago definitions in the
registry for proper grouping.

4 of 15 crates (services, embedder, redis, foundry) have been
converted to library crates and compile successfully. The remaining
11 still need lib.rs conversion in their respective repos.
fix: normalize bootstrap island deps and match arms for hero_os_app integration
Some checks failed
Build and Test / test (pull_request) Failing after 4m12s
3225cfbe50
feat: convert hero_os shell to dioxus-bootstrap-css
Some checks failed
Build and Test / test (pull_request) Failing after 4m47s
a5c3e44e8a
Replace custom CSS var design system with dioxus-bootstrap-css v0.1.6
components across all shell UI:

- Toolbar: Bootstrap Navbar with dropdown context switcher
- Window: Bootstrap Card with card-header title bar, card-body content
- Login: Bootstrap Card + form-control inputs + alert for errors
- AI Bar: Bootstrap input-group with list-group search results
- Settings: Bootstrap Card, list-group, btn-group, form-switch toggles
- User Island: Bootstrap dropdown menu + Modal for confirmations
- Dock: Bootstrap card for popup panels
- Main: BootstrapHead + ThemeProvider wired to display mode signal

All window management logic (drag, resize, minimize, maximize, z-index)
and keyboard handling preserved unchanged.
feat(part3): full dioxus-bootstrap-css rewrite — shell dock
Some checks failed
Build and Test / test (pull_request) Failing after 4m13s
47e3af6e7e
Replace custom inline styles with Bootstrap components: Nav/NavItem for
idle mode, Button for dock items, Card for hierarchical popups, Badge
for active indicators. Remove platform sizing constants that are now
handled by Bootstrap utility classes.
fix: build pipeline fixes for devbootstrap deployment
Some checks failed
Build and Test / test (pull_request) Failing after 5m22s
d4fac786a2
fix: dock popup max-width and rename Embed to Development
Some checks failed
Build and Test / test (pull_request) Failing after 4m35s
0956af0064
- Dock popup panel: use auto-fit grid with max-width 400px to prevent
  overly wide popups for archipelagos with many islands
- Rename "Embed" archipelago display name to "Development" (keeps
  "embed" ID for routing compatibility)
- Remove all old island-* duplicate entries (zinit, redis, forge, embedder,
  indexer, inspector, aibroker, auth, forgejo, hero, hero-service) that have
  bs-* bootstrap replacements
- Remove "media" archipelago — hero_voice moved to intelligence
- Remove "embed" archipelago — hero_embedder merged into development
- Fix archipelago assignments: hero_auth -> development, hero_aibroker -> admin,
  hero_books -> books, hero_embedder -> development
- Remove old override block (no more old islands to rename)
- Clean up default_islands map (remove media, embed entries)
- Remove old match arms in island_content.rs (forgejo, hero, hero_service)
fix: dock organization matching herodev2
Some checks failed
Build and Test / test (pull_request) Failing after 34s
cf89c966c7
- Move hero_osis from communication to admin archipelago
- Move hero_redis from admin to development archipelago
- Remove roles as separate dock entry (already a tab inside Intelligence)
feat: wire hero_shrimp into hero_os_app (bs-shrimp)
Some checks failed
Build and Test / test (pull_request) Failing after 37s
ad16829673
Remove duplicate Cloud entry from admin archipelago
Some checks failed
Build and Test / test (pull_request) Failing after 32s
c997e2d291
The old island-compute (embedded iframe, id "compute", display name
"Cloud") was still registered alongside the new bs-cloud bootstrap
island (id "hero_cloud", display name "Cloud"), causing two Cloud
entries in the admin dock. Remove the old island-compute references.
chore: bump dioxus-bootstrap-css to 0.1.7
Some checks failed
Build and Test / test (pull_request) Failing after 35s
d9cc28d31a
chore: bump to 0.1.9
Some checks failed
Build and Test / test (pull_request) Failing after 39s
e42d1d1efc
chore: bump to 0.2.0
Some checks failed
Build and Test / test (pull_request) Failing after 33s
1ea5bdee17
chore: bump to 0.2.1
Some checks failed
Build and Test / test (pull_request) Failing after 31s
516fc9933f
fix: allow scrolling in island windows (overflow: auto)
Some checks failed
Build and Test / test (pull_request) Failing after 30s
2ff0c2e517
fix: allow scrolling in content area wrapper too
Some checks failed
Build and Test / test (pull_request) Failing after 30s
62276e2daf
fix: overflow auto on island content wrapper (the actual inner div)
Some checks failed
Build and Test / test (pull_request) Failing after 32s
1f7be45e04
fix: increase desktop bottom gap to prevent dock overlap with window content
Some checks failed
Build and Test / test (pull_request) Failing after 33s
4de01e8f8b
mik-tf changed title from WIP: Convert hero_os shell to dioxus-bootstrap-css (Part 2) to WIP: Pure dioxus-bootstrap-css migration — Hero OS full stack 2026-03-16 16:34:04 +00:00
mik-tf changed title from WIP: Pure dioxus-bootstrap-css migration — Hero OS full stack to WIP: Pure dioxus-bootstrap-css migration — hero_os shell 2026-03-16 16:41:22 +00:00
Some checks failed
Build and Test / test (pull_request) Failing after 33s
This pull request has changes conflicting with the target branch.
  • crates/hero_os_app/src/island_content.rs
  • crates/hero_os_app/src/registry.rs
  • crates/hero_os_app/src/styles.css
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin development_dioxus_bootstrap_2:development_dioxus_bootstrap_2
git switch development_dioxus_bootstrap_2

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch development
git merge --no-ff development_dioxus_bootstrap_2
git switch development_dioxus_bootstrap_2
git rebase development
git switch development
git merge --ff-only development_dioxus_bootstrap_2
git switch development_dioxus_bootstrap_2
git rebase development
git switch development
git merge --no-ff development_dioxus_bootstrap_2
git switch development
git merge --squash development_dioxus_bootstrap_2
git switch development
git merge --ff-only development_dioxus_bootstrap_2
git switch development
git merge development_dioxus_bootstrap_2
git push origin development
Sign in to join this conversation.
No reviewers
No labels
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_os!27
No description provided.