mirror of
https://github.com/readur/readur.git
synced 2026-02-19 21:39:25 -06:00
✅ Core Optimizations Implemented 1. 📊 New Database Schema: Added webdav_directories table to track directory ETags, file counts, and metadata 2. 🔍 Smart Directory Checking: Before deep scans, check directory ETags with lightweight Depth: 0 PROPFIND requests 3. ⚡ Skip Unchanged Directories: If directory ETag matches, skip the entire deep scan 4. 🗂️ N-Depth Subdirectory Tracking: Recursively track all subdirectories found during scans 5. 🎯 Individual Subdirectory Checks: When parent unchanged, check each known subdirectory individually 🚀 Performance Benefits Before: Every sync = Full Depth: infinity scan of entire directory treeAfter: - First sync: Full scan + directory tracking setup - Subsequent syncs: Quick ETag checks → skip unchanged directories entirely - Changed directories: Only scan the specific changed subdirectories 📁 How It Works 1. Initial Request: PROPFIND Depth: 0 on /Documents → get directory ETag 2. Database Check: Compare with stored ETag for /Documents 3. If Unchanged: Check each known subdirectory (/Documents/2024, /Documents/Archive) individually 4. If Changed: Full recursive scan + update all directory tracking data