Commit graph

714 commits

Author SHA1 Message Date
Weblate
4c86c71417 Weblate: Update backend translations 2026-06-27 12:29:16 +02:00
Michael Mayer
68a6ad24f4 Translations: Regenerate .po and .pot files from source #5699
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-06-27 12:27:09 +02:00
Michael Mayer
03c22ca66c UX: Fix 404 page logo text rendering under RTL locales 2026-06-27 08:19:00 +00:00
Michael Mayer
9a25a19824 JPEG XL: Decode natively via libvips with "djxl" fallback #5693
Route JPEG XL through the native libvips path (govips jxlload) like
HEIC/AVIF, keeping the external "djxl" decoder as an automatic fallback
for runtimes whose libvips lacks JPEG XL support.

Decouple format enablement from "djxl": DisableJpegXL now stays enabled
when either the decoder is present or libvips can decode JPEG XL natively.
The libvips capability probe (thumb.JpegXLSupported) is cached and runs
only when no decoder is present, so config introspection on standard
installs (which ship "djxl") does not start libvips.

Add a shared assets/samples/dice.jxl fixture and focused tests for the
native conversion path, the djxl fallback command, and the capability
decision table.
2026-06-25 14:31:10 +00:00
Weblate
a88264df82 Weblate: Update backend translations 2026-06-25 15:47:49 +02:00
Michael Mayer
fd8448d6de UX: Name message fields messageId/messageParams in i18n payloads #5682
Rename the i18n notification/error envelope fields from id/params to messageId/messageParams across the WS notify Data and the i18n.Response body, so they are unambiguous next to session, log, and correlation ids. Updates the frontend consumers (notify.vue, api.js), tests, swagger, and the event/locales READMEs.
2026-06-23 12:22:30 +00:00
Michael Mayer
a12d287c19 Docs: Document per-user notification localization in READMEs #5682
Describe the event *Msg structured payload and frontend per-user rendering in the event and backend-locales READMEs; fix a stale go-generate path (/internal/i18n to /pkg/i18n).
2026-06-23 09:23:31 +00:00
Michael Mayer
a930ae24d7 Assets: Normalize locales/he/default.po
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-06-23 10:20:08 +02:00
Weblate
bc20d156aa Weblate: Update backend translations 2026-06-22 21:35:55 +02:00
Michael Mayer
1854e69094 Gettext: Regenerate .po and .pot translation files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-06-18 11:47:42 +02:00
Weblate
790181a743 Weblate: Update backend translations 2026-06-18 11:15:04 +02:00
Weblate
f88a870379 Weblate: Update backend translations 2026-06-15 11:28:47 +02:00
Michael Mayer
8422fb8ddd Locales: Regenerate backend translations for #5663 2026-06-15 09:25:44 +00:00
Michael Mayer
e88751a501 Config: Add bloom, flower, ring & shutter app icons #5662
Adds four selectable app-icon variants with optimized SVGs and full PNG size sets. bloom and ring use a round canvas like logo; flower and shutter use the rounded-square canvas. Updates the frontend icon resolver, app-icon help text, and config tests, and strips editor data-name attributes from the existing icons.
2026-06-15 06:29:43 +00:00
Michael Mayer
872af5d8fd Cluster: Add cluster OIDC, branded authorize errors, and sign-out
Implements three OIDC follow-ups from specs/portal/cluster-oidc.md:

- Zero-touch instance OIDC RP config: PHOTOPRISM_CLUSTER_OIDC derives the
  OIDC RP client_id/secret from the node client credentials and defaults
  the issuer to the instance's own origin (scheme.OriginURL), so a single
  boot reaches a working Portal login. Explicit oidc-client/secret/uri win.
- Human-friendly authorize errors: redirectable errors 302 back to the
  validated redirect_uri; non-redirectable ones content-negotiate a
  branded HTML page (oauth-error.gohtml) vs JSON via shared helpers in
  internal/api/oauth_error.go. The RP callback surfaces inbound ?error=.
- Cluster-wide Sign-Out (Tier 2): session.logoutEverywhere fans out a
  best-effort DELETE per peer session, clears their storage, then signs
  out locally; session-delete clears the OP cookie on any shared-domain
  OIDC-against-Portal node (OIDCSessionCookieClearPath).
2026-06-09 09:39:01 +00:00
Michael Mayer
257c9554fb Assets: Align .buildignore across editions 2026-05-22 06:48:32 +00:00
Michael Mayer
859e5d9b4b Frontend: Harden splash links for safer new-tab navigation
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-08 14:41:21 +01:00
Michael Mayer
04c57e2b96 Frontend: Fix OIDC session restore and logout cleanup #5476
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-08 14:27:39 +01:00
Michael Mayer
885c770eeb Auth: Add "Stay signed in on this device" login toggle #5476
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-08 11:25:40 +01:00
Michael Mayer
39ea7add37 Assets: Rename example fixtures directory to "samples"
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-06 18:47:33 +01:00
Michael Mayer
20fd49f2ac Media: Improve layered TIFF & PSD preview support #5383
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-03-06 18:14:48 +01:00
Michael Mayer
cd7affffeb Cleanup: Fix formatting of Markdown files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-14 12:10:43 +01:00
Michael Mayer
733307c43f Frontend: Namespace local storage to run multiple nodes on a domain #98
Signed-off-by: Michael Mayer <michael@photoprism.app>
2026-02-08 18:35:05 +01:00
Cathie Integra
2abc9cdf4a
Weblate: Update backend translations (#5420)
Co-authored-by: Weblate <noreply@weblate.org>
2026-01-16 13:18:09 +01:00
Cathie Integra
d54e59a2b8
Weblate: Update backend translations (#5410)
Co-authored-by: Weblate <noreply@weblate.org>
2026-01-09 11:07:29 +01:00
Michael Mayer
19f083c719 Thumbs: Enhance embedding of ICC profiles based on InteropIndex #5178
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-23 12:56:58 +01:00
Michael Mayer
ab2ba2e72a JPEG: Embed Adobe RGB ICC profile with an InteropIndex tag #5178
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-23 10:07:30 +01:00
Michael Mayer
c20426c839 Assets: Regenerate locales/el/default.po
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-19 11:25:53 +01:00
Weblate
d32751300a Weblate: Update backend translations 2025-11-19 11:23:52 +01:00
Michael Mayer
1749bd9478 Backend: Regenerate assets/locales/el/default.po
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-11-12 17:39:37 +01:00
Weblate
0c56943bd7 Weblate: Update backend translations 2025-11-12 08:41:10 +01:00
Michael Mayer
f901759834 Translations: Regenerate frontend and backend *.po files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-23 09:51:31 +02:00
Weblate
c5312d6eda Weblate: Update backend translations 2025-10-22 10:26:26 +02:00
Michael Mayer
4be8d08251 i18n: Update .po and .json translation files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-21 17:24:41 +02:00
Michael Mayer
0354fad37e Demo: Improve protection against AI-generated reports #5269
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-17 19:34:39 +02:00
Michael Mayer
8b9d2e6459 Frontend: Improve browser capabilities check #5047
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-12 12:38:52 +02:00
Michael Mayer
a3c298f617 Frontend: Add browser capabilities check #5047
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-10-11 12:48:30 +02:00
Jarrad Whitaker
2f5cc62d45 rename adobe rgb icc profile 2025-08-30 19:25:55 +10:00
Jarrad Whitaker
ac3d5a0c58 move colors/icc into thumbs/icc + asets 2025-08-29 10:55:52 +10:00
Michael Mayer
875880110b Build: Simplify assets/.buildignore file #127
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-08-08 19:09:17 +02:00
Michael Mayer
ab0bd1c732 Config: Change default vision model assets path to assets/models/ #127
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-08-08 19:06:56 +02:00
Michael Mayer
f6d9ff8e43 Backend: Regenerate .po translation files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-07-22 20:09:21 +02:00
Weblate
3448d1a635 Weblate: Update backend translations 2025-07-21 17:32:44 +02:00
Andres Hočevar
e24d8f532a Quickfix spanish locale 2025-07-14 20:09:42 +02:00
Michael Mayer
d28b3101e0 Build: Update .buildignore and .dockerignore files
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-07-07 12:44:59 +02:00
Michael Mayer
6bf5e03336 Backend: Regenerate assets/locales/js/default.po
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-07-01 17:27:27 +02:00
Michael Mayer
2e2ebab433 Videos: Improve downloading, remuxing, and transcoding #4982 #4892 #5040
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-06-09 15:31:23 +02:00
Weblate
8292f97469 Weblate: Update backend translations 2025-05-14 13:12:48 +02:00
Michael Mayer
4677579f9a i18n: Change locale "ja_JP" to "ja", so it matches the filename #4980
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-05-02 14:30:37 +02:00
Michael Mayer
0b390f356f UX: Add role attributes to progress bars in templates/app.gohtml
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-04-14 17:41:49 +02:00