Last Updated: January 18, 2026
- 🔴 High - Core functionality or UX issues
- 🟡 Medium - Nice to have improvements
- 🟢 Low - Future considerations
- First load sometimes fails with "Failed to search photos" error
- Second load/refresh works fine
- Suspected race condition or initialization timing issue
- May be related to oCIS service startup, authentication, or space discovery
- Repro: Hard refresh the page, sometimes first load fails
- Workaround: Refresh the page again
- Add HEIC/HEIF image format support to oCIS
- HEIC files (Apple's default photo format since iOS 11) do not display in oCIS
- Neither thumbnails nor full images load - broken in both photo-addon AND core oCIS file browser
- Example file:
IMG_20251013_174320.heic - Impact: iPhone photos saved in HEIC format are completely unusable
- Requires: Backend changes - likely needs HEIC codec/decoder in thumbnail service
- Possible solutions:
- Add libheif support to oCIS thumbnail generation
- Server-side conversion to JPEG on upload
- Browser-side HEIC decoding (heic2any.js) as fallback
- PR submitted: owncloud/ocis#11912
- Initial review received from @kobergj (Jan 16, 2026)
- Linter fix applied (commit 7500db70)
- Replied to maintainer's question about map lookup logic
- SonarCloud cognitive complexity fix (commit 9404bb14)
- PENDING: Await final approval and merge
- Branch:
feature/photo-metadata-search - Changes: Bleve index photo fields, KQL query support, WebDAV properties
- Draft proposal created for
owncloud/web-extensionsrepo - Submitted issue to web-extensions repo proposing photo-addon and advanced-search
- Received positive response from maintainer - "this is awesome, please go ahead!"
- Wait for maintainer feedback on clarifying questions
- Fork and restructure to
web-app-photosandweb-app-advanced-search - Update license from Apache-2.0 to AGPL-3.0
- Submit PRs after backend PR merges
- Update
ocis_fulldeployment example after web-extensions PR accepted - Add
.enventry:#PHOTOADDON=:web_extensions/photoaddon.yml - Create
web_extensions/photoaddon.ymlwith init container config - Add CSP configuration for Leaflet.js CDN and OpenStreetMap tiles
- Test deployment with Docker Compose
- Reference: https://github.com/owncloud/ocis/blob/master/deployments/examples/ocis_full/
- Replace "Date Source: photo.takenDateTime" with simpler "Date Taken" label
- Add small indicator badge beside date: "(EXIF)" (green) or "(Mod time)" (gray)
- Cleaner, less technical presentation for end users
- Integrate with PhotoPrism image quality scoring
- Use highest quality image as stack "face"
- Fallback to most recent if no quality data
- Quick share button in lightbox view
- Copy link to clipboard
- Share via oCIS sharing dialog
- View existing tags in popup
- Add new tags directly
- Remove tags
- Tag autocomplete from existing tags
- Map view UI with Leaflet.js + OpenStreetMap
- Cluster markers for nearby photos
- Click marker to open photo in lightbox
- Click cluster to zoom in
- GPS coordinates returned by backend
- Map tile gap CSS fix
- "View on Map" from individual photo
- Search for all files within visible map bounds (future enhancement)
- Connect to PhotoPrism API for face detection
- Inject person tags into oCIS metadata
- Face-based photo grouping/filtering
- "People" view showing faces with photo counts
- Retrieve image quality scores from PhotoPrism
- Use for stack cover selection
- Filter/sort by quality
- Requires PhotoPrism instance running alongside oCIS
- Need to map PhotoPrism library to oCIS file paths
- Consider webhook for automatic processing of new uploads
- Create named albums
- Add photos to albums (without moving files)
- Album sharing
- Smart albums (auto-populated by criteria)
- Full-screen slideshow
- Configurable timing
- Transition effects
- Background music support (?)
- Research Flutter vs React Native vs PWA
- Evaluate oCIS mobile SDK availability
- Consider PWA approach first (lower effort)
- Native app for iOS/Android if PWA insufficient
- Offline photo viewing (cached)
- Auto-upload from camera roll
- Background sync
- Add unit tests for new components (48 tests in usePhotos.spec.ts)
- Add E2E tests framework (Playwright) with tests for gallery, lightbox, map view
- Performance optimization for large libraries (10k+ photos)
- Accessibility audit (keyboard navigation, screen readers)
- i18n/localization support (useI18n composable with EN, DE, FR translations)
- Code complexity audit - Refactored and simplified code
- Consolidated types into
types/index.ts - Cleaned up
usePhotos.ts- removed debug logging, extracted utility functions - Updated components to use centralized i18n
- Consolidated types into
- Photo metadata in Bleve search index with
Store=true - KQL photo field queries (cameraMake, cameraModel, takenDateTime, etc.)
- WebDAV
oc:photo-*properties in search results - GPS coordinates exposed in WebDAV search results
- PR #11912 submitted to upstream
- Linter fix (commit 7500db70) - moved comment for formatting
- Cognitive complexity refactor (commit 9404bb14) - extracted appendPhotoProps/appendLocationProps
- Thumbnail cropping fix (aspect ratio preserved)
- Basic photo grid view
- Date grouping by EXIF capture date
- Infinite scroll (backwards in time)
- Lightbox viewer with EXIF panel
- Camera info display (make, model, aperture, ISO, etc.)
- GPS coordinates with "View on Map" link
- WebDAV Search API integration (replaced folder traversal)
- Date-filtered search queries (3-month initial load)
- EXIF toggle respects search query mode
- Stack view: Arrow positioning fixed
- Stack view: Swipe gesture navigation
- Stack view: Touch responsiveness improvements
- UI cleanup: Removed EXIF indicator icon
- UI cleanup: Removed MDATE indicator icon
- Lightbox: Display photo folder path
- Context menu: Download, Open in Files, Copy Link, Delete
- Map view: Full implementation with Leaflet.js
- Map view: Tile gap CSS fix
- Header bar z-index fix
- "Open in Files" link in lightbox
- Pinch-to-zoom calendar groupings (Day/Week/Month/Year views)
- GPS-based stack merging (location + time grouping)
- Lightbox: Simplified date display with EXIF/Upload source badge
- Reduced thumbnail data transfer by 95% (25.8MB → 1.4MB)
- Improved search response time by 83% (4s → 126ms)
- Decreased total XHR data by 93%
- Initial load now fetches 3 months instead of all 5,000+ photos
- Web-extensions proposal submitted to owncloud/web-extensions