From 8c2851fbc4d2095147169f3ae942e046c5104118 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Tue, 21 Nov 2023 20:24:28 -0600
Subject: [PATCH 1/6] chore(deps): update @immich/cli (#5255)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
cli/package-lock.json | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/cli/package-lock.json b/cli/package-lock.json
index c64010a6c6..4547cfc3c1 100644
--- a/cli/package-lock.json
+++ b/cli/package-lock.json
@@ -1567,9 +1567,9 @@
}
},
"node_modules/@types/jest": {
- "version": "29.5.9",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.9.tgz",
- "integrity": "sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ==",
+ "version": "29.5.10",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz",
+ "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==",
"dev": true,
"dependencies": {
"expect": "^29.0.0",
@@ -1604,9 +1604,9 @@
}
},
"node_modules/@types/node": {
- "version": "20.9.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.3.tgz",
- "integrity": "sha512-nk5wXLAXGBKfrhLB0cyHGbSqopS+nz0BUgZkUQqSHSSgdee0kssp1IAqlQOu333bW+gMNs2QREx7iynm19Abxw==",
+ "version": "20.9.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz",
+ "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==",
"dev": true,
"dependencies": {
"undici-types": "~5.26.4"
@@ -7673,9 +7673,9 @@
}
},
"@types/jest": {
- "version": "29.5.9",
- "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.9.tgz",
- "integrity": "sha512-zJeWhqBwVoPm83sP8h1/SVntwWTu5lZbKQGCvBjxQOyEWnKnsaomt2y7SlV4KfwlrHAHHAn00Sh4IAWaIsGOgQ==",
+ "version": "29.5.10",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.10.tgz",
+ "integrity": "sha512-tE4yxKEphEyxj9s4inideLHktW/x6DwesIwWZ9NN1FKf9zbJYsnhBoA9vrHA/IuIOKwPa5PcFBNV4lpMIOEzyQ==",
"dev": true,
"requires": {
"expect": "^29.0.0",
@@ -7710,9 +7710,9 @@
}
},
"@types/node": {
- "version": "20.9.3",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.3.tgz",
- "integrity": "sha512-nk5wXLAXGBKfrhLB0cyHGbSqopS+nz0BUgZkUQqSHSSgdee0kssp1IAqlQOu333bW+gMNs2QREx7iynm19Abxw==",
+ "version": "20.9.4",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.4.tgz",
+ "integrity": "sha512-wmyg8HUhcn6ACjsn8oKYjkN/zUzQeNtMy44weTJSM6p4MMzEOuKbA3OjJ267uPCOW7Xex9dyrNTful8XTQYoDA==",
"dev": true,
"requires": {
"undici-types": "~5.26.4"
From ff275ea175126d907e5cfaca138f9923d59152cb Mon Sep 17 00:00:00 2001
From: PyKen
Date: Wed, 22 Nov 2023 12:55:51 +0900
Subject: [PATCH 2/6] chore(mobile): Add log when saving asset (#5259)
---
.../modules/asset_viewer/services/image_viewer.service.dart | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart b/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart
index 3a356c8404..862dcfea11 100644
--- a/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart
+++ b/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart
@@ -84,8 +84,8 @@ class ImageViewerService {
}
return entity != null;
}
- } catch (e) {
- debugPrint("Error saving file $e");
+ } catch (error, stack) {
+ _log.severe("Error saving file ${error.toString()}", error, stack);
return false;
}
}
From 82fffd2c5617b191116903d28fdaa50ceb3870bd Mon Sep 17 00:00:00 2001
From: 3urobeat <35304405+3urobeat@users.noreply.github.com>
Date: Wed, 22 Nov 2023 13:49:01 +0100
Subject: [PATCH 3/6] Add German README (#5262)
* docs: Add german README translation
* docs: Link german README translation
* docs: Address review comments
---
README.md | 1 +
README_ca_ES.md | 1 +
README_de_DE.md | 122 ++++++++++++++++++++++++++++++++++++++++++++++++
README_es_ES.md | 1 +
README_fr_FR.md | 1 +
README_it_IT.md | 1 +
README_ja_JP.md | 1 +
README_ko_KR.md | 3 +-
README_nl_NL.md | 1 +
README_tr_TR.md | 1 +
README_zh_CN.md | 1 +
11 files changed, 133 insertions(+), 1 deletion(-)
create mode 100644 README_de_DE.md
diff --git a/README.md b/README.md
index 29b8f8ac63..7c884ef97c 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,7 @@
Italiano
日本語
한국어
+ Deutsch
Nederlands
Türkçe
中文
diff --git a/README_ca_ES.md b/README_ca_ES.md
index 29c47e15fd..d15c0fee9f 100644
--- a/README_ca_ES.md
+++ b/README_ca_ES.md
@@ -24,6 +24,7 @@
Italiano
日本語
한국어
+ Deutsch
Nederlands
Türkçe
中文
diff --git a/README_de_DE.md b/README_de_DE.md
new file mode 100644
index 0000000000..de0d1e81f3
--- /dev/null
+++ b/README_de_DE.md
@@ -0,0 +1,122 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+Immich - Hoch performante, selbst gehostete Backup Lösung für Fotos und Videos
+
+
+
+
+
+
+ English
+ Català
+ Español
+ Français
+ Italiano
+ 日本語
+ 한국어
+ Nederlands
+ Türkçe
+ 中文
+
+
+## Warnung
+
+- ⚠️ Das Projekt befindet sich unter **sehr aktiver** Entwicklung.
+- ⚠️ Erwarte Fehler und Änderungen mit Breaking-Changes.
+- ⚠️ **Nutze die App auf keinen Fall als einziges Speichermedium für deine Fotos und Videos.**
+- ⚠️ Befolge immer die [3-2-1](https://www.backblaze.com/blog/the-3-2-1-backup-strategy/) Backup Regel für deine wertvollen Fotos und Videos!
+
+## Inhalt
+
+- [Offizielle Dokumentation](https://immich.app/docs)
+- [Roadmap](https://github.com/orgs/immich-app/projects/1)
+- [Demo](#demo)
+- [Funktionen](#funktionen)
+- [Einführung](https://immich.app/docs/overview/introduction)
+- [Installation](https://immich.app/docs/install/requirements)
+- [Beitragsrichtlinien](https://immich.app/docs/overview/support-the-project)
+- [Unterstütze das Projekt](#unterstütze-das-projekt)
+
+## Dokumentation
+
+Die Hauptdokumentation, inklusive Installationsanleitungen, ist unter https://immich.app zu finden.
+
+## Demo
+
+Die Web-Demo kannst du unter https://demo.immich.app finden.
+
+Für die Handy-App kannst du `https://demo.immich.app/api` als `Server Endpoint URL` angeben.
+
+```bash title="Demo Credential"
+Die Anmeldedaten
+email: demo@immich.app
+passwort: demo
+```
+
+```
+Spec: Free-tier Oracle VM - Amsterdam - 2.4Ghz quad-core ARM64 CPU, 24GB RAM
+```
+
+## Funktionen
+
+| Funktionen | Mobil | Web |
+| ---------------------------------------------------- | ------ | ----- |
+| Fotos & Videos hochladen und ansehen | Ja | Ja |
+| Automatisches Backup wenn die App offen ist | Ja | n. a. |
+| Selektive Auswahl von Alben zum Backup | Ja | n. a. |
+| Fotos und Videos auf das Gerät herunterladen | Ja | Ja |
+| Unterstützt mehrere Benutzer | Ja | Ja |
+| Album und geteilte Alben | Ja | Ja |
+| Scrollleiste | Ja | Ja |
+| Unterstützt RAW Formate | Ja | Ja |
+| Metadaten anzeigen (EXIF, Karte) | Ja | Ja |
+| Suchen nach Metadaten, Objekten, Gesichtern und CLIP | Ja | Ja |
+| Administrative Funktionen (Nutzerverwaltung) | Nein | Ja |
+| Backup im Hintergrund | Ja | n. a. |
+| Virtuelles Scrollen | Ja | Ja |
+| OAuth Unterstützung | Ja | Ja |
+| API-Schlüssel | n. a. | Ja |
+| LivePhoto/MotionPhoto Backup und Wiedergabe | Ja | Ja |
+| Benutzerdefinierte Speicherstruktur | Ja | Ja |
+| Öffentliches Teilen | Nein | Ja |
+| Archive und Favoriten | Ja | Ja |
+| Globale Karte | Ja | Ja |
+| Teilen mit Partner | Ja | Ja |
+| Gesichtserkennung und Gruppierung | Ja | Ja |
+| Rückblicke (heute vor x Jahren) | Ja | Ja |
+| Offline Unterstützung | Ja | Nein |
+| Schreibgeschützte Gallerie | Ja | Ja |
+| Gestapelte Bilder | Ja | Ja |
+
+## Unterstütze das Projekt
+
+Ich habe mich diesem Projekt verpflichtet und werde nicht aufgeben. Ich werde die Dokumentation weiter aktualisieren, neue Funktionen hinzufügen und Fehler beheben. Allerdings kann ich das nicht alleine schaffen. Daher brauche ich Eure Unterstützung mir zusätzliche Motivation zu geben um weiterzumachen.
+
+Wie unsere Gastgeber in der [selfhosted.show - In der Episode 'The-organization-must-not-be-name is a Hostile Actor'](https://selfhosted.show/79?t=1418) gesagt haben, ist dies ein riesiges Unterfangen, welchem das Team und ich uns annehmen. In Zukunft würde ich liebend gerne Vollzeit an dem Projekt arbeiten und bitte daher um Eure Unterstützung.
+
+Wenn Du denkst, dass dies die richtige Sache ist und dich selbst die App für eine längere Zeit nutzen siehst, dann denke bitte darüber nach das Projekt mit einer der unten aufgelisteten Optionen zu unterstützen.
+
+### Spenden
+
+- [Monatliche Spende](https://github.com/sponsors/alextran1502) via GitHub Sponsors
+- [Einmalige Spende](https://github.com/sponsors/alextran1502?frequency=one-time&sponsor=alextran1502) via GitHub Sponsors
+- [Librepay](https://liberapay.com/alex.tran1502/)
+- [buymeacoffee](https://www.buymeacoffee.com/altran1502)
+- Bitcoin: 1FvEp6P6NM8EZEkpGUFAN2LqJ1gxusNxZX
+- ZCash: u1smm4wvqegcp46zss2jf5xptchgeczp4rx7a0wu3mermf2wxahm26yyz5w9mw3f2p4emwlljxjumg774kgs8rntt9yags0whnzane4n67z4c7gppq4yyvcj404ne3r769prwzd9j8ntvqp44fa6d67sf7rmcfjmds3gmeceff4u8e92rh38nd30cr96xw6vfhk6scu4ws90ldzupr3sz
+
+## Unterstützer
+
+
+
diff --git a/README_es_ES.md b/README_es_ES.md
index fc1b10201b..c7a6f6910f 100644
--- a/README_es_ES.md
+++ b/README_es_ES.md
@@ -24,6 +24,7 @@
Italiano
日本語
한국어
+ Deutsch
Nederlands
Türkçe
中文
diff --git a/README_fr_FR.md b/README_fr_FR.md
index ed76d7a92c..93d01edfc4 100644
--- a/README_fr_FR.md
+++ b/README_fr_FR.md
@@ -24,6 +24,7 @@
Italiano
日本語
한국어
+ Deutsch
Nederlands
Türkçe
中文
diff --git a/README_it_IT.md b/README_it_IT.md
index 9fb7b8ee28..0c7d20d735 100644
--- a/README_it_IT.md
+++ b/README_it_IT.md
@@ -24,6 +24,7 @@
Français
日本語
한국어
+ Deutsch
Nederlands
Türkçe
中文
diff --git a/README_ja_JP.md b/README_ja_JP.md
index 3d339db4e6..557e0e3585 100644
--- a/README_ja_JP.md
+++ b/README_ja_JP.md
@@ -24,6 +24,7 @@
Français
Italiano
한국어
+ Deutsch
Nederlands
Türkçe
中文
diff --git a/README_ko_KR.md b/README_ko_KR.md
index e2dcc4c471..a6a49ae3d4 100644
--- a/README_ko_KR.md
+++ b/README_ko_KR.md
@@ -24,6 +24,7 @@
Français
Italiano
日本語
+ Deutsch
Nederlands
Türkçe
中文
@@ -113,4 +114,4 @@ password: demo
- [Librepay](https://liberapay.com/alex.tran1502/)
- [buymeacoffee](https://www.buymeacoffee.com/altran1502)
- Bitcoin: 1FvEp6P6NM8EZEkpGUFAN2LqJ1gxusNxZX
-- ZCash: u1smm4wvqegcp46zss2jf5xptchgeczp4rx7a0wu3mermf2wxahm26yyz5w9mw3f2p4emwlljxjumg774kgs8rntt9yags0whnzane4n67z4c7gppq4yyvcj404ne3r769prwzd9j8ntvqp44fa6d67sf7rmcfjmds3gmeceff4u8e92rh38nd30cr96xw6vfhk6scu4ws90ldzupr3sz
\ No newline at end of file
+- ZCash: u1smm4wvqegcp46zss2jf5xptchgeczp4rx7a0wu3mermf2wxahm26yyz5w9mw3f2p4emwlljxjumg774kgs8rntt9yags0whnzane4n67z4c7gppq4yyvcj404ne3r769prwzd9j8ntvqp44fa6d67sf7rmcfjmds3gmeceff4u8e92rh38nd30cr96xw6vfhk6scu4ws90ldzupr3sz
diff --git a/README_nl_NL.md b/README_nl_NL.md
index cee5d6307b..129d84ebc2 100644
--- a/README_nl_NL.md
+++ b/README_nl_NL.md
@@ -25,6 +25,7 @@
Italiano
日本語
한국어
+ Deutsch
Türkçe
中文
diff --git a/README_tr_TR.md b/README_tr_TR.md
index 471d7d3142..c5d221182c 100644
--- a/README_tr_TR.md
+++ b/README_tr_TR.md
@@ -25,6 +25,7 @@
Italiano
日本語
한국어
+ Deutsch
Nederlands
中文
diff --git a/README_zh_CN.md b/README_zh_CN.md
index 3daeba7f7d..16d4248eaa 100644
--- a/README_zh_CN.md
+++ b/README_zh_CN.md
@@ -29,6 +29,7 @@
Italiano
日本語
한국어
+ Deutsch
Nederlands
Türkçe
From 95280fd69226a4aa71b97475b141e88f6d59e6ed Mon Sep 17 00:00:00 2001
From: Alex Tran
Date: Wed, 22 Nov 2023 08:00:28 -0600
Subject: [PATCH 4/6] chore(mobile): remove unused import
---
.../lib/modules/asset_viewer/services/image_viewer.service.dart | 1 -
1 file changed, 1 deletion(-)
diff --git a/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart b/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart
index 862dcfea11..27be7029de 100644
--- a/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart
+++ b/mobile/lib/modules/asset_viewer/services/image_viewer.service.dart
@@ -1,6 +1,5 @@
import 'dart:io';
-import 'package:flutter/foundation.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/providers/api.provider.dart';
From 106bae4a31d03bb7167f4ceb4196010181f198dc Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Wed, 22 Nov 2023 08:08:11 -0600
Subject: [PATCH 5/6] chore(deps): update dependency svelte-jester to v3
(#5252)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
---
web/package-lock.json | 11 ++++++-----
web/package.json | 2 +-
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/web/package-lock.json b/web/package-lock.json
index eacf643d6c..67359aef7c 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -56,7 +56,7 @@
"prettier-plugin-svelte": "^2.10.1",
"svelte": "^4.0.5",
"svelte-check": "^3.4.3",
- "svelte-jester": "^2.3.2",
+ "svelte-jester": "^3.0.0",
"svelte-preprocess": "^5.0.3",
"tailwind-merge": "^1.14.0",
"tailwindcss": "^3.2.7",
@@ -11301,12 +11301,13 @@
}
},
"node_modules/svelte-jester": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/svelte-jester/-/svelte-jester-2.3.2.tgz",
- "integrity": "sha512-JtxSz4FWAaCRBXbPsh4LcDs4Ua7zdXgLC0TZvT1R56hRV0dymmNP+abw67DTPF7sQPyNxWsOKd0Sl7Q8SnP8kg==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/svelte-jester/-/svelte-jester-3.0.0.tgz",
+ "integrity": "sha512-V279cL906++hn00hkL1xAr/y5OjjxPYWic1g0yTJFmqdbdWKthdcuP3XBvmmwP9AzFBT51DlPgXz56HItle1Ug==",
"dev": true,
"engines": {
- "node": ">=14"
+ "node": ">=16",
+ "pnpm": "^8.0.0"
},
"peerDependencies": {
"jest": ">= 27",
diff --git a/web/package.json b/web/package.json
index 7939e00dc0..79fb3d1eeb 100644
--- a/web/package.json
+++ b/web/package.json
@@ -49,7 +49,7 @@
"prettier-plugin-svelte": "^2.10.1",
"svelte": "^4.0.5",
"svelte-check": "^3.4.3",
- "svelte-jester": "^2.3.2",
+ "svelte-jester": "^3.0.0",
"svelte-preprocess": "^5.0.3",
"tailwind-merge": "^1.14.0",
"tailwindcss": "^3.2.7",
From 309ba7d67e2e95f52260ac757d66318b3b02c29c Mon Sep 17 00:00:00 2001
From: Jason Rasmussen
Date: Wed, 22 Nov 2023 10:54:58 -0500
Subject: [PATCH 6/6] fix(web): navigate to album from search (#5241)
---
.../shared-components/gallery-viewer/gallery-viewer.svelte | 5 +++++
web/src/routes/(user)/albums/[albumId]/+page.svelte | 2 +-
web/src/routes/(user)/search/+page.svelte | 4 ++--
3 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/web/src/lib/components/shared-components/gallery-viewer/gallery-viewer.svelte b/web/src/lib/components/shared-components/gallery-viewer/gallery-viewer.svelte
index fdd3f97b8f..dc62bc8dad 100644
--- a/web/src/lib/components/shared-components/gallery-viewer/gallery-viewer.svelte
+++ b/web/src/lib/components/shared-components/gallery-viewer/gallery-viewer.svelte
@@ -7,6 +7,7 @@
import { flip } from 'svelte/animate';
import { getThumbnailSize } from '$lib/utils/thumbnail-util';
import { assetViewingStore } from '$lib/stores/asset-viewing.store';
+ import { onDestroy } from 'svelte';
export let assets: AssetResponseDto[];
export let selectedAssets: Set = new Set();
@@ -80,6 +81,10 @@
$showAssetViewer = false;
history.pushState(null, '', `${$page.url.pathname}`);
};
+
+ onDestroy(() => {
+ $showAssetViewer = false;
+ });
{#if assets.length > 0}
diff --git a/web/src/routes/(user)/albums/[albumId]/+page.svelte b/web/src/routes/(user)/albums/[albumId]/+page.svelte
index c7e4ab48e3..a76ca169d3 100644
--- a/web/src/routes/(user)/albums/[albumId]/+page.svelte
+++ b/web/src/routes/(user)/albums/[albumId]/+page.svelte
@@ -121,7 +121,7 @@
afterNavigate(({ from }) => {
assetViewingStore.showAssetViewer(false);
- let url: string | undefined = from?.url.pathname;
+ let url: string | undefined = from?.url?.pathname;
if (from?.route.id === '/(user)/search') {
url = from.url.href;
diff --git a/web/src/routes/(user)/search/+page.svelte b/web/src/routes/(user)/search/+page.svelte
index 3f932ba513..3514f527ce 100644
--- a/web/src/routes/(user)/search/+page.svelte
+++ b/web/src/routes/(user)/search/+page.svelte
@@ -70,7 +70,7 @@
afterNavigate(({ from }) => {
// Prevent setting previousRoute to the current page.
- if (from && from.route.id !== $page.route.id) {
+ if (from?.url && from.route.id !== $page.route.id) {
previousRoute = from.url.href;
}
@@ -145,7 +145,7 @@
{/if}
- {#if data.results?.assets?.items.length > 0}
+ {#if searchResultAssets.length > 0}