Commit Graph

18 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 48331f6e91 fix(tests): restore correct route URLs and fix auth/exception handling broken by d221753
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/df99f308-d964-4732-88b7-a01be6aeee05
2026-03-24 20:22:18 +00:00
google-labs-jules[bot] d22175310a 🛡️ Sentinel: [HIGH] Fix Server-Side Request Forgery in IMAP connections
🚨 Severity: HIGH
💡 Vulnerability: User-provided IMAP `host` in `_test_imap_connection` and `pull_inbox` was not validated against private IPs, creating an SSRF risk.
🎯 Impact: Attackers could abuse the endpoints to port-scan or interact with internal/private network services.
🔧 Fix: Integrated `is_private_ip` from `app.utils.network` to block connections resolving to private, loopback, link-local, or reserved IPs.
 Verification: Ran `test_imap_tasks.py` and `test_api_imap_accounts.py` successfully. Checked `ruff` output and diffs. Removed all scratch files from the commit.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-23 14:45:22 +00:00
copilot-swe-agent[bot] f852ba9783 refactor(views): split file views into summary, detail, process, and annotations pages
- /files/<id> → new summary page with navigation cards
- /files/<id>/detail → document detail with metadata, preview, text
- /files/<id>/process → processing pipeline status and history
- /files/<id>/annotations → comments & annotations with EmbedPDF viewer
- /files/<id>/comments → redirects to /annotations
- Added embed-pdf-viewer as git submodule for PDF annotation viewer
- Updated all navigation links across templates
- Updated all tests to use new URL structure

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Agent-Logs-Url: https://github.com/christianlouis/DocuElevate/sessions/12276514-bd3d-4e3e-84d9-5977d1f82b19
2026-03-22 11:48:57 +00:00
copilot-swe-agent[bot] c485d4410d fix(tests): correct OCR subtask retry test to patch process_with_ocr instead of azure module
The test was patching the wrong module: it mocked
`process_with_azure_document_intelligence` but the implementation routes
that legacy alias to `process_with_ocr.delay()`. The unmocked Celery call
tried to connect to Redis and returned HTTP 500 in CI.

- Fix patch target to `app.tasks.process_with_ocr.process_with_ocr`
- Add `mock_ocr.delay.assert_called_once()` assertion
- Add `test_retry_pipeline_step_ocr_direct` covering the
  `process_with_ocr` subtask name directly

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-07 15:18:07 +00:00
copilot-swe-agent[bot] e6a4995a5c style: run ruff format on 6 files to fix formatting issues
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-13 22:39:34 +00:00
copilot-swe-agent[bot] d259d58431 refactor: move shutil import to top of test file and fix whitespace
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-13 21:08:48 +00:00
copilot-swe-agent[bot] 42d35c7c6f fix: handle file in processed directory when retrying embed_metadata_into_pdf
- Update _retry_pipeline_step to check for file in tmp, processed, and fallback locations
- Pass full path to extract_metadata_with_gpt instead of just basename
- Update extract_metadata_with_gpt to handle both basename and full path parameters
- Add test case for retrying when file is in processed directory

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-13 21:06:20 +00:00
copilot-swe-agent[bot] 43bc58770d refactor: consolidate linting tools into Ruff
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-13 09:10:52 +00:00
copilot-swe-agent[bot] ad39ee7afa fix(test): update 11 failing tests to match refactored status tracking and API changes
- Update test_bulk_operations.py: Use FileProcessingStep instead of ProcessingLog for status filter tests
- Update test_file_listing.py: Use FileProcessingStep for processing status determination tests
- Update test_file_detail_endpoints.py: Replace hash_file with check_text in step summary test
- Update test_path_traversal_security.py: Import get_unique_filepath_with_counter from correct module
- Update test_process_document.py: Match current duplicate handling behavior (creates new record)

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-12 02:54:46 +00:00
copilot-swe-agent[bot] 72cea0d8c9 fix: Update existing test to include timestamp in MockLog
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-11 19:40:34 +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] 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] 98fe5ab864 test: add inline preview header verification test
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-08 16:14:45 +00:00
copilot-swe-agent[bot] 78004cd9a4 style: Apply Black formatting to modified files
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-08 08:16:54 +00:00
copilot-swe-agent[bot] 0a461343e7 fix: Add service containers and fix test failures
- Add Redis and RabbitMQ services to CI workflow
- Fix Jinja2 template error by passing file=None in error cases
- Fix test expecting dict response format for list_files endpoint
- Fix NOT NULL constraint by providing valid local_filename
- Fix retry-subtask to validate subtask name before checking processed file
- Add mock for process_document in reprocess test

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-08 08:14:09 +00:00
copilot-swe-agent[bot] 06830b945e Add comprehensive tests for file detail view enhancements
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-07 22:11:16 +00:00
copilot-swe-agent[bot] 97bc37bb0b Add tests for file detail view endpoints
- Added tests for reprocess endpoint with various scenarios
- Added tests for file preview endpoint (original and processed)
- Added tests for enhanced file detail view
- Tests cover success cases, error cases, and edge cases

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-07 20:53:09 +00:00