Valence Cloud

A lean, native, ultra-responsive NextCloud desktop client built in Rust with bi-directional WebDAV synchronization.

Cloud Sync GPL-3.0 Rust / egui Active Status

Overview

Valence Cloud is a native NextCloud desktop synchronization client engineered specifically for users seeking an alternative to resource-heavy Electron or WebView wrappers. Built entirely in Rust using the high-performance egui immediate-mode GUI framework, Valence Cloud launches instantly and maintains a remarkably low memory footprint (~20MB RSS).

Valence Cloud handles authentication via NextCloud's official Login Flow v2, providing robust bi-directional synchronization over WebDAV while tracking local and remote state using an embedded SQLite database.

Key Features

Native Architecture & Low Footprint

  • Zero-Electron UI: Compiled directly to native machine code with zero browser runtimes or web engine overlays.
  • Ultra-Low Memory Footprint: Consumes only ~20MB RSS memory during active background file indexing and synchronization.
  • Immediate Launch: Starts up in milliseconds with responsive dark mode styling tailored for Linux desktop environments.

WebDAV Engine & Authentication

  • NextCloud Login Flow v2: Browser-based OAuth authorization with automated polling and encrypted credential persistence.
  • Full WebDAV Protocol Support: Supports PROPFIND, GET, PUT, MKCOL, and DELETE verbs with custom XML parsing that handles varied server namespace patterns.
  • Debounced Filesystem Watcher: Employs cross-platform file monitoring with a 500ms stabilization window and payload size verification to prevent partial uploads during active file writes.

State Tracking & Conflict Resolution

  • Local SQLite State Tracking: Manages local state in state.db, recording relative paths, file timestamps, SHA256 checksums, and remote ETags.
  • Interactive Conflict Modal: Detects simultaneous local and remote file edits and opens an interactive resolution dialog allowing users to choose between Keep Local, Keep Remote, or Keep Both.

Building & Installation

Valence Cloud can be compiled directly from source using Cargo or installed via standard Debian packaging on Ubuntu/Debian Linux.

1. System Prerequisites (Debian/Ubuntu)

bash - APT Dependencies
# Install required development headers for graphics and GTK sudo apt update && sudo apt install -y \ build-essential pkg-config libssl-dev libx11-dev \ libxcb1-dev libxkbcommon-dev libgl1-mesa-dev libgtk-3-dev

2. Build from Source

bash - Cargo Build
# Clone the repository git clone https://gitlab.com/quantum-hue/valence-cloud.git cd valence-cloud # Run release build cargo run --release