- Document GitHub Actions configuration for mock and real OAuth
- Add security best practices for OAuth secrets
- Include troubleshooting guide
- Provide complete workflow examples
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Add MockOAuth2ServerContainer using testcontainers
- Create conftest_oauth.py with OAuth test fixtures
- Add comprehensive OAuth integration tests
- Support both mock (default) and real (CI secrets) OAuth modes
- Add documentation for OAuth testing setup
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Improve PDF test to use valid minimal PDF structure
- Clarify test intent for settings mock behavior
- Make assertions more specific where possible
- Fix singular/plural form test for time formatting
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Create detailed implementation summary document
- Document all deliverables and technical specifications
- Include code statistics and browser compatibility matrix
- List all requirements met and acceptance criteria satisfied
- Provide success metrics and next steps
- Mark feature as production-ready
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Fix response.json() called before checking response.ok in popup.js
- Consolidate duplicate onInstalled listeners in background.js
- Remove unnecessary return true from content.js message handler
- Add better error handling for non-JSON responses
- Improve user experience by not auto-opening popup on install
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Add explicit return value to message listener in content.js
- Fix documentation references in QUICKSTART.md
- Clarify that GET_PAGE_INFO listener is reserved for future use
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
Refactors .github/workflows/tests.yaml so that flake8, black, mypy,
pylint, and bandit each run as their own job in parallel with the test
job. This ensures a failure in one tool never blocks the others, and
contributors see full feedback from every tool on every CI run.
- Upgrades actions/checkout to v4 and actions/setup-python to v5
- All linter jobs are enforced (no continue-on-error)
- Test artifacts (junit.xml, coverage.xml) always uploaded
- Bandit JSON report always uploaded as artifact
- Adds docs/CIWorkflow.md with maintainer documentation
- Updates CONTRIBUTING.md with CI workflow table and link
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Create comprehensive visual guide showing all UI states
- Document color scheme, typography, and accessibility features
- Include ASCII art mockups of popup interface
- Add browser support matrix and performance metrics
- Document user flow and security indicators
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Add complete browser extension with popup UI and background workers
- Support Chrome, Firefox, Edge, and other Chromium-based browsers
- Include context menu integration for quick file sending
- Add comprehensive documentation for users and administrators
- Update main README and API docs to include browser extension
- Implement secure configuration storage in browser extension storage
- Add SSRF-protected URL upload endpoint integration
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- 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>
- Replace ProcessingLog-based tests with FileProcessingStep-based tests
- Update to use step_manager functions (get_file_overall_status, get_step_summary)
- All 6 tests (3 status + 3 metrics) now pass
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Replace ProcessingLog with FileProcessingStep in sample_files fixture
- Update test comments to reflect using steps instead of logs
- All 10 file_queries tests now pass
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
- Replace "hash_file" test step with actual MAIN_PROCESSING_STEPS names
- Fix test_get_step_summary to use upload_to_* instead of queue_* for upload counts
- All 12 step_manager tests now pass
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>