syoul 95e7cb4bd3 P3: routes (selected, fallback, queried)
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
2026-04-25 23:02:32 +02:00
2026-04-25 19:05:15 +02:00

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 mycelium binary embedded as Tauri sidecar
  • Targets v1: Linux + Windows
Description
No description provided
Readme 53 MiB
Languages
Rust 39.8%
Vue 39.3%
TypeScript 17.3%
Shell 2.2%
CSS 1.1%
Other 0.2%