95e7cb4bd37b3eb216a49f60f7b86b3cfb1df9a1
Backend - api/routes.rs models the Babel-style route shape; metric uses an untagged enum to round-trip both numeric hop counts and the literal "infinite" string the daemon emits for poisoned routes - routes_snapshot() runs the three GETs concurrently with try_join so the snapshot is internally consistent - poller spawns a second 5s loop emitting routes://updated; both loops are owned by the Poller and aborted together on stop_daemon Frontend - routes store mirrors the snapshot shape; tabbed view (radix-vue) with selected, fallback and queried lists - RouteTable component shared by selected/fallback; metric column is colour-coded (0 green, low neutral, high yellow, infinite red) - Queried subnets show a live `expires in 12s` countdown driven by a 1Hz tick ref instead of mutating the store
mycellium-ui
Cross-platform desktop GUI for Mycelium — Threefold's end-to-end encrypted IPv6 overlay network.
Status: scaffolding. See the implementation plan for architecture, IPC protocol, and phasing.
Stack (planned)
- App: Tauri v2 + Vue 3 + TypeScript
- Daemon: Rust (
myceliumd) running as system service, IPC via Unix socket / named pipe - Mycelium engine: official
myceliumbinary embedded as Tauri sidecar - Targets v1: Linux + Windows
Description
Languages
Rust
39.8%
Vue
39.3%
TypeScript
17.3%
Shell
2.2%
CSS
1.1%
Other
0.2%