| 5587 |
 |
Search: Use parameterized queries for all user input
|
|
|
20h |
20h |
|
please-test
security
database
|
assigned assignee-updated
|
| 5588 |
 |
Config: Centralize SQL driver names and parsing in `pkg/dsn`
|
|
|
19h |
18h |
|
please-test
config
database
|
assigned
|
| 5558 |
 |
Settings: Editing the password or API key of an existing webdav service is not saved
|
|
|
13d |
1d |
1d |
please-test
ux
config
|
assigned member-last send
|
| 5559 |
 |
Frontend: Upgrade ESLint, webpack-cli, and related lint tooling majors
|
|
|
13d |
12d |
|
frontend
ci
tests
|
assigned assignee-updated
|
| 5557 |
 |
Frontend: Evaluate upgrade from Vuetify 3.12.2 to Vuetify 4
|
|
|
13d |
13d |
|
frontend
ux
|
|
| 5555 |
 |
AI: Upgrade ONNX Runtime from v1.25.0 to v1.25.1
|
|
|
13d |
13d |
|
please-test
ai
|
assigned
|
| 5553 |
 |
HEIC: Upgrade libheif from v1.20.2 to v1.21.2
|
|
|
14d |
13d |
13d |
please-test
thumbnails
|
assigned member-last send
|
| 5552 |
 |
Frontend: Pre-compress static assets at build time
|
|
|
14d |
4d |
14d |
frontend
performance
tested
|
assigned member-last send
|
| 5556 |
 |
Frontend: Clear stale .v-field--focused on v-autocomplete after focus moves
|
|
|
13d |
20h |
|
help wanted
low-priority
frontend
ux
|
|
| 5550 |
 |
Server: Add zstd compression support
|
|
|
14d |
4d |
14d |
performance
tested
api
|
assigned member-last send
|
| 5546 |
 |
Frontend: Rename PServiceEdit prop "model" to "service" to clear lint warnings
|
|
|
2wk |
13d |
|
frontend
tested
|
assigned
|
| 5560 |
 |
Frontend: Upgrade Vitest test runner from v3 to v4
|
|
|
13d |
12d |
|
frontend
tests
|
assigned
|
| 5543 |
 |
Docker: Upgrade base images to Ubuntu 26.04 LTS (Resolute Raccoon)
|
|
|
3wk |
7d |
7d |
please-test
docker
video
raw
|
assigned member-last
|
| 5561 |
 |
Frontend: Audit and remove orphan dependencies left from past migrations
|
|
|
12d |
12d |
|
frontend
ci
tests
|
assigned
|
| 5580 |
 |
Viewer: Add a menu action with shortcut to toggle captions
|
|
|
4d |
3d |
|
please-test
ux
metadata
|
assigned
|
| 5532 |
 |
Labels: Case and punctuation variants create duplicates on the edit dialog's Labels tab
|
|
|
4wk |
6d |
6d |
tested
|
assigned member-last
|
| 5531 |
 |
Labels: Renaming a label and adding it again by its previous name creates a duplicate
|
|
|
4wk |
6d |
13d |
tested
labels
|
assigned member-last send
|
| 5544 |
 |
Build: Evaluate Pebble as a potential s6-overlay replacement
|
|
|
3wk |
14d |
|
|
|
| 5584 |
 |
UX: Enhance frontend input validation to ensure consistency
|
|
|
1d |
1d |
|
please-test
frontend
ux
|
assigned
|
| 5538 |
 |
UX: Country & Time Zone selects close immediately after activation
|
|
|
3wk |
4d |
13d |
frontend
ux
tested
|
assigned assignee-updated member-last send
|
| 5535 |
 |
Search: Add NOT & AND operators to label filter
|
|
|
4wk |
13d |
|
tested
labels
|
assigned
|
| 5506 |
 |
OIDC: Automatic redirect of unauthenticated users not working on direct links
|
|
|
6wk |
1d |
1d |
please-test
auth
|
assigned assignee-updated member-last pr-closed send
|
| 5508 |
 |
Face: Drop legacy Pigo detector
|
|
|
6wk |
14d |
|
security
tested
faces
|
assigned
|
| 5474 |
 |
WebDAV: Harden Timeouts, Cancellation, & Depth-1 Fallback Diagnostics
|
|
|
2mo |
6d |
2mo |
tested
sharing
|
assigned member-last
|
| 5447 |
 |
Config: Add option to exclude file extensions globally
|
|
|
3mo |
14d |
2mo |
config
index
|
assigned assignee-updated author-last recv
|
| 5438 |
 |
Albums: Use a temporary ZIP file for large downloads containing tens of thousands of files
|
|
|
3mo |
14d |
3mo |
waiting
|
author-last recv
|
| 5393 |
 |
Faces: Slow face updates in 2.5M-photo library
|
|
2
|
4mo |
14d |
3mo |
performance
faces
|
assigned assignee-updated pr-unreviewed recv recv-q
|
| 5383 |
 |
Index: Add support for layered TIFF and Adobe Photoshop PSD images
|
|
|
5mo |
14d |
2mo |
tested
thumbnails
|
assigned assignee-updated member-last send
|
| 5536 |
 |
MCP: Add `--disable-mcp` flag to optionally disable the MCP API endpoint
|
|
|
4wk |
7d |
|
security
tested
config
|
assigned
|
| 5476 |
 |
Auth: Add “Stay signed in on this device” login toggle
|
|
|
2mo |
7wk |
|
ux
security
tested
auth
|
assigned
|
| 5313 |
 |
UX: Improve `VCombobox` menu rendering in dialogs
|
|
|
6mo |
2mo |
6mo |
in-progress
ux
faces
|
assigned assignee-updated member-last pr-merged
|
| 5227 |
 |
Labels: Add support for homophones and homophone-aware lookups
|
|
|
7mo |
6d |
2mo |
ux
tested
|
assigned assignee-updated member-last pr-unreviewed send
|
| 5212 |
 |
CLI: Add "photoprism vision pull" command to download AI models
|
|
|
8mo |
5mo |
|
help wanted
ai
cli
config
|
contributor-last recv-q
|
| 5478 |
 |
OIDC: Retry provider initialization after transient discovery failure
|
|
|
2mo |
14d |
|
ux
tested
auth
|
assigned
|
| 5024 |
 |
AI: Add support for Model Context Protocol (MCP)
|
|
|
11mo |
7d |
4wk |
tested
ai
api
|
assigned pr-merged
|
| 5382 |
 |
Metrics: Add OpenTelemetry (OTLP) integration
|
|
|
5mo |
5mo |
|
pro-feature
config
observability
|
assigned
|
| 4965 |
 |
Viewer: Add more information to sidebar
|
|
2
|
1y |
14d |
4mo |
please-test
ux
|
assigned assignee-updated member-last pr-merged pr-unreviewed similar
|
| 5353 |
 |
Thumbs: Drop `disintegration/imaging` library integration
|
|
|
5mo |
4wk |
|
security
tested
config
thumbnails
|
assigned assignee-updated
|
| 5513 |
 |
Labels: Allow disabling auto-generation from captions and titles
|
|
|
6wk |
14d |
|
labels
|
|
| 4964 |
 |
Thumbs: Allow more fine-grained control over libvips memory usage
|
|
|
1y |
1y |
|
performance
config
thumbnails
|
assigned
|
| 4777 |
 |
UX: Re-implement "pull to refresh" gesture to refresh search results on mobile devices
|
|
|
1y |
1y |
1y |
help wanted
ux
mobile
|
assigned assignee-updated member-last
|
| 4814 |
 |
Viewer: Add option to show all photos of a stack
|
|
|
1y |
14d |
|
ux
|
|
| 4488 |
 |
FFmpeg: Improve the quality of HDR video thumbnails
|
|
|
2y |
7d |
7d |
please-test
|
member-last pr-merged
|
| 5051 |
 |
Translations: Make missing strings translatable
|
|
|
11mo |
11mo |
|
|
|
| 5509 |
 |
Images: Add native HEIC/HEIF and AVIF support
|
|
|
6wk |
7d |
|
please-test
performance
thumbnails
|
assigned
|
| 4268 |
 |
Keywords: Support apostrophes in keywords
|
|
3
|
2y |
14d |
2y |
help wanted
|
author-last recv
|
| 4966 |
 |
Viewer: Make information on the sidebar editable
|
|
2
|
1y |
21h |
|
please-test
frontend
ux
metadata
|
assigned assignee-updated pr-merged pr-unreviewed similar
|
| 4369 |
 |
Auth: Add `userinfo` API endpoint to get information about the logged in user
|
|
|
2y |
14d |
2y |
help wanted
security
auth
api
|
recv-q
|
| 4094 |
 |
Stacks: Stack files by dc:identifier
|
|
|
2y |
14d |
2y |
|
member-last pr-unreviewed send
|
| 4087 |
 |
task "convert" takes a very long time to sort through the already encoded files
|
|
|
2y |
14d |
2y |
help wanted
needs-analysis
|
author-last recv recv-q
|
| 4067 |
 |
Video: Allow streaming of all HEVC videos under Windows, e.g. by transcoding to AVC
|
|
|
2y |
14d |
2y |
help wanted
video
metadata
|
member-last send
|
| 4368 |
 |
Auth: Add `authorize` API endpoint to implement the authorization code flow
|
|
|
2y |
14d |
2y |
help wanted
security
auth
api
|
|
| 3954 |
 |
Stacks: Stack related files based on new Google naming
|
|
|
2y |
14d |
2y |
|
recv-q send
|
| 3950 |
 |
API: `GET albums` should return photo count for additional album types
|
|
|
2y |
11mo |
2y |
help wanted
api
|
member-last send
|
| 3894 |
 |
Metadata: Timestamps may be incorrect if non-standard XMP sidecar files are created and uploaded with PhotoSync
|
|
|
2y |
2y |
2y |
help wanted
needs-analysis
metadata
|
send
|
| 3891 |
 |
Extended stay on Faces page results in 5GB memory use for browser tab, eventually crashing the tab
|
|
|
2y |
14d |
2y |
help wanted
performance
faces
|
member-last send
|
| 3767 |
 |
Albums: Viewers should have the same sort/search options as regular users
|
|
|
2y |
14d |
2y |
ux
|
assigned assignee-updated member-last send
|
| 4106 |
 |
Metadata: Support reading GPS information from xmp
|
|
2
6
|
2y |
14d |
2y |
|
pr-unreviewed recv-q send similar
|
| 3763 |
 |
Albums: Add option to sort albums/states chronologically by date of assigned photos
|
|
9
|
2y |
14d |
2y |
|
assigned pr-closed
|
| 3667 |
 |
Repeated Bulk Editing of >999 Images crashes the webpage
|
|
|
2y |
2y |
2y |
|
member-last send
|
| 3643 |
 |
UX : Use more intuitive icons for rotating images
|
|
6
|
2y |
14d |
|
ux
|
|
| 3627 |
 |
macOS: Build a native app image that works without Docker
|
|
6
6
13
|
2y |
4mo |
5mo |
help wanted
performance
ci
macos
|
assigned assignee-updated recv-q
|
| 4480 |
 |
Feature Request: Allows Adding Custom Fields
|
|
|
2y |
2y |
2y |
|
recv
|
| 4104 |
 |
UX : Add Favorites section to main navigation for users with role viewer
|
|
|
2y |
14d |
|
|
assigned
|
| 3556 |
 |
Import: Include original filename in error message in case an imported file cannot be indexed
|
|
|
2y |
14d |
|
|
assigned
|
| 3456 |
 |
Places: Provide freely available terrain data to display all maps in 3D
|
|
|
2y |
14d |
2y |
help wanted
places
|
|
| 3380 |
 |
WebDAV: Support for fetching folders from very large shares
|
|
|
3y |
14d |
3y |
help wanted
ux
|
member-last send
|
| 3591 |
 |
UX: Add download button to the contextmenu in archive
|
|
|
2y |
14d |
|
ux
|
|
| 3371 |
 |
UX: Warn the user if the upload was successful, but indexing failed
|
|
2
|
3y |
14d |
3y |
ux
upload
|
member-last send
|
| 3306 |
 |
Metadata: Support a separate digitization date (for scans of old and new film photographs alike)
|
|
|
3y |
14d |
3y |
|
author-last recv
|
| 3292 |
 |
People Merging
|
|
16
|
3y |
1y |
1y |
faces
|
member-last send
|
| 3230 |
 |
NSFW filter not moving files to private
|
|
|
3y |
2y |
3y |
help wanted
needs-analysis
|
send
|
| 3216 |
 |
Query breaks in strict compilers, or Mariadb in only_full_group_by mode
|
|
2
|
3y |
14d |
3y |
|
recv recv-q
|
| 4035 |
 |
Folder View Year Filter loses folders that have more than one year in
|
|
|
2y |
14d |
2y |
|
member-last send
|
| 3155 |
 |
Display HTTP 4xx Error Code if it occurs (eg if upload in webapp fails)
|
|
|
3y |
14d |
3y |
help wanted
ux
|
member-last send
|
| 3133 |
 |
Sharing: Easy bookmarking of shared albums
|
|
4
4
|
3y |
14d |
2y |
ux
sharing
|
assigned assignee-updated member-last send
|
| 3088 |
 |
WebDAV: Detect if source and destination end up pointing to the same folder (loop)
|
|
|
3y |
14d |
3y |
help wanted
|
recv recv-q
|
| 3055 |
 |
Better Moments
|
|
3
10
|
3y |
14d |
3y |
|
send
|
| 3052 |
 |
Api for slideshow on tv using ptobably a raspberry pi
|
|
|
3y |
11mo |
3y |
needs-analysis
api
|
member-last send
|
| 3045 |
 |
User avatar: support other image formats
|
|
|
3y |
14d |
3y |
|
recv recv-q
|
| 2672 |
 |
Settings: Add options to configure title capitalization
|
|
2
|
3y |
14d |
3y |
metadata
|
member-last send
|
| 3362 |
 |
PWA: Enable long-touch menu in photo viewer (iOS)
|
|
4
|
3y |
14d |
|
help wanted
|
recv-q
|
| 2267 |
 |
WebDAV: Add Bearer authentication support e.g. for ownCloud 10
|
|
|
4y |
14d |
2mo |
help wanted
|
member-last send
|
| 2260 |
 |
Metadata: Improve XMP parser to support more tags
|
|
10
|
4y |
14d |
2y |
priority
metadata
|
assigned assignee-updated member-last pr-unreviewed
|
| 4815 |
 |
Viewer: Add indicator for live photos
|
|
|
1y |
14d |
|
ux
|
|
| 2446 |
 |
RAW: `PHOTOPRISM_JPEG_SIZE` is ignored when converting RAW with `RawTherapee`
|
|
|
3y |
14d |
3y |
help wanted
raw
|
recv recv-q
|
| 2221 |
 |
Library: Increase/remove limit of 999 files when browsing originals
|
|
3
|
4y |
14d |
2y |
help wanted
ux
|
member-last send
|
| 3560 |
 |
UX: Display the bitrate of videos on the files tab of the edit dialog
|
|
|
2y |
14d |
|
|
|
| 2241 |
 |
Stacks: Lightroom sequencial naming
|
|
|
4y |
14d |
4y |
|
member-last pr-closed send
|
| 2627 |
 |
search-offset for back-navigation never reset
|
|
|
3y |
14d |
3y |
ux
|
contributor-last pr-merged recv
|
| 1895 |
 |
Import: Continue if Live Photo MOV is broken but HEIF is ok
|
|
|
4y |
14d |
4y |
ux
live
|
member-last pr-merged send
|
| 2049 |
 |
Web Upload: Add limit + info message
|
|
|
4y |
14d |
|
upload
|
assigned
|
| 1766 |
 |
Places: Fallback to nearby state if unknown at the precise location
|
|
|
4y |
14d |
4y |
needs-analysis
|
contributor-last recv
|
| 1728 |
 |
Docs: Recommendation List of Beginner-Friendly VPNs incl Feature Matrix
|
|
8
|
4y |
4y |
|
help wanted
no-coding-required
|
contributor-last recv-q
|
| 1727 |
 |
Windows: Should We Use Package Managers to Simplify Setup?
|
|
|
4y |
4y |
4y |
help wanted
research
no-coding-required
|
member-last
|
| 1641 |
 |
Nextcloud: Content-Security-Policy headers prevent PhotoPrism from loading in a frame
|
|
5
11
|
4y |
14d |
4y |
|
recv-q send
|
| 2175 |
 |
Build: Provide binaries with x86 optimizations like AVX2
|
|
|
4y |
14d |
|
performance
|
assigned
|
| 1885 |
 |
Apple: Support new Live Photo file names
|
|
|
4y |
14d |
4y |
metadata
live
|
recv
|
| 1628 |
 |
Sharing: Icon appears only when accessing the server via FQDN URL
|
|
|
4y |
2y |
4y |
help wanted
needs-analysis
sharing
|
send
|
| 1571 |
 |
People: Import people tags from google takeout json
|
|
3
18
|
4y |
14d |
|
|
recv-q
|
| 2133 |
 |
Metadata: Use creation time from Google Photos JSON sidecar file
|
|
4
11
|
4y |
14d |
4y |
help wanted
needs-analysis
metadata
|
assigned assignee-updated recv-q send
|
| 1811 |
 |
SQlite: Improve SQL Query Performance
|
|
2
|
4y |
14d |
4y |
help wanted
performance
|
member-last send
|
| 1636 |
 |
Stacks: Display stacked files from different folders on their physical location within Originals
|
|
|
4y |
14d |
|
|
|
| 1555 |
 |
People: Include people information in yml exports
|
|
|
4y |
14d |
4y |
metadata
faces
|
member-last
|
| 1556 |
 |
People: Untagged faces section
|
|
|
4y |
14d |
3y |
faces
|
member-last
|
| 1639 |
 |
UX: Shorten large counts the in the navigation
|
|
|
4y |
14d |
|
ux
|
|
| 1552 |
 |
People: Edit person dialog
|
|
3
17
|
4y |
14d |
4y |
|
recv-q send
|
| 3747 |
 |
Places: Add resize handle to cluster preview to adjust its size
|
|
2
|
2y |
1y |
|
help wanted
ux
places
|
pr-closed
|
| 1437 |
 |
Stacks: Download stacked files as zip so that it works on iOS
|
|
|
4y |
14d |
1y |
help wanted
|
author-last recv recv-q
|
| 1428 |
 |
Sharing: Password protection for shared links
|
|
9
|
4y |
14d |
4y |
sharing
|
member-last send
|
| 1553 |
 |
People: Add categories for people
|
|
7
|
4y |
14d |
|
|
|
| 1246 |
 |
RAW: Detect updates in DNG files and render new JPGs
|
|
|
5y |
14d |
3y |
raw
|
assigned assignee-updated send
|
| 1308 |
 |
Duplicates: Display duplicated files with option to delete
|
|
32
131
|
5y |
9d |
3y |
|
assigned assignee-updated pr-closed recv-q
|
| 1182 |
 |
Stacks: Stack compressed and original version of a photo e.g. from Google Photos
|
|
9
|
5y |
14d |
5y |
|
member-last send
|
| 1128 |
 |
Metadata: Import Favorite Flag from Google Photos
|
|
8
|
5y |
14d |
4y |
|
member-last send
|
| 1125 |
 |
RFE: Create deployment manifests for self-hosting on Kubernetes
|
|
|
5y |
5y |
5y |
docs 📚
|
member-last send
|
| 1548 |
 |
People: Manually tag faces in pictures
|
|
66
6
|
4y |
3d |
1y |
please-test
priority
ux
ai
faces
|
assigned recv-q send
|
| 1122 |
 |
Stacks: Stack -edited files from Google Photos with original
|
|
2
2
14
|
5y |
14d |
4y |
metadata
|
assigned assignee-updated send
|
| 1282 |
 |
Search: Search term normalization
|
|
|
5y |
14d |
|
|
assigned
|
| 1542 |
 |
People: Handle duplicated face thumbs after replacing original file with a cropped/edited version
|
|
|
4y |
14d |
|
|
assigned
|
| 325 |
 |
Security: Add Password for Access to Private Pictures
|
|
|
6y |
14d |
2y |
priority
security
auth
|
assigned assignee-updated send
|
| 243 |
 |
Metadata: Embed XMP metadata in JPEG files
|
|
|
6y |
14d |
6y |
priority
needs-analysis
|
assigned assignee-updated collaborator-last send
|
| 1179 |
 |
Metadata: DateTimeOriginal set from ACDSee is not read by exif function
|
|
|
5y |
14d |
|
|
assigned
|
| 244 |
 |
API: Provide Counts of Photos and Albums
|
|
|
6y |
14d |
6y |
api
|
member-last pr-closed send
|
| 152 |
 |
UX: Timeline View
|
|
100
19
10
333
|
6y |
14d |
9mo |
priority
ux
api
|
assigned assignee-updated recv-q send
|
| 175 |
 |
Proof-of-concept for scene category classification
|
|
|
6y |
14d |
6y |
help wanted
in-progress
|
recv-q
|
| 554 |
 |
People: Import Adobe's XMP Face region metadata
|
|
45
|
5y |
14d |
5y |
metadata
faces
|
pr-closed pr-unreviewed recv-q send similar
|
| 98 |
 |
Sharing: Multi-user / multi-library support with private and shared photos/albums
|
| 25
456
29
|
7y |
14d |
2y |
in-progress
priority
sharing
api
|
assigned assignee-updated member-last send
|
| 1012 |
 |
Docs: More detailed information on compatible WebDAV clients and servers
|
|
|
5y |
5y |
5y |
docs 📚
|
recv
|
| 1307 |
 |
UX: Add a hybrid Photo/Video Viewer (Lightbox)
|
|
53
|
5y |
14d |
2mo |
in-progress
frontend
ux
video
live
|
assigned assignee-updated member-last pr-closed pr-merged pr-unreviewed send
|