No description
  • JavaScript 50.7%
  • Rust 18.9%
  • Shell 12.7%
  • HTML 9.9%
  • CSS 7.2%
  • Other 0.6%
Find a file
despiegk 135d5f0193
Some checks failed
CI / build (push) Failing after 3s
Add base-path proxy support, HTTP health/discovery endpoints, kill_other sockets, and CI workflow
- UI routes: add X-Forwarded-Prefix middleware to inject WB_BASE for reverse-proxy sub-path support
- JS (rpc.js, sync.js, markdown.js): prefix all fetch/WebSocket/navigation URLs with WB_BASE
- Server RPC: add /health, /.well-known/heroservice.json, and /openrpc.json HTTP endpoints
- main.rs: add kill_other socket cleanup for server and UI actions on service restart
- Makefile: split logs into logs (server) and logs-ui (UI); add logs-ui target
- README: update crate table, sockets section, and API domain overview
- Add .forgejo/workflows/ci.yml for CI pipeline
- Add crates/hero_whiteboard_examples/tests/integration.rs integration test suite

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 15:50:58 +01:00
.forgejo/workflows Add base-path proxy support, HTTP health/discovery endpoints, kill_other sockets, and CI workflow 2026-03-25 15:50:58 +01:00
crates Add base-path proxy support, HTTP health/discovery endpoints, kill_other sockets, and CI workflow 2026-03-25 15:50:58 +01:00
schemas Enhance whiteboard UI, dashboard, and service architecture 2026-03-17 21:09:25 +01:00
scripts add hero_whiteboard binary to install script 2026-03-23 21:27:45 +01:00
.gitignore Initial project setup with specifications and technical instructions 2026-03-17 11:00:29 +01:00
buildenv.sh migrate hero_whiteboard to new CLI lifecycle pattern, add hero_whiteboard CLI binary 2026-03-21 20:39:11 +01:00
Cargo.lock cargo update: sync dependencies to latest versions 2026-03-21 20:45:50 +01:00
Cargo.toml migrate hero_whiteboard to new CLI lifecycle pattern, add hero_whiteboard CLI binary 2026-03-21 20:39:11 +01:00
INSTRUCTIONS_TECH.md Rename project from hero_miro to hero_whiteboard 2026-03-17 21:27:19 +01:00
Makefile Add base-path proxy support, HTTP health/discovery endpoints, kill_other sockets, and CI workflow 2026-03-25 15:50:58 +01:00
README.md Add base-path proxy support, HTTP health/discovery endpoints, kill_other sockets, and CI workflow 2026-03-25 15:50:58 +01:00
SPECIFICATIONS.md Rename project from hero_miro to hero_whiteboard 2026-03-17 21:27:19 +01:00

Hero Whiteboard

A collaborative visual whiteboard — brainstorm, diagram, plan, present, and document decisions on an infinite canvas with real-time and async collaboration.

Architecture

Hero Whiteboard follows the Hero three-crate model:

Crate Purpose
hero_whiteboard_server Business logic, SQLite storage, OpenRPC API (Unix socket)
hero_whiteboard_sdk JSON-RPC client for the server over Unix socket
hero_whiteboard_ui End-user whiteboard UI + admin dashboard (Axum + Konva.js)
hero_whiteboard_examples SDK usage examples and integration tests
hero_whiteboard CLI for registering and managing services via hero_proc

Sockets

Service Path
Server ~/hero/var/sockets/hero_whiteboard_server.sock
UI ~/hero/var/sockets/hero_whiteboard_ui.sock

Quick Start

make build          # Build all crates
make install        # Install binaries to ~/hero/bin/
make run            # Start server + UI
make status         # Check service status
make logs           # View server logs
make logs-ui        # View UI logs
make stop           # Stop all services
make restart        # Restart all services

API

The server exposes a full JSON-RPC 2.0 API over the Unix socket. See the OpenRPC spec for all 45+ methods across these domains:

  • workspace.* — multi-tenant workspace management
  • board.* — board CRUD
  • object.* — whiteboard objects (sticky notes, shapes, text, etc.)
  • connector.* — arrows and connectors between objects
  • comment.* — threaded comments
  • share.* — share links and tokens
  • group.* — groups and permissions
  • user.* — user management
  • rpc.health, rpc.discover — health and OpenRPC discovery

Documentation