Readur/src/db
perf3ct 92b21350db feat(webdav): track directory etags
✅ 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
2025-07-01 21:22:16 +00:00
..
constraint_validation.rs fix(server): resolve compilation errors in constraint_validation.rs 2025-06-28 22:04:01 +00:00
documents.rs feat(server): mark documents with 0 words as failed, and fix webdav unit tests 2025-06-30 22:43:25 +00:00
ignored_files.rs feat(server/client): easily undelete ignored files, if the user wishes to do so 2025-06-28 00:37:49 +00:00
images.rs feat(server): break up large db.rs file into multiple files, and add more PDF guardrails 2025-06-17 00:25:21 +00:00
mod.rs feat(server/client): resolve failing tests 2025-06-28 21:21:05 +00:00
notifications.rs feat(server): break up large db.rs file into multiple files, and add more PDF guardrails 2025-06-17 00:25:21 +00:00
settings.rs feat(server): break up large db.rs file into multiple files, and add more PDF guardrails 2025-06-17 00:25:21 +00:00
sources.rs fix(server): resolve compilation issues due to increased logging 2025-06-25 20:00:09 +00:00
users.rs feat(server): set up oidc system and migrations 2025-06-26 18:52:57 +00:00
webdav.rs feat(webdav): track directory etags 2025-07-01 21:22:16 +00:00