a shared link is a URL, not a key

Create, edit and revoke shared links from the album header, the selection
bar and the Sharing panel. Password, expiry, and the three flags that
decide what the person opening it can do.

The panel showed a bare key because this plugin never learned the
instance's public address. It does not need to store one: Immich has
`externalDomain` in its own admin settings, `/server/config` already
returns it, and it is the same field Immich's own copy-link button reads,
so the two cannot disagree. Empty is a real state and the UI says so
rather than inventing a host.

Payload shapes came from the live instance's spec.json, not from memory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-09-02 18:16:02 +01:00
co-authored by Claude Opus 5
parent 470bb42fe8
commit 70fc2b08c6
7 changed files with 598 additions and 41 deletions
+13
View File
@@ -14,6 +14,19 @@ your originals and every thumbnail stay exactly where they are.
- **More than one instance.** Accounts are a per-user registry with a label, a URL and a key; one is
active and you switch between them in the app.
## Sharing
Make a public link to an album, or to any selection of photos — from the album header, the selection bar,
or the Sharing panel. A link can carry a password and an expiry, and you choose whether the people who open
it may download originals, add photos of their own, or see where and when each shot was taken. Revoking one
closes it for everybody holding it.
The link opens on **your Immich**, not on Officer — that is the only way somebody with no Officer account
can see it. So Officer needs to know your instance's public address, and it deliberately stores no copy of
one: it reads **External Domain** from Immich's own admin settings, the same field Immich's own copy-link
button uses, so the two can never disagree. Leave that field empty and the panel shows share keys instead of
URLs, and says so.
## What you need
**An Immich you already run**, and an API key from it (Immich → Account Settings → API Keys).