release: v0.16.0

See CHANGELOG.md for the full v0.16.0 entry.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: ralksta <ralksta@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Co-authored-by: Ralf <rohlenbo79@gmail.com>
Co-authored-by: Paul Thies <110185070+ImScheinox@users.noreply.github.com>
Co-authored-by: lancetm714 <108419425+lancetm714@users.noreply.github.com>
This commit is contained in:
Ralksta
2026-09-22 14:12:13 +02:00
committed by GitHub
parent c3f92ca4ec
commit a3a6319c29
120 changed files with 6818 additions and 975 deletions

View File

@@ -63,6 +63,7 @@ export function InstallWizard({ initialApiUrl, setupToken }: Props) {
const [installing, setInstalling] = useState(false);
const [installError, setInstallError] = useState('');
const [done, setDone] = useState(false);
const [galleryKept, setGalleryKept] = useState(false);
const selectedCount = Object.values(selected).filter(Boolean).length;
@@ -131,6 +132,10 @@ export function InstallWizard({ initialApiUrl, setupToken }: Props) {
setInstallError(data.error || 'Install failed');
return;
}
// The wizard never overwrites a gallery.yaml that was already there
// (#627) — worth surfacing, since the album picks and site settings
// above did not end up in the file that was just kept.
setGalleryKept(data.galleryWritten === false);
setDone(true);
} catch {
setInstallError('Could not reach the install service');
@@ -148,6 +153,12 @@ export function InstallWizard({ initialApiUrl, setupToken }: Props) {
<span className="install-card__kicker">Immich Folio</span>
<h1>Install complete</h1>
<p>Your portfolio is ready. Add or rearrange albums any time from the admin panel.</p>
{galleryKept && (
<p className="install-notice">
A gallery.yaml already existed in content/, so it was left untouched — the albums
picked above were not written. Use the admin panel to change it.
</p>
)}
</div>
{/* install-body carries the card's padding — every other step
renders inside it, and skipping it here left the buttons

View File

@@ -46,6 +46,17 @@
line-height: 1.5;
}
/* Existing gallery.yaml kept as-is rather than replaced (#627) — worth more
than the muted paragraph color the completion message above it uses. */
.install-card__header p.install-notice {
margin-top: 0.75rem;
padding: 0.5rem 0.75rem;
border: 1px solid var(--admin-border);
border-left: 3px solid var(--admin-accent);
border-radius: 6px;
color: var(--admin-text);
}
/* ── Step indicator ──────────────────────────────────────────── */
.install-steps {