Skip to content

MM: fix(advanced-search): detect OCR status + align UI with ODS#338

Merged
mmattel merged 15 commits intomainfrom
mm_fix-advanced-search-translations
Mar 13, 2026
Merged

MM: fix(advanced-search): detect OCR status + align UI with ODS#338
mmattel merged 15 commits intomainfrom
mm_fix-advanced-search-translations

Conversation

@mmattel
Copy link
Copy Markdown
Contributor

@mmattel mmattel commented Mar 2, 2026

References: #334 (fix(advanced-search): detect OCR status + align UI with ODS)
Fixes: #331 (Small issues for advanced-search)

This PR is the CI working version of the referenced PR above.

@paul43210 FYI

@mmattel mmattel added the bug Something isn't working label Mar 2, 2026
@mmattel mmattel force-pushed the mm_fix-advanced-search-translations branch from 8498aea to 9179f2f Compare March 2, 2026 12:28
Copy link
Copy Markdown
Contributor

@paul43210 paul43210 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is effectively the same as #334 (same base commits). Only difference is #334 has an additional fix: samsungSamsung capitalization in KNOWN_CAMERA_MAKES (per mmattel's own feedback on #334).

Suggest merging #334 instead since it includes that fix, or cherry-picking the Samsung fix into this branch.

LGTM otherwise.

@mmattel mmattel force-pushed the mm_fix-advanced-search-translations branch 4 times, most recently from beaa687 to fc25915 Compare March 8, 2026 11:38
@mmattel mmattel requested a review from LukasHirt March 8, 2026 11:50
@mmattel mmattel force-pushed the mm_fix-advanced-search-translations branch from fc25915 to 9feb2ff Compare March 9, 2026 06:52
@mmattel mmattel enabled auto-merge March 9, 2026 07:07
Copy link
Copy Markdown
Collaborator

@LukasHirt LukasHirt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly questions than change requests. For future PRs, I would ask you to please limit the size because these large PRs are hard to review.

Comment thread packages/web-app-advanced-search/src/components/FilterChip.vue Outdated
Comment thread packages/web-app-advanced-search/src/components/FilterChip.vue Outdated
Comment thread packages/web-app-advanced-search/src/components/FilterChip.vue Outdated
Comment thread packages/web-app-advanced-search/src/components/FilterSelect.vue Outdated
@mmattel mmattel force-pushed the mm_fix-advanced-search-translations branch from 9feb2ff to b52f996 Compare March 12, 2026 10:33
paul43210 and others added 15 commits March 13, 2026 09:36
oCIS does not expose an explicit OCR flag in config.json or capabilities.
When Tika with Tesseract is running, content search is enabled but OCR
always showed as Disabled. Fall back to checking
capabilities.search.property.content.enabled as a proxy for OCR support.

Fixes #331

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace all custom button styling with ODS button classes, swap emoji
icons for SVG icons, convert native selects to FilterSelect chip
dropdowns with custom text support, replace hardcoded colors with CSS
variables for dark mode support, and remove dead CSS rules.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Google Pixel phones store 'Google' as the EXIF camera make.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix double-quote content search causing 500 error (strip user-entered
  quotes before KQL wrapping to avoid "..."" invalid syntax)
- Fix date year input scrambling (only auto-swap when both dates are
  fully formed YYYY-MM-DD, not during mid-edit typing)
- Change date display to ISO 8601 format (yyyy-mm-dd) per international
  standard
- Add real image thumbnails in search results (authenticated DAV preview
  fetch with blob URL caching, shown in list and grid views)
- Fix Open in Files 404 (use /f/{fileId} short URL instead of broken
  /preview/ pattern)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ad of ShallowRef

ShallowRef<Map> props caused 'Cannot read properties of undefined
(reading get)' because Vue doesn't handle ShallowRef as prop types
correctly. Replace with a simple thumbnailVersion number prop that
increments when new thumbnails load, triggering v-memo re-evaluation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… columns

- Add real image thumbnails in table view Name column
- Use table-layout: fixed with column widths so Path truncates instead
  of causing horizontal scroll
- Click any column header to sort (click again to reverse). Active sort
  shows triangle indicator. Date columns default to descending.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…uts, size shorthand

- Fix lint: add aria-label to FilterSelect custom input
- Fix e2e tests: update selectors to match actual UI classes
- Camera make/model: add wildcards so "Nikon" matches "NIKON CORPORATION"
- Date inputs: add @change handler so manual typing updates KQL
- File size: support K/M/G shorthand (e.g., "1M" = 1048576 bytes)
- Rebased onto upstream/main (includes merged #337)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Browser warning: form field element should have an id or name attribute.
Generates a unique id from the label prop (e.g., filter-custom-camera-make).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Unit test expectations now match the new wildcard behavior:
photo.cameramake:Canon → photo.cameramake:*Canon*

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Prevent NaN from appearing in KQL when non-numeric input is entered
in size/ISO/aperture/focal length fields. NaN range parts are now
silently dropped so only valid numeric expressions appear in the query.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ix, error clear

- Replace inline SVGs with OcIcon component (check, close, arrow-down-s,
  arrow-right-s) in FilterChip, FilterSelect, SearchFilters
- Replace raw HTML buttons with OcButton in FilterSelect dropdown
- Replace <span class="oc-tag"> with OcTag in FilterChip
- Fix date range scramble: remove @input handlers from date fields,
  keep only @change (fires on blur, not per-keystroke)
- Fix sticky error: clearFilters() now resets state.error to null
- Replace setTimeout with nextTick in FilterSelect click-outside handler
- Add @ownclouders/design-system dependency and externalize for build

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rt broken externals

- Use globally registered oc-icon/oc-tag/oc-button (no imports needed)
- Revert design-system externalization that broke runtime loading
- Remove date auto-swap logic that scrambled start date during typing
- Use @change instead of @input for date fields
- Add max="9999-12-31" to constrain year to 4 digits
- Use plain <button> with OC CSS classes in dropdowns (oc-button
  component's click events break click-outside handlers)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…IS styling

Replace custom chip/dropdown implementation with oc-filter-chip component
(Tippy.js positioning, click-outside handling, chip button styling).
Use oc-button, oc-checkbox, oc-icon from design system for list items.
Add colorful file type icons via --oc-color-icon-* CSS variables.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The media type filter now uses oc-filter-chip which renders with
class "oc-filter-chip-button" instead of our old "filter-chip-btn".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@mmattel mmattel force-pushed the mm_fix-advanced-search-translations branch from b52f996 to e9f1646 Compare March 13, 2026 08:39
@mmattel mmattel merged commit 80400c1 into main Mar 13, 2026
2 checks passed
@mmattel mmattel deleted the mm_fix-advanced-search-translations branch March 13, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Small issues for advanced-search

3 participants