Skip to content

GravityDesk v1.0.2 — Cross-Platform CLI, State Synchronization & Session Persistence

Latest

Choose a tag to compare

@w1th0ut w1th0ut released this 07 Sep 09:01
· 2 commits to main since this release

v1.0.2

Major feature and architecture release for GravityDesk — introducing Universal Cross-Platform Host Support (Windows, macOS, Linux), global gravitydesk CLI entrypoint & self-updater (gravitydesk update), bidirectional session state synchronization, and human-readable chat titles in the Desktop GUI!


🌟 What's New in v1.0.2

🌐 1. Universal Cross-Platform Host Engine (Windows, macOS, Linux)

  • Dual-Engine Pseudo-Terminal (PTY):
    • Windows: High-performance Windows ConPTY powered by pywinpty.
    • macOS & Linux: Native Unix POSIX PTY implementation using pty, termios, fcntl, and select.
    • Terminal I/O streaming, ANSI escape rendering, and Ctrl+C interrupt signals work seamlessly across all three major operating systems.
  • Cross-Platform Sleep Inhibition:
    • Windows: Win32 Power Availability Requests (ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED).
    • macOS: Native background caffeinate daemon subprocess.
    • Linux: D-Bus systemd-inhibit integration with fallback dummy process.
  • Universal Path Sanitization:
    • Validates and resolves directory browsing against detected host root drives (C:\, D:\ on Windows, / and /Volumes on macOS/Linux).

📦 2. Global CLI Entrypoint & Automated Self-Updater

  • Global gravitydesk Terminal Command:
    • Packaged via standard pyproject.toml.
    • Launch from any terminal window in any folder:
      • gravitydesk -> Desktop GUI Control Center
      • gravitydesk --headless -> Headless daemon mode (ideal for SSH, Linux VPS, or headless servers)
      • gravitydesk --version -> Displays installed package version
      • gravitydesk --help -> Comprehensive usage instructions
  • Smart Self-Updater (gravitydesk update):
    • Built-in updater command that automatically detects the runtime environment:
      • Local Git Clone: Executes git pull followed by pip install -e . to refresh dependencies.
      • Global Pip / Pipx Install: Automatically runs python -m pip install --upgrade --no-cache-dir git+https://github.com/w1th0ut/GravityDesk.git.
    • CP1252 / UTF-8 safe encoding safeguards prevent terminal crashes on legacy Windows consoles.
  • Centralized User Configuration (~/.gravitydesk/):
    • Moves .env, devices.json, and runtime state files to ~/.gravitydesk/ across all platforms.
    • Automatic migration from legacy project-root configuration files.

🔄 3. Bidirectional Workspace & Conversation Synchronization

  • Host Session State Persistence (session_state.json):
    • Active workspace directory and resumed conversation target are automatically persisted to ~/.gravitydesk/session_state.json.
    • Restarting the host server daemon or rebooting your laptop no longer resets the active session to the default user home root.
  • Client-Side Auto-Sync Handshake:
    • When the mobile app connects or re-pairs, it automatically performs an intelligent reconciliation:
      • If the host started unconfigured on default workspace, mobile pushes its saved preferences to immediately configure the host.
      • If the host already has an active workspace or the user changed directories via the Desktop GUI, mobile instantly reflects the host's authoritative state in real time.
    • Eliminates state mismatch between mobile UI chips and host execution runtime.

💬 4. Human-Readable Chat Titles in Desktop GUI

  • Title Resolution Module (server/conversations.py):
    • Desktop GUI Control Center now queries Antigravity SQLite (conversation_summaries.db) and transcript logs to resolve the actual human-readable chat name (e.g. LABEL or first prompt preview).
    • Replaced ambiguous UUID hash strings (e.g. Chat: 6bbc0d...) with clear, informative titles.

🛡️ 5. Hardened Device Access & Clean Architecture

  • Strict Device State Lifecycle:
    • Revoked devices are permanently expunged from devices.json while maintaining an in-memory blocklist (403 Forbidden). Only genuinely authorized devices remain in registered device records.
  • Legacy Favorites Cleanup:
    • Completely purged obsolete favorites feature across endpoints, models, and UI for streamlined codebase health.

📦 Downloads & Assets

File Description Target OS
gravitydesk-v1.0.2.apk Standalone Android APK build Android 8.0+
Source code (zip / tar.gz) Complete host daemon & GUI source code Windows, macOS, Linux

🚀 Quick Setup

Host Workstation (Windows, macOS, Linux)

# Install directly via pip:
pip install git+https://github.com/w1th0ut/GravityDesk.git

# Launch Desktop GUI:
gravitydesk

# Or launch Headless CLI:
gravitydesk --headless

# Update anytime:
gravitydesk update

Android Mobile App

  1. Install gravitydesk-v1.0.2.apk on your Android device.
  2. Ensure both your workstation and Android phone are connected to your Tailscale mesh network.
  3. Open GravityDesk on mobile, tap Scan QR, and scan the pairing code shown on your host screen.