feat: add advanced-search extension with EXIF filters and KQL support#313
feat: add advanced-search extension with EXIF filters and KQL support#313paul43210 wants to merge 4 commits intoowncloud:mainfrom
Conversation
|
@paul43210 it seems that we have the same issue as before. CI did not run. You can see that on checks only show the licence check but no CI. We are working on that... Maybe I have to recreate the PR from my side because that worked as you have seen. We will first finalize and merge the photo PR and then do this one next. Sorry for the inconvenience. @LukasHirt FYI |
ebc4e44 to
48a7e8f
Compare
|
Rebased onto current main with clean commit history. E2E tests are now properly separated - this PR only contains advanced-search extension files. Changes:
Ready for review once PR #312 (photo-addon) merges, to avoid conflicts with shared |
48a7e8f to
55dc915
Compare
|
Simplified PR - removed custom The E2E tests now use the existing generic browser projects which automatically discover tests in Shared files in this PR
Merge orderEither PR (#312 or #313) can merge first. The only overlapping file is No manual steps required between merges. |
Add a powerful advanced search interface with photo/EXIF metadata filtering: Features: - Advanced Filter Panel: Filter by file name, type, size, date modified, media type, tags, and full-text content - Photo/EXIF Metadata Filters: Search by camera make, camera model, date taken, ISO, aperture (f-number), and focal length - Visual Filter Chips: Active filters displayed as removable chips - KQL Query Builder: Direct KQL input with "Apply to Filters" parsing - Multiple View Modes: List, grid, and table views for search results - Saved Searches: Save and load search queries for quick access - Search Statistics Panel: View index status and server details - Keyboard Accessibility: WCAG 2.1 AA compliance Includes 123 unit tests covering KQL building and search functionality. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add Playwright E2E test suite for advanced-search: - Search functionality and filter tests - Filter panel and KQL input tests - Saved searches management tests - View modes and responsive behavior tests Also includes: - Test fixtures with authentication helpers - Global setup for oCIS login - BACKLOG.md for advanced-search roadmap Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
55dc915 to
4cebdd2
Compare
|
Referencing: #319 (comment) We still have some warnings/errors that need fixing, pls add a commit and I will port them to the referenced PR. Linter+ pnpm lint
/drone/src/packages/web-advanced-search/src/components/SearchFilters.vue /drone/src/packages/web-advanced-search/src/components/SearchResults.vue /drone/src/packages/web-advanced-search/src/composables/useAdvancedSearch.ts /drone/src/packages/web-advanced-search/src/views/AdvancedSearchView.vue /drone/src/packages/web-app-draw-io/src/App.vue ✖ 12 problems (8 errors, 4 warnings) ELIFECYCLE Command failed with exit code 1. /drone/src/packages/web-advanced-search/src/components/SearchFilters.vue /drone/src/packages/web-advanced-search/src/components/SearchResults.vue /drone/src/packages/web-advanced-search/src/composables/useAdvancedSearch.ts /drone/src/packages/web-advanced-search/src/views/AdvancedSearchView.vue /drone/src/packages/web-app-draw-io/src/App.vue ✖ 12 problems (8 errors, 4 warnings) ELIFECYCLE Command failed with exit code 1. |
- SearchFilters.vue: avoid side effect in computed by spreading array before sort - SearchResults.vue: add role="button", tabindex, and keyboard handler to clickable items - useAdvancedSearch.ts: remove async from functions without await, use Promise.resolve - AdvancedSearchView.vue: remove redundant ARIA roles on ul/li, move dialog role to inner element, eslint-disable modal backdrop click, remove unused parameter Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix vue/attributes-order warnings across all components and resolve accessibility errors in the save dialog modal overlay. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Summary
Re-submission of the advanced-search extension (originally PR #306) providing a powerful search interface with photo/EXIF metadata filtering capabilities.
Features
Test Plan
pnpm test:unit --filter advanced-search(123 tests)🤖 Generated with Claude Code