Releases: ydtg1993/craft_cloud
Releases · ydtg1993/craft_cloud
Release list
CraftCloud v2.8.1
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
- 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 — 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
LIKEquery - ≥ 10k files → Whoosh full-text index + jieba Chinese word segmentation
- < 10k files → fast SQL
📂 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