Repository navigation
Releases
GConnect v2.3.2 - Workspace Open Folder & Collapsible Directory Explorer
GConnect v2.3.2
What's New in v2.3.2
📂 Workspace Open Folder & Dynamic Sidecar Remounting
- Native OS Folder Picker: Click
[📂]Open Folder in the file explorer sidebar to choose any workspace folder on your machine via native OS dialog (rfd::FileDialog). - Dynamic Remounting: Selecting a folder persists the active workspace path in
connection.json, restarts the backend sidecar withCONNECT_WORKSPACE_DIR, and dynamically recreates the Docker sandbox container mounting your selected directory to/workspacewithout needing an app restart. - Active Workspace Title: Dynamic project title display in the sidebar header (
WORKSPACE: <Name>) reflecting the mounted project directory.
📁 Collapsible Directory Explorer & Nested Hierarchies
- Collapsible Directory Tree: VS Code-style interactive file explorer with 90° animated rotating chevrons, expanding/folding subdirectories cleanly.
- Persistent Expansion State: Preserves opened/closed folder states across file explorer refreshes.
[📁+]New Folder Button: Easily create nested directories (e.g.models/nlp/checkpoints) directly from the UI.- Folder Hierarchy Import: Preserves relative subfolder paths during batch uploads with sanitized path traversal protection.
🎙️ Client-to-Container Audio & Docker Resilience (from v2.3.0 & v2.2.2)
- Bidirectional low-latency microphone and speaker streaming with ALSA virtual audio loopback.
- Google Meet-style audio settings modal with device selector and ducking gate.
- Self-healing Docker daemon reconnect and NVIDIA GPU validation.
Verification & Checksums
- Installer:
GConnect_2.3.2_x64-setup.exe - SHA-256:
FDF42AB5159272C787820E1AD9B73A860E36A4D03550127C6A1BBADE3406AC21 - File Size: 35.25 MiB (36,962,102 bytes)
GConnect v2.3.0 - Client-to-Container Bidirectional Audio Streaming & Meet-Style UI
GConnect v2.3.0
What's New in v2.3.0
🎙️ Client-to-Container Bidirectional Audio Streaming & Meet-Style UI
- Bidirectional Audio: Real-time microphone capture streamed to Docker container, and container audio output streamed back to client speakers.
- Virtual ALSA Device: Standard Python libraries (
speech_recognition,sounddevice,pyaudio) detect default virtual mic and speaker with zero code modification. - Google Meet-Style Controls: Header
[🎙️ Audio]button with input/output device selectors and mute/unmute toggles. - Audio Router: Port 8001 WebSocket hub with 50ms jitter buffer, duplex echo ducking gate (-18dB attenuation during playback), and single active speaker arbitration.
- Verification Utility: Standalone
voice_test.pydeployed at workspace root supporting 3-second recording and harmonic confirmation chime synthesis.
🔄 Self-Healing Docker Dynamic Reconnect & GPU Validation
- Dynamic Reconnect: GConnect automatically detects when Docker Desktop is launched after GConnect is already running without needing an app restart.
- Physical GPU Validation: Directly queries
pynvml,torch.cuda, andnvidia-smito verify physical NVIDIA adapters before issuing DockerDeviceRequest/--gpus all, eliminatingnvidia-container-cli: no adapters were found500 errors on systems without NVIDIA cards.
📱 Real-Time Connected Devices Tracker for GPU Sharing
- Thread-Safe Connection Monitor: Real-time monitoring of clients and remote teammates connected to the GPU host.
- Physical Device Grouping: Groups connections by client ID to prevent multiple tabs from inflating device counts.
⚡ GPU Share Toggle Resilience
- Awaits Backend Health: Toggling sharing mode properly polls
backend_infountil sidecar is ready, preventing UI freeze. - Port 8000 Cooldown: Added 800ms cooldown for Windows socket release during mode transitions.
- Token Persistence: Reuses existing
auth_tokenacross restarts.
Verification & Checksums
- Installer:
GConnect_2.3.0_x64-setup.exe - SHA-256:
350B66E084261BE32439BBA3FBE84CECB0995993C6752D79EFB264C4CBB15BD1 - File Size: ~35.24 MiB (36,950,560 bytes)
GConnect v2.2.2 - Bidirectional Audio Streaming, Self-Healing Docker & IDE Enhancements
GConnect v2.2.2
What's New in v2.2.2
🎙️ Client-to-Container Bidirectional Audio & Microphone Streaming
- Ultra-Low Latency PCM Streaming: AudioWorklet-based fractional linear downsampling of client microphone input to 16,000 Hz 16-bit mono PCM, streamed over authenticated binary WebSocket (
/ws/audio). - Container Audio Playback: Plays container sound output (TTS, voice agents, etc.) back through user's chosen client speakers/headphones via
AudioContexttargetingsinkIdwith overrun ceiling management. - Virtual ALSA Device in Docker: Configured
/etc/asound.confmapping default capture and playback to container overlayfs FIFOs (/tmp/.gconnect_audio/). Standard Python libraries (speech_recognition,sounddevice,pyaudio) detect and use the virtual audio bridge out-of-the-box without code changes. - Google Meet-Style Audio UI: Added
[🎙️ Audio]top toolbar button and settings modal with microphone & speaker dropdowns, hardware mute toggles, live VU meter, and 1-click active mic cluster takeover. - Audio Protection & Network Resilience: 50ms pre-buffering circular jitter buffer (
AudioRingBuffer) and software audio ducking gate (DuckingGate) applying -18dB attenuation during container playback to eliminate feedback loops. - Verification Tool: Included
voice_test.pyat workspace root supporting 3-second recording and dual-tone harmonic chime playback.
⚡ GPU Share Toggle Resilience & Token Persistence
- Fixed 'Applying Configuration...' Freeze:
frontend/js/share.jsnow awaitsbackend_infoto ensure the sidecar has restarted and passed its health check before refreshing dashboard state, updating credentials cleanly. - Port 8000 Release Cooldown: In
src-tauri/src/main.rs, added an 800ms cooldown before restarting the backend on mode changes, allowing the Windows socket stack to release port 8000. - Auth Token File Reuse: In
backend/auth.py,get_token()now reuses the existingauth_tokenfile if present rather than overwriting it, preserving credentials across sidecar restarts.
🔄 Self-Healing Docker Dynamic Reconnect
- Dynamic Reconnect: GConnect automatically detects when Docker Desktop is launched after GConnect is already running without needing an app restart.
- Graceful Disconnect Recovery: If Docker stops or restarts, GConnect safely transitions container state to offline and reconnects automatically upon the next health check.
- Throttled Probing: Reconnection attempts are protected by thread locks and cooldown timers to prevent connection spamming.
🛡️ Physical NVIDIA GPU Validation before DeviceRequest
- Hardware-Level Verification: Directly queries
pynvml,torch.cuda, andnvidia-smito verify an actual physical NVIDIA adapter exists before issuing Docker--gpus all/DeviceRequest. - Eliminates 500 Daemon Crashes: Prevents
nvidia-container-cli: initialization error: nvml error: no adapters were foundcrashes on systems with NVIDIA toolkits/CDI specs installed but running on Intel/AMD GPUs or VMs, starting seamlessly in CPU mode.
🌐 Desktop WebView2 CORS Preflight Header Fix
- Permit
X-Client-Id: AddedX-Client-IdtoCORS_ALLOW_HEADERSand_tauri_cors_headersinbackend/auth.py. - Eliminates Blocked APIs: Resolves preflight
OPTIONSrejections for/api/filesand/api/container/statusinside the desktop app, preventing "Error loading files" and false "Docker is not running" warnings.
📱 Real-Time Connected Devices Tracker for GPU Sharing
- Thread-Safe Connection Monitor: Added
ConnectionTrackerinbackend/connection_tracker.pythat tracks all connected client machines in real time. - Physical Device Grouping: Persistent
gconnect_client_idprevents duplicate tab/terminal counts from inflating the connected device numbers. - Local vs Remote Classification: Accurately distinguishes This PC (Host) from Remote Teammates (LAN/Tailscale).
- Client OS & Platform Detection: Automatically identifies client devices (e.g.
Mac (Chrome),Windows PC (Edge),Linux (Firefox)). - Host Dashboard UI: Live "Connected Devices" card with device count badge (
#shareBtnBadge), status bar indicator (#statusBarClients), and expandable client list.
🎨 High-Contrast Shell Command Echo & PS1 Prompt
- Vibrant PS1 Shell Prompt: Bold Cyan host (
\e[1;36m), Bold Green path (\e[1;32m), and Bold White command cursor (\e[1;37m). - Command & Output Differentiation: Active commands echo in Bold White with automatic debug trap resetting command outputs to crisp, readable gray.
- Windows Host CMD & Bash Support: Fallback ANSI prompt configurations for Windows PTY and host bash.
✨ Monaco Editor Cursor Pulse & Fluid Caret
- Enabled
cursorBlinking: "blink"for clear cursor visibility. - Enabled
cursorSmoothCaretAnimation: "on"for fluid caret navigation across lines and mouse positioning.
📂 Workspace File Import & Upload API
- Added "Import File(s)" button with multi-file picker directly in the workspace explorer header.
- Implemented
POST /api/files/uploadbackend endpoint with path traversal defense and filename sanitization.
📐 VS Code-Style Bottom Status Bar (24px Elevation)
- Integrated dedicated 24px bottom status bar (
#appStatusBar) keeping terminal text cleanly elevated above the Windows taskbar. - Real-time line/column cursor tracker, file encoding, language mode, Docker sandbox state, and problems indicator.
🖱️ Smooth Terminal Scrollbar & Mouse Context Menu
- Fluid terminal scrolling (
smoothScrollDuration: 150) matching Monaco. - Right-click terminal context menu (Copy, Paste, Select All, Clear) + copy-on-select.
Verification & Checksums
- Installer:
GConnect_2.2.2_x64-setup.exe - SHA-256:
EC7BE84363D155E681135EF47E4CB99FB5C7881C162E9893FBDF9F2B726B40A2 - File Size: ~35.24 MiB (36,949,968 bytes)
GConnect v2.2.1 - Universal Remote GPU Platform & Turnkey Sharing
GConnect v2.2.1 - Universal Remote GPU Development Platform & Turnkey 1-Click Sharing. (Full details in the changelog.)
Download
GConnect_2.2.1_x64-setup.exe attached below. Run it - no admin rights needed. Windows 10/11; Docker Desktop is optional (the app degrades gracefully without it, and GPU-less machines show CPU + RAM instead of GPU stats). macOS/Linux: build from source.
- File: GConnect_2.2.1_x64-setup.exe
- Size: 35.18 MB (36,892,277 bytes)
- SHA-256: 35E4F8D258E4CBD61D581194BA1FA8CEBAD71C516F129A95A4A13E716867CEA9
Highlights in v2.2.1
- ⚡ Turnkey 1-Click GPU Sharing: Automatic network interface discovery prioritizing reachable Tailscale (100.x.x.x) and primary LAN (192.168.x.x) IPs. Zero manual config; teammates paste the invite directly into GConnect to connect immediately.
- 🛡️ 1-Click Firewall Elevation: Built-in Windows Firewall detection and one-click UAC prompt to open inbound ports 8000/8001 without manual CLI commands.
- 🖥️ VS Code IDE Layout Pinning: Locked file tabs above Monaco editor with proper container constraints. Tabs stay pinned and never get pushed off-screen when scrolling down or cover line 1 when scrolling up.
- ⌨️ Terminal Keyboard Shortcuts & Mouse Interaction:
- Ctrl+C: Copy selected text to clipboard; passes through SIGINT (^C) to cancel commands when nothing is selected.
- Ctrl+V / Ctrl+Shift+V / Shift+Insert: Direct clipboard paste into the terminal PTY.
- Right-Click: Instant context paste into the terminal shell prompt.
- 📐 Terminal Bottom Safe-Padding: Added bottom padding (padding: 6px 10px 16px 10px) and lineHeight: 1.15 to ensure the active command prompt and output never collide with the bottom border or Windows taskbar. Auto-scrolls on streaming output.
- 🖴️ Single System Tray: Eliminated duplicate tray icon glitch on Windows startup.
- ⚡ Non-blocking Docker Sandbox: Container initialization runs asynchronously in the background. Desktop IDE launches in < 1s without freezing during the initial PyTorch image download.
- 🧪 Test Suite: 58 automated backend tests passed.
GConnect v1.0
GConnect v1.0 - first public release of the personal remote GPU development platform. (App version: 2.2.0 - full details in the changelog.)
Download
GConnect_2.2.0_x64-setup.exe attached below. Run it - no admin rights needed. Windows 10/11; Docker Desktop is optional (the app degrades gracefully without it, and GPU-less machines show CPU + RAM instead of GPU stats). macOS/Linux: build from source.
SHA-256: 71669ddfa5139e4fe348d98ec8f1745574d7f60811a6fdf18cf5d5b67a3a3ed9
Highlights
- Desktop app with remote GPU mode - connection screen on first launch: this PC's sandbox or a remote GPU workstation (URL + token); switch anytime from the header
- PROBLEMS panel (VS Code-style) - Python syntax + pyflakes diagnostics as red/yellow squiggles and a clickable problem list (jumps to
file:line), plus runtime tracebacks parsed from the terminal - Honest telemetry - real GPU stats via NVML at 2 Hz; GPU-less machines show real CPU + RAM instead of fabricated numbers
- Docker-unavailable banner + Run guard - a yellow banner and a popup explain what's wrong; scripts never die silently
- GPU Cluster - register daemons on your other PCs and see every GPU with pooled VRAM
- Secure by default - token auth everywhere, loopback-only binding, opt-in LAN, 26-issue security audit (report a vulnerability)
- Tested - 54 backend tests + 15 Playwright E2E tests, enforced by CI on every push