Commit Graph

1310 Commits

Author SHA1 Message Date
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
copilot-swe-agent[bot] 1f48503217 docs(a11y): add comprehensive AccessibilityGuide.md
Add docs/AccessibilityGuide.md with WCAG 2.1 Level AA standards, ARIA
patterns, keyboard navigation requirements, color contrast guidelines,
form/table/modal accessibility patterns, testing instructions, and a
developer checklist for UI changes.

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-28 16:18:35 +00:00
copilot-swe-agent[bot] 1968a0e481 ci(a11y): add djlint HTML accessibility lint to CI pipeline
- Add html-lint job to CI that runs djlint on all PRs
- Configure djlint in pyproject.toml with Jinja2 profile and accessibility rules
- Add djlint to requirements-dev.txt
- Expand accessibility section in frontend Copilot instructions (WCAG 2.1 AA)
- Wire html-lint into CI dependency chain (test/mypy/build depend on it)

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-28 16:12:25 +00:00
copilot-swe-agent[bot] 0969436abd feat(ui): add ARIA attributes for accessibility improvements
Add aria-hidden="true" to decorative Font Awesome icons across templates,
aria-label to icon-only buttons, aria-live to dynamic content regions,
aria-labelledby to modals, aria-expanded to toggle buttons, scope="col"
to table headers, and aria-label to tables. Also improve alt text on
500.html error image and add aria-label to password toggle buttons.

Templates updated: settings.html, credentials.html, status_dashboard.html,
file_view.html, file_detail.html, index.html, queue_dashboard.html,
audit_log.html, 500.html

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-28 16:04:33 +00:00
copilot-swe-agent[bot] bf6bbe3512 feat(ui): fix accessibility in upload, search, files, and login templates
- upload.html: Add role/tabindex/aria-label to drop zone, aria-live to status messages, aria-label to file inputs
- search.html: Add role="search", sr-only label, aria-live for results, input type="search"
- files.html: Add table aria-label, scope="col" to headers, aria-sort on sortable columns, aria-labels to action buttons, dialog roles to modals, aria-live to status areas, pagination nav with aria-labels
- login.html: Wrap form in main landmark, aria-hidden on decorative icons

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-28 15:59:12 +00:00
copilot-swe-agent[bot] 364ff9375a feat(ui): add accessibility foundations to base.html and styles.css
- Add skip-to-content link for keyboard navigation (WCAG 2.4.1)
- Add ARIA landmarks: nav aria-label, footer role=contentinfo
- Add aria-current="page" on active nav links
- Add aria-label to admin dropdown button and mobile menu toggle
- Add role="menu" and role="menuitem" to admin dropdown
- Add aria-hidden="true" to all decorative Font Awesome icons
- Add footer nav element with aria-label for footer links
- Add focus-visible outline styles for keyboard navigation (WCAG 2.4.7)
- Add sr-only utility class
- Add dark mode support for skip-link and focus indicators

Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-28 15:55:27 +00:00
github-actions[bot] 414805b8d0 chore(release): update build metadata files [skip ci] 2026-02-28 15:50:05 +00:00
semantic-release 5071fea522 0.60.4
Automatically generated by python-semantic-release
2026-02-28 15:50:03 +00:00
copilot-swe-agent[bot] aa2e559b73 Initial plan 2026-02-28 15:50:02 +00:00
Christian Krakau-Louis b15f66f52b Merge pull request #433 from christianlouis/copilot/fix-retry-upload-task
fix(api): use processed_file_path from DB in upload retry path resolution
2026-02-28 16:49:46 +01:00
copilot-swe-agent[bot] 2f442b0906 test: improve upload retry tests with legacy path assertions and priority verification
Co-authored-by: christianlouis <361235+christianlouis@users.noreply.github.com>
2026-02-28 12:57:50 +00:00