Commit Graph

37 Commits

Author SHA1 Message Date
perf3ct ed942d02c7 feat(dev): break up the large documents.rs file 2025-07-03 19:47:31 +00:00
perf3ct 7074a8d868 feat(webdav): add validation statuses to sources 2025-07-03 14:03:26 +00:00
perf3ct 459b8622bb feat(webdav): also add some crazy source automatic validation 2025-07-03 05:26:36 +00:00
perf3ct 69c40c10fa feat(webdav): gracefully recover webdav from stops/crashes 2025-07-03 04:45:25 +00:00
perf3ct 2297eb8261 feat(webdav): also set up deep scanning button and fix unit tests 2025-07-03 04:24:26 +00:00
perf3ct be29316ff4 fix(tests): resolve compilation error in tests and source scheduler 2025-07-02 23:49:46 +00:00
perf3ct dd4bd03af6 feat(tests): fix ocr_retry issues in tests 2025-07-02 21:48:01 +00:00
perf3ct ffad8c4561 feat(tests): fix ocr_retry issues in tests 2025-07-02 21:30:36 +00:00
perf3ct 6bdd6f4a56 feat(server): implement DEBUG environment variable 2025-07-02 17:57:57 +00:00
perf3ct d4b57d2ae0 feat(server/client): implement retry functionality for both successful and failed documents 2025-07-02 00:06:47 +00:00
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
perf3ct 830f9d0b38 feat(server): mark documents with 0 words as failed, and fix webdav unit tests 2025-06-30 22:43:25 +00:00
perf3ct 69279344cb fix(tests): fix documents tests 2025-06-30 21:56:21 +00:00
perf3ct 9e43df2fbe feat(server/client): add metadata to file view 2025-06-30 19:13:16 +00:00
perf3ct fef28a33c6 feat(server): continue to try to wrangle the failed and ignored documents 2025-06-29 23:27:51 +00:00
perf3ct edd0c7514f fix(server): resolve compilation errors in constraint_validation.rs 2025-06-28 22:04:01 +00:00
perf3ct 97fa50c1b5 feat(server/client): resolve failing tests 2025-06-28 21:21:05 +00:00
Jon Fuller 5aae560d7e Merge pull request #69 from readur/fix/ocr-confidence-1
fix(server/client): fix incorrect OCR measurements
2025-06-28 09:53:56 -07:00
perfectra1n 582617ab88 fix(server/client): fix incorrect OCR measurements 2025-06-27 20:23:59 -07:00
perf3ct 0b8dbfb8d9 feat(server/client): easily undelete ignored files, if the user wishes to do so 2025-06-28 00:37:49 +00:00
perf3ct 2c6bd92bf4 fix(server): fix unclosed delimiter 2025-06-27 22:51:02 +00:00
Jon Fuller 929f27eaa9 Merge branch 'main' into feat/delete-low-confidence-documents 2025-06-27 15:17:50 -07:00
perf3ct aacfc96825 feat(server/client): implement button deleting low confidence documents (e.g. documents that have no text) 2025-06-27 22:16:38 +00:00
perf3ct a75fca0c28 feat(client/server): add a new badge for each source that shows the number of documents stored from each source 2025-06-27 21:32:50 +00:00
perf3ct 3c5b7c7dfb feat(oidc): fix oidc, tests, and everything in between 2025-06-27 05:03:27 +00:00
perf3ct e9496b921e feat(server): set up oidc system and migrations 2025-06-26 18:52:57 +00:00
perf3ct 00d771c15f fix(server): resolve compilation issues due to increased logging 2025-06-25 20:00:09 +00:00
perf3ct 04bf3500fa feat(server): implement better error for configuration issues 2025-06-25 19:37:16 +00:00
perf3ct a0e75d4619 feat(server/client): implement feature of ignoring already deleted files, and add failed OCR queue tests 2025-06-24 17:20:33 +00:00
aaldebs99 1507532083 feat(everything): Add document deletion 2025-06-20 03:49:16 +00:00
aaldebs99 4dd9162415 fix(frontend): label writing and fetching logic 2025-06-20 01:32:32 +00:00
perf3ct 24e7dff9a5 feat(client): update failedOcr page for duplicates 2025-06-17 16:52:45 +00:00
perf3ct 80d58b0f28 feat(server/client): implement updated FailedOcrPage, duplicate management, and file hashing 2025-06-17 16:17:23 +00:00
perf3ct 58aaedf4a6 feat(server): add hash for documents 2025-06-17 15:41:42 +00:00
perf3ct b2a7faaddb feat(server): create specific endpoint for fetching documents, fix client being served again 2025-06-17 04:05:57 +00:00
perf3ct 4dda4d143d feat(client/server): implement a much better search 2025-06-17 02:41:16 +00:00
perf3ct 801038a26e feat(server): break up large db.rs file into multiple files, and add more PDF guardrails 2025-06-17 00:25:21 +00:00