Commit Graph

1068 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 02ad558330 test: achieve 90%+ code coverage across codebase
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-24 18:17:22 +00:00
copilot-swe-agent[bot] dbaacfdd9f Initial plan 2026-02-24 16:46:03 +00:00
github-actions[bot] a797374ba4 chore(release): update build metadata files [skip ci] 2026-02-24 16:45:43 +00:00
semantic-release 248cb115e9 0.52.0
Automatically generated by python-semantic-release
2026-02-24 16:45:40 +00:00
Christian Krakau-Louis d64445c84f Merge pull request #391 from christianlouis/copilot/ensure-tesseract-easyocr-languages
feat(ocr): auto-install Tesseract/EasyOCR language data from settings
2026-02-24 17:45:18 +01:00
copilot-swe-agent[bot] 8a2a4dc2b3 feat(ocr): auto-install Tesseract/EasyOCR languages from settings
- Add app/utils/ocr_language_manager.py: detects tessdata dir, downloads
  missing .traineddata files via wget/curl from tessdata_fast GitHub repo,
  pre-downloads EasyOCR models, exposes async background-thread helper
- TesseractOCRProvider.process() calls ensure_tesseract_languages() before
  running pytesseract; raises clear error if languages remain unavailable
- EasyOCRProvider.process() logs informational message when models download
- app/main.py: calls ensure_ocr_languages_async() at startup
- app/utils/settings_sync.py: triggers language re-check after every
  settings reload so UI changes take effect without container restart
- app/api/settings.py: adds POST /api/settings/install-ocr-languages
  endpoint for on-demand language installation from the admin UI
- Dockerfile: adds wget for runtime tessdata downloads
- docs/ConfigurationGuide.md: documents automatic language download
- tests/test_ocr_language_manager.py: 29 unit tests

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-24 16:28:14 +00:00
copilot-swe-agent[bot] fb6988db01 Initial plan 2026-02-24 16:12:27 +00:00
github-actions[bot] 801254422d chore(release): update build metadata files [skip ci] 2026-02-24 13:46:13 +00:00
semantic-release 6a2882a503 0.51.0
Automatically generated by python-semantic-release
2026-02-24 13:46:09 +00:00
Christian Krakau-Louis d3a090dcaa Merge pull request #390 from christianlouis/copilot/embed-ocr-text-layer-pdf
feat(ocr): embed searchable text layer for providers without native PDF output
2026-02-24 14:45:47 +01:00
copilot-swe-agent[bot] 50573ec7be fix(ocr): address code review - add subprocess security comment and type hints in tests
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-24 13:22:39 +00:00
copilot-swe-agent[bot] fec032643b feat(ocr): embed searchable text layer for providers without native PDF output
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-24 13:19:52 +00:00
copilot-swe-agent[bot] e0c28e834f Initial plan 2026-02-24 13:10:12 +00:00
github-actions[bot] 2f5ab13fe8 chore(release): update build metadata files [skip ci] 2026-02-24 12:54:13 +00:00
semantic-release 4dd4e1ffa3 0.50.1
Automatically generated by python-semantic-release
2026-02-24 12:54:10 +00:00
Christian Krakau-Louis 33cb43635b Merge pull request #387 from christianlouis/copilot/fix-mistral-ai-ocr-compatibility
Fix Mistral OCR: use native /v1/ocr API with proper PDF upload flow
2026-02-24 13:53:54 +01:00
copilot-swe-agent[bot] c7423834d5 fix(ocr): rewrite MistralOCRProvider to use native Mistral OCR API
- PDFs are now uploaded to Mistral Files API (POST /v1/files) and
  processed via a signed document_url, resolving the 422 error caused
  by passing data:application/pdf;base64,... to an image endpoint
- Images (JPEG/PNG/GIF/WEBP/BMP/TIFF) use base64 image_url directly
- Unsupported MIME types raise a clear ValueError
- Magic-byte fallback detects PDFs with no file extension
- Switches from openai chat completions to requests HTTP calls
- Adds helper method _upload_pdf_and_get_document()
- Adds TestMistralOCRProvider with 9 unit tests covering all paths

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-24 12:13:38 +00:00
copilot-swe-agent[bot] 2703221b9c Initial plan 2026-02-24 12:03:16 +00:00
github-actions[bot] ab5656877a chore(release): update build metadata files [skip ci] 2026-02-24 11:53:57 +00:00
semantic-release 415397b404 0.50.0
Automatically generated by python-semantic-release
2026-02-24 11:53:54 +00:00
Christian Krakau-Louis e3cff12f93 Merge pull request #385 from christianlouis/copilot/increase-codecov-coverage
feat(tests): Increase CodeCov test coverage above 90%
2026-02-24 12:53:30 +01:00
github-actions[bot] 4f36a81f40 chore(release): update build metadata files [skip ci] 2026-02-24 08:17:23 +00:00
semantic-release a5e3524417 0.49.0
Automatically generated by python-semantic-release
2026-02-24 08:17:19 +00:00
Christian Krakau-Louis 28ec319817 Merge pull request #384 from christianlouis/copilot/clean-up-redundant-api-endpoints
Remove redundant /env view and /api/diagnostic/settings endpoint
2026-02-24 09:16:56 +01:00
copilot-swe-agent[bot] 1f080a8a43 style(tests): rename _SESSION_SECRET to TEST_SESSION_SECRET; tighten non-admin redirect assertions to == 302
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-24 00:04:42 +00:00
copilot-swe-agent[bot] a1b9ac1db6 feat(tests): increase code coverage from 89.28% to 92.15%
- Add comprehensive tests for app/views/filemanager.py (14% → 97%)
- Add tests for app/views/settings.py credentials_page and audit_log_page (53% → 100%)
- Add tests for base.py kwargs context CSRF injection (66% → 100%)
- Add tests for general.py DB error, favicon 404, license fallback (89% → 100%)
- Add tests for status.py Docker exception branches (89% → 96%)
- Add tests for config_validator/providers.py alternative AI providers (45% → 90%+)
- Add tests for settings_sync.py reload failure and signal handler (80% → 100%)

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 23:59:50 +00:00
github-actions[bot] 0827b6eaa9 style: apply ruff auto-fix
- Auto-formatted code with ruff format
- Applied ruff linting fixes with --fix

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-23 23:24:27 +00:00
copilot-swe-agent[bot] f9d849f7eb feat(api): remove redundant /env and /api/diagnostic/settings endpoints
- Remove `/api/diagnostic/settings` endpoint (superseded by `/api/settings/`)
- Remove `/env` view route (superseded by `/settings` admin page)
- Delete `env_debug.html` template
- Remove `/env` nav links from base.html (desktop + mobile)
- Update status_dashboard.html to link to /settings instead of /env
- Remove corresponding tests for deleted endpoints
- Update RateLimitingStrategy.md docs

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 23:23:28 +00:00
copilot-swe-agent[bot] 6bf62251ba Initial plan 2026-02-23 23:17:53 +00:00
copilot-swe-agent[bot] ff84d45ed0 Initial plan 2026-02-23 23:14:47 +00:00
github-actions[bot] d108343087 chore(release): update build metadata files [skip ci] 2026-02-23 23:14:25 +00:00
semantic-release aae4f82bad 0.48.0
Automatically generated by python-semantic-release
2026-02-23 23:14:23 +00:00
Christian Krakau-Louis 0dc2d74c03 Merge pull request #376 from christianlouis/copilot/add-self-hosted-ocr-support
fix(tests): update stale mock targets after Azure OCR → unified OCR task rename
2026-02-24 00:14:06 +01:00
copilot-swe-agent[bot] 7fdd8a4d3f fix(tests): update process_with_azure patch target in test_storage_reorganization
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 23:09:55 +00:00
copilot-swe-agent[bot] 8828b71031 fix(tests): update process_document test patches to use process_with_ocr
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 23:00:45 +00:00
Christian Krakau-Louis 4cc9233524 Merge branch 'main' into copilot/add-self-hosted-ocr-support 2026-02-23 23:51:43 +01:00
github-actions[bot] 7e0b79806d chore(release): update build metadata files [skip ci] 2026-02-23 22:30:56 +00:00
semantic-release 5372705e67 0.47.0
Automatically generated by python-semantic-release
2026-02-23 22:30:53 +00:00
Christian Krakau-Louis 7224e0be7d Merge pull request #382 from christianlouis/copilot/fix-gpt5-temperature-params
fix(ai): handle temperature restrictions for gpt-5 and o-series reasoning models; add model picker UI
2026-02-23 23:30:33 +01:00
copilot-swe-agent[bot] a94b52ee14 feat(ai): handle temperature incompatibility for gpt-5 and o-series models, add model picker UI
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 22:12:08 +00:00
copilot-swe-agent[bot] 2eecfd0d4b Initial plan 2026-02-23 22:03:23 +00:00
github-actions[bot] d70fffd4d2 docs(changelog): update changelog [skip ci] 2026-02-23 22:01:39 +00:00
Christian Krakau-Louis 6e8ebddfcd Merge pull request #381 from christianlouis/copilot/setup-copilot-instructions
docs(copilot): overhaul Copilot instructions — Ruff toolchain, 100% coverage, agent workflow, modern Python
2026-02-23 23:01:05 +01:00
copilot-swe-agent[bot] 156e0ba524 docs(copilot): overhaul instructions — Ruff toolchain, 100% coverage, agent workflow, modern Python
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 21:48:11 +00:00
copilot-swe-agent[bot] dbea61dc0b docs(copilot): checkpoint before comprehensive instructions overhaul
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-23 21:46:17 +00:00
copilot-swe-agent[bot] da524478d9 Initial plan 2026-02-23 21:41:28 +00:00
github-actions[bot] 432cecb4dd chore(release): update build metadata files [skip ci] 2026-02-23 21:41:25 +00:00
semantic-release df31122db4 0.46.0
Automatically generated by python-semantic-release
2026-02-23 21:41:21 +00:00
Christian Krakau-Louis ba7b61a3c6 Merge pull request #378 from christianlouis/copilot/fix-internal-server-error
fix(api): correct parameter order in test_ai_extraction endpoint
2026-02-23 22:40:44 +01:00
Christian Krakau-Louis 7adba05c80 Merge pull request #379 from christianlouis/copilot/add-copy-button-to-text-modals
feat(ui): Add copy-to-clipboard button to file detail text modals
2026-02-23 22:40:19 +01:00