Commit Graph

1270 Commits

Author SHA1 Message Date
copilot-swe-agent[bot] 8d81ed6c74 fix: address code review feedback - use specific exceptions, dynamic revision IDs in tests
- Replace bare Exception catches with sa.exc.OperationalError in migration 007
- Use ScriptDirectory.get_heads() for dynamic revision ID assertions in tests
- Make migration count assertion flexible (>= 8 instead of == 8)
- Rewrite pending migrations test to actually test upgrade from revision 006

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 16:57:19 +00:00
copilot-swe-agent[bot] 87d1b9d935 refactor(database): enforce Alembic-only database migrations, deprecate manual schema migrations
- Create alembic.ini and migrations/env.py for full Alembic CLI + programmatic support
- Add Alembic migration 006: detail column on processing_logs
- Add Alembic migration 007: ocr_quality_score column + drop unique filehash index
- Add Alembic migration 008: performance indexes
- Replace _run_schema_migrations() call in init_db() with _run_alembic_upgrade()
- Deprecate _run_schema_migrations() with DeprecationWarning
- Update tests for new Alembic-based approach and deprecation
- Update DatabaseConfiguration.md documentation

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 16:47:41 +00:00
copilot-swe-agent[bot] 5c098d2ac7 Initial plan 2026-03-01 14:52:59 +00:00
github-actions[bot] 5b9f78d2d5 chore(release): update build metadata files [skip ci] 2026-03-01 14:52:47 +00:00
semantic-release 3a2a5a728f 0.67.0
Automatically generated by python-semantic-release
2026-03-01 14:52:44 +00:00
Christian Krakau-Louis 2223700404 Merge pull request #442 from christianlouis/copilot/add-feature-flag-gmail-processing
feat(imap): add IMAP_READONLY_MODE to prevent preprod from modifying shared mailboxes
2026-03-01 15:52:28 +01:00
copilot-swe-agent[bot] f8c5dd539d feat(imap): add IMAP_READONLY_MODE feature flag to safeguard shared mailboxes
When enabled, IMAP processing will fetch and process attachments but
will NOT modify the mailbox state (no starring, labeling, deleting,
or flag changes). This allows preprod instances to safely share a
Gmail inbox with production without interfering with production
email processing.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 14:28:51 +00:00
copilot-swe-agent[bot] 88cd8c4098 Initial plan 2026-03-01 14:23:18 +00:00
github-actions[bot] 70579bc9b6 chore(release): update build metadata files [skip ci] 2026-03-01 14:20:18 +00:00
semantic-release a973855fcd 0.66.0
Automatically generated by python-semantic-release
2026-03-01 14:20:15 +00:00
Christian Krakau-Louis 96b14ec74f Merge pull request #440 from christianlouis/copilot/update-search-functionality
feat(search): add content-finding filters, saved searches, and text quality to Search view
2026-03-01 15:19:57 +01:00
copilot-swe-agent[bot] 68857c1785 style(search): address code review - use const/let, fix date timezone, deduplicate filter keys
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 13:59:23 +00:00
github-actions[bot] b71f021860 chore(release): update build metadata files [skip ci] 2026-03-01 13:58:23 +00:00
semantic-release 46033ff7c2 0.65.0
Automatically generated by python-semantic-release
2026-03-01 13:58:20 +00:00
Christian Krakau-Louis b65d937a36 Merge pull request #439 from christianlouis/copilot/add-bulk-file-operations
feat: bulk operations (delete, reprocess, Cloud OCR, ZIP download) + persisted OCR quality score filter
2026-03-01 14:58:01 +01:00
copilot-swe-agent[bot] de09dba285 docs: update API and User Guide with search filters and saved searches
- Document new /api/search endpoint with all filter parameters
- Update saved searches docs with new allowed filter keys
- Update User Guide with search view filters and saved searches usage

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 13:55:55 +00:00
copilot-swe-agent[bot] 83c3405c98 feat: persist ocr_quality_score and use it for numeric filtering
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 13:46:43 +00:00
copilot-swe-agent[bot] 5bf0a4c0b9 feat(search): add content-finding filters, saved searches, and text quality to Search view
- Add tags, sender, text_quality filters to search API and Meilisearch client
- Add sender and ocr_text_length to Meilisearch filterable attributes
- Expand saved search allowed filter keys to include q, document_type, language, sender, text_quality
- Add filters panel and saved searches UI to the Search view template
- Add tests for new search filters, saved search keys, and search view elements

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 13:46:15 +00:00
copilot-swe-agent[bot] 705b970522 feat: add bulk download, cloud OCR, and basic OCR quality filter
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 13:38:42 +00:00
github-actions[bot] fbfd2edc9e chore(release): update build metadata files [skip ci] 2026-03-01 13:34:41 +00:00
semantic-release 9cd1206c3b 0.64.1
Automatically generated by python-semantic-release
2026-03-01 13:34:39 +00:00
Christian Krakau-Louis 4e5a3ad973 Merge pull request #438 from christianlouis/copilot/fix-upload-queue-overwrite
fix: append new drag-and-drop batches to upload queue instead of replacing it
2026-03-01 14:34:23 +01:00
copilot-swe-agent[bot] e797832561 Initial plan 2026-03-01 13:32:57 +00:00
copilot-swe-agent[bot] 81c08ed9d0 fix: append new drops to upload queue instead of overwriting it
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 13:26:49 +00:00
copilot-swe-agent[bot] e8ed375bba Initial plan 2026-03-01 13:25:10 +00:00
copilot-swe-agent[bot] f11b5e74b5 Initial plan 2026-03-01 13:23:51 +00:00
github-actions[bot] 3eb3b9f8db chore(release): update build metadata files [skip ci] 2026-03-01 12:30:52 +00:00
semantic-release 11724b5500 0.64.0
Automatically generated by python-semantic-release
2026-03-01 12:30:49 +00:00
Christian Krakau-Louis 05c35a6775 Merge pull request #437 from christianlouis/copilot/add-file-download-endpoint
fix(api): change download endpoint default version from `original` to `processed`
2026-03-01 13:30:30 +01:00
github-actions[bot] dc93cde437 chore(release): update build metadata files [skip ci] 2026-03-01 12:30:20 +00:00
semantic-release eb695116e2 0.63.0
Automatically generated by python-semantic-release
2026-03-01 12:30:18 +00:00
Christian Krakau-Louis be01232408 Merge pull request #436 from christianlouis/copilot/add-advanced-filtering-feature
feat: add advanced filtering and saved searches
2026-03-01 13:30:01 +01:00
copilot-swe-agent[bot] 82f7113d39 fix(db): add saved_searches table to runtime schema migrations
The Alembic migration alone doesn't run automatically. Add the
saved_searches table creation to _run_schema_migrations() in
database.py so existing databases are upgraded at startup.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 11:36:42 +00:00
copilot-swe-agent[bot] d5884f6d2c fix(api): address code review feedback - logging, wildcard escaping, UX
- Add exception logging in saved search error handlers
- Escape SQL LIKE wildcards (%, _) in tags filter to prevent unintended matching
- Improve UI alert message for empty filter save attempt

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 11:32:34 +00:00
copilot-swe-agent[bot] cc9fd1a7fe docs(api): document advanced filtering and saved searches endpoints
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 11:29:47 +00:00
copilot-swe-agent[bot] e5a4c6c64a feat(api): add advanced filtering and saved searches
- Add date range (date_from/date_to), storage provider, and tags filters to GET /api/files
- Add SavedSearch model and migration (005_add_saved_searches)
- Add CRUD API endpoints for saved searches at /api/saved-searches
- Update files.html template with new filter controls and saved searches UI
- Update files view to pass new filter parameters to template
- Add comprehensive tests for all new functionality (26 tests)

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 11:22:07 +00:00
copilot-swe-agent[bot] 7b5494bafb feat(api): default download endpoint to processed file version
- Change default `version` param from 'original' to 'processed' so
  GET /api/files/{id}/download (no param) returns the processed file
- Update docstring to reflect new default
- Add tests: ?version=processed, default→processed, invalid→400
- Fix test_file_download_missing_mime_type to use explicit ?version=original
- Add File Download section to docs/API.md

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 11:15:14 +00:00
copilot-swe-agent[bot] 75a9a37d1a Initial plan 2026-03-01 11:08:58 +00:00
copilot-swe-agent[bot] f45e9bfd70 Initial plan 2026-03-01 11:06:49 +00:00
github-actions[bot] c4b4c09805 chore(release): update build metadata files [skip ci] 2026-03-01 10:59:48 +00:00
semantic-release 73f6a00ac8 0.62.0
Automatically generated by python-semantic-release
2026-03-01 10:59:45 +00:00
Christian Krakau-Louis 8674ea0b86 Merge pull request #435 from christianlouis/copilot/add-in-browser-document-preview
feat: add in-browser document preview with pdf.js, image zoom/pan, and text viewer
2026-03-01 11:59:28 +01:00
copilot-swe-agent[bot] d095e30467 fix: address code review feedback on tests and placeholder messages
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 07:51:07 +00:00
copilot-swe-agent[bot] c814af1145 fix(ui): preview modal falls back to original version when processed unavailable
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 07:48:44 +00:00
copilot-swe-agent[bot] 7a8ccba9be test(preview): add 23 tests for document preview features
Also updates UserGuide.md with documentation for pdf.js viewer,
image zoom/pan, text preview, and the file-list preview modal.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 07:42:48 +00:00
copilot-swe-agent[bot] 372e8cdff1 feat(ui): add pdf.js viewer, image zoom/pan, text preview, and preview modal
- Replace iframe in file_view.html with pdf.js for PDF files
- Add image viewer with zoom/pan controls to file_view.html
- Add text file viewer with line numbers to file_view.html
- Add preview side-panel modal to files.html (file list)
- Fix file_detail.html bottom preview section variable names
- Add aria-labels and WCAG compliance to all new elements

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-03-01 07:32:30 +00:00
copilot-swe-agent[bot] 3dbca56074 Initial plan 2026-03-01 07:18:31 +00:00
github-actions[bot] e9d8f6f21b chore(release): update build metadata files [skip ci] 2026-02-28 20:12:12 +00:00
semantic-release 8539de9ee7 0.61.0
Automatically generated by python-semantic-release
2026-02-28 20:12:09 +00:00
Christian Krakau-Louis 142d5618fb Merge pull request #434 from christianlouis/copilot/ensure-accessibility-compliance
feat(ui): WCAG 2.1 AA accessibility compliance with CI enforcement
2026-02-28 21:11:53 +01:00