a3f1e2efd84abb71b9d0f28f1d23048c7eb04dd4
- Add #sidebar-toggle-btn to expanded-header (after #back-btn, before #expanded-session-name) with aria-label='Toggle session list' and hamburger icon ☰ - Wrap #terminal-container in div.view-body - Add #session-sidebar before #terminal-container inside .view-body, containing: - .sidebar-header with .sidebar-title 'Sessions' and #sidebar-collapse-btn (chevron ‹) - #sidebar-list div - Keep #reconnect-overlay outside .view-body as sibling inside #view-expanded Tests added: - test_html_sidebar_toggle_button: verifies placement, aria-label, and order in header - test_html_view_body_wrapper: verifies .view-body contains #session-sidebar and #terminal-container - test_html_reconnect_overlay_outside_view_body: verifies #reconnect-overlay is outside .view-body - test_html_session_sidebar_structure: verifies full sidebar DOM structure Co-authored-by: Amplifier <amplifier@amplified.dev>
muxplex
A web-based dashboard for tmux sessions. Access and manage all your tmux sessions from any device — browser, phone, tablet.
Features
- Live tile grid showing all running tmux sessions
- Click any session to open a full interactive terminal
- Bell/activity notifications across sessions
- Multi-device support with state sync
- Mobile-friendly, responsive, PWA-capable
- Works over Tailscale private network
Stack
- Backend: Python FastAPI coordinator (
coordinator/) - Frontend: Vanilla JS + xterm.js (
frontend/) - Terminal: ttyd (WebSocket bridge to tmux)
- Proxy: Caddy
Running
# Install dependencies
pip install -r requirements.txt
# Start coordinator (from this directory)
python -m uvicorn coordinator.main:app --host 0.0.0.0 --port 8099
# Start Caddy proxy
caddy run --config Caddyfile
Development
# Run tests
python -m pytest
Brand assets
Design language, tokens, and brand assets in assets/branding/.
To regenerate PNG/favicon assets from SVG sources:
python3 scripts/render-brand-assets.py
Description
Languages
Python
63.1%
JavaScript
30.5%
CSS
4%
HTML
1.4%
Go
1%