From 7719ea17be7c0b747e1fb8f66dbb329620011228 Mon Sep 17 00:00:00 2001
From: shamoon <4887959+shamoon@users.noreply.github.com>
Date: Tue, 7 Nov 2023 23:59:43 -0800
Subject: [PATCH] Fix: handle immich v1.85.0 API stats breaking change (#2284)
---
src/widgets/immich/component.jsx | 9 ++++++---
src/widgets/immich/widget.js | 14 +++++++++++++-
2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/widgets/immich/component.jsx b/src/widgets/immich/component.jsx
index f5b9e674..0f9b104c 100644
--- a/src/widgets/immich/component.jsx
+++ b/src/widgets/immich/component.jsx
@@ -8,10 +8,13 @@ export default function Component({ service }) {
const { t } = useTranslation();
const { widget } = service;
- const { data: immichData, error: immichError } = useWidgetAPI(widget);
+ const { data: versionData, error: versionError } = useWidgetAPI(widget, "version");
+ // see https://github.com/gethomepage/homepage/issues/2282
+ const endpoint = versionData?.major >= 1 && versionData?.minor > 84 ? "statistics" : "stats";
+ const { data: immichData, error: immichError } = useWidgetAPI(widget, endpoint);
- if (immichError || immichData?.statusCode === 401) {
- return ;
+ if (immichError || versionError || immichData?.statusCode === 401) {
+ return ;
}
if (!immichData) {
diff --git a/src/widgets/immich/widget.js b/src/widgets/immich/widget.js
index 85867aeb..230f8ab2 100644
--- a/src/widgets/immich/widget.js
+++ b/src/widgets/immich/widget.js
@@ -1,8 +1,20 @@
import credentialedProxyHandler from "utils/proxy/handlers/credentialed";
const widget = {
- api: "{url}/api/server-info/stats",
+ api: "{url}/api/server-info/{endpoint}",
proxyHandler: credentialedProxyHandler,
+
+ mappings: {
+ version: {
+ endpoint: "version",
+ },
+ statistics: {
+ endpoint: "statistics",
+ },
+ stats: {
+ endpoint: "stats",
+ },
+ },
};
export default widget;