From 9cc88ed2a6df8dbd3cda2f6d38c2a03524761023 Mon Sep 17 00:00:00 2001 From: Mees Frensel <33722705+meesfrensel@users.noreply.github.com> Date: Sat, 8 Nov 2025 23:46:43 +0100 Subject: [PATCH] feat: make memories slideshow duration configurable (#22783) --- i18n/en.json | 1 + .../openapi/lib/model/memories_response.dart | Bin 2838 -> 3074 bytes mobile/openapi/lib/model/memories_update.dart | Bin 3234 -> 3932 bytes open-api/immich-openapi-specs.json | 9 +++++++++ open-api/typescript-sdk/src/fetch-client.ts | 2 ++ server/src/dtos/user-preferences.dto.ts | 9 +++++++++ server/src/types.ts | 1 + server/src/utils/preferences.ts | 1 + .../memory-page/memory-viewer.svelte | 2 +- .../feature-settings.svelte | 13 ++++++++++++- .../factories/preferences-factory.ts | 1 + 11 files changed, 37 insertions(+), 2 deletions(-) diff --git a/i18n/en.json b/i18n/en.json index 30c8949ae..735e942dd 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -2027,6 +2027,7 @@ "third_party_resources": "Third-Party Resources", "time": "Time", "time_based_memories": "Time-based memories", + "time_based_memories_duration": "Number of seconds to display each image.", "timeline": "Timeline", "timezone": "Timezone", "to_archive": "Archive", diff --git a/mobile/openapi/lib/model/memories_response.dart b/mobile/openapi/lib/model/memories_response.dart index b9f8b5d8b1862425c0c55c94ea6c383560c57168..cb42f596a6db652a8a110934e8feea0e5f8d26ab 100644 GIT binary patch delta 220 zcmbOx)+Di^laV*2v?#G8Ge1wkR>4$fay_FmPi9_;0!(!BT*g)r7)Qa@79kD5t~e2ytg3dU8B1=?4Vky)$<6WOfEe2~!y#L5$xmFDCq*ee()Si#jO>SZJrXE^7lq-rW?Pd>+- z0yoK41*TO;VX_fRRy~ZXplGWAGD%aRno9u;vWoNbqKnjF3e;m2Y!yl}GK=+KBGzDq zwF;>@#i>wT`uYkA*z|!+hAIbZ%1l$x0GqXW4$D7ALzszH3b}~|VW3d)PYbCmNVNfm ViJb<>Kph1nmuTv2p2#N11^|Z2bgTdX delta 42 zcmV+_0M-B89- { }, memories: { enabled: true, + duration: 5, }, people: { enabled: true, diff --git a/web/src/lib/components/memory-page/memory-viewer.svelte b/web/src/lib/components/memory-page/memory-viewer.svelte index fe3569f91..cfe11e102 100644 --- a/web/src/lib/components/memory-page/memory-viewer.svelte +++ b/web/src/lib/components/memory-page/memory-viewer.svelte @@ -102,7 +102,7 @@ }); } else { progressBarController = new Tween(0, { - duration: (from: number, to: number) => (to ? 5000 * (to - from) : 0), + duration: (from: number, to: number) => (to ? $preferences.memories.duration * 1000 * (to - from) : 0), }); } }; diff --git a/web/src/lib/components/user-settings-page/feature-settings.svelte b/web/src/lib/components/user-settings-page/feature-settings.svelte index 31a29be97..82a40161b 100644 --- a/web/src/lib/components/user-settings-page/feature-settings.svelte +++ b/web/src/lib/components/user-settings-page/feature-settings.svelte @@ -1,7 +1,9 @@