WIP: Dioxus Bootstrap migration — hero_aibroker #26

Draft
mik-tf wants to merge 24 commits from development_dioxus_bootstrap into development
Owner

DO NOT MERGE

Dioxus WASM frontend migration per lhumina_code/home#26

## DO NOT MERGE Dioxus WASM frontend migration per https://forge.ourworld.tf/lhumina_code/home/issues/26
feat: add Dioxus WASM frontend crate for AIBroker admin panel
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 9s
534f805df9
Migrate the Tera/JS admin UI to a Dioxus WASM SPA using
dioxus-bootstrap-css v0.1.6 for Bootstrap 5.3 components.

New crate: hero_aibroker_ui_wasm
- All 7 tabs: Chat, Models, MCP, API Keys, Metrics, Logs, API Docs
- Sidebar with server info, stats, providers, MCP status
- Navbar with connection status and theme toggle
- Toast notifications, modal dialogs
- RPC client for JSON-RPC 2.0 calls to /rpc
- SSE streaming chat via /v1/chat/completions

Server changes (hero_aibroker_http):
- --dist CLI arg to serve WASM SPA from dist directory
- /assets/{*path} route for WASM static assets
- index_handler tries dist/index.html first, falls back to Tera
- dist_dir added to AppState
refactor: convert hero_aibroker_ui_wasm to archipelago library crate
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 20s
f226289e73
fix: set default features to ["web"] for hero_os_app integration
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 16s
249bf921c0
fix: add hero_archipelagos_core/web to web feature
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 16s
ad11fe54f8
Ensure hero_archipelagos_core web feature is activated when the crate's
web feature is enabled, so it works correctly as a git dependency.
fix: use single-segment route params for Axum 0.7 compat
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 21s
e77208010e
fix: RPC routing + conditional BootstrapHead for hero_os integration
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 25s
b334bec5a7
fix: use /hero_aibroker_http RPC base matching actual socket name
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 20s
4172314afb
The AI Broker HTTP binary creates hero_aibroker_http.sock but the
RPC base was set to /hero_aibroker_ui (no such socket). Changed to
/hero_aibroker_http so the proxy can find the socket.
fix: synchronous RPC base init (before first render)
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 20s
37c0766963
fix: unconditional RPC base init
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 8s
000601abdc
fix(aibroker): use spawn for initial models.config load
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 22s
e49bc1c42a
Convert one-shot use_future to use_hook + spawn so the component
renders immediately. If backend is down, models list stays empty
instead of hanging.
chore: bump dioxus-bootstrap-css to 0.1.7
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 20s
a34e9c3a3c
refactor: pure dioxus-bootstrap-css 0.1.8 — TabList, Card header_class
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 11s
c3a5feeb2e
chore: bump dioxus-bootstrap-css to 0.1.8
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 20s
bad995aa17
Convert raw HTML div/table/button elements to proper dioxus-bootstrap-css
components (Card, Table, Button, Row, Col) for pixel-perfect Bootstrap 5.3.
refactor: convert raw button elements to Button component
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 18s
52a3179d43
Convert remaining button { class: "btn..." } to Button { color, outline, size }
using dioxus-bootstrap-css components.
chore: bump dioxus-bootstrap-css to 0.1.9
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 15s
c5cfd10670
chore: bump dioxus-bootstrap-css to 0.2.0 (extends GlobalAttributes)
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 18s
d4a4c011fe
chore: bump dioxus-bootstrap-css to 0.2.1
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 21s
15a618d511
- Use navbar-dark border-secondary instead of bg-body-tertiary
- Use status-dot online/offline classes matching Askama
- Remove py-0 from brand
fix: pixel-perfect sidebar matching Askama template
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 18s
b7f60cd5ee
- Use sidebar-card p-2 layout matching Askama exactly
- Use h6 headings with text-muted instead of Card header/body
- Use label/value CSS classes matching Askama stat-row
refactor: convert raw Bootstrap HTML to dioxus-bootstrap-css components
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 18s
c474166604
fix: increase container top padding for consistent spacing in hero_os window
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 15s
63787fffe2
refactor: convert toast to dioxus-bootstrap-css Toast/ToastContainer (0.2.5)
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 14s
076cb77bfe
refactor: remove Bootstrap-overriding CSS, use pure dioxus-bootstrap utility classes
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 21s
4c30663854
Some checks failed
Build and Test / build-and-test (pull_request) Failing after 21s
This pull request is marked as a work in progress.
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:development_dioxus_bootstrap
git switch development_dioxus_bootstrap
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_aibroker!26
No description provided.