Commit graph

99 commits

Author SHA1 Message Date
Michael Mayer
0575659c08 Frontend: Render auth error toasts in the current UI locale #5699 #5682 2026-06-27 11:34:54 +00:00
Michael Mayer
03c22ca66c UX: Fix 404 page logo text rendering under RTL locales 2026-06-27 08:19:00 +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
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
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
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
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
Michael Mayer
5fa02a723a Frontend: Use canonical key for localStorage
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-03-19 11:46:15 +01:00
Michael Mayer
fb04b0e25d Frontend: Refactor dialogs and lightbox #3168 #4777
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-10 19:06:04 +01:00
Michael Mayer
a2958b8532 UX: Fix overlay scroll behavior #3168 #4777
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-02-09 14:26:46 +01:00
Michael Mayer
e42049bc89 UX: Improve touch navigation behavior on mobile devices #1307 #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-28 19:36:50 +01:00
Michael Mayer
11905f765f Assets: Add mobile-web-app-capable meta tag to HTML templates #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2025-01-22 12:38:21 +01:00
Michael Mayer
9f7d2f9434 Frontend: Refactor app bootstrapping templates and CSS imports #3168 2025-01-06 15:05:39 +01:00
Michael Mayer
17d98e4158 i18n: Refactor right-to-left language and translation support #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-12-18 16:04:41 +01:00
Michael Mayer
2f529980c3 Frontend: Mount #photoprism in #app wrapper element #3168
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-10-18 02:59:53 +02:00
Anastasiia
04311154cf Version 2.7 part 1 2024-09-27 23:50:53 +02:00
Michael Mayer
a97f8d0795 API: Implement OIDC redirect endpoint #782
Requires further testing and refinement before it can be released.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-07-01 16:50:53 +02:00
Michael Mayer
d4317863f7 UX: Do not redirect users if they are already on the site root
Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-16 21:56:26 +01:00
Michael Mayer
a3f27c8d67 UX: Set accent color for HTML progress bar on splash screen
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-08-18 11:09:09 +02:00
Michael Mayer
3118400040 Templates: Update error 404 "not found" page styles
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-06-01 16:36:21 +02:00
Michael Mayer
3e4121cc78 Server: Add "restart required" flag and button to restart the server
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-03-27 19:27:19 +02:00
Michael Mayer
826addb4c1 PWA: Create manifest.json in code without using a template #3181
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-10 15:53:01 +01:00
Michael Mayer
eb6a7a82cc PWA: Improve manifest.json #3181
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-02-09 10:19:49 +01:00
Michael Mayer
778d809c51 Templates: Format snippets and fix indentation
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-19 21:23:49 +01:00
Michael Mayer
a6862a7782 Templates: Refactor app.gohtml to use snippets
Signed-off-by: Michael Mayer <michael@photoprism.app>
2023-01-19 21:16:33 +01:00
Michael Mayer
5dc71ff1ff PWA: Increase max length of "short_name" value in manifest.json template
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-16 14:54:22 +01:00
Michael Mayer
4c81d8b7e1 PWA: Revert "start_url" in manifest.json template
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-12-16 14:51:01 +01:00
Michael Mayer
e24d857627 Templates: Code clean-up
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-11-28 10:28:25 +01:00
Michael Mayer
69d14997f4 Config: Rename edition to about in client config values
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-31 12:23:48 +01:00
Michael Mayer
1b27a80ada Config: Rename "imprint" option to "legal-info" #2797
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-24 12:33:03 +02:00
Michael Mayer
f54f98770a PWA: Update manifest.json template
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-23 20:11:53 +02:00
Michael Mayer
97e34b4989 UX: Update splash and error screen styles #840
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-20 17:38:15 +02:00
Michael Mayer
ef52c4f1e5 UX: Improve Error 404 page #840
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-20 16:40:08 +02:00
Michael Mayer
59da5037e6 Server: Add Error 404 Not Found template and change ext to .gohtml #840
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-18 22:19:41 +02:00
Michael Mayer
e3bb8b19dd Routing: Prefix frontend UI routes with /library #840 #2466
Also improves migrations and updates the db schema docs.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-15 21:54:11 +02:00
Michael Mayer
6e74f16a77 Auth: Open album share links in the regular user interface #98 #782
Signed-off-by: Michael Mayer <michael@photoprism.app>
2022-10-02 11:38:30 +02:00
Michael Mayer
61dfd2cf50 UX: Update splash screen, button, and footer styles #2360 2022-05-27 18:15:18 +02:00
Michael Mayer
896e7faa6f UX: Update splash screen styles 2022-05-27 08:21:51 +02:00
Michael Mayer
f936efb43d UX: Update slash screen styles
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-05-26 22:28:32 +02:00
Michael Mayer
d46a01b602 UX: Update navigation and splash screen styles
Signed-off-by: Michael Mayer <michael@liquidbytes.net>
2022-05-26 15:04:45 +02:00
Michael Mayer
c1d06f5d2b UX: Enhance splash screen styles 2022-05-21 20:08:31 +02:00
Michael Mayer
da866a98d4 UX: Update splash screen, fonts, buttons, mobile toolbar and navigation 2022-05-21 18:13:28 +02:00
Michael Mayer
8638929d84 Config: Automatically generate command-flag docs #1017 #2195 #2227 #2250 2022-04-22 17:38:40 +02:00
Michael Mayer
0a1cfad8d4 Frontend: Consistent UI/UX across all browsers, devices, and OS #98
Ensures that the new login screen looks good and works properly on
all supported devices. Work in progress, needs more testing.
2022-02-28 17:53:21 +01:00
Michael Mayer
7c4241fbea Config: Add "imprint" option to display legal info in the footer #1990 2022-02-08 14:41:03 +01:00
Michael Mayer
f26683b227 Assets: Reduce size of HTML templates 2022-02-07 09:43:12 +01:00
Michael Mayer
03457bdb75 Frontend: Refactor asset loading #1648 2022-01-18 12:26:33 +01:00