Commit Graph

74 Commits

Author SHA1 Message Date
Jon Fuller 0152337976
Merge pull request #375 from readur/373-foreign-characters-http-500-fix
Fix: labels document fetch missing fields
2025-12-09 12:01:09 -08:00
aaldebs99 f460b09515 fix(labels): query missing several label fields 2025-12-09 19:23:25 +00:00
perf3ct 3486f0fdf8
feat(server): allow for random admin password generation 2025-11-02 14:29:12 -08:00
aaldebs99 e81c60192b
Merge pull request #267 from readur/oidc-improvements
WIP: OIDC improvements
2025-10-11 16:16:11 -07:00
aaldebs99 0032a30bb1 feat(oidc): add option for auto-register, local login, and user matching by email 2025-10-11 04:55:19 +00:00
perf3ct 43b679f59b
fix(server): resolve compilation warnings and fix test that expects no pass, to have it actually expect pass 2025-09-02 22:51:17 +00:00
perf3ct d5d6d2edb4
feat(office): xml extraction seems to work now 2025-09-02 01:22:19 +00:00
perf3ct 73525eca02
feat(office): add library-based and xml-based parsing 2025-09-02 00:25:06 +00:00
perf3ct 4dbd1aa5d6
fix(errors): resolve the sql casting, and introduce unit test to prevent this from happening again 2025-09-01 18:15:52 +00:00
perf3ct 10d461aeac
fix(errors): resolve issues with error handling 2025-09-01 18:01:36 +00:00
perf3ct f6eb7ba49f
feat(metrics): try to simplify webdav metrics some 2025-08-23 22:17:40 +00:00
perf3ct 4b5ee94724
fix(metrics): casting is the name of the game 2025-08-23 20:31:56 +00:00
perf3ct 1b4573f658
feat(webdav): resolve failing migration tests, and implement better error handling 2025-08-23 18:52:52 +00:00
perf3ct 18832b9c12
feat(webdav): fix all the wonderful compilation issues 2025-08-21 04:29:36 +00:00
perf3ct b7dd64c8f6
feat(webdav): try to do better webdav errors to not slam webdav endpoints 2025-08-20 21:59:14 +00:00
perf3ct d793509af9
feat(source): update names of sourceerror, and update tests 2025-08-17 22:37:41 +00:00
perf3ct 6a64d9e6ed
feat(source): implement generic "SourceError" and then have it be propagated as "WebDAVerror", etc. 2025-08-17 22:05:58 +00:00
perf3ct 93c2863d01
feat(webdav): support capturing individual directory errors in webdav 2025-08-14 16:24:05 +00:00
perf3ct 68ceb1f9cb
feat(storage): implement s3 for storage 2025-08-01 00:27:13 +00:00
perf3ct 96ea060450 fix(sync): fix issue where the webdav tasks weren't inserting source metadata into db 2025-07-29 21:27:40 +00:00
perf3ct b3e6630bd1 feat(tests): tests are mostly working now 2025-07-29 00:47:02 +00:00
perf3ct cfeb6c5c93 feat(tests): wrap the tests so that even if they fail, they still close their db connections 2025-07-28 18:15:08 +00:00
perf3ct c37014f924 feat(tests): work on resolving tests that don't pass given the large rewrite 2025-07-28 04:13:14 +00:00
perf3ct 319c1521c1 fix(labels): allow for nullable user_id on label fetch 2025-07-27 20:42:55 +00:00
perf3ct 023d424293 feat(server/client): I have no words, hopefully this lesser abstraction and webdav tracking works now 2025-07-27 19:29:45 +00:00
perf3ct b6c1d18d88 fix(db): try to increase the connection timeout to 30s to grab db connections? 2025-07-24 22:32:23 +00:00
perf3ct bb379f19dc fix(tests): resolve issues with compilation in tests 2025-07-24 17:02:38 +00:00
perf3ct 849c9f91c7 feat(lang): update backend to support multiple languages at the same time during OCR 2025-07-14 19:33:43 +00:00
perf3ct e6fd8424d2 fix(dev): merge main into feature 2025-07-13 17:15:59 +00:00
perf3ct 0465777890 feat(client): show more fields for Documents 2025-07-10 21:02:15 +00:00
perf3ct 96c47af2c0 feat(server/client): make sure that the documents endpoint isn't broken 2025-07-10 19:57:25 +00:00
perf3ct f2a050458b fix(stats): create new get_queue_statistics function to avoid conflicts 2025-07-09 00:27:43 +00:00
perf3ct b356017484 feat(server): implement better error checking for sources 2025-07-07 19:10:45 +00:00
perf3ct 0e84993afa fix(server): resolve import issues 2025-07-03 23:58:11 +00:00
perf3ct b9e0e5b905 feat(dev): also break up the large webdav_service.rs file into smaller ones 2025-07-03 19:57:31 +00:00
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
Jon Fuller 2e1a05fc8d Merge branch 'main' into feat/multiple-ocr-languages 2025-07-01 11:53:42 -07: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