Commit Graph

25 Commits

Author SHA1 Message Date
perf3ct 4baef92bc4
fix(tests): resolve issues in unit tests due to dep changes 2025-07-17 16:09:10 +00:00
perf3ct 637ab076c0
fix(tests): fix urls used in test 2025-07-12 23:27:27 +00:00
perf3ct 28f4a2370d
fix(webdav): fix incorrect concatenation logic when building URLs 2025-07-12 23:26:19 +00:00
perf3ct f79b3647e6
fix(webdav): make sure to normalize URL for double slashes, trailing slashes, etc. 2025-07-12 23:15:14 +00:00
perf3ct 4c4a593a1e
feat(server): show source metadata better, and implement tests 2025-07-10 21:40:16 +00:00
perf3ct db41b15609
feat(client): show more fields for Documents 2025-07-10 21:02:15 +00:00
perf3ct 7c9b29676c
feat(tests): move integration and unit tests to correct locations 2025-07-04 19:37:43 +00:00
perf3ct fd26e1a0ae
fix(tests): binary and tests at least compile now 2025-07-04 19:07:53 +00:00
perf3ct 1b984a12c2
fix(server): resolve type issues and functions for compilation issues 2025-07-04 00:53:32 +00:00
perf3ct 6bbf69842c
fix(server): resolve import issues 2025-07-03 23:58:11 +00:00
perf3ct 6547130fb1
feat(dev): also break up the large webdav_service.rs file into smaller ones 2025-07-03 19:57:31 +00:00
perf3ct c0835f436f
feat(webdav): also add some crazy source automatic validation 2025-07-03 05:26:36 +00:00
perf3ct 99cbb9caee
feat(webdav): make sure to have scanned all subdirectories 2025-07-03 05:02:17 +00:00
perf3ct 42c7edd9df
feat(webdav): gracefully recover webdav from stops/crashes 2025-07-03 04:45:25 +00:00
perf3ct 915fe92993
feat(webdav): also set up deep scanning button and fix unit tests 2025-07-03 04:24:26 +00:00
perf3ct e23a0e4c63
feat(webdav): directory etag smart checking and all that 2025-07-03 00:26:56 +00:00
perf3ct edcf2be71b
fix(webdav): resolve issue with webdav subdirectories not being discovered 2025-07-02 23:37:39 +00:00
perf3ct 8ed8701d5b
feat(server): implement DEBUG environment variable 2025-07-02 17:57:57 +00:00
perf3ct 0f3cb12c7a
fix(server): resolve NUMERIC db type and f64 rust type 2025-07-02 02:26:11 +00:00
perf3ct e4faf2cfd2
feat(server/client): implement retry functionality for both successful and failed documents 2025-07-02 00:06:47 +00:00
perf3ct c242a84326
feat(webdav): also fix the parser to include directories, and add tests 2025-07-01 22:03:06 +00:00
perf3ct 590cad3197
feat(tests): add unit tests for new webdav functionality 2025-07-01 21:39:31 +00:00
perf3ct fdc240fa5b
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
perf3ct d9b695f0bd
feat(server/client): add metadata to file view 2025-06-30 19:13:16 +00:00
perf3ct cdad6477ed
feat(server): reorganize components into their own modules and fix imports 2025-06-27 18:27:42 +00:00