Commit Graph

2 Commits

Author SHA1 Message Date
Z User
3f0893cdf7 refactor: switch from sidecar IPC to webview-based RustDesk integration
Previous approach used Tauri sidecar binary with IPC commands. New approach
uses the RustDesk web architecture correctly:

- RustDesk server runs as native binary in --server mode (ports 21115-21119)
- RustDesk web client (Flutter web build) loaded in a Tauri webview window
- Web client communicates with server via WebSocket (21118/21119)

Backend changes:
- main.rs: Simplified IPC - start/stop server + open webview window
- Removed tokio dependency (no longer needed)
- Removed sidecar bundle config from tauri.conf.json

Frontend changes:
- RemoteDesktop.js: Toggle server on/off, launch web client webview
- New UI with server control section + web client launcher
- Updated CSS for the new layout
- Updated HTML with server URL input and launch button

Documentation:
- Updated binaries/README.md with full build pipeline:
  1. Build RustDesk native binary
  2. Build Flutter web client
  3. WASM bridge dependency note
  4. Server ports reference
2026-04-06 19:35:50 +00:00
Z User
f88e2c8fb4 feat: integrate RustDesk remote desktop into Shelled OS
- Add hbb_common as git submodule (was missing)
- Add Tauri sidecar configuration for RustDesk binary
- Implement Rust backend IPC commands:
  - start_rustdesk: Launch RustDesk sidecar process
  - stop_rustdesk: Kill running RustDesk process
  - get_rustdesk_status: Check if RustDesk is running
  - connect_to_peer: Connect to a remote peer by ID
- Create RemoteDesktop JS component with:
  - Peer ID input and connect/disconnect buttons
  - Real-time status indicator (disconnected/connecting/connected/error)
  - Recent connections list with quick reconnect
  - Tauri event listener for backend status updates
- Add Remote Desktop taskbar button (remote_login icon)
- Add full CSS styling with glassmorphism design
- Create binaries/ directory with build instructions
- Update capabilities with shell:allow-spawn permission
- Add tokio dependency for async runtime
2026-04-06 19:16:19 +00:00