Commit Graph

497 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 6f286e37b3 feat(tasks): add detailed logging to upload_with_rclone task functions
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 10:06:51 +00:00
copilot-swe-agent[bot] 14eacc7c23 feat(tasks): add detailed logging to rotate_pdf_pages task
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 10:02:25 +00:00
copilot-swe-agent[bot] 4153c5bbcb feat(tasks): add detailed logging to refine_text_with_gpt task
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 09:57:46 +00:00
copilot-swe-agent[bot] acec9954a0 feat(tasks): add detailed logging to Azure Document Intelligence task
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 09:54:53 +00:00
copilot-swe-agent[bot] 3e78ee4c27 fix(logging): address code review feedback for TaskLogCollector robustness
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 09:15:44 +00:00
copilot-swe-agent[bot] dfa4b16776 feat(tasks): auto-capture worker log output for all tasks via TaskLogCollector
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 09:13:09 +00:00
copilot-swe-agent[bot] b18f5ee13c feat(ui): add verbose worker log detail to processing history on file detail page
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 09:06:30 +00:00
copilot-swe-agent[bot] f7799e409d fix(tasks): prevent filename overwrite in extract_metadata_with_gpt and fix embed retry logic
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 08:59:27 +00:00
copilot-swe-agent[bot] 26dc165b37 Initial plan 2026-02-11 08:50:04 +00:00
Christian Krakau-Louis 665450e7e2 Merge pull request #231 from christianlouis/copilot/fix-regression-error-pipeline
Fix duplicate check blocking reprocessing and enable retry from failed pipeline step
2026-02-11 09:00:50 +01:00
copilot-swe-agent[bot] afb4d9bf85 refactor(api): address code review feedback - extract PDF text helper, improve comments
- Extract duplicated PDF text extraction into _extract_text_from_pdf helper
- Clarify empty metadata dict comment for embed_metadata_into_pdf retry
- Make test assertion for file_id passing more explicit

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 21:11:46 +00:00
copilot-swe-agent[bot] 11c7d15a90 fix(tasks): skip duplicate check when reprocessing and enable retry from failed pipeline step
- Add file_id parameter to process_document to skip duplicate hash check on reprocess
- Pass file_id from reprocess_single_file and bulk_reprocess_files endpoints
- Extend retry-subtask endpoint to support pipeline steps (process_document,
  process_with_azure_document_intelligence, extract_metadata_with_gpt,
  embed_metadata_into_pdf) in addition to upload tasks
- Add retry button for failed main pipeline steps in file detail UI
- Add comprehensive tests for reprocessing and pipeline step retry

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 21:09:53 +00:00
copilot-swe-agent[bot] 7c074c2755 Initial plan 2026-02-10 20:56:23 +00:00
Christian Krakau-Louis 5ccd283e66 Merge pull request #229 from christianlouis/copilot/refactor-extract-file-status-logic
refactor: extract shared file-status query logic
2026-02-10 21:44:14 +01:00
copilot-swe-agent[bot] 8edc11da04 refactor: extract shared file-status query logic into utility function
- Created app/utils/file_queries.py with apply_status_filter function
- Updated app/api/files.py to use shared function
- Updated app/views/files.py to use shared function
- Removed unused 'or_' import from app/api/files.py
- Added comprehensive tests in tests/test_file_queries.py
- All tests pass (10 new tests, 14 existing tests verified)

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 20:40:11 +00:00
copilot-swe-agent[bot] eb666d8325 Initial plan 2026-02-10 20:35:19 +00:00
Christian Krakau-Louis ff02109e16 Merge pull request #228 from christianlouis/copilot/add-rate-limiting-middleware
Adjust rate limits: increase uploads to 600/minute, remove redundant processing limit
2026-02-10 21:34:46 +01:00
copilot-swe-agent[bot] 403cd02428 feat: Adjust rate limits per feedback - increase uploads to 600/minute, remove processing limit
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 20:29:26 +00:00
copilot-swe-agent[bot] 7480c70de4 plan: Adjust rate limits based on feedback
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 20:26:21 +00:00
copilot-swe-agent[bot] 8634dc0265 fix: Remove accidentally committed pip output file and fix duplicate heading
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 16:23:45 +00:00
copilot-swe-agent[bot] 5633752594 docs: Add comprehensive rate limiting strategy documentation
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 16:22:23 +00:00
copilot-swe-agent[bot] da2be01855 test: Fix rate limiting tests to use existing endpoints
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 16:20:38 +00:00
copilot-swe-agent[bot] 8d347e0a53 feat: Add rate limiting middleware with SlowAPI
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 16:17:53 +00:00
copilot-swe-agent[bot] 0b3f9212d1 Initial plan 2026-02-10 16:12:13 +00:00
Christian Krakau-Louis 6321a130b0 Merge pull request #227 from christianlouis/copilot/fix-api-integration-tests
docs(test): document authentication test configuration and add validation tests
2026-02-10 17:10:46 +01:00
copilot-swe-agent[bot] 1a44de3ea4 style: format test_api_auth_enabled.py with Black and isort
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:53:11 +00:00
copilot-swe-agent[bot] 9795a3966a docs: add comprehensive test setup documentation and auth integration tests
- Add detailed test setup section to CONTRIBUTING.md explaining environment configuration
- Add testing section to README.md with quick start guide
- Create test_api_auth_enabled.py with 11 new integration tests for auth configuration
- Document that tests automatically configure required environment variables (no manual setup)
- Explain AUTH_ENABLED and SESSION_SECRET configuration for tests
- Include examples of testing with authentication enabled
- Reference integration test documentation for Docker-based tests

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:50:13 +00:00
copilot-swe-agent[bot] 6f462c7430 Initial plan 2026-02-10 15:42:30 +00:00
Christian Krakau-Louis 171e4fbfc3 Merge pull request #226 from christianlouis/copilot/fix-ssh-host-keys-again
Fix SFTP host key verification: secure by default
2026-02-10 16:41:46 +01:00
copilot-swe-agent[bot] 9a89f70cf4 fix: change SFTP host key verification default to secure (False)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:39:23 +00:00
copilot-swe-agent[bot] 04c44e6bad Initial plan 2026-02-10 15:34:11 +00:00
Christian Krakau-Louis 89455041cb Merge pull request #225 from christianlouis/copilot/add-webdav-upload-support
Add comprehensive testing infrastructure for WebDAV and upload destinations
2026-02-10 16:31:46 +01:00
copilot-swe-agent[bot] 1dab1fb6fd docs: add comprehensive WebDAV testing summary
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:26:35 +00:00
copilot-swe-agent[bot] fb50c8b375 test: add full-stack integration testing with real infrastructure (PostgreSQL, Redis, Gotenberg, WebDAV, SFTP, MinIO)
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:24:35 +00:00
copilot-swe-agent[bot] f2d70e90cf test: add comprehensive WebDAV tests with real server and Redis integration
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:18:17 +00:00
copilot-swe-agent[bot] 787d48c70e test: create comprehensive WebDAV integration tests with real server
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:13:10 +00:00
copilot-swe-agent[bot] 0b4264a37c Initial plan 2026-02-10 15:07:03 +00:00
Christian Krakau-Louis b4a17adf56 Merge pull request #224 from christianlouis/copilot/add-absender-custom-field
Add custom fields support for Paperless-ngx uploads
2026-02-10 16:06:06 +01:00
copilot-swe-agent[bot] 742b4e2e8c refactor: improve code quality and documentation clarity
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:04:48 +00:00
copilot-swe-agent[bot] 6aeb466491 fix: address code review feedback for custom fields
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:02:05 +00:00
copilot-swe-agent[bot] 327244c43a feat(paperless): add flexible multi-field custom fields mapping
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 15:00:28 +00:00
copilot-swe-agent[bot] eeb32ac77f docs: add documentation for Paperless custom field configuration
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 14:57:14 +00:00
copilot-swe-agent[bot] eab75b89db feat(paperless): add support for setting absender custom field
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 14:54:42 +00:00
copilot-swe-agent[bot] c16635d7c4 Initial plan 2026-02-10 14:49:43 +00:00
Christian Krakau-Louis 8c0fc30d4c Merge pull request #223 from christianlouis/copilot/add-security-headers
Default security headers to disabled for reverse proxy deployments
2026-02-10 15:39:45 +01:00
copilot-swe-agent[bot] 956f0c0c2a refactor: change security headers default to disabled
Security headers are now disabled by default since most deployments use a reverse proxy (Traefik, Nginx) that already adds these headers. Enable with SECURITY_HEADERS_ENABLED=true for direct deployments.

Changes:
- Set security_headers_enabled default to False in app/config.py
- Update all documentation to reflect new default
- Comment out examples in .env.demo (now showing disabled state)
- Update SECURITY_AUDIT.md to reflect reverse proxy as default deployment
- Tests still pass (3 passed, 8 skipped as expected with headers disabled)

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 14:22:47 +00:00
copilot-swe-agent[bot] 20a0e43a11 docs: address code review comments
- Fix test count in SECURITY_AUDIT.md (11 tests, not 24)
- Add deprecation note for ALLOW-FROM in X-Frame-Options
- Update documentation to recommend CSP frame-ancestors instead

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 14:10:23 +00:00
copilot-swe-agent[bot] 68ee832e70 style: format code with Black
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 14:08:24 +00:00
copilot-swe-agent[bot] e144fdd50a feat(security): add configurable security headers middleware
- Add SecurityHeadersMiddleware with HSTS, CSP, X-Frame-Options, X-Content-Type-Options
- Add configuration options in app/config.py
- Integrate middleware into app/main.py
- Add comprehensive tests in tests/test_security_headers.py
- Update .env.demo with security header examples
- Update docs/DeploymentGuide.md with security headers section and Traefik/Nginx examples
- Update docs/ConfigurationGuide.md with detailed configuration reference
- Update SECURITY_AUDIT.md to mark security headers implementation complete

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-10 14:05:19 +00:00
copilot-swe-agent[bot] ec44cb082e Initial plan 2026-02-10 13:59:46 +00:00