From 50ccb0b14d85a11e29b4614a28642a70ade22170 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 26 Sep 2024 11:51:20 -0700 Subject: [PATCH 001/195] Docs: make it a warning admonition --- docs/installation/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/installation/index.md b/docs/installation/index.md index 778b9ef2..d954cf37 100644 --- a/docs/installation/index.md +++ b/docs/installation/index.md @@ -8,7 +8,7 @@ icon: simple/docker You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm.
-!!! danger +!!! warning Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN. From 19bdc0ec34a8bc9576d71e6df7b182e192c6b814 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 10 Oct 2024 14:01:42 -0700 Subject: [PATCH 002/195] Enhancement: handle immich v1.118 breaking API change (#4110) --- docs/widgets/services/immich.md | 6 ++++++ src/utils/config/service-helpers.js | 6 +++--- src/widgets/immich/component.jsx | 18 +++++++++++++----- src/widgets/immich/widget.js | 14 ++++++++++---- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/docs/widgets/services/immich.md b/docs/widgets/services/immich.md index 63780ee0..4da6e187 100644 --- a/docs/widgets/services/immich.md +++ b/docs/widgets/services/immich.md @@ -5,6 +5,11 @@ description: Immich Widget Configuration Learn more about [Immich](https://github.com/immich-app/immich). +| Immich Version | Homepage Widget Version | +| -------------- | ----------------------- | +| < v1.118 | 1 (default) | +| >= v1.118 | 2 | + Find your API key under `Account Settings > API Keys`. Allowed fields: `["users" ,"photos", "videos", "storage"]`. @@ -16,4 +21,5 @@ widget: type: immich url: http://immich.host.or.ip key: adminapikeyadminapikeyadminapikey + version: 2 # optional, default is 1 ``` diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 6138d2e9..24ba57e2 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -406,7 +406,7 @@ export function cleanServiceGroups(groups) { // frigate enableRecentEvents, - // glances, mealie, pihole, pfsense + // glances, immich, mealie, pihole, pfsense version, // glances @@ -568,8 +568,8 @@ export function cleanServiceGroups(groups) { if (snapshotHost) cleanedService.widget.snapshotHost = snapshotHost; if (snapshotPath) cleanedService.widget.snapshotPath = snapshotPath; } - if (["glances", "mealie", "pfsense", "pihole"].includes(type)) { - if (version) cleanedService.widget.version = version; + if (["glances", "immich", "mealie", "pfsense", "pihole"].includes(type)) { + if (version) cleanedService.widget.version = parseInt(version, 10); } if (type === "glances") { if (metric) cleanedService.widget.metric = metric; diff --git a/src/widgets/immich/component.jsx b/src/widgets/immich/component.jsx index 5f5bbedd..ed27d4d8 100644 --- a/src/widgets/immich/component.jsx +++ b/src/widgets/immich/component.jsx @@ -8,11 +8,19 @@ export default function Component({ service }) { const { t } = useTranslation(); const { widget } = service; - const { data: versionData, error: versionError } = useWidgetAPI(widget, "version"); - // see https://github.com/gethomepage/homepage/issues/2282 - const endpoint = - versionData?.major > 1 || (versionData?.major === 1 && versionData?.minor > 84) ? "statistics" : "stats"; - const { data: immichData, error: immichError } = useWidgetAPI(widget, endpoint); + const { version = 1 } = widget; + + const versionEndpoint = version === 2 ? "version_v2" : "version"; + + const { data: versionData, error: versionError } = useWidgetAPI(widget, versionEndpoint); + + let statsEndpoint = version === 2 ? "statistics_v2" : "stats"; + if (version === 1) { + // see https://github.com/gethomepage/homepage/issues/2282 + statsEndpoint = + versionData?.major > 1 || (versionData?.major === 1 && versionData?.minor > 84) ? "statistics" : "stats"; + } + const { data: immichData, error: immichError } = useWidgetAPI(widget, statsEndpoint); if (immichError || versionError || immichData?.statusCode === 401) { return{validateError}+
You have a few options for deploying homepage, depending on your needs. We offer docker images for a majority of platforms. You can also install and run homepage from source if Docker is not your thing. It can even be installed on Kubernetes with Helm. -
-!!! warning +!!! info Please note that when using features such as widgets, Homepage can access personal information (for example from your home automation system) and Homepage currently does not (and is not planned to) include any authentication layer itself. Thus, we recommend homepage be deployed behind a reverse proxy including authentication, SSL etc, and / or behind a VPN. @@ -28,3 +26,7 @@ You have a few options for deploying homepage, depending on your needs. We offer { .card }HOMEPAGE_ALLOWED_HOSTS
. This is a comma separated list of allowed hosts that can access your homepage. See the [docker](docker.md) and [source](source.md) installation pages for examples.
From 666d075ec453aeced0b229750cde8171ba79147c Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 26 Feb 2025 09:07:06 -0800
Subject: [PATCH 176/195] Chore(deps): Bump docker/setup-qemu-action from 3.4.0
to 3.5.0 (#4836)
Signed-off-by: dependabot[bot]