Skip to content

Releases: ydtg1993/craft_cloud

CraftCloud v2.8.1

Choose a tag to compare

@ydtg1993 ydtg1993 released this 07 Jul 18:53

What's New in v2.8.1

🚀 CI/CD & Build System

  • GitHub Actions CI/CD: New cross-platform build workflow — automated testing on Python 3.10/3.11/3.12 (ubuntu), PyInstaller packaging on Windows, macOS, and Linux, with per-platform artifact uploads.
  • Local Build Script: Added scripts/build.sh for reproducible local builds with auto-download of platform-specific ffmpeg binaries.
  • Platform FFmpeg: ffmpeg is now downloaded per-platform at build time instead of bundling a Windows binary — leaner repo, faster clones.

🔒 Security

  • Config Separation: Removed config.yaml from version control — local credentials and settings are no longer tracked by git.
  • Single Instance Lock: Native single-instance enforcement prevents accidental duplicate launches and session conflicts.

⚡ Core Engine Improvements

  • Task Manager Refactoring: New core/task_types.py with unified task definitions (Task, TaskSignals), cross-thread InfoBar communication, better worker thread lifecycle management, and a dedicated Task Queue UI page.
  • Telegram Uploader Refactoring: Streamlined upload pipeline with improved error handling, retry logic, and chunked upload support for large files.
  • Drag & Drop Support: New drag service — drag files and folders directly into the app to upload.

🔄 Sync Engine Overhaul

  • Modular Sync Architecture: Refactored services/sync/ into dedicated modules — base_sync_task.py, directory_sync_task.py, file_sync_task.py, strategies.py, and scheduler.py.
  • Smarter Sync: Improved directory comparison with hash-based file deduplication, rename/move detection (avoids re-uploading moved files), and sorted depth-first directory creation for reliable nested folder sync.
  • Sync Dashboard: New per-folder sync status cards with real-time progress bars, detailed file/size counts, and status indicators.

🎬 Media & Preview

  • Enhanced Preview Flyout: Now supports video playback (Qt Multimedia), audio playback with seek controls, image preview with zoom, and a 100MB preview size limit for performance.
  • File Icons: New file type icon system provides visual indicators across the UI.

🎨 UI & UX

  • Task Queue Page: New dedicated page for monitoring all background operations (uploads, downloads, syncs) with real-time progress.
  • About Page: New polished about page with app info, developer details, core features showcase, license, and open-source acknowledgments.
  • File View Stack: Switch between list and grid views, with search result highlighting support.
  • Improved Login: Better QR code login flow, session validation, and error recovery.
  • Cross-Thread Notifications: InfoBar messages from worker threads are now safely marshalled to the main thread, eliminating UI glitches during background operations.

🌍 Internationalization

  • i18n Generator: Updated scripts/gen_i18n.py with improved translation workflow and multi-language TS/QM compilation.
  • Translation Coverage: Full UI translation support across 6 languages (zh_CN, English, German, French, Russian, Korean).

📦 Packaging

  • Inno Setup Installer: Updated setup.iss for Windows installer with proper startup task handling and clean install/uninstall experience.
  • PyInstaller Spec: New CraftCloud.spec with optimized hidden imports, data file collection, and platform-specific binaries.

📝 Documentation

  • Updated docs/readme.md and docs/readme-CH.md with latest features, build instructions, and project roadmap.

🧹 Code Quality

  • Removed deprecated modules (breadcrumb_widget.py, icon_utils.py, sync_operation_strategy.py, sync_utils.py) merged into the new architecture.
  • Database repository layer refactored for consistency and performance.
  • pkg_resources compatibility stub for setuptools >= 82.

Full Changelog: v2.7.7...v2.8.1

v2.7.7

Choose a tag to compare

@ydtg1993 ydtg1993 released this 07 Jul 16:29
  • Architecture: Complete refactoring to layered architecture (core/model/services/view) with SOLID principles
  • Tech Stack: Modernized to SQLAlchemy 2.x ORM, Pydantic config, loguru logging
  • UI: Upgraded to qfluentwidgets Fluent Design component library, table views now use native TableView/TableItemDelegate for consistent dark/light theming
  • Task Queue: New unified scheduling with real-time progress tracking
  • Auto Sync: Dashboard with configurable watch folders and background sync
  • System Tray: Minimize to tray, continue syncing in background
  • Full-Text Search: Whoosh-powered search with Chinese word segmentation (jieba)
  • i18n: Full translation coverage across 5 languages (zh_CN, de, fr, ru, ko)
  • Theme: Fixed dark theme header white-on-white issue in list view
  • Packaging: Cleaned up about page, updated installer with proper startup task handling

CraftCloud V2.0.0

CraftCloud V2.0.0 Pre-release
Pre-release

Choose a tag to compare

@ydtg1993 ydtg1993 released this 18 Jun 13:29

CraftCloud v2.0.0 — Turn Telegram into Your Private Cloud Drive

CraftCloud is a production-grade desktop application that turns Telegram into unlimited cloud storage — with a cloud-drive-like interface, file management, online preview, and automatic local folder sync. It minimizes to the system tray and runs background sync tasks without interrupting your workflow.

Built with PySide6 + QFluentWidgets for a modern, responsive UI with dark/light theme support.


✨ Features

🔐 Telegram Login

  • QR code login via API ID / API Hash
  • Session persistence with multi-account support
  • Secure logout at any time

🌐 Multi-Language

  • 6 languages: 中文, English, Français, Deut
  • Runtime language switching in Settings — no restart needed

📁 File Management

  • List and Icon dual-view modes
  • Drag-and-drop move across directories
  • Batch delete, rename, move, and property inspection
  • Right-click context menu for upload, downl

👀 File Preview

  • Online preview for images, audio (with see
  • Files larger than 100 MB are blocked from preview for safety

📤 Upload & Download

  • Batch upload files or entire folders
  • Configurable retry (default: 3 attempts)
  • Real-time progress display
  • All tasks run asynchronously via a shared worker thread

🔍 Smart Search

  • Fuzzy filename search with automatic tiered strategy:
    • < 10k files → fast SQL LIKE query
    • ≥ 10k files → Whoosh full-text index + jieba Chinese word segmentation

📂 Directory & Channel Binding

  • App directories automatically bind to Telegram channels
  • Multi-level subdirectory support
  • Intelligent binding recovery when channels

🔄 Automatic Sync

  • Add local folders, schedule sync at minute / hour / day intervals
  • Sync auto-runs when minimized to tray, pauses when window is restored
  • Local-remote directory structure kept consistent during sync

📊 Upload Limits

  • Optional daily upload size and file count
  • Real-time usage display in the status bar
  • Shows ∞ when limits are disabled

🧩 Persistent Task Queue

  • Upload / download progress and sync history
  • Records survive app restarts (SQLite-backed)

🖥️ System Tray

  • Close to tray with sync auto-resume
  • Right-click menu: "Open Cloud" / "Exit"
  • Double-click to restore window

📝 Logging System

  • Structured logging via loguru — console + daily rotating files (7-day retention)
  • Telethon session noise filtered