From 1c456b70c00946a0af643a4f49d1da94c10c900c Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 7 Nov 2022 11:35:13 -0800 Subject: [PATCH 001/300] Re-create service ping, docker status changes See #388 --- public/locales/en/common.json | 8 +++++- src/components/services/item.jsx | 32 ++++++++++++++-------- src/components/services/ping.jsx | 44 ++++++++++++++++++++++++++++++ src/components/services/status.jsx | 27 ++++++++++++++---- src/pages/api/ping.js | 28 +++++++++++++++++++ src/utils/proxy/http.js | 2 +- 6 files changed, 123 insertions(+), 18 deletions(-) create mode 100644 src/components/services/ping.jsx create mode 100644 src/pages/api/ping.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 8784443a..24177db6 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -52,7 +52,13 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" + }, + "ping": { + "error": "Error", + "ping": "Ping" }, "emby": { "playing": "Playing", diff --git a/src/components/services/item.jsx b/src/components/services/item.jsx index 56ed2b4b..3f9df930 100644 --- a/src/components/services/item.jsx +++ b/src/components/services/item.jsx @@ -3,6 +3,7 @@ import { useContext, useState } from "react"; import Status from "./status"; import Widget from "./widget"; +import Ping from "./ping"; import Docker from "widgets/docker/component"; import { SettingsContext } from "utils/contexts/settings"; @@ -30,7 +31,7 @@ export default function Item({ service }) { <div className={`${ hasLink ? "cursor-pointer " : " " - }transition-all h-15 mb-3 p-1 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10`} + }transition-all h-15 mb-3 p-1 rounded-md font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-100/20 hover:bg-theme-300/20 dark:bg-white/5 dark:hover:bg-white/10 relative`} > <div className="flex select-none"> {service.icon && @@ -70,16 +71,25 @@ export default function Item({ service }) { </div> )} - {service.container && ( - <button - type="button" - onClick={() => (statsOpen ? closeStats() : setStatsOpen(true))} - className="flex-shrink-0 flex items-center justify-center w-12 cursor-pointer" - > - <Status service={service} /> - <span className="sr-only">View container stats</span> - </button> - )} + <div className="absolute top-0 right-0 w-1/2 flex flex-row justify-end gap-2 mr-2"> + {service.ping && ( + <div className="flex-shrink-0 flex items-center justify-center cursor-pointer"> + <Ping service={service} /> + <span className="sr-only">Ping status</span> + </div> + )} + + {service.container && ( + <button + type="button" + onClick={() => (statsOpen ? closeStats() : setStatsOpen(true))} + className="flex-shrink-0 flex items-center justify-center cursor-pointer" + > + <Status service={service} /> + <span className="sr-only">View container stats</span> + </button> + )} + </div> </div> {service.container && service.server && ( diff --git a/src/components/services/ping.jsx b/src/components/services/ping.jsx new file mode 100644 index 00000000..e3056232 --- /dev/null +++ b/src/components/services/ping.jsx @@ -0,0 +1,44 @@ +import { useTranslation } from "react-i18next"; +import useSWR from "swr"; + +export default function Ping({ service }) { + const { t } = useTranslation(); + const { data, error } = useSWR(`/api/ping?${new URLSearchParams({ping: service.ping}).toString()}`, { + refreshInterval: 30000 + }); + + if (error) { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden"> + <div className="text-[8px] font-bold text-rose-500 uppercase">{t("ping.error")}</div> + </div> + ); + } + + if (!data) { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden"> + <div className="text-[8px] font-bold text-black/20 dark:text-white/40 uppercase">{t("ping.ping")}</div> + </div> + ); + } + + const statusText = `${service.ping}: HTTP status ${data.status}`; + + if (data && data.status !== 200) { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={statusText}> + <div className="text-[8px] font-bold text-rose-500/80">{data.status}</div> + </div> + ); + } + + if (data && data.status === 200) { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={statusText}> + <div className="text-[8px] font-bold text-emerald-500/80">{t("common.ms", { value: data.latency, style: "unit", unit: "millisecond", unitDisplay: "narrow", maximumFractionDigits: 0 })}</div> + </div> + ); + } + +} diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index dc903408..2d07e49e 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -1,19 +1,36 @@ +import { useTranslation } from "react-i18next"; import useSWR from "swr"; export default function Status({ service }) { + const { t } = useTranslation(); + const { data, error } = useSWR(`/api/docker/status/${service.container}/${service.server || ""}`); if (error) { - return <div className="w-3 h-3 bg-rose-300 dark:bg-rose-500 rounded-full" />; + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}> + <div className="text-[8px] font-bold text-rose-500/80 uppercase">{t("docker.error")}</div> + </div> } if (data && data.status === "running") { - return <div className="w-3 h-3 bg-emerald-300 dark:bg-emerald-500 rounded-full" />; + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}> + <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.status}</div> + </div> + ); } - if (data && data.status === "not found") { - return <div className="h-2.5 w-2.5 bg-orange-400/50 dark:bg-yellow-200/40 -rotate-45" />; + if (data && (data.status === "not found" || data.status === "exited")) { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}> + <div className="text-[8px] font-bold text-orange-400/50 dark:text-orange-400/80 uppercase">{data.status}</div> + </div> + ); } - return <div className="w-3 h-3 bg-black/20 dark:bg-white/40 rounded-full" />; + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden"> + <div className="text-[8px] font-bold text-black/20 dark:text-white/40 uppercase">{t("docker.unknown")}</div> + </div> + ); } diff --git a/src/pages/api/ping.js b/src/pages/api/ping.js new file mode 100644 index 00000000..79c7da0c --- /dev/null +++ b/src/pages/api/ping.js @@ -0,0 +1,28 @@ +import { performance } from "perf_hooks"; + +import createLogger from "utils/logger"; +import { httpProxy } from "utils/proxy/http"; + +const logger = createLogger("ping"); + +export default async function handler(req, res) { + const { ping: pingURL } = req.query; + + if (!pingURL) { + logger.debug("No ping URL specified"); + return res.status(400).send({ + error: "No ping URL given", + }); + } + + const startTime = performance.now(); + const [status] = await httpProxy(pingURL, { + method: "HEAD" + }); + const endTime = performance.now(); + + return res.status(200).json({ + status, + latency: endTime - startTime + }); +} diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js index 4eba83f3..8f180a7f 100644 --- a/src/utils/proxy/http.js +++ b/src/utils/proxy/http.js @@ -96,7 +96,7 @@ export async function httpProxy(url, params = {}) { return [status, contentType, data, responseHeaders]; } catch (err) { - logger.error("Error calling %s//%s%s...", url.protocol, url.hostname, url.pathname); + logger.error("Error calling %s//%s%s...", constructedUrl.protocol, constructedUrl.hostname, constructedUrl.pathname); logger.error(err); return [500, "application/json", { error: "Unexpected error" }, null]; } From 83a3a06386672ee5125b36fa8ffc582ed8071632 Mon Sep 17 00:00:00 2001 From: Rat <atkinson21@gmail.com> Date: Fri, 18 Nov 2022 15:32:59 -0800 Subject: [PATCH 002/300] Added configurable setting for log folder, falls back to config path if not set --- src/utils/logger.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/utils/logger.js b/src/utils/logger.js index 5ad93546..19c6a71e 100644 --- a/src/utils/logger.js +++ b/src/utils/logger.js @@ -1,6 +1,7 @@ /* eslint-disable no-console */ import { join } from "path"; import { format as utilFormat } from "node:util"; +import checkAndCopyConfig, { getSettings } from "utils/config/config"; import winston from "winston"; @@ -8,6 +9,9 @@ let winstonLogger; function init() { const configPath = join(process.cwd(), "config"); + checkAndCopyConfig("settings.yaml"); + const settings = getSettings(); + const logpath = settings.logpath || configPath; function combineMessageAndSplat() { return { @@ -57,7 +61,7 @@ function init() { winston.format.timestamp(), winston.format.printf(messageFormatter) ), - filename: `${configPath}/logs/homepage.log`, + filename: `${logpath}/logs/homepage.log`, handleExceptions: true, handleRejections: true, }), From c8806a87755157991462c0ffd33b26e2cbeb9140 Mon Sep 17 00:00:00 2001 From: Rat <atkinson21@gmail.com> Date: Sat, 19 Nov 2022 12:10:29 -0800 Subject: [PATCH 003/300] lint fix --- src/utils/logger.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/logger.js b/src/utils/logger.js index 19c6a71e..048c5356 100644 --- a/src/utils/logger.js +++ b/src/utils/logger.js @@ -1,10 +1,11 @@ /* eslint-disable no-console */ import { join } from "path"; import { format as utilFormat } from "node:util"; -import checkAndCopyConfig, { getSettings } from "utils/config/config"; import winston from "winston"; +import checkAndCopyConfig, { getSettings } from "utils/config/config"; + let winstonLogger; function init() { From b5bb9c027279c4880b48784132960ae2d7577200 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 21:11:38 -0800 Subject: [PATCH 004/300] Fix rutorrent widget always uses port 80 Closes #538 --- src/widgets/rutorrent/proxy.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/rutorrent/proxy.js b/src/widgets/rutorrent/proxy.js index dae50c35..604b0896 100644 --- a/src/widgets/rutorrent/proxy.js +++ b/src/widgets/rutorrent/proxy.js @@ -13,7 +13,7 @@ export default async function rutorrentProxyHandler(req, res) { const rutorrent = new RuTorrent({ host: constructedUrl.hostname, - port: constructedUrl.port, + port: constructedUrl.port !== '' ? constructedUrl.port : (constructedUrl.protocol === "https:" ? 443 : 80), path: constructedUrl.pathname, ssl: constructedUrl.protocol === "https:", username: widget.username, From c57d980558794f3e708466d99d14e302094f4c66 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 21:19:30 -0800 Subject: [PATCH 005/300] fix rutorrent lint --- src/widgets/rutorrent/proxy.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/widgets/rutorrent/proxy.js b/src/widgets/rutorrent/proxy.js index 604b0896..c7bb5d45 100644 --- a/src/widgets/rutorrent/proxy.js +++ b/src/widgets/rutorrent/proxy.js @@ -11,9 +11,14 @@ export default async function rutorrentProxyHandler(req, res) { if (widget) { const constructedUrl = new URL(widget.url); + let rtPort = constructedUrl.port; + if (rtPort === '') { + rtPort = constructedUrl.protocol === "https:" ? 443 : 80; + } + const rutorrent = new RuTorrent({ host: constructedUrl.hostname, - port: constructedUrl.port !== '' ? constructedUrl.port : (constructedUrl.protocol === "https:" ? 443 : 80), + port: rtPort, path: constructedUrl.pathname, ssl: constructedUrl.protocol === "https:", username: widget.username, From 0653b121042d1e79f46b62b0eadb9131863ff85e Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 19 Nov 2022 22:10:39 -0800 Subject: [PATCH 006/300] fix quicklaunch sometimes mislabels bookmarks --- src/components/quicklaunch.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index 1836e9b7..f2c09db2 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -147,7 +147,7 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear } </div> </div> - <div className="text-xs text-theme-600 font-bold pointer-events-none">{r.abbr ? t("quicklaunch.bookmark") : t("quicklaunch.service")}</div> + <div className="text-xs text-theme-600 font-bold pointer-events-none">{r.type === 'service' ? t("quicklaunch.service") : t("quicklaunch.bookmark")}</div> </button> </li> ))} From e3725b02c88c30273a6fadf95b6d57e318595f18 Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Sat, 19 Nov 2022 10:27:38 +0000 Subject: [PATCH 007/300] Translated using Weblate (Spanish) Currently translated at 100.0% (240 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index e348d534..b015c31f 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -3,10 +3,10 @@ "missing_type": "Falta el tipo de widget: {{type}}", "api_error": "Error de API", "status": "Estado", - "information": "Information", + "information": "Información", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Error sin procesar", + "response_data": "Datos de respuesta" }, "search": { "placeholder": "Buscar…" @@ -325,7 +325,7 @@ "country": "País" }, "hdhomerun": { - "channels": "Channels", - "hd": "HD" + "channels": "Canales", + "hd": "Alta definición" } } From ab0cb6145fe1449bf653bb6c78d1b0c88815d035 Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Sat, 19 Nov 2022 08:56:12 +0000 Subject: [PATCH 008/300] Translated using Weblate (French) Currently translated at 100.0% (240 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index e56e056a..6a211bc6 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -325,7 +325,7 @@ "country": "Pays" }, "hdhomerun": { - "channels": "Channels", + "channels": "Canaux", "hd": "HD" } } From 4a21ad647ff4bf385875ec0ce0c46f01c8f49e8b Mon Sep 17 00:00:00 2001 From: retmas-gh <github@oppai.ovh> Date: Sat, 19 Nov 2022 14:50:32 +0000 Subject: [PATCH 009/300] Translated using Weblate (Polish) Currently translated at 97.5% (234 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 108 +++++++++++++++++----------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 6754fcda..064aa016 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -53,16 +53,16 @@ "missing_type": "Brakujący typ widżetu: {{type}}", "api_error": "Błąd API", "status": "Stan", - "url": "URL", - "information": "Information", - "raw_error": "Raw Error", - "response_data": "Response Data" + "url": "Adres URL", + "information": "Informacje", + "raw_error": "Niesformatowany błąd", + "response_data": "Dane odpowiedzi" }, "docker": { - "rx": "RX", - "tx": "TX", - "mem": "MEM", - "cpu": "CPU", + "rx": "Rx", + "tx": "Tx", + "mem": "Pamięć", + "cpu": "Procesor", "offline": "Offline" }, "nzbget": { @@ -95,7 +95,7 @@ "wanted": "Poszukiwane", "queued": "W kolejce", "movies": "Filmy", - "missing": "Missing" + "missing": "Brakujące" }, "lidarr": { "wanted": "Poszukiwane", @@ -166,14 +166,14 @@ }, "mastodon": { "user_count": "Użytkownicy", - "status_count": "Posts", + "status_count": "Posty", "domain_count": "Domeny" }, "strelaysrv": { "numActiveSessions": "Sesje", "numConnections": "Połączenia", - "dataRelayed": "Relayed", - "transferRate": "Rate" + "dataRelayed": "Przekazane", + "transferRate": "Przesył" }, "authentik": { "users": "Użytkownicy", @@ -181,10 +181,10 @@ "failedLoginsLast24H": "Nieudane logowania (24h)" }, "proxmox": { - "mem": "MEM", - "cpu": "CPU", - "lxc": "LXC", - "vms": "VMs" + "mem": "Pamięć", + "cpu": "Procesor", + "lxc": "Kontenery LXC", + "vms": "Maszyn wirtualnych" }, "unifi": { "users": "Użytkownicy", @@ -203,25 +203,25 @@ "wlan_devices": "Urządzenia WLAN" }, "plex": { - "streams": "Active Streams", + "streams": "Aktywne strumienie", "movies": "Filmy", "tv": "Seriale" }, "glances": { - "cpu": "CPU", - "mem": "MEM", + "cpu": "Procesor", + "mem": "Pamięć", "wait": "Proszę czekać" }, "changedetectionio": { - "diffsDetected": "Diffs Detected", - "totalObserved": "Total Observed" + "diffsDetected": "Wykryto różnic", + "totalObserved": "Obserwowanych ogółem" }, "wmo": { - "77-day": "Snow Grains", + "77-day": "Ziarnisty śnieg", "0-day": "Słoneczny", - "0-night": "Clear", - "1-day": "Mainly Sunny", - "1-night": "Mainly Clear", + "0-night": "Bezchmurny", + "1-day": "Głównie słoneczny", + "1-night": "Głównie bezchmurny", "2-day": "Częściowo pochmurnie", "2-night": "Częściowo pochmurnie", "3-day": "Pochmurnie", @@ -236,10 +236,10 @@ "53-night": "Mżawka", "55-day": "Ciężka mżawka", "55-night": "Ciężka mżawka", - "56-day": "Light Freezing Drizzle", - "56-night": "Light Freezing Drizzle", - "57-day": "Freezing Drizzle", - "57-night": "Freezing Drizzle", + "56-day": "Lekko chłodna mżawka", + "56-night": "Lekko chłodna mżawka", + "57-day": "Chłodna mżawka", + "57-night": "Chłodna mżawka", "61-day": "Lekki deszcz", "61-night": "Lekki deszcz", "63-day": "Deszcz", @@ -256,7 +256,7 @@ "73-night": "Śnieg", "75-day": "Ciężki śnieg", "75-night": "Ciężki śnieg", - "77-night": "Snow Grains", + "77-night": "Ziarnisty śnieg", "80-day": "Lekkie opady", "80-night": "Lekkie opady", "81-day": "Opady", @@ -275,7 +275,7 @@ "99-night": "Burza z gradobiciem" }, "quicklaunch": { - "bookmark": "Bookmark", + "bookmark": "Zakładka", "service": "Usługi" }, "homebridge": { @@ -287,45 +287,45 @@ "child_bridges_status": "{{ok}}/{{total}}" }, "autobrr": { - "approvedPushes": "Approved", - "rejectedPushes": "Rejected", - "filters": "Filters", - "indexers": "Indexers" + "approvedPushes": "Zaakceptowane", + "rejectedPushes": "Odrzucone", + "filters": "Filtry", + "indexers": "Indeksery" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "Zeskanowane", + "containers_updated": "Zaktualizowane", + "containers_failed": "Niepowodzenie" }, "tubearchivist": { - "downloads": "Queue", - "videos": "Videos", - "channels": "Channels", - "playlists": "Playlists" + "downloads": "Kolejka", + "videos": "Pliki wideo", + "channels": "Kanały", + "playlists": "Playlisty" }, "truenas": { - "load": "System Load", - "uptime": "Uptime", - "alerts": "Alerts", + "load": "Obciążenie systemu", + "uptime": "Czas działania", + "alerts": "Ostrzeżenia", "time": "{{value, number(style: unit; unitDisplay: long;)}}" }, "navidrome": { - "please_wait": "Please Wait", - "nothing_streaming": "No Active Streams" + "please_wait": "Proszę czekać", + "nothing_streaming": "Brak aktywnych strumieni" }, "pyload": { - "speed": "Speed", - "active": "Active", - "queue": "Queue", - "total": "Total" + "speed": "Prędkość", + "active": "Aktywne", + "queue": "Kolejka", + "total": "Razem" }, "gluetun": { - "public_ip": "Public IP", + "public_ip": "Adres publiczny", "region": "Region", - "country": "Country" + "country": "Państwo" }, "hdhomerun": { - "channels": "Channels", + "channels": "Kanały", "hd": "HD" } } From eab2cce41f38d3cce64bcc084bbda342626efdae Mon Sep 17 00:00:00 2001 From: Milo Ivir <mail@milotype.de> Date: Sun, 20 Nov 2022 15:39:31 +0000 Subject: [PATCH 010/300] Translated using Weblate (Croatian) Currently translated at 100.0% (240 of 240 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 191a3d79..2ac5c3fb 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -59,10 +59,10 @@ "missing_type": "Nedostajuća vrsta widgeta: {{type}}", "api_error": "API greška", "status": "Stanje", - "information": "Information", + "information": "Informacije", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Raw greška", + "response_data": "Podaci odgovora" }, "docker": { "rx": "RX", @@ -320,12 +320,12 @@ "total": "Ukupno" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "Javni IP", + "region": "Regija", + "country": "Zemlja" }, "hdhomerun": { - "channels": "Channels", + "channels": "Kanali", "hd": "HD" } } From 72374b3ae944fec2f611686cad302c3232178707 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 011/300] Translated using Weblate (German) Currently translated at 92.2% (225 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 22402020..ecc4141c 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -23,7 +23,9 @@ "tx": "Tx", "mem": "Mem", "cpu": "Prozessor", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Spielen", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "ping": "Ping", + "error": "Error" } } From ff6a6c17b1a644231fd82a94c36c2be6363b3198 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 012/300] Translated using Weblate (Spanish) Currently translated at 98.3% (240 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index b015c31f..5b9a7959 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -23,7 +23,9 @@ "tx": "Transmitido", "mem": "Memoria", "cpu": "Procesador", - "offline": "Desconectado" + "offline": "Desconectado", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reproduciendo", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Canales", "hd": "Alta definición" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 1a8a2b67a15e3b7418aa74676e3c7bef5f7222e2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 013/300] Translated using Weblate (French) Currently translated at 98.3% (240 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 6a211bc6..e170b8a9 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -23,7 +23,9 @@ "tx": "Tx", "mem": "Mém", "cpu": "Cpu", - "offline": "Hors ligne" + "offline": "Hors ligne", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "En lecture", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Canaux", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From cedd00c0548eb7741007a993bbdf343bca58b0b5 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 014/300] Translated using Weblate (Portuguese) Currently translated at 47.1% (115 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 1431ac43..654cdb7f 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -23,7 +23,9 @@ "tx": "Tx", "mem": "Mem", "cpu": "CPU", - "offline": "Desligado" + "offline": "Desligado", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "A reproduzir", @@ -338,5 +340,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 10b2772782d583a256298bb21b194159b73ba66d Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 015/300] Translated using Weblate (Russian) Currently translated at 9.4% (23 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index ac9a9823..9e7fe526 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -23,7 +23,9 @@ "tx": "Тx", "mem": "Память", "cpu": "Процессор", - "offline": "Не в сети" + "offline": "Не в сети", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Воспроизведение", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 65d7bcd4682302e83ae8bc7d74bb50471e772e16 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 016/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 67.6% (165 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 2337bb02..1a25f9cd 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -23,7 +23,9 @@ "tx": "发送", "mem": "内存", "cpu": "处理器", - "offline": "离线" + "offline": "离线", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "播放中", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 12300391e2e89676d1f216cc72e94e717ccffdf8 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 017/300] Translated using Weblate (Italian) Currently translated at 93.8% (229 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 0bf60639..aa9c713a 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -4,7 +4,9 @@ "mem": "MEM", "cpu": "CPU", "offline": "Offline", - "rx": "RX" + "rx": "RX", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "In riproduzione", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 3e126824ff13875840ea9d91bd619216dc5dc5d5 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 018/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 32.3% (79 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 813422e2..5982f463 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -23,7 +23,9 @@ "tx": "Sendt", "mem": "Minne", "cpu": "Prosessor", - "offline": "Frakoblet" + "offline": "Frakoblet", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Spiller", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 4f0adea0da340a46879ff69e5b04cc64772ce9d7 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 019/300] Translated using Weblate (Vietnamese) Currently translated at 18.0% (44 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 228e7d93..5ab0537e 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -23,7 +23,9 @@ "tx": "TX", "mem": "BỘ NHỚ", "cpu": "CPU", - "offline": "Ngoại tuyến" + "offline": "Ngoại tuyến", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Đang chơi", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From e7c4254bb68c629adad253f8c6d6b01c2000e042 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 020/300] Translated using Weblate (Dutch) Currently translated at 25.8% (63 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 5502dd8b..172edfd2 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -20,7 +20,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "speedtest": { "upload": "Upload", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 17cb8ffd0b7fb007235373768ccd7a9751dedba8 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:08 +0000 Subject: [PATCH 021/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.6% (9 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index cd508662..3c61740a 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -19,7 +19,9 @@ "offline": "Offline", "tx": "TX", "mem": "MEM", - "cpu": "CPU" + "cpu": "CPU", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Playing", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 1843c588b8b872d96f9d7053bf78654148f8cd50 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 022/300] Translated using Weblate (Catalan) Currently translated at 53.6% (131 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index f9aa5969..1656dcc8 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -45,7 +45,9 @@ "tx": "Transmès", "mem": "Memòria", "cpu": "Processador", - "offline": "Fora de línia" + "offline": "Fora de línia", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reproduint", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 7b2b56ff0cc797a3cf82187bd0730f1131fd275c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 023/300] Translated using Weblate (Polish) Currently translated at 95.9% (234 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 064aa016..809fc7c3 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -63,7 +63,9 @@ "tx": "Tx", "mem": "Pamięć", "cpu": "Procesor", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "nzbget": { "rate": "Szybkość", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Kanały", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From b8c61f18ef8c306ec7b823724add6f9a8fe6cb50 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:03 +0000 Subject: [PATCH 024/300] Translated using Weblate (Swedish) Currently translated at 53.2% (130 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 6bdc8ee0..a151bf35 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -26,7 +26,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "search": { "placeholder": "Sök…" @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 44477a9e1c4872b2f265787f6769a970a17f199f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:03 +0000 Subject: [PATCH 025/300] Translated using Weblate (Croatian) Currently translated at 98.3% (240 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 2ac5c3fb..adb84f37 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -69,7 +69,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Nepovezan" + "offline": "Nepovezan", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reprodukcija", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Kanali", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From eb525e8ea57287e5f00cdefd003a8aecde4437bd Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 026/300] Translated using Weblate (Hungarian) Currently translated at 44.2% (108 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 6ba895ae..39f88a6e 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -11,7 +11,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "lidarr": { "albums": "Albumok", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 27542befdd965f64240aa2d3bccdbefd3fdc96a1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 027/300] Translated using Weblate (Hebrew) Currently translated at 41.3% (101 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 5c89ac33..cb61cc0e 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -29,7 +29,9 @@ "tx": "TX", "mem": "זיכרון", "cpu": "מעבד", - "offline": "כבוי" + "offline": "כבוי", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "מנגן", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 36a153c6c3517bbb9dabd2a85bdc43206a2c5f17 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 028/300] Translated using Weblate (Romanian) Currently translated at 56.1% (137 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index c98705f2..bd302227 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -11,7 +11,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "jellyseerr": { "approved": "Aprobate", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 45c6501dd5a78924f7ea288b359c7636b30afd5b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 029/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 47.9% (117 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index f6101ee0..ca4f39ef 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -57,7 +57,9 @@ "tx": "Tx", "mem": "Mem", "cpu": "CPU", - "offline": "Desligado" + "offline": "Desligado", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Reproduzindo", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 4be7f15e7d3d29c84b1458ab055bef731009d069 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 030/300] Translated using Weblate (Yue) Currently translated at 48.3% (118 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 6c7d84de..09f8ea7c 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -47,7 +47,9 @@ "tx": "發送", "mem": "內存", "cpu": "處理器", - "offline": "離線" + "offline": "離線", + "error": "Error", + "unknown": "Unknown" }, "nzbget": { "rate": "速度", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 3f1890f32fae4c6c044b42f4dbee2e9a5bfcfece Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 031/300] Translated using Weblate (Finnish) Currently translated at 50.4% (123 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index d35449e8..916b8bc5 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -29,7 +29,9 @@ "tx": "TX", "mem": "RAM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Toistaa", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 8cfa6d6ef3b6487d47c1f3dacd8cb28cc62d6e43 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 032/300] Translated using Weblate (Telugu) Currently translated at 88.9% (217 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index d6ab211f..85fb5846 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -46,7 +46,9 @@ "tx": "TX", "mem": "MEM", "cpu": "సీపియూ", - "offline": "ఆఫ్లైన్" + "offline": "ఆఫ్లైన్", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "ఆడుతున్నారు", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 9b4054f7cc4ebe05526f0d36d21c7f3672050e02 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 033/300] Translated using Weblate (Bulgarian) Currently translated at 18.8% (46 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index c7824518..5bdc7191 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -55,7 +55,9 @@ "rx": "RX", "tx": "TX", "mem": "MEM", - "cpu": "CPU" + "cpu": "CPU", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Възпроизвежда", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "ping": "Ping", + "error": "Error" } } From 972210b184549cdd798e87a72ce7c48d9302013a Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 034/300] Translated using Weblate (Turkish) Currently translated at 94.6% (231 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 053bd1b6..687ee14f 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -45,7 +45,9 @@ "tx": "Giden Veri", "mem": "Bellek", "cpu": "İşlemci", - "offline": "Çevrimdışı" + "offline": "Çevrimdışı", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Oynatılıyor", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 6af10c50c52c7dfdb4dfa4dbf5fb5a954f789d17 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 035/300] Translated using Weblate (Serbian) Currently translated at 3.6% (9 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index ed646d45..94ab9462 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -45,7 +45,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Playing", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 6c986c7b32ecf3147bcf14fbf6724648e6c54e29 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:05 +0000 Subject: [PATCH 036/300] Translated using Weblate (Arabic) Currently translated at 18.0% (44 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index b099cf51..06932fe8 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -103,7 +103,9 @@ "tx": "TX", "mem": "الرام", "cpu": "المعالج", - "offline": "غير متصل" + "offline": "غير متصل", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "يعمل الان", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 411f6c31523d881566ae8bccdd375f0d2c8e2f10 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 037/300] Translated using Weblate (Czech) Currently translated at 92.2% (225 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index fd11ea9d..eaad12be 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -57,7 +57,9 @@ "tx": "TX", "mem": "RAM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Přehrává", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From d6e7451a13222bf544a40dcbacf2091a64b638c4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:06 +0000 Subject: [PATCH 038/300] Translated using Weblate (Danish) Currently translated at 81.1% (198 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index de0ac1d2..0350d7a2 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -181,7 +181,9 @@ "rx": "RX", "tx": "TX", "mem": "RAM", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Afspiller", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 553e629ae9be98dc66abc467be655abd7efdabdd Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:07 +0000 Subject: [PATCH 039/300] Translated using Weblate (Malay) Currently translated at 94.6% (231 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index cb6bbb2a..fa9cf98a 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -150,7 +150,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Luar talian" + "offline": "Luar talian", + "error": "Error", + "unknown": "Unknown" }, "changedetectionio": { "totalObserved": "Jumlah Diperhatikan", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 24814ec6e4b14ccc53dac697f11268860ff13484 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sun, 20 Nov 2022 18:04:04 +0000 Subject: [PATCH 040/300] Translated using Weblate (Hindi) Currently translated at 3.6% (9 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 7289852f..6b3ff4a9 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -79,7 +79,9 @@ "tx": "TX", "mem": "MEM", "cpu": "CPU", - "offline": "Offline" + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" }, "emby": { "playing": "Playing", @@ -327,5 +329,9 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "ping": { + "error": "Error", + "ping": "Ping" } } From 44da4e93170349900a5ef2655076bd73945de71d Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Sun, 20 Nov 2022 18:17:29 +0000 Subject: [PATCH 041/300] Translated using Weblate (French) Currently translated at 100.0% (244 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index e170b8a9..fc1ab208 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -24,8 +24,8 @@ "mem": "Mém", "cpu": "Cpu", "offline": "Hors ligne", - "error": "Error", - "unknown": "Unknown" + "error": "Erreur", + "unknown": "Inconnu" }, "emby": { "playing": "En lecture", @@ -331,7 +331,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Erreur", "ping": "Ping" } } From 0c0bbe93170ce22379677e2f0cdb5eab69e5eaf2 Mon Sep 17 00:00:00 2001 From: retmas-gh <github@oppai.ovh> Date: Sun, 20 Nov 2022 21:43:11 +0000 Subject: [PATCH 042/300] Translated using Weblate (Polish) Currently translated at 97.5% (238 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 809fc7c3..c12e044c 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -64,8 +64,8 @@ "mem": "Pamięć", "cpu": "Procesor", "offline": "Offline", - "error": "Error", - "unknown": "Unknown" + "error": "Błąd", + "unknown": "Nieznany" }, "nzbget": { "rate": "Szybkość", @@ -331,7 +331,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Błąd", "ping": "Ping" } } From b393318084aecd8cd30b7a64ed4969e72aaaf824 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 20 Nov 2022 23:59:10 -0800 Subject: [PATCH 043/300] fix group sorting bug --- src/utils/config/api-response.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index d3561a55..645f45c6 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -90,12 +90,12 @@ export async function servicesResponse() { if (definedLayouts) { const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name); - if (layoutIndex > -1) mergedGroups.splice(layoutIndex, 0, mergedGroup); + if (layoutIndex > -1) mergedGroups[layoutIndex] = mergedGroup; else mergedGroups.push(mergedGroup); } else { mergedGroups.push(mergedGroup); } }); - return mergedGroups; + return mergedGroups.filter(g => g); } From 92d456dbf4fab4c5b19da9730da5560ff55fbbdc Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 21 Nov 2022 00:29:20 -0800 Subject: [PATCH 044/300] fix group sort to prevent possible loss --- src/utils/config/api-response.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/utils/config/api-response.js b/src/utils/config/api-response.js index 645f45c6..b8de959f 100644 --- a/src/utils/config/api-response.js +++ b/src/utils/config/api-response.js @@ -76,7 +76,8 @@ export async function servicesResponse() { ...new Set([discoveredServices.map((group) => group.name), configuredServices.map((group) => group.name)].flat()), ]; - const mergedGroups = []; + const sortedGroups = []; + const unsortedGroups = []; const definedLayouts = initialSettings.layout ? Object.keys(initialSettings.layout) : null; mergedGroupsNames.forEach((groupName) => { @@ -90,12 +91,12 @@ export async function servicesResponse() { if (definedLayouts) { const layoutIndex = definedLayouts.findIndex(layout => layout === mergedGroup.name); - if (layoutIndex > -1) mergedGroups[layoutIndex] = mergedGroup; - else mergedGroups.push(mergedGroup); + if (layoutIndex > -1) sortedGroups[layoutIndex] = mergedGroup; + else unsortedGroups.push(mergedGroup); } else { - mergedGroups.push(mergedGroup); + unsortedGroups.push(mergedGroup); } }); - return mergedGroups.filter(g => g); + return [...sortedGroups.filter(g => g), ...unsortedGroups]; } From 4584384bebbc275614a314989c0d5e84cd338725 Mon Sep 17 00:00:00 2001 From: Bruno Rossetto <bruno.rossetto@sottelli.com> Date: Mon, 21 Nov 2022 17:06:11 -0300 Subject: [PATCH 045/300] Fix error on refresh sending DATA var undefined on first time --- src/widgets/changedetectionio/component.jsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/widgets/changedetectionio/component.jsx b/src/widgets/changedetectionio/component.jsx index 0a4ce8d2..6f98df6b 100644 --- a/src/widgets/changedetectionio/component.jsx +++ b/src/widgets/changedetectionio/component.jsx @@ -14,6 +14,11 @@ export default function Component({ service }) { if (error) { return <Container error={error} />; } + + if (!data) { + return <Container service={service} />; + } + const totalObserved = Object.keys(data).length; let diffsDetected = 0; From 8a2d00440b14af28a8a25de6e9e87d08133f970e Mon Sep 17 00:00:00 2001 From: John Hollowell <jhollowe@johnhollowell.com> Date: Tue, 22 Nov 2022 03:36:23 +0000 Subject: [PATCH 046/300] Add devcontainer configuration devcontainers can be used by IDEs like VSCode to build the whole development environment in a container. This allows you to keep dependencies, build, and all development aspects separated from any development. It also allows contributors to instantly have a working, standardized development environment. It also allows cloud development tools like GitHub Codespaces be automatically setup with the desired environment. See https://containers.dev/ for more details --- .devcontainer/Dockerfile | 6 ++++++ .devcontainer/devcontainer.json | 27 +++++++++++++++++++++++++++ .devcontainer/setup.sh | 11 +++++++++++ 3 files changed, 44 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/setup.sh diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 00000000..9f20426f --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,6 @@ +ARG VARIANT="16-buster" +FROM mcr.microsoft.com/vscode/devcontainers/javascript-node:${VARIANT} + +RUN npm install -g pnpm + +ENV PATH="${PATH}:./node_modules/.bin" diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..e547dd7e --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,27 @@ +{ + "name": "homepage", + "build": { + "dockerfile": "Dockerfile", + "args": { + "VARIANT": "18-buster" + } + }, + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "mhutchie.git-graph", + "streetsidesoftware.code-spell-checker", + ], + "settings": { + "eslint.format.enable": true, + "eslint.lintTask.enable": true, + "eslint.packageManager": "pnpm" + } + } + }, + "postCreateCommand": ".devcontainer/setup.sh", + "forwardPorts": [ + 3000 + ] +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 00000000..70bf96cf --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Install Node packages +pnpm install + +# Copy in skeleton configuration if there is no existing configuration +if [ ! -d "config/" ]; then + echo "Adding skeleton config" + mkdir config/ + cp -r src/skeleton/* config +fi From cadc1748198a594ccd27ebd0946650ed2c8bdcd3 Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Mon, 21 Nov 2022 11:40:34 +0000 Subject: [PATCH 047/300] Translated using Weblate (Spanish) Currently translated at 100.0% (244 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 5b9a7959..90cbdc86 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -24,8 +24,8 @@ "mem": "Memoria", "cpu": "Procesador", "offline": "Desconectado", - "error": "Error", - "unknown": "Unknown" + "error": "Fallo", + "unknown": "Desconocido" }, "emby": { "playing": "Reproduciendo", From 451a2e17535e25c440326d5914e6df15e42244f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B3=D0=BE=D1=80=D1=8C=20=D0=91=D0=B5=D1=81=D1=87?= =?UTF-8?q?=D0=B0=D1=81=D1=82=D0=BD=D0=BE=D0=B2?= <beschastnovigor@gmail.com> Date: Mon, 21 Nov 2022 16:27:51 +0000 Subject: [PATCH 048/300] Translated using Weblate (Russian) Currently translated at 13.9% (34 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 9e7fe526..02266106 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -3,7 +3,7 @@ "missing_type": "Отсутствует тип виджета: {{type}}", "api_error": "Ошибка API", "status": "Статус", - "information": "Information", + "information": "Информация", "url": "URL", "raw_error": "Raw Error", "response_data": "Response Data" @@ -15,7 +15,7 @@ "total": "Всего", "free": "Свободно", "used": "Использовано", - "load": "Load", + "load": "Загрузка", "cpu": "CPU" }, "docker": { @@ -189,19 +189,19 @@ "vms": "VMs" }, "unifi": { - "users": "Users", - "uptime": "System Uptime", - "days": "Days", + "users": "Пользователи", + "uptime": "Время работы системы", + "days": "Дней", "wan": "WAN", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", + "lan_users": "Пользователи LAN", + "wlan_users": "Пользователи WLAN", "up": "UP", "down": "DOWN", "wait": "Please wait", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", + "devices": "Устройства", + "lan_devices": "Устройства подключённые по LAN", "wlan_devices": "WLAN Devices" }, "plex": { From c8d0b5ac4be232fc225252835f5c467ad0fc775a Mon Sep 17 00:00:00 2001 From: Milo Ivir <mail@milotype.de> Date: Tue, 22 Nov 2022 22:41:06 +0000 Subject: [PATCH 049/300] Translated using Weblate (Croatian) Currently translated at 100.0% (244 of 244 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index adb84f37..703f4e0a 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -70,8 +70,8 @@ "mem": "MEM", "cpu": "CPU", "offline": "Nepovezan", - "error": "Error", - "unknown": "Unknown" + "error": "Greška", + "unknown": "Nepoznato" }, "emby": { "playing": "Reprodukcija", @@ -331,7 +331,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Greška", "ping": "Ping" } } From 16561bac79e886a890fa2e36d2e85932dd7e5d9e Mon Sep 17 00:00:00 2001 From: Niklas <niklastasler@gmail.com> Date: Wed, 23 Nov 2022 15:27:04 +0100 Subject: [PATCH 050/300] Add scrutiny widget --- public/locales/en/common.json | 5 ++++ src/widgets/components.js | 1 + src/widgets/scrutiny/component.jsx | 37 ++++++++++++++++++++++++++++++ src/widgets/scrutiny/widget.js | 17 ++++++++++++++ src/widgets/widgets.js | 2 ++ 5 files changed, 62 insertions(+) create mode 100644 src/widgets/scrutiny/component.jsx create mode 100644 src/widgets/scrutiny/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 4d1b5774..0d1368a6 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -344,5 +344,10 @@ "hdhomerun": { "channels": "Channels", "hd": "HD" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } diff --git a/src/widgets/components.js b/src/widgets/components.js index b781172b..d645d80d 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -34,6 +34,7 @@ const components = { readarr: dynamic(() => import("./readarr/component")), rutorrent: dynamic(() => import("./rutorrent/component")), sabnzbd: dynamic(() => import("./sabnzbd/component")), + scrutiny: dynamic(() => import("./scrutiny/component")), sonarr: dynamic(() => import("./sonarr/component")), speedtest: dynamic(() => import("./speedtest/component")), strelaysrv: dynamic(() => import("./strelaysrv/component")), diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx new file mode 100644 index 00000000..2e44d778 --- /dev/null +++ b/src/widgets/scrutiny/component.jsx @@ -0,0 +1,37 @@ +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { widget } = service; + + const { data: scrutinyData, error: scrutinyError } = useWidgetAPI(widget, "summary"); + + if (scrutinyError) { + return <Container error={scrutinyError} />; + } + + if (!scrutinyData) { + return ( + <Container service={service}> + <Block label="scrutiny.passed" /> + <Block label="scrutiny.failed" /> + <Block label="scrutiny.unknown" /> + </Container> + ); + } + + const deviceIds = Object.values(scrutinyData.data.summary); + + const passed = deviceIds.filter(deviceId => deviceId.device.device_status === 0)?.length || 0; + const failed = deviceIds.filter(deviceId => deviceId.device.device_status > 0 && deviceId.device.device_status <= 3)?.length || 0; + const unknown = deviceIds.length - (passed + failed) || 0; + + return ( + <Container service={service}> + <Block label="scrutiny.passed" value={passed} /> + <Block label="scrutiny.failed" value={failed} /> + <Block label="scrutiny.unknown" value={unknown} /> + </Container> + ); +} diff --git a/src/widgets/scrutiny/widget.js b/src/widgets/scrutiny/widget.js new file mode 100644 index 00000000..8af7e04e --- /dev/null +++ b/src/widgets/scrutiny/widget.js @@ -0,0 +1,17 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + summary: { + endpoint: "summary", + validate: [ + "data", + ] + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index fe432832..3f1c6e08 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -29,6 +29,7 @@ import radarr from "./radarr/widget"; import readarr from "./readarr/widget"; import rutorrent from "./rutorrent/widget"; import sabnzbd from "./sabnzbd/widget"; +import scrutiny from "./scrutiny/widget"; import sonarr from "./sonarr/widget"; import speedtest from "./speedtest/widget"; import strelaysrv from "./strelaysrv/widget"; @@ -73,6 +74,7 @@ const widgets = { readarr, rutorrent, sabnzbd, + scrutiny, sonarr, speedtest, strelaysrv, From 88201cc11ac3ce2334be98a41fac2807dcc7647f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 051/300] Translated using Weblate (German) Currently translated at 91.0% (225 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ecc4141c..ec57b3de 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -333,5 +333,10 @@ "ping": { "ping": "Ping", "error": "Error" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 7c587a9708fa48f74e4b482ed30170fa4371b573 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 052/300] Translated using Weblate (Spanish) Currently translated at 98.7% (244 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 90cbdc86..06463aa9 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 9a558749512fbb8a85be95e5fb0413ffdbdfcd0f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 053/300] Translated using Weblate (French) Currently translated at 98.7% (244 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index fc1ab208..15271c37 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Erreur", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 3332ba34fcaad6c30ca0448ccce72c20855a55f9 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 054/300] Translated using Weblate (Portuguese) Currently translated at 46.5% (115 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 654cdb7f..637610dd 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -344,5 +344,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From d6e6e57fa7664c92fad08e5b6d8f96a1ede3100c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 055/300] Translated using Weblate (Russian) Currently translated at 13.7% (34 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 02266106..ebc73fe0 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "failed": "Failed", + "unknown": "Unknown", + "passed": "Passed" } } From 4a885ec3a2e74bb0941e719c3fb1ff592fe97e54 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 056/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.8% (165 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 1a25f9cd..b2438008 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 71d8fb63eb02d578376fa7e89acb3c295968c83b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:24 +0000 Subject: [PATCH 057/300] Translated using Weblate (Italian) Currently translated at 92.7% (229 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index aa9c713a..8d632da5 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From c1d6653d227e66ed3dfd7f19a03568739d5db3b8 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 058/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.9% (79 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 5982f463..acdd7596 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 0c824dfb6783f8d29f57f31edf05c93e24795c5f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 059/300] Translated using Weblate (Vietnamese) Currently translated at 17.8% (44 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 5ab0537e..19c0552b 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 0e5e7969234b2c80a26468df9aa4bea51f3a89f1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 060/300] Translated using Weblate (Dutch) Currently translated at 25.5% (63 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 172edfd2..59133e3c 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 889643156b7725646973453c5835ccfa802011b4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 061/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.6% (9 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 3c61740a..db459342 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From ce909fd152a8a0022b61a51a8fb809446a86011c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 062/300] Translated using Weblate (Catalan) Currently translated at 53.0% (131 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 1656dcc8..822b8e0c 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From ea4cfbcb03c21d12e44b2fd0591850fdf40d89c0 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 063/300] Translated using Weblate (Polish) Currently translated at 96.3% (238 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index c12e044c..c4b86c3f 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Błąd", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 4dceb121aebe631b97a91d58ab787e88e6717704 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 064/300] Translated using Weblate (Swedish) Currently translated at 52.6% (130 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index a151bf35..0b12d73f 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 6166a3f7e222e47eb28202136b76af50ade646b4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 065/300] Translated using Weblate (Croatian) Currently translated at 98.7% (244 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 703f4e0a..7d1c1809 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Greška", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From c6d28fb0e678d6af99b8e45daad416c1fd0daabd Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 066/300] Translated using Weblate (Hungarian) Currently translated at 43.7% (108 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 39f88a6e..6c5a0b13 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 4889dc100ecce16ad0d6269e8c7a39bb5565ba1e Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 067/300] Translated using Weblate (Hebrew) Currently translated at 40.8% (101 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index cb61cc0e..67feb2b5 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 4e92f0f55a784ed61c8285ab482402921b2c0617 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 068/300] Translated using Weblate (Romanian) Currently translated at 55.4% (137 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index bd302227..43c5d23e 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From f90c543afa6d506c006093197f3d7a6c2bf9fe32 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 069/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 47.3% (117 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index ca4f39ef..73c5dbd3 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 58c042249e377bccc8c73201c9e25c42b035eb03 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 070/300] Translated using Weblate (Yue) Currently translated at 47.7% (118 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 09f8ea7c..248abe21 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 8afb87aa6f27b533a39e0d24619cffc70fba6da6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 071/300] Translated using Weblate (Finnish) Currently translated at 49.7% (123 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 916b8bc5..dc902d28 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 722aa4cf04db04b5c63ae195b4b58f9c8a9144e8 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 072/300] Translated using Weblate (Telugu) Currently translated at 87.8% (217 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 85fb5846..3ce6c2fc 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 1e471c6ceda56fd875b439a00b0feaf252162e61 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 073/300] Translated using Weblate (Bulgarian) Currently translated at 18.6% (46 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 5bdc7191..7c98c49f 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -333,5 +333,10 @@ "ping": { "ping": "Ping", "error": "Error" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 3caf6f7c2fb927672d0bb31c2f4fc944931ea781 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 074/300] Translated using Weblate (Turkish) Currently translated at 93.5% (231 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 687ee14f..383c0e9e 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 1aea5e177c0cdfd95f1c02ebd662969a8ec650a5 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 075/300] Translated using Weblate (Serbian) Currently translated at 3.6% (9 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 94ab9462..8997a1c6 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 9f023f79425a31a082120d2f7f4926eac3be3d29 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:22 +0000 Subject: [PATCH 076/300] Translated using Weblate (Arabic) Currently translated at 17.8% (44 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 06932fe8..b9370d8a 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 6cdf2a10494476cc1012d340ed0a91dfc6d28e97 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 077/300] Translated using Weblate (Czech) Currently translated at 91.0% (225 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index eaad12be..49f6c67d 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 52bb43a57391b965e456f5282848bdc219438fdc Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:23 +0000 Subject: [PATCH 078/300] Translated using Weblate (Danish) Currently translated at 80.1% (198 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 0350d7a2..698e902c 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 0299f0e4b7f3ed2a476a4b1104cbb3c8bb5a29b2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:25 +0000 Subject: [PATCH 079/300] Translated using Weblate (Malay) Currently translated at 93.5% (231 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index fa9cf98a..e720704d 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 7c06926aa76f3e0420459c72a331e1d8414ada94 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 23 Nov 2022 15:43:21 +0000 Subject: [PATCH 080/300] Translated using Weblate (Hindi) Currently translated at 3.6% (9 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 6b3ff4a9..e43cf744 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -333,5 +333,10 @@ "ping": { "error": "Error", "ping": "Ping" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" } } From 7266390491f9946d2aa415e4905514653ce2cb57 Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Wed, 23 Nov 2022 11:51:53 -0800 Subject: [PATCH 081/300] Add Deluge widget - Create semi-generic jsonrpc proxy handler - Refactor NZBGet to use jsonrpc proxy handler closes #190 --- public/locales/en/common.json | 6 +++ src/utils/proxy/handlers/jsonrpc.js | 82 +++++++++++++++++++++++++++++ src/widgets/components.js | 1 + src/widgets/deluge/component.jsx | 52 ++++++++++++++++++ src/widgets/deluge/proxy.js | 63 ++++++++++++++++++++++ src/widgets/deluge/widget.js | 8 +++ src/widgets/nzbget/proxy.js | 40 -------------- src/widgets/nzbget/widget.js | 5 +- src/widgets/widgets.js | 2 + 9 files changed, 217 insertions(+), 42 deletions(-) create mode 100644 src/utils/proxy/handlers/jsonrpc.js create mode 100644 src/widgets/deluge/component.jsx create mode 100644 src/widgets/deluge/proxy.js create mode 100644 src/widgets/deluge/widget.js delete mode 100644 src/widgets/nzbget/proxy.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 4d1b5774..8098273e 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -112,6 +112,12 @@ "leech": "Leech", "seed": "Seed" }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, "sonarr": { "wanted": "Wanted", "queued": "Queued", diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js new file mode 100644 index 00000000..9677fa50 --- /dev/null +++ b/src/utils/proxy/handlers/jsonrpc.js @@ -0,0 +1,82 @@ +import { JSONRPCClient, JSONRPCErrorException } from "json-rpc-2.0"; + +import { formatApiCall } from "utils/proxy/api-helpers"; +import { httpProxy } from "utils/proxy/http"; +import getServiceWidget from "utils/config/service-helpers"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; + +const logger = createLogger("jsonrpcProxyHandler"); + +export async function sendJsonRpcRequest(url, method, params, username, password) { + const headers = { + "content-type": "application/json", + "accept": "application/json" + } + + if (username && password) { + const authorization = Buffer.from(`${username}:${password}`).toString("base64"); + headers.authorization = `Basic ${authorization}`; + } + + const client = new JSONRPCClient(async (rpcRequest) => { + const httpRequestParams = { + method: "POST", + headers, + body: JSON.stringify(rpcRequest) + }; + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await httpProxy(url, httpRequestParams); + const dataString = data.toString(); + if (status === 200) { + const json = JSON.parse(dataString); + + // in order to get access to the underlying error object in the JSON response + // you must set `result` equal to undefined + if (json.error && (json.result === null)) { + json.result = undefined; + } + return client.receive(json); + } + + return Promise.reject(new Error(dataString)); + }); + + try { + const response = await client.request(method, params); + return [200, "application/json", JSON.stringify(response)]; + } + catch (e) { + if (e instanceof JSONRPCErrorException) { + return [200, "application/json", JSON.stringify({result: null, error: {code: e.code, message: e.message}})]; + } + + logger.warn("Error calling JSONPRC endpoint: %s. %s", url, e); + return [500, "application/json", JSON.stringify({result: null, error: {code: 2, message: e.toString()}})]; + } +} + +export default async function jsonrpcProxyHandler(req, res) { + const { group, service, endpoint: method } = req.query; + + if (group && service) { + const widget = await getServiceWidget(group, service); + const api = widgets?.[widget.type]?.api; + + if (!api) { + return res.status(403).json({ error: "Service does not support API calls" }); + } + + if (widget) { + const url = formatApiCall(api, { ...widget }); + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await sendJsonRpcRequest(url, method, null, widget.username, widget.password); + res.status(status).end(data); + } + } + + logger.debug("Invalid or missing proxy service type '%s' in group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); +} diff --git a/src/widgets/components.js b/src/widgets/components.js index b781172b..e15ed4d8 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -7,6 +7,7 @@ const components = { bazarr: dynamic(() => import("./bazarr/component")), changedetectionio: dynamic(() => import("./changedetectionio/component")), coinmarketcap: dynamic(() => import("./coinmarketcap/component")), + deluge: dynamic(() => import("./deluge/component")), docker: dynamic(() => import("./docker/component")), emby: dynamic(() => import("./emby/component")), gluetun: dynamic(() => import("./gluetun/component")), diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx new file mode 100644 index 00000000..40f8c672 --- /dev/null +++ b/src/widgets/deluge/component.jsx @@ -0,0 +1,52 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: torrentData, error: torrentError } = useWidgetAPI(widget); + + if (torrentError) { + return <Container error={torrentError} />; + } + + if (!torrentData) { + return ( + <Container service={service}> + <Block label="deluge.leech" /> + <Block label="deluge.download" /> + <Block label="deluge.seed" /> + <Block label="deluge.upload" /> + </Container> + ); + } + + const { torrents } = torrentData; + let count = 0; + let rateDl = 0; + let rateUl = 0; + let completed = 0; + for (const key of Object.keys(torrents)) { + const torrent = torrents[key]; + count += 1; + rateDl += torrent.download_payload_rate; + rateUl += torrent.upload_payload_rate; + completed += torrent.total_remaining === 0 ? 1 : 0; + } + + const leech = count - completed || 0; + + return ( + <Container service={service}> + <Block label="deluge.leech" value={t("common.number", { value: leech })} /> + <Block label="deluge.download" value={t("common.bitrate", { value: rateDl })} /> + <Block label="deluge.seed" value={t("common.number", { value: completed })} /> + <Block label="deluge.upload" value={t("common.bitrate", { value: rateUl })} /> + </Container> + ); +} diff --git a/src/widgets/deluge/proxy.js b/src/widgets/deluge/proxy.js new file mode 100644 index 00000000..e9dac0d9 --- /dev/null +++ b/src/widgets/deluge/proxy.js @@ -0,0 +1,63 @@ +import { formatApiCall } from "utils/proxy/api-helpers"; +import { sendJsonRpcRequest } from "utils/proxy/handlers/jsonrpc"; +import getServiceWidget from "utils/config/service-helpers"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; + +const logger = createLogger("delugeProxyHandler"); + +const dataMethod = "web.update_ui"; +const dataParams = [ + ["queue", "name", "total_wanted", "state", "progress", "download_payload_rate", "upload_payload_rate", "total_remaining"], + {} +]; +const loginMethod = "auth.login"; + +async function sendRpc(url, method, params, username, password) { + const [status, contentType, data] = await sendJsonRpcRequest(url, method, params, username, password); + const json = JSON.parse(data.toString()); + if (json?.error) { + if (json.error.code === 1) { + return [403, contentType, data]; + } + return [500, contentType, data]; + } + + return [status, contentType, data]; +} + +function login(url, username, password) { + return sendRpc(url, loginMethod, [password], username, password); +} + +export default async function delugeProxyHandler(req, res) { + const { group, service } = req.query; + + if (!group || !service) { + logger.debug("Invalid or missing service '%s' or group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const widget = await getServiceWidget(group, service); + + if (!widget) { + logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const api = widgets?.[widget.type]?.api + const url = new URL(formatApiCall(api, { ...widget })); + + let [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + if (status === 403) { + [status, contentType, data] = await login(url, widget.username, widget.password); + if (status !== 200) { + return res.status(status).end(data); + } + + // eslint-disable-next-line no-unused-vars + [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + } + + return res.status(status).end(data); +} diff --git a/src/widgets/deluge/widget.js b/src/widgets/deluge/widget.js new file mode 100644 index 00000000..b5518b66 --- /dev/null +++ b/src/widgets/deluge/widget.js @@ -0,0 +1,8 @@ +import delugeProxyHandler from "./proxy"; + +const widget = { + api: "{url}/json", + proxyHandler: delugeProxyHandler, +}; + +export default widget; diff --git a/src/widgets/nzbget/proxy.js b/src/widgets/nzbget/proxy.js deleted file mode 100644 index 4feac781..00000000 --- a/src/widgets/nzbget/proxy.js +++ /dev/null @@ -1,40 +0,0 @@ -import { JSONRPCClient } from "json-rpc-2.0"; - -import getServiceWidget from "utils/config/service-helpers"; - -export default async function nzbgetProxyHandler(req, res) { - const { group, service, endpoint } = req.query; - - if (group && service) { - const widget = await getServiceWidget(group, service); - - if (widget) { - const constructedUrl = new URL(widget.url); - constructedUrl.pathname = "jsonrpc"; - - const authorization = Buffer.from(`${widget.username}:${widget.password}`).toString("base64"); - - const client = new JSONRPCClient((jsonRPCRequest) => - fetch(constructedUrl.toString(), { - method: "POST", - headers: { - "content-type": "application/json", - authorization: `Basic ${authorization}`, - }, - body: JSON.stringify(jsonRPCRequest), - }).then(async (response) => { - if (response.status === 200) { - const jsonRPCResponse = await response.json(); - return client.receive(jsonRPCResponse); - } - - return Promise.reject(new Error(response.statusText)); - }) - ); - - return res.send(await client.request(endpoint)); - } - } - - return res.status(400).json({ error: "Invalid proxy service type" }); -} diff --git a/src/widgets/nzbget/widget.js b/src/widgets/nzbget/widget.js index 975c8dea..841fb66c 100644 --- a/src/widgets/nzbget/widget.js +++ b/src/widgets/nzbget/widget.js @@ -1,7 +1,8 @@ -import nzbgetProxyHandler from "./proxy"; +import jsonrpcProxyHandler from "utils/proxy/handlers/jsonrpc"; const widget = { - proxyHandler: nzbgetProxyHandler, + api: "{url}/jsonrpc", + proxyHandler: jsonrpcProxyHandler, }; export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index fe432832..6d5c4088 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -4,6 +4,7 @@ import autobrr from "./autobrr/widget"; import bazarr from "./bazarr/widget"; import changedetectionio from "./changedetectionio/widget"; import coinmarketcap from "./coinmarketcap/widget"; +import deluge from "./deluge/widget"; import emby from "./emby/widget"; import gluetun from "./gluetun/widget"; import gotify from "./gotify/widget"; @@ -47,6 +48,7 @@ const widgets = { bazarr, changedetectionio, coinmarketcap, + deluge, emby, gluetun, gotify, From bec62a09494916d81251c419e1d3916c5a820ff2 Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Wed, 23 Nov 2022 12:01:31 -0800 Subject: [PATCH 082/300] Fix linting errors --- src/widgets/deluge/component.jsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx index 40f8c672..2e5296f1 100644 --- a/src/widgets/deluge/component.jsx +++ b/src/widgets/deluge/component.jsx @@ -27,19 +27,19 @@ export default function Component({ service }) { } const { torrents } = torrentData; - let count = 0; + const keys = Object.keys(torrents); + let rateDl = 0; let rateUl = 0; let completed = 0; - for (const key of Object.keys(torrents)) { - const torrent = torrents[key]; - count += 1; + for (let i = 0; i < keys.length; i += 1) { + const torrent = torrents[keys[i]]; rateDl += torrent.download_payload_rate; rateUl += torrent.upload_payload_rate; completed += torrent.total_remaining === 0 ? 1 : 0; } - const leech = count - completed || 0; + const leech = keys.length - completed || 0; return ( <Container service={service}> From 165add7f53c0fbc1aebe02890456a4e1d25f7db2 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 23 Nov 2022 15:08:06 -0800 Subject: [PATCH 083/300] Handle deluge with 0 torrents --- src/widgets/deluge/component.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/widgets/deluge/component.jsx b/src/widgets/deluge/component.jsx index 2e5296f1..6615cac0 100644 --- a/src/widgets/deluge/component.jsx +++ b/src/widgets/deluge/component.jsx @@ -27,7 +27,7 @@ export default function Component({ service }) { } const { torrents } = torrentData; - const keys = Object.keys(torrents); + const keys = torrents ? Object.keys(torrents) : []; let rateDl = 0; let rateUl = 0; From ccfafe1b31d84b45082e14a8542fa4cff65b6de5 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 23 Nov 2022 20:07:34 -0800 Subject: [PATCH 084/300] fix fatal jsonrpc error, error handling, add content-length --- src/utils/proxy/handlers/jsonrpc.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js index 9677fa50..5618d011 100644 --- a/src/utils/proxy/handlers/jsonrpc.js +++ b/src/utils/proxy/handlers/jsonrpc.js @@ -15,22 +15,22 @@ export async function sendJsonRpcRequest(url, method, params, username, password } if (username && password) { - const authorization = Buffer.from(`${username}:${password}`).toString("base64"); - headers.authorization = `Basic ${authorization}`; + headers.authorization = `Basic ${Buffer.from(`${username}:${password}`).toString("base64")}`; } const client = new JSONRPCClient(async (rpcRequest) => { + const body = JSON.stringify(rpcRequest); + headers['content-length'] = Buffer.byteLength(body); const httpRequestParams = { method: "POST", headers, - body: JSON.stringify(rpcRequest) + body }; // eslint-disable-next-line no-unused-vars const [status, contentType, data] = await httpProxy(url, httpRequestParams); - const dataString = data.toString(); if (status === 200) { - const json = JSON.parse(dataString); + const json = JSON.parse(data.toString()); // in order to get access to the underlying error object in the JSON response // you must set `result` equal to undefined @@ -40,7 +40,7 @@ export async function sendJsonRpcRequest(url, method, params, username, password return client.receive(json); } - return Promise.reject(new Error(dataString)); + return Promise.reject(data?.error ? data : new Error(data.toString())); }); try { @@ -49,6 +49,7 @@ export async function sendJsonRpcRequest(url, method, params, username, password } catch (e) { if (e instanceof JSONRPCErrorException) { + logger.warn("Error calling JSONPRC endpoint: %s. %s", url, e.message); return [200, "application/json", JSON.stringify({result: null, error: {code: e.code, message: e.message}})]; } @@ -73,7 +74,7 @@ export default async function jsonrpcProxyHandler(req, res) { // eslint-disable-next-line no-unused-vars const [status, contentType, data] = await sendJsonRpcRequest(url, method, null, widget.username, widget.password); - res.status(status).end(data); + return res.status(status).end(data); } } From 980a399516c5d37d18f6760c3b28988f03e71d20 Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Wed, 23 Nov 2022 19:04:15 +0000 Subject: [PATCH 085/300] Translated using Weblate (Spanish) Currently translated at 100.0% (247 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 06463aa9..a8cdb5f8 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -335,8 +335,8 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Aprobado", + "failed": "Fallido", + "unknown": "Desconocido" } } From 69af4286a967a4e440abd13ca02d54240241f419 Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Wed, 23 Nov 2022 17:55:15 +0000 Subject: [PATCH 086/300] Translated using Weblate (French) Currently translated at 100.0% (247 of 247 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 15271c37..c20809a0 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -335,8 +335,8 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Réussi", + "failed": "Échoué", + "unknown": "Inconnu" } } From 9f03d18e49f6dd6a3a8df8c29b6c6dba2626c5e4 Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Thu, 24 Nov 2022 12:26:22 -0800 Subject: [PATCH 087/300] Move content-length calculation to http module - consolidate http / https functionality to single function --- src/utils/proxy/handlers/jsonrpc.js | 3 +-- src/utils/proxy/http.js | 41 +++++++++-------------------- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/src/utils/proxy/handlers/jsonrpc.js b/src/utils/proxy/handlers/jsonrpc.js index 5618d011..27427612 100644 --- a/src/utils/proxy/handlers/jsonrpc.js +++ b/src/utils/proxy/handlers/jsonrpc.js @@ -20,7 +20,6 @@ export async function sendJsonRpcRequest(url, method, params, username, password const client = new JSONRPCClient(async (rpcRequest) => { const body = JSON.stringify(rpcRequest); - headers['content-length'] = Buffer.byteLength(body); const httpRequestParams = { method: "POST", headers, @@ -49,7 +48,7 @@ export async function sendJsonRpcRequest(url, method, params, username, password } catch (e) { if (e instanceof JSONRPCErrorException) { - logger.warn("Error calling JSONPRC endpoint: %s. %s", url, e.message); + logger.debug("Error calling JSONPRC endpoint: %s. %s", url, e.message); return [200, "application/json", JSON.stringify({result: null, error: {code: e.code, message: e.message}})]; } diff --git a/src/utils/proxy/http.js b/src/utils/proxy/http.js index 16b58bf7..e07f06ff 100644 --- a/src/utils/proxy/http.js +++ b/src/utils/proxy/http.js @@ -18,10 +18,15 @@ function addCookieHandler(url, params) { }; } -export function httpsRequest(url, params) { +function handleRequest(requestor, url, params) { return new Promise((resolve, reject) => { addCookieHandler(url, params); - const request = https.request(url, params, (response) => { + if (params?.body) { + params.headers = params.headers ?? {}; + params.headers['content-length'] = Buffer.byteLength(params.body); + } + + const request = requestor.request(url, params, (response) => { const data = []; response.on("data", (chunk) => { @@ -38,7 +43,7 @@ export function httpsRequest(url, params) { reject([500, error]); }); - if (params.body) { + if (params?.body) { request.write(params.body); } @@ -46,32 +51,12 @@ export function httpsRequest(url, params) { }); } +export function httpsRequest(url, params) { + return handleRequest(https, url, params); +} + export function httpRequest(url, params) { - return new Promise((resolve, reject) => { - addCookieHandler(url, params); - const request = http.request(url, params, (response) => { - const data = []; - - response.on("data", (chunk) => { - data.push(chunk); - }); - - response.on("end", () => { - addCookieToJar(url, response.headers); - resolve([response.statusCode, response.headers["content-type"], Buffer.concat(data), response.headers]); - }); - }); - - request.on("error", (error) => { - reject([500, error]); - }); - - if (params.body) { - request.write(params.body); - } - - request.end(); - }); + return handleRequest(http, url, params); } export async function httpProxy(url, params = {}) { From a677a507b874a56468e5479b65d8f00e6728265a Mon Sep 17 00:00:00 2001 From: Niklas <niklastasler@gmail.com> Date: Fri, 25 Nov 2022 16:05:53 +0100 Subject: [PATCH 088/300] Added paperless-ngx widget --- public/locales/en/common.json | 4 +++ src/utils/config/service-helpers.js | 3 ++ src/widgets/components.js | 1 + src/widgets/paperlessngx/component.jsx | 42 ++++++++++++++++++++++++++ src/widgets/paperlessngx/widget.js | 25 +++++++++++++++ src/widgets/widgets.js | 2 ++ 6 files changed, 77 insertions(+) create mode 100644 src/widgets/paperlessngx/component.jsx create mode 100644 src/widgets/paperlessngx/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 0d1368a6..063e33b5 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -349,5 +349,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 15740d22..d8367de3 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -118,6 +118,7 @@ export function cleanServiceGroups(groups) { container, currency, // coinmarketcap widget symbols, + inboxTag, // paperlessngx widget } = cleanedService.widget; cleanedService.widget = { @@ -129,6 +130,8 @@ export function cleanServiceGroups(groups) { if (currency) cleanedService.widget.currency = currency; if (symbols) cleanedService.widget.symbols = symbols; + + if (inboxTag) cleanedService.widget.inboxTag = inboxTag; if (type === "docker") { if (server) cleanedService.widget.server = server; diff --git a/src/widgets/components.js b/src/widgets/components.js index d645d80d..eb7c8127 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -23,6 +23,7 @@ const components = { nzbget: dynamic(() => import("./nzbget/component")), ombi: dynamic(() => import("./ombi/component")), overseerr: dynamic(() => import("./overseerr/component")), + paperlessngx: dynamic(() => import("./paperlessngx/component")), pihole: dynamic(() => import("./pihole/component")), plex: dynamic(() => import("./plex/component")), portainer: dynamic(() => import("./portainer/component")), diff --git a/src/widgets/paperlessngx/component.jsx b/src/widgets/paperlessngx/component.jsx new file mode 100644 index 00000000..131c0419 --- /dev/null +++ b/src/widgets/paperlessngx/component.jsx @@ -0,0 +1,42 @@ +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { widget } = service; + + const { data: inboxData, error: inboxError } = useWidgetAPI(widget, "inbox", + { + query: `tag:${widget.inboxTag}`, + format: "json", + fields: "count" + }); + + + const { data: documentData, error: documentError } = useWidgetAPI(widget, "documents", + { + fields: "count", + format: "json", + }); + + if (inboxError || documentError) { + const finalError = inboxError ?? documentError; + return <Container error={finalError} />; + } + + if (!inboxData || !documentData) { + return ( + <Container service={service}> + <Block label="paperlessngx.inbox" /> + <Block label="paperlessngx.total" /> + </Container> + ); + } + + return ( + <Container service={service}> + <Block label="paperlessngx.inbox" value={inboxData.count} /> + <Block label="paperlessngx.total" value={documentData.count} /> + </Container> + ); +} diff --git a/src/widgets/paperlessngx/widget.js b/src/widgets/paperlessngx/widget.js new file mode 100644 index 00000000..9671a053 --- /dev/null +++ b/src/widgets/paperlessngx/widget.js @@ -0,0 +1,25 @@ +import genericProxyHandler from "utils/proxy/handlers/generic"; + +const widget = { + api: "{url}/api/{endpoint}", + proxyHandler: genericProxyHandler, + + mappings: { + "inbox": { + endpoint: "documents/", + params: ["format", "query", "fields"], + validate: [ + "count" + ] + }, + "documents": { + endpoint: "documents/", + params: ["format", "fields"], + validate: [ + "count" + ] + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 3f1c6e08..2d2f453d 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -18,6 +18,7 @@ import npm from "./npm/widget"; import nzbget from "./nzbget/widget"; import ombi from "./ombi/widget"; import overseerr from "./overseerr/widget"; +import paperlessngx from "./paperlessngx/widget"; import pihole from "./pihole/widget"; import plex from "./plex/widget"; import portainer from "./portainer/widget"; @@ -63,6 +64,7 @@ const widgets = { nzbget, ombi, overseerr, + paperlessngx, pihole, plex, portainer, From a488cc0115f9a4b9da8d6b7bb5556140cfe745c3 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Fri, 25 Nov 2022 08:23:12 -0800 Subject: [PATCH 089/300] Use statistics endpoint for paperless-ngx --- src/utils/config/service-helpers.js | 3 --- src/widgets/paperlessngx/component.jsx | 25 ++++++------------------- src/widgets/paperlessngx/widget.js | 14 +++----------- 3 files changed, 9 insertions(+), 33 deletions(-) diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index d8367de3..15740d22 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -118,7 +118,6 @@ export function cleanServiceGroups(groups) { container, currency, // coinmarketcap widget symbols, - inboxTag, // paperlessngx widget } = cleanedService.widget; cleanedService.widget = { @@ -130,8 +129,6 @@ export function cleanServiceGroups(groups) { if (currency) cleanedService.widget.currency = currency; if (symbols) cleanedService.widget.symbols = symbols; - - if (inboxTag) cleanedService.widget.inboxTag = inboxTag; if (type === "docker") { if (server) cleanedService.widget.server = server; diff --git a/src/widgets/paperlessngx/component.jsx b/src/widgets/paperlessngx/component.jsx index 131c0419..d0c2e12f 100644 --- a/src/widgets/paperlessngx/component.jsx +++ b/src/widgets/paperlessngx/component.jsx @@ -5,26 +5,13 @@ import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { const { widget } = service; - const { data: inboxData, error: inboxError } = useWidgetAPI(widget, "inbox", - { - query: `tag:${widget.inboxTag}`, - format: "json", - fields: "count" - }); + const { data: statisticsData, error: statisticsError } = useWidgetAPI(widget, "statistics"); - - const { data: documentData, error: documentError } = useWidgetAPI(widget, "documents", - { - fields: "count", - format: "json", - }); - - if (inboxError || documentError) { - const finalError = inboxError ?? documentError; - return <Container error={finalError} />; + if (statisticsError) { + return <Container error={statisticsError} />; } - if (!inboxData || !documentData) { + if (!statisticsData) { return ( <Container service={service}> <Block label="paperlessngx.inbox" /> @@ -35,8 +22,8 @@ export default function Component({ service }) { return ( <Container service={service}> - <Block label="paperlessngx.inbox" value={inboxData.count} /> - <Block label="paperlessngx.total" value={documentData.count} /> + {statisticsData.documents_inbox !== undefined && <Block label="paperlessngx.inbox" value={statisticsData.documents_inbox} />} + <Block label="paperlessngx.total" value={statisticsData.documents_total} /> </Container> ); } diff --git a/src/widgets/paperlessngx/widget.js b/src/widgets/paperlessngx/widget.js index 9671a053..8af8079d 100644 --- a/src/widgets/paperlessngx/widget.js +++ b/src/widgets/paperlessngx/widget.js @@ -5,18 +5,10 @@ const widget = { proxyHandler: genericProxyHandler, mappings: { - "inbox": { - endpoint: "documents/", - params: ["format", "query", "fields"], + "statistics": { + endpoint: "statistics/?format=json", validate: [ - "count" - ] - }, - "documents": { - endpoint: "documents/", - params: ["format", "fields"], - validate: [ - "count" + "documents_total" ] }, }, From 17f6c15df5d9fd716ad3e463af2246d16af57e80 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 090/300] Translated using Weblate (German) Currently translated at 90.3% (225 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index ec57b3de..fd9b1648 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From fb0c40bbac7f1ca9fced72cb577574b4c670a01e Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 091/300] Translated using Weblate (Spanish) Currently translated at 99.1% (247 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index a8cdb5f8..0ebde722 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -338,5 +338,9 @@ "passed": "Aprobado", "failed": "Fallido", "unknown": "Desconocido" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 7137508287a6c0dd4ebebcdda8be4dd186d4feb6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 092/300] Translated using Weblate (French) Currently translated at 99.1% (247 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index c20809a0..ae7a8a6a 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -338,5 +338,9 @@ "passed": "Réussi", "failed": "Échoué", "unknown": "Inconnu" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 059fe69ff0e1c60fc446b6ca3baa6509eaf1de49 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 093/300] Translated using Weblate (Portuguese) Currently translated at 46.1% (115 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 637610dd..53889ec3 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -349,5 +349,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 318fc0c2d5b05cd031e1eb9a4f27d9fe71ee7595 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 094/300] Translated using Weblate (Russian) Currently translated at 13.6% (34 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index ebc73fe0..9cef572a 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -338,5 +338,9 @@ "failed": "Failed", "unknown": "Unknown", "passed": "Passed" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 60815e0f7dd194e966e51efdba9729d1b4f48474 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 095/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.2% (165 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index b2438008..4fe0901c 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 8dfa586e46549fb58ec7e3de358d2ba4e72a43a1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 096/300] Translated using Weblate (Italian) Currently translated at 91.9% (229 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 8d632da5..228f4a4b 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 5fe90708395639d79e548c2733bf0e116bb1cbed Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 097/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.7% (79 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index acdd7596..c7c4165b 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 9abc92f54e11d178f3199c8d535037f6f7cdd173 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 098/300] Translated using Weblate (Vietnamese) Currently translated at 17.6% (44 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 19c0552b..f888dcc6 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 68245e71e9af85b3dd565df7e59c950f3a70109c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 099/300] Translated using Weblate (Dutch) Currently translated at 25.3% (63 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 59133e3c..78d6242c 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From e4c315bfb94b0a3c6eb2412eab92f2ce727fd578 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 100/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.6% (9 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index db459342..ab436b0f 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 8b57b34986bf531faf569a2003973c750368de85 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 101/300] Translated using Weblate (Catalan) Currently translated at 52.6% (131 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 822b8e0c..7fa624e6 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 8cbe013fd43db4d67bc90bcbc21e2386374ae5d6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 102/300] Translated using Weblate (Polish) Currently translated at 95.5% (238 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index c4b86c3f..9a354ac7 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 60c919dcfab6608ae3bd875b96ca0f452ec3ebdd Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 103/300] Translated using Weblate (Swedish) Currently translated at 52.2% (130 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 0b12d73f..0116e49a 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 4e310e513360ec5aba7265b7bab301dbacb81356 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 104/300] Translated using Weblate (Croatian) Currently translated at 97.9% (244 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 7d1c1809..b3da36b2 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 763b9abda0ace8212b30009e1d71d4e0c1d6037e Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 105/300] Translated using Weblate (Hungarian) Currently translated at 43.3% (108 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 6c5a0b13..02fbc6e1 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 646555a215fa15af8d771f6d4176d039d6f117d2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 106/300] Translated using Weblate (Hebrew) Currently translated at 40.5% (101 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 67feb2b5..51f32a17 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From f48a755e715ed233a488deaafb9105c73095e19f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 107/300] Translated using Weblate (Romanian) Currently translated at 55.0% (137 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 43c5d23e..1e4aa484 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From f7db29a51ffedccf60aa03cb1cdd91b1340b3353 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 108/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 46.9% (117 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 73c5dbd3..ed86cc9a 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From c5461f51a7fe60ba57676e652c39d9175f70c837 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:16 +0000 Subject: [PATCH 109/300] Translated using Weblate (Yue) Currently translated at 47.3% (118 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 248abe21..d662e053 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 9c457bdcb92c943b8a2972b8309077efa067da66 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 110/300] Translated using Weblate (Finnish) Currently translated at 49.3% (123 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index dc902d28..ddb15085 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 76f4246161394a96987efe12e40509948724bdd6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 111/300] Translated using Weblate (Telugu) Currently translated at 87.1% (217 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 3ce6c2fc..f6d42c72 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 6aafebd2af2a7c980858bcf1f6a9b3bf443bd6c1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 112/300] Translated using Weblate (Bulgarian) Currently translated at 18.4% (46 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 7c98c49f..741cb048 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 69dbcd40f366702048a9430a6ee5688e784b32e1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 113/300] Translated using Weblate (Turkish) Currently translated at 92.7% (231 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 383c0e9e..8ca0638d 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 3a78d44350ac2708f4aedf4cd5e4712cfa31eb79 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 114/300] Translated using Weblate (Serbian) Currently translated at 3.6% (9 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 8997a1c6..6932c8df 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 0c87f0ce8649ab0d7d73926d58c5581744f0e820 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 115/300] Translated using Weblate (Arabic) Currently translated at 17.6% (44 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index b9370d8a..c82e5819 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From d313d398a2f3c0ea8807bfe55d99e059d68d46d5 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 116/300] Translated using Weblate (Czech) Currently translated at 90.3% (225 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 49f6c67d..d153cb8f 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 6befcd521efa0124fc8061f99899c3ceb43659ce Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 117/300] Translated using Weblate (Danish) Currently translated at 79.5% (198 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 698e902c..1cc4a4a6 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From be39e50282f1af00bb951980eca55dfb72263b5f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:18 +0000 Subject: [PATCH 118/300] Translated using Weblate (Malay) Currently translated at 92.7% (231 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index e720704d..125e94ca 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 4406c650469afbfbef014ff35ff6ccbf90a65da4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 25 Nov 2022 16:44:17 +0000 Subject: [PATCH 119/300] Translated using Weblate (Hindi) Currently translated at 3.6% (9 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index e43cf744..891bbf28 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -338,5 +338,9 @@ "passed": "Passed", "failed": "Failed", "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" } } From 034dbb956a7ee07583cc325859a715265213bb15 Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Fri, 25 Nov 2022 10:55:56 -0800 Subject: [PATCH 120/300] Change qBittorrent to no longer use fetch --- src/widgets/qbittorrent/proxy.js | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/src/widgets/qbittorrent/proxy.js b/src/widgets/qbittorrent/proxy.js index 14271b65..e1ea7f90 100644 --- a/src/widgets/qbittorrent/proxy.js +++ b/src/widgets/qbittorrent/proxy.js @@ -1,30 +1,23 @@ import { formatApiCall } from "utils/proxy/api-helpers"; -import { addCookieToJar, setCookieHeader } from "utils/proxy/cookie-jar"; import { httpProxy } from "utils/proxy/http"; import getServiceWidget from "utils/config/service-helpers"; import createLogger from "utils/logger"; const logger = createLogger("qbittorrentProxyHandler"); -async function login(widget, params) { +async function login(widget) { logger.debug("qBittorrent is rejecting the request, logging in."); const loginUrl = new URL(`${widget.url}/api/v2/auth/login`).toString(); const loginBody = `username=${encodeURI(widget.username)}&password=${encodeURI(widget.password)}`; - - // using fetch intentionally, for login only, as the httpProxy method causes qBittorrent to - // complain about header encoding - return fetch(loginUrl, { + const loginParams = { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded" }, body: loginBody, - }) - .then(async (response) => { - addCookieToJar(loginUrl, response.headers); - setCookieHeader(loginUrl, params); - const data = await response.text(); - return [response.status, data]; - }) - .catch((err) => [500, err]); + } + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await httpProxy(loginUrl, loginParams); + return [status, data]; } export default async function qbittorrentProxyHandler(req, res) { @@ -44,11 +37,10 @@ export default async function qbittorrentProxyHandler(req, res) { const url = new URL(formatApiCall("{url}/api/v2/{endpoint}", { endpoint, ...widget })); const params = { method: "GET", headers: {} }; - setCookieHeader(url, params); let [status, contentType, data] = await httpProxy(url, params); if (status === 403) { - [status, data] = await login(widget, params); + [status, data] = await login(widget); if (status !== 200) { logger.error("HTTP %d logging in to qBittorrent. Data: %s", status, data); @@ -59,9 +51,9 @@ export default async function qbittorrentProxyHandler(req, res) { logger.error("Error logging in to qBittorrent: Data: %s", data); return res.status(401).end(data); } - } - [status, contentType, data] = await httpProxy(url, params); + [status, contentType, data] = await httpProxy(url, params); + } if (status !== 200) { logger.error("HTTP %d getting data from qBittorrent. Data: %s", status, data); From 7398b1d6abb9b4a4727c9488d7a5b42093a026ca Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Fri, 25 Nov 2022 19:57:51 +0000 Subject: [PATCH 121/300] Translated using Weblate (Spanish) Currently translated at 100.0% (249 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 0ebde722..608aa5c0 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -340,7 +340,7 @@ "unknown": "Desconocido" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "Bandeja de entrada", "total": "Total" } } From f99f46d640bbeb0bb0ac697e19065c2cbb04789c Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Fri, 25 Nov 2022 18:06:06 +0000 Subject: [PATCH 122/300] Translated using Weblate (French) Currently translated at 100.0% (249 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index ae7a8a6a..9dd21699 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -340,7 +340,7 @@ "unknown": "Inconnu" }, "paperlessngx": { - "inbox": "Inbox", + "inbox": "Boîte de réception", "total": "Total" } } From c0e7130d627ac57783e7c461a85ae4007edfbfbb Mon Sep 17 00:00:00 2001 From: Milo Ivir <mail@milotype.de> Date: Fri, 25 Nov 2022 23:54:03 +0000 Subject: [PATCH 123/300] Translated using Weblate (Croatian) Currently translated at 100.0% (249 of 249 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index b3da36b2..a7fda2f7 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -335,12 +335,12 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Prošlo", + "failed": "Neuspjelo", + "unknown": "Nepoznato" }, "paperlessngx": { - "inbox": "Inbox", - "total": "Total" + "inbox": "Ulazni sandučić", + "total": "Ukupno" } } From bf8fa65a5af15dcbf3e4a339a3a7743d2b6bcfeb Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 124/300] Translated using Weblate (German) Currently translated at 88.9% (225 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index fd9b1648..d0c70378 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2272c87f856c2d8ec42dd7da692c3e9b34caaa3c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 125/300] Translated using Weblate (Spanish) Currently translated at 98.4% (249 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 608aa5c0..ce44dfce 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Bandeja de entrada", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 35bc61b9549a569db9aa3bb2d4a9ae21185e2b16 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 126/300] Translated using Weblate (French) Currently translated at 98.4% (249 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 9dd21699..634d4c11 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Boîte de réception", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 674230b19e18c710367be13e0571aa42de62a9e6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 127/300] Translated using Weblate (Portuguese) Currently translated at 45.4% (115 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 53889ec3..39d76a52 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -353,5 +353,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2b0c77cfa31011d8e38763dfec71ec93aab7f816 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 128/300] Translated using Weblate (Russian) Currently translated at 13.4% (34 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 9cef572a..9945e521 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 0e25f9043cb7a683a7686645695b57d933738fe3 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 129/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 65.2% (165 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 4fe0901c..d761ef4d 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2472596acdc2e6b62685f2db20ab74cf64810555 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 130/300] Translated using Weblate (Italian) Currently translated at 90.5% (229 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 228f4a4b..eef21acb 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ac5e752db64aac0d9179d249e7a876e267e494e0 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:45 +0000 Subject: [PATCH 131/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.2% (79 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index c7c4165b..59dee10e 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" } } From bd73d8bffa593f668a8eaeb112dc003797a36a82 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 132/300] Translated using Weblate (Vietnamese) Currently translated at 17.3% (44 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index f888dcc6..ae177a6c 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From eb7fa3760306a95f78a877559fee786e4d2adff4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 133/300] Translated using Weblate (Dutch) Currently translated at 24.9% (63 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 78d6242c..acd09495 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 122a380bb9e1dfa0b45d9e284be3da52fc720d24 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 134/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.5% (9 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index ab436b0f..b09bcfc5 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 22f47e6db3b6247160d8ce868b139ba7e75c241f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 135/300] Translated using Weblate (Catalan) Currently translated at 51.7% (131 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 7fa624e6..b445fd32 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "seed": "Seed", + "download": "Download", + "upload": "Upload", + "leech": "Leech" } } From aa9284b2e0b65efae9195e3a950685033cb4ab77 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 136/300] Translated using Weblate (Polish) Currently translated at 94.0% (238 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 9a354ac7..603255b8 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c6467e9dddd040d24df5822fcab88336910ae77a Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 137/300] Translated using Weblate (Swedish) Currently translated at 51.3% (130 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 0116e49a..d71eb6f7 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "leech": "Leech", + "upload": "Upload", + "seed": "Seed" } } From 8af9474408bf8386c11b6aeedc10262a2983f498 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 138/300] Translated using Weblate (Croatian) Currently translated at 98.4% (249 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index a7fda2f7..63d6055f 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Ulazni sandučić", "total": "Ukupno" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 9beb28037866eb82029f7687dc4b12c54e6f17d5 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 139/300] Translated using Weblate (Hungarian) Currently translated at 42.6% (108 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 02fbc6e1..a760107c 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "seed": "Seed", + "upload": "Upload", + "leech": "Leech" } } From b68f5a4be1756b77f65848b1015376ee3a13e0da Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 140/300] Translated using Weblate (Hebrew) Currently translated at 39.9% (101 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 51f32a17..93d41df7 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 89861fe5fb4ea53d6915584389c45f4b31b09212 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:42 +0000 Subject: [PATCH 141/300] Translated using Weblate (Romanian) Currently translated at 54.1% (137 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 1e4aa484..a0ccb743 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 4c28d366f09a53cd40b60ee030eae31edec1eed9 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 142/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 46.2% (117 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index ed86cc9a..9ec148b0 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 8856177959400b634f86775db5544763de4b60ca Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 143/300] Translated using Weblate (Yue) Currently translated at 46.6% (118 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index d662e053..9d0a0dae 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 32c84e9f9e3635a47a9f223083b9f2f899192842 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 144/300] Translated using Weblate (Finnish) Currently translated at 48.6% (123 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index ddb15085..a4051145 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "upload": "Upload", + "leech": "Leech", + "seed": "Seed", + "download": "Download" } } From 9f91fda6a6e0014006206316c3b9a6486fa61de8 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 145/300] Translated using Weblate (Telugu) Currently translated at 85.7% (217 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index f6d42c72..3046eb10 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "seed": "Seed", + "download": "Download", + "upload": "Upload", + "leech": "Leech" } } From e902ffa1049c6b0ddaec241a19433d091fc03afd Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 146/300] Translated using Weblate (Bulgarian) Currently translated at 18.1% (46 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 741cb048..c2cf2e68 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 3de68fd4de8f33c7ef6ad6bbc18f35e57b6b7892 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 147/300] Translated using Weblate (Turkish) Currently translated at 91.3% (231 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 8ca0638d..93e75d12 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 08c5c65b11dbb8c7f6002691a9c57089997d811a Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 148/300] Translated using Weblate (Serbian) Currently translated at 3.5% (9 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 6932c8df..94bff3c2 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 023da6e79a922cd14b974381d5cbcdaaca96e1e2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 149/300] Translated using Weblate (Arabic) Currently translated at 17.3% (44 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index c82e5819..4d864dff 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From f6fc9c2450b72bfbb90d6ea16672b8fefe2f7c50 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 150/300] Translated using Weblate (Czech) Currently translated at 88.9% (225 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index d153cb8f..6d91c628 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "upload": "Upload", + "leech": "Leech", + "seed": "Seed", + "download": "Download" } } From 7087809f748ac28dafcc3418e24b4c32907af9d0 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:44 +0000 Subject: [PATCH 151/300] Translated using Weblate (Danish) Currently translated at 78.2% (198 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 1cc4a4a6..606cce69 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ed220a7dc4abf36beb30b762426e4754c505c981 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:46 +0000 Subject: [PATCH 152/300] Translated using Weblate (Malay) Currently translated at 91.3% (231 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index 125e94ca..ac887b62 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 7743335f9eb2884ce90d1c93c902bc623fe1aedf Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Sat, 26 Nov 2022 20:22:43 +0000 Subject: [PATCH 153/300] Translated using Weblate (Hindi) Currently translated at 3.5% (9 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 891bbf28..3fef196c 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -342,5 +342,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Total" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From f16bd919788ac6d1fcd094da8eff8531437ccf98 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 26 Nov 2022 15:12:15 -0800 Subject: [PATCH 154/300] fix version number missing --- src/components/version.jsx | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/src/components/version.jsx b/src/components/version.jsx index bc142e92..cbb83e36 100644 --- a/src/components/version.jsx +++ b/src/components/version.jsx @@ -36,17 +36,14 @@ export default function Version() { {version} ({revision.substring(0, 7)}, {formatDate(buildTime)}) </> ) : ( - releaseData && - compareVersions(latestRelease.tag_name, version) > 0 && ( - <a - href={`https://github.com/benphelps/homepage/releases/tag/${version}`} - target="_blank" - rel="noopener noreferrer" - className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center" - > - {version} ({revision.substring(0, 7)}, {formatDate(buildTime)}) - </a> - ) + <a + href={`https://github.com/benphelps/homepage/releases/tag/${version}`} + target="_blank" + rel="noopener noreferrer" + className="ml-2 text-xs text-theme-500 dark:text-theme-400 flex flex-row items-center" + > + {version} ({revision.substring(0, 7)}, {formatDate(buildTime)}) + </a> )} </span> {version === "main" || version === "dev" || version === "nightly" From c1291b43a467ba6a961fc4db4fb23dc46cee8b8f Mon Sep 17 00:00:00 2001 From: FunsKiTo <josemartinezc95@gmail.com> Date: Sun, 27 Nov 2022 03:58:39 +0000 Subject: [PATCH 155/300] Translated using Weblate (Spanish) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index ce44dfce..190d939b 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -344,9 +344,9 @@ "total": "Total" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Descarga", + "upload": "Subida", "leech": "Leech", - "seed": "Seed" + "seed": "Semilla" } } From 4f3f25457e973abffd9ee9e3158f8003b734f675 Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Sat, 26 Nov 2022 20:27:51 +0000 Subject: [PATCH 156/300] Translated using Weblate (French) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 634d4c11..88f07109 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -344,8 +344,8 @@ "total": "Total" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Récep.", + "upload": "Envoi", "leech": "Leech", "seed": "Seed" } From 2631e15275f244b7abe983df45d0500e60ebe970 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 07:33:25 -0800 Subject: [PATCH 157/300] add optional logs to report --- .github/ISSUE_TEMPLATE/bug_report.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index fbeb7902..2972922b 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -59,6 +59,16 @@ body: label: Configuration description: Please provide any relevant service, widget or otherwise related configuration here render: yaml + - type: textarea + id: container-logs + attributes: + label: Container Logs + description: Please review and provide any logs from the container, if relevant + - type: textarea + id: browser-logs + attributes: + label: Browser Logs + description: Please review and provide any relevant logs from the browser, if relevant - type: textarea id: other attributes: From 07385dc91e0ab2d923f23255631d06dd4fe3be06 Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Sun, 27 Nov 2022 09:46:18 -0800 Subject: [PATCH 158/300] Add container health details to status --- src/components/services/status.jsx | 16 ++++++++++++++++ src/pages/api/docker/status/[...service].js | 1 + 2 files changed, 17 insertions(+) diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index 2d07e49e..c5fb93c9 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -13,6 +13,22 @@ export default function Status({ service }) { } if (data && data.status === "running") { + if (data.health === "starting") { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}> + <div className="text-[8px] font-bold text-blue-500/80 uppercase">{data.health}</div> + </div> + ); + } + + if (data.health === "unhealthy") { + return ( + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health}> + <div className="text-[8px] font-bold text-orange-400/50 dark:text-orange-400/80 uppercase">{data.health}</div> + </div> + ); + } + return ( <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}> <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.status}</div> diff --git a/src/pages/api/docker/status/[...service].js b/src/pages/api/docker/status/[...service].js index 8330ac3d..2861a1e5 100644 --- a/src/pages/api/docker/status/[...service].js +++ b/src/pages/api/docker/status/[...service].js @@ -40,6 +40,7 @@ export default async function handler(req, res) { return res.status(200).json({ status: info.State.Status, + health: info.State.Health?.Status }); } catch { return res.status(500).send({ From aadedd186402d6ef52a7ab1044bb16a9c93063d8 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 14:26:36 -0800 Subject: [PATCH 159/300] Fix MiBps label Closes https://github.com/benphelps/homepage/issues/562 See https://en.wikipedia.org/wiki/Kilobyte --- next-i18next.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next-i18next.config.js b/next-i18next.config.js index c6e1f2fe..da83ed70 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -103,7 +103,7 @@ module.exports = { const bits = options.bits ? value : value / 8; const k = 1024; const dm = options.decimals ? options.decimals : 0; - const sizes = ["Bps", "Kbps", "Mbps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"]; + const sizes = ["Bps", "Kbps", "MiBps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"]; const i = Math.floor(Math.log(bits) / Math.log(k)); From e1f217ad80c35cf21db1fc21e310a55377402249 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 14:34:49 -0800 Subject: [PATCH 160/300] fix all the byte units display labels to binary see https://en.wikipedia.org/wiki/Kilobyte --- next-i18next.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/next-i18next.config.js b/next-i18next.config.js index da83ed70..ee6eaaa1 100644 --- a/next-i18next.config.js +++ b/next-i18next.config.js @@ -103,7 +103,7 @@ module.exports = { const bits = options.bits ? value : value / 8; const k = 1024; const dm = options.decimals ? options.decimals : 0; - const sizes = ["Bps", "Kbps", "MiBps", "Gbps", "Tbps", "Pbps", "Ebps", "Zbps", "Ybps"]; + const sizes = ["Bps", "KiBps", "MiBps", "GiBps", "TiBps", "PiBps", "EiBps", "ZiBps", "YiBps"]; const i = Math.floor(Math.log(bits) / Math.log(k)); From e0edc2735df1bae91d7a91678fe09022b3b3cefe Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Sun, 27 Nov 2022 14:54:29 -0800 Subject: [PATCH 161/300] Add healthy status if available --- src/components/services/status.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/services/status.jsx b/src/components/services/status.jsx index c5fb93c9..eaf32030 100644 --- a/src/components/services/status.jsx +++ b/src/components/services/status.jsx @@ -30,8 +30,8 @@ export default function Status({ service }) { } return ( - <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.status}> - <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.status}</div> + <div className="w-auto px-1.5 py-0.5 text-center bg-theme-500/10 dark:bg-theme-900/50 rounded-b-[3px] overflow-hidden" title={data.health ?? data.status}> + <div className="text-[8px] font-bold text-emerald-500/80 uppercase">{data.health ?? data.status}</div> </div> ); } From 04fbf315ee7b20d9c700721fac54a5d99dc45a18 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 19:35:45 -0800 Subject: [PATCH 162/300] Fix startup errors on completely empty settings file Closes #564 --- src/utils/config/config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/config/config.js b/src/utils/config/config.js index 0003c589..57a63f7b 100644 --- a/src/utils/config/config.js +++ b/src/utils/config/config.js @@ -32,5 +32,5 @@ export function getSettings() { const settingsYaml = join(process.cwd(), "config", "settings.yaml"); const fileContents = readFileSync(settingsYaml, "utf8"); - return yaml.load(fileContents); + return yaml.load(fileContents) ?? {}; } \ No newline at end of file From c9f508d321bcf56f4b64b225325b63c8958314c7 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 27 Nov 2022 22:52:57 -0800 Subject: [PATCH 163/300] deluge doesnt use username --- src/widgets/deluge/proxy.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/widgets/deluge/proxy.js b/src/widgets/deluge/proxy.js index e9dac0d9..371f7759 100644 --- a/src/widgets/deluge/proxy.js +++ b/src/widgets/deluge/proxy.js @@ -13,8 +13,8 @@ const dataParams = [ ]; const loginMethod = "auth.login"; -async function sendRpc(url, method, params, username, password) { - const [status, contentType, data] = await sendJsonRpcRequest(url, method, params, username, password); +async function sendRpc(url, method, params) { + const [status, contentType, data] = await sendJsonRpcRequest(url, method, params); const json = JSON.parse(data.toString()); if (json?.error) { if (json.error.code === 1) { @@ -26,8 +26,8 @@ async function sendRpc(url, method, params, username, password) { return [status, contentType, data]; } -function login(url, username, password) { - return sendRpc(url, loginMethod, [password], username, password); +function login(url, password) { + return sendRpc(url, loginMethod, [password]); } export default async function delugeProxyHandler(req, res) { @@ -48,15 +48,15 @@ export default async function delugeProxyHandler(req, res) { const api = widgets?.[widget.type]?.api const url = new URL(formatApiCall(api, { ...widget })); - let [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + let [status, contentType, data] = await sendRpc(url, dataMethod, dataParams); if (status === 403) { - [status, contentType, data] = await login(url, widget.username, widget.password); + [status, contentType, data] = await login(url, widget.password); if (status !== 200) { return res.status(status).end(data); } // eslint-disable-next-line no-unused-vars - [status, contentType, data] = await sendRpc(url, dataMethod, dataParams, widget.username, widget.password); + [status, contentType, data] = await sendRpc(url, dataMethod, dataParams); } return res.status(status).end(data); From d26fbe589baa73e68cdee5e565a1017605f643c5 Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Sun, 27 Nov 2022 13:28:57 +0000 Subject: [PATCH 164/300] Translated using Weblate (Spanish) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 190d939b..9957e239 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -53,7 +53,7 @@ "wanted": "Buscando", "queued": "En cola", "movies": "Películas", - "missing": "No Encontrado" + "missing": "Perdido" }, "readarr": { "wanted": "Buscando", From 9de82559ca646f830e864568fcb2debd0515e4d8 Mon Sep 17 00:00:00 2001 From: Den Coder <denis100703@gmail.com> Date: Sun, 27 Nov 2022 07:47:23 +0000 Subject: [PATCH 165/300] Translated using Weblate (Russian) Currently translated at 18.9% (48 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 9945e521..541c8df1 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -6,7 +6,7 @@ "information": "Информация", "url": "URL", "raw_error": "Raw Error", - "response_data": "Response Data" + "response_data": "Данные ответа" }, "search": { "placeholder": "Поиск…" @@ -16,7 +16,7 @@ "free": "Свободно", "used": "Использовано", "load": "Загрузка", - "cpu": "CPU" + "cpu": "Процессор" }, "docker": { "rx": "Rx", @@ -24,14 +24,14 @@ "mem": "Память", "cpu": "Процессор", "offline": "Не в сети", - "error": "Error", - "unknown": "Unknown" + "error": "Ошибка", + "unknown": "Неизвестный" }, "emby": { "playing": "Воспроизведение", "transcoding": "Транскодирование", "bitrate": "Битрейт", - "no_active": "No Active Streams" + "no_active": "Нет активных потоков" }, "tautulli": { "playing": "Воспроизведение", @@ -197,7 +197,7 @@ "wlan_users": "Пользователи WLAN", "up": "UP", "down": "DOWN", - "wait": "Please wait", + "wait": "Подождите", "lan": "LAN", "wlan": "WLAN", "devices": "Устройства", @@ -215,8 +215,8 @@ "wait": "Please wait" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Всего наблюдаемых", + "diffsDetected": "Обнаружены различия" }, "wmo": { "0-day": "Sunny", @@ -331,8 +331,8 @@ "hd": "HD" }, "ping": { - "error": "Error", - "ping": "Ping" + "error": "Ошибка", + "ping": "Пинг" }, "scrutiny": { "failed": "Failed", From 812eb3d70fd0f565665d04fe17d7e18ba8318156 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:42:21 -0800 Subject: [PATCH 166/300] Fix datetime react render error --- src/components/widgets/datetime/datetime.jsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx index dceaf06a..7bfb42bc 100644 --- a/src/components/widgets/datetime/datetime.jsx +++ b/src/components/widgets/datetime/datetime.jsx @@ -15,22 +15,21 @@ const textSizes = { export default function DateTime({ options }) { const { text_size: textSize, format } = options; const { i18n } = useTranslation(); - const [date, setDate] = useState(new Date()); - + const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); + const [date, setDate] = useState(""); + useEffect(() => { const interval = setInterval(() => { - setDate(new Date()); + setDate(dateFormat.format(new Date())); }, 1000); return () => clearInterval(interval); - }, [setDate]); - - const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); + }, [date, setDate]); return ( <div className="flex flex-col justify-center first:ml-0 ml-4"> <div className="flex flex-row items-center grow justify-end"> <span className={`text-theme-800 dark:text-theme-200 ${textSizes[textSize || "lg"]}`}> - {dateFormat.format(date)} + {date} </span> </div> </div> From b235a89dc7a8170aceddeb7447a5658d1e7d9dd6 Mon Sep 17 00:00:00 2001 From: FunsKiTo <josemartinezc95@gmail.com> Date: Mon, 28 Nov 2022 10:11:06 +0000 Subject: [PATCH 167/300] Translated using Weblate (Spanish) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 9957e239..3292ae1f 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -53,7 +53,7 @@ "wanted": "Buscando", "queued": "En cola", "movies": "Películas", - "missing": "Perdido" + "missing": "Faltan" }, "readarr": { "wanted": "Buscando", From d65e919f57564ee8147e66ce0dd07b7cc2630c0d Mon Sep 17 00:00:00 2001 From: nicedc <wdcgoole@gmail.com> Date: Mon, 28 Nov 2022 15:33:08 +0000 Subject: [PATCH 168/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.4% (168 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index d761ef4d..d6bcb3e7 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -295,9 +295,9 @@ "indexers": "Indexers" }, "watchtower": { - "containers_scanned": "Scanned", - "containers_updated": "Updated", - "containers_failed": "Failed" + "containers_scanned": "以扫描", + "containers_updated": "以升级", + "containers_failed": "失败" }, "tubearchivist": { "downloads": "Queue", From 3e9e379712f00b7f3371edc750f8e440247d6f82 Mon Sep 17 00:00:00 2001 From: Aiman Jalil <aiman.jalil.91@gmail.com> Date: Mon, 28 Nov 2022 16:20:48 +0000 Subject: [PATCH 169/300] Translated using Weblate (Malay) Currently translated at 100.0% (253 of 253 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index ac887b62..b60a4efa 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -126,10 +126,10 @@ "missing_type": "Jenis Widget Hilang: {{type}}", "api_error": "Masalah API", "status": "Status", - "information": "Information", + "information": "Informasi", "url": "URL", - "raw_error": "Raw Error", - "response_data": "Response Data" + "raw_error": "Ralat Mentah", + "response_data": "Data Respon" }, "weather": { "current": "Lokasi Sekarang", @@ -151,8 +151,8 @@ "mem": "MEM", "cpu": "CPU", "offline": "Luar talian", - "error": "Error", - "unknown": "Unknown" + "error": "Ralat", + "unknown": "Tidak Diketahui" }, "changedetectionio": { "totalObserved": "Jumlah Diperhatikan", @@ -322,30 +322,30 @@ "total": "Jumlah" }, "gluetun": { - "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "public_ip": "IP Awam", + "region": "Rantau", + "country": "Negara" }, "hdhomerun": { - "channels": "Channels", + "channels": "Saluran", "hd": "HD" }, "ping": { - "error": "Error", + "error": "Ralat", "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Lulus", + "failed": "Gagal", + "unknown": "Tidak Diketahui" }, "paperlessngx": { - "inbox": "Inbox", - "total": "Total" + "inbox": "Peti Masuk", + "total": "Jumlah" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Muat Turun", + "upload": "Muat Naik", "leech": "Leech", "seed": "Seed" } From 4c70bff95247ee64a9c11d95704e3509e2731628 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 28 Nov 2022 17:35:04 -0800 Subject: [PATCH 170/300] Show memory up to 1 decimal place --- src/components/widgets/resources/memory.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/widgets/resources/memory.jsx b/src/components/widgets/resources/memory.jsx index 45263456..2888f907 100644 --- a/src/components/widgets/resources/memory.jsx +++ b/src/components/widgets/resources/memory.jsx @@ -52,7 +52,7 @@ export default function Memory({ expanded }) { <div className="flex flex-col ml-3 text-left min-w-[85px]"> <span className="text-theme-800 dark:text-theme-200 text-xs flex flex-row justify-between"> <div className="pl-0.5"> - {t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 0, binary: true })} + {t("common.bytes", { value: data.memory.freeMemMb * 1024 * 1024, maximumFractionDigits: 1, binary: true })} </div> <div className="pr-1">{t("resources.free")}</div> </span> @@ -61,7 +61,7 @@ export default function Memory({ expanded }) { <div className="pl-0.5"> {t("common.bytes", { value: data.memory.totalMemMb * 1024 * 1024, - maximumFractionDigits: 0, + maximumFractionDigits: 1, binary: true, })} </div> From 44c2a1ecbd1304f1b37c9e0e41c08b16df76eacc Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 29 Nov 2022 09:25:39 -0800 Subject: [PATCH 171/300] fix react dep warning --- src/components/widgets/datetime/datetime.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx index 7bfb42bc..f4c99de9 100644 --- a/src/components/widgets/datetime/datetime.jsx +++ b/src/components/widgets/datetime/datetime.jsx @@ -23,7 +23,7 @@ export default function DateTime({ options }) { setDate(dateFormat.format(new Date())); }, 1000); return () => clearInterval(interval); - }, [date, setDate]); + }, [date, setDate, dateFormat]); return ( <div className="flex flex-col justify-center first:ml-0 ml-4"> From 69b1049c1780e46c37a288e73026fca5bf7a9e5c Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 29 Nov 2022 10:11:03 -0800 Subject: [PATCH 172/300] Graceful fallback when build args not supplied See #578 --- src/components/version.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/version.jsx b/src/components/version.jsx index cbb83e36..9b1d8cde 100644 --- a/src/components/version.jsx +++ b/src/components/version.jsx @@ -8,9 +8,9 @@ import cachedFetch from "utils/proxy/cached-fetch"; export default function Version() { const { t, i18n } = useTranslation(); - const buildTime = process.env.NEXT_PUBLIC_BUILDTIME ?? new Date().toISOString(); - const revision = process.env.NEXT_PUBLIC_REVISION ?? "dev"; - const version = process.env.NEXT_PUBLIC_VERSION ?? "dev"; + const buildTime = process.env.NEXT_PUBLIC_BUILDTIME?.length ? process.env.NEXT_PUBLIC_BUILDTIME : new Date().toISOString(); + const revision = process.env.NEXT_PUBLIC_REVISION?.length ? process.env.NEXT_PUBLIC_REVISION : "dev"; + const version = process.env.NEXT_PUBLIC_VERSION?.length ? process.env.NEXT_PUBLIC_VERSION : "dev"; const cachedFetcher = (resource) => cachedFetch(resource, 5).then((res) => res.json()); From 2f523abe9d9bc7efe8da23c30e7825ab447c755d Mon Sep 17 00:00:00 2001 From: Myztillx <samuel.geist@gmail.com> Date: Tue, 29 Nov 2022 13:19:52 -0500 Subject: [PATCH 173/300] Added processing count to overseerr --- public/locales/en/common.json | 5 +++-- src/widgets/overseerr/component.jsx | 2 ++ src/widgets/overseerr/widget.js | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 2ab724a8..dbef3ed3 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -155,6 +155,7 @@ }, "overseerr": { "pending": "Pending", + "processing": "Processing", "approved": "Approved", "available": "Available" }, @@ -313,7 +314,7 @@ "child_bridges": "Child Bridges", "child_bridges_status": "{{ok}}/{{total}}" }, - "watchtower":{ + "watchtower": { "containers_scanned": "Scanned", "containers_updated": "Updated", "containers_failed": "Failed" @@ -360,4 +361,4 @@ "inbox": "Inbox", "total": "Total" } -} +} \ No newline at end of file diff --git a/src/widgets/overseerr/component.jsx b/src/widgets/overseerr/component.jsx index 6f5ae8ff..230a166c 100644 --- a/src/widgets/overseerr/component.jsx +++ b/src/widgets/overseerr/component.jsx @@ -15,6 +15,7 @@ export default function Component({ service }) { return ( <Container service={service}> <Block label="overseerr.pending" /> + <Block label="overseerr.processing" /> <Block label="overseerr.approved" /> <Block label="overseerr.available" /> </Container> @@ -24,6 +25,7 @@ export default function Component({ service }) { return ( <Container service={service}> <Block label="overseerr.pending" value={statsData.pending} /> + <Block label="overseerr.processing" value={statsData.processing} /> <Block label="overseerr.approved" value={statsData.approved} /> <Block label="overseerr.available" value={statsData.available} /> </Container> diff --git a/src/widgets/overseerr/widget.js b/src/widgets/overseerr/widget.js index 945af5ed..cc80cffa 100644 --- a/src/widgets/overseerr/widget.js +++ b/src/widgets/overseerr/widget.js @@ -9,6 +9,7 @@ const widget = { endpoint: "request/count", validate: [ "pending", + "processing", "approved", "available", ], From 9e41163d6658960561ca2f8930d9d0b0aa77351a Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 174/300] Translated using Weblate (German) Currently translated at 88.5% (225 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index d0c70378..df105602 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Ausstehend", "approved": "Genehmigt", - "available": "Verfügbar" + "available": "Verfügbar", + "processing": "Processing" }, "sabnzbd": { "rate": "Geschwindigkeit", From d02c2cb244fea49c6d4302459b982c7e06143779 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 175/300] Translated using Weblate (Spanish) Currently translated at 99.6% (253 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 3292ae1f..dce9bf1a 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pendiente", "approved": "Aprobado", - "available": "Disponible" + "available": "Disponible", + "processing": "Processing" }, "sabnzbd": { "rate": "Tasa", From ea96fdabd94105b709e732ce532731a340a13e8e Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 176/300] Translated using Weblate (French) Currently translated at 99.6% (253 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 88f07109..457c967a 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "En attente", "approved": "Demande", - "available": "Disponible" + "available": "Disponible", + "processing": "Processing" }, "sabnzbd": { "rate": "Débit", From 00e50283eed9e8fbc84fc7988612c6930957ba21 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 177/300] Translated using Weblate (Portuguese) Currently translated at 45.2% (115 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 39d76a52..a010ed37 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -115,7 +115,8 @@ "overseerr": { "pending": "Pendente", "approved": "Aprovado", - "available": "Disponível" + "available": "Disponível", + "processing": "Processing" }, "sabnzbd": { "rate": "Taxa", From 4864eae23d6c1801f001966f2f9fc5c2b0b4fb3b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 178/300] Translated using Weblate (Russian) Currently translated at 18.8% (48 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 541c8df1..6f6f7215 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "sabnzbd": { "rate": "Rate", From d0b198d5e5e3dd0d52a08af9a9baa9a4917f6c47 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 179/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 66.1% (168 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index d6bcb3e7..5824af50 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "待办", "approved": "已批准", - "available": "可用" + "available": "可用", + "processing": "Processing" }, "sabnzbd": { "rate": "速率", From 541bb3cc2b3938561c56a531ff94c6b952b72702 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 180/300] Translated using Weblate (Italian) Currently translated at 90.1% (229 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index eef21acb..5fa50f7b 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "In attesa", "approved": "Approvati", - "available": "Disponibili" + "available": "Disponibili", + "processing": "Processing" }, "sabnzbd": { "rate": "Rapporto", From 4a519233a27c4cbe5307283ba66ce4258c206f9d Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 181/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 31.1% (79 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 59dee10e..029af22e 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Venter", "approved": "Godkjent", - "available": "Tilgjengelig" + "available": "Tilgjengelig", + "processing": "Processing" }, "sabnzbd": { "rate": "Takt", From 0ba956f68529a0cf04f9b40beeb95f703cfe2950 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 182/300] Translated using Weblate (Vietnamese) Currently translated at 17.3% (44 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index ae177a6c..783f024d 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pending", "approved": "Đã duyệt", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "sabnzbd": { "rate": "Rate", From 66cd9729496d75da3ea7f7502a452b7c9dc73d4d Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 183/300] Translated using Weblate (Dutch) Currently translated at 24.8% (63 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index acd09495..04d8f20d 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "sabnzbd": { "rate": "Rate", From d08458c8952c7d64cad72e8d0182e63f553ebcbc Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:48 +0000 Subject: [PATCH 184/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.5% (9 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index b09bcfc5..dc7b232e 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -89,7 +89,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From a7d37c559ebb036f4f148d50e3c1c9a5f7db8e42 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 185/300] Translated using Weblate (Catalan) Currently translated at 51.5% (131 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index b445fd32..01f27b6d 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -100,7 +100,8 @@ "overseerr": { "pending": "Pendent", "approved": "Aprovat", - "available": "Disponible" + "available": "Disponible", + "processing": "Processing" }, "pihole": { "queries": "Consultes", From 257cf17c6d78751d1cd67c85ddf4dc04ad40929c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 186/300] Translated using Weblate (Polish) Currently translated at 93.7% (238 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 603255b8..c37df7db 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -126,7 +126,8 @@ "overseerr": { "pending": "Oczekiwane", "approved": "Zaakceptowane", - "available": "Dostępne" + "available": "Dostępne", + "processing": "Processing" }, "pihole": { "queries": "Zapytania", From 0df4f63df12024d8f2b58c113b892716f3da1dca Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 187/300] Translated using Weblate (Swedish) Currently translated at 51.1% (130 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index d71eb6f7..04ac5683 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -104,7 +104,8 @@ "overseerr": { "pending": "Avvaktar", "approved": "Godkända", - "available": "Tillgänglig" + "available": "Tillgänglig", + "processing": "Processing" }, "pihole": { "blocked": "Blockerad", From b8da8509dec006ff4f73c445607c7e0e1f881c28 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 188/300] Translated using Weblate (Croatian) Currently translated at 98.0% (249 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 63d6055f..3f230e88 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -23,7 +23,8 @@ "overseerr": { "available": "Dostupno", "pending": "Predstoji", - "approved": "Odobreno" + "approved": "Odobreno", + "processing": "Processing" }, "pihole": { "queries": "Upiti", From c7d8e3afdd0416a90da5b952fe9fc9f251d452ac Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 189/300] Translated using Weblate (Hungarian) Currently translated at 42.5% (108 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index a760107c..6eb35db0 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "Függőben", "approved": "Engedélyezett", - "available": "Elérhető" + "available": "Elérhető", + "processing": "Processing" }, "pihole": { "queries": "Lekérdezések", From acde90cf72ebd40d95939288273b89f818bee3e3 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 190/300] Translated using Weblate (Hebrew) Currently translated at 39.7% (101 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 93d41df7..3ecaab7d 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "ממתין", "approved": "מאושר", - "available": "זמין" + "available": "זמין", + "processing": "Processing" }, "pihole": { "queries": "שאילתות", From c185994c327e0606fb2aa40eec173b35d9e7de49 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 191/300] Translated using Weblate (Romanian) Currently translated at 53.9% (137 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index a0ccb743..12ae60b8 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -23,7 +23,8 @@ "overseerr": { "pending": "În așteptare", "approved": "Aprobate", - "available": "Disponibile" + "available": "Disponibile", + "processing": "Processing" }, "pihole": { "queries": "Cereri", From a81cc70722ea41728cd2c8839b568148ff1c17ef Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 192/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 46.0% (117 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 9ec148b0..a7fa2154 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -128,7 +128,8 @@ "overseerr": { "pending": "Pendente", "approved": "Aprovado", - "available": "Disponível" + "available": "Disponível", + "processing": "Processing" }, "pihole": { "queries": "Consultas", From f59b6b69d902b4eabb1572f5985e7e5407c0601c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 193/300] Translated using Weblate (Yue) Currently translated at 46.4% (118 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 9d0a0dae..520bc943 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "待定", "approved": "批准", - "available": "可用" + "available": "可用", + "processing": "Processing" }, "pihole": { "queries": "查詢", From 38585d9d6d98e7f70caffa6fc9c74be69437c817 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 194/300] Translated using Weblate (Finnish) Currently translated at 48.4% (123 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index a4051145..40c39bf0 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -110,7 +110,8 @@ "overseerr": { "pending": "Vireillä", "approved": "Hyväksytty", - "available": "Saatavilla" + "available": "Saatavilla", + "processing": "Processing" }, "pihole": { "queries": "Kyselyjä", From d9002b6e41516bafcb1870597b6066a4bae7f3d9 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 195/300] Translated using Weblate (Telugu) Currently translated at 85.4% (217 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 3046eb10..6f4351a6 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -122,7 +122,8 @@ "overseerr": { "pending": "పెండింగ్", "approved": "ఆమోదించబడింది", - "available": "అందుబాటులో" + "available": "అందుబాటులో", + "processing": "Processing" }, "pihole": { "queries": "ప్రశ్నలు", From c3280f0143098d817c7037d4cf08a90b79ba413b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 196/300] Translated using Weblate (Bulgarian) Currently translated at 18.1% (46 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index c2cf2e68..ff40f72a 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -131,7 +131,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From 5500b8a11556514c113a3b482c434dc22b38df1b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 197/300] Translated using Weblate (Turkish) Currently translated at 90.9% (231 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 93e75d12..808a9439 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -131,7 +131,8 @@ "overseerr": { "pending": "Bekliyor", "approved": "Onaylı", - "available": "Kullanılabilir" + "available": "Kullanılabilir", + "processing": "Processing" }, "pihole": { "queries": "Sorgular", From 8d4c01354e115b84c29851cbf8e04de2bd87b7a1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 198/300] Translated using Weblate (Serbian) Currently translated at 3.5% (9 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index 94bff3c2..a063bf04 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -131,7 +131,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From a1fdc7b4a233745239e6b3daf2a47a02efb343a9 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 199/300] Translated using Weblate (Arabic) Currently translated at 17.3% (44 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 4d864dff..2f88b39d 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -193,7 +193,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From 54de1ff25643b9351530ff70ac7471c7f2abbce4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 200/300] Translated using Weblate (Czech) Currently translated at 88.5% (225 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 6d91c628..4a50cfd5 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -147,7 +147,8 @@ "overseerr": { "pending": "Čeká", "approved": "Schváleno", - "available": "Dostupný" + "available": "Dostupný", + "processing": "Processing" }, "pihole": { "queries": "Dotazy", From 6a324f4554b527a5c6c666a793242055225df8ae Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:47 +0000 Subject: [PATCH 201/300] Translated using Weblate (Danish) Currently translated at 77.9% (198 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 606cce69..1a56eee4 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -23,7 +23,8 @@ "overseerr": { "pending": "Afventer", "approved": "Godkendt", - "available": "Tilgængelig" + "available": "Tilgængelig", + "processing": "Processing" }, "adguard": { "queries": "Forespørgsler", From 7fe542d2e9cc7f13aa6b07cda7f3f2867847bb84 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:48 +0000 Subject: [PATCH 202/300] Translated using Weblate (Malay) Currently translated at 99.6% (253 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index b60a4efa..f6b6e9c6 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -220,7 +220,8 @@ "overseerr": { "pending": "Tertangguh", "approved": "Lulus", - "available": "Sudah Ada" + "available": "Sudah Ada", + "processing": "Processing" }, "pihole": { "queries": "Permintaan", From d2d0341dd93bf3896b1b3c02c81459d0ca7f15bd Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 18:34:46 +0000 Subject: [PATCH 203/300] Translated using Weblate (Hindi) Currently translated at 3.5% (9 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 3fef196c..0b1b00dc 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -150,7 +150,8 @@ "overseerr": { "pending": "Pending", "approved": "Approved", - "available": "Available" + "available": "Available", + "processing": "Processing" }, "pihole": { "queries": "Queries", From 7a390b38f50cf2aa049fe25e625e3aa77b5cfb5d Mon Sep 17 00:00:00 2001 From: phlostically <phlostically@mailinator.com> Date: Tue, 29 Nov 2022 21:17:40 +0100 Subject: [PATCH 204/300] Added translation using Weblate (Esperanto) --- public/locales/eo/common.json | 1 + 1 file changed, 1 insertion(+) create mode 100644 public/locales/eo/common.json diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/public/locales/eo/common.json @@ -0,0 +1 @@ +{} From de27b10cf914db7d430113015af93365eb3107a7 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Tue, 29 Nov 2022 20:17:42 +0000 Subject: [PATCH 205/300] Translated using Weblate (Esperanto) Currently translated at 100.0% (0 of 0 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 354 +++++++++++++++++++++++++++++++++- 1 file changed, 353 insertions(+), 1 deletion(-) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 0967ef42..e19718b3 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -1 +1,353 @@ -{} +{ + "widget": { + "missing_type": "Missing Widget Type: {{type}}", + "api_error": "API Error", + "information": "Information", + "status": "Status", + "url": "URL", + "raw_error": "Raw Error", + "response_data": "Response Data" + }, + "weather": { + "current": "Current Location", + "allow": "Click to allow", + "updating": "Updating", + "wait": "Please wait" + }, + "search": { + "placeholder": "Search…" + }, + "resources": { + "cpu": "CPU", + "total": "Total", + "free": "Free", + "used": "Used", + "load": "Load" + }, + "unifi": { + "users": "Users", + "uptime": "System Uptime", + "days": "Days", + "wan": "WAN", + "lan": "LAN", + "wlan": "WLAN", + "devices": "Devices", + "lan_devices": "LAN Devices", + "wlan_devices": "WLAN Devices", + "lan_users": "LAN Users", + "wlan_users": "WLAN Users", + "up": "UP", + "down": "DOWN", + "wait": "Please wait" + }, + "docker": { + "rx": "RX", + "tx": "TX", + "mem": "MEM", + "cpu": "CPU", + "offline": "Offline", + "error": "Error", + "unknown": "Unknown" + }, + "ping": { + "error": "Error", + "ping": "Ping" + }, + "emby": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "changedetectionio": { + "totalObserved": "Total Observed", + "diffsDetected": "Diffs Detected" + }, + "tautulli": { + "playing": "Playing", + "transcoding": "Transcoding", + "bitrate": "Bitrate", + "no_active": "No Active Streams" + }, + "nzbget": { + "rate": "Rate", + "remaining": "Remaining", + "downloaded": "Downloaded" + }, + "plex": { + "streams": "Active Streams", + "movies": "Movies", + "tv": "TV Shows" + }, + "sabnzbd": { + "rate": "Rate", + "queue": "Queue", + "timeleft": "Time Left" + }, + "rutorrent": { + "active": "Active", + "upload": "Upload", + "download": "Download" + }, + "transmission": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "qbittorrent": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "deluge": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, + "sonarr": { + "wanted": "Wanted", + "queued": "Queued", + "series": "Series" + }, + "radarr": { + "wanted": "Wanted", + "missing": "Missing", + "queued": "Queued", + "movies": "Movies" + }, + "lidarr": { + "wanted": "Wanted", + "queued": "Queued", + "albums": "Albums" + }, + "readarr": { + "wanted": "Wanted", + "queued": "Queued", + "books": "Books" + }, + "bazarr": { + "missingEpisodes": "Missing Episodes", + "missingMovies": "Missing Movies" + }, + "ombi": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "jellyseerr": { + "pending": "Pending", + "approved": "Approved", + "available": "Available" + }, + "overseerr": { + "pending": "Pending", + "processing": "Processing", + "approved": "Approved", + "available": "Available" + }, + "pihole": { + "queries": "Queries", + "blocked": "Blocked", + "gravity": "Gravity" + }, + "adguard": { + "queries": "Queries", + "blocked": "Blocked", + "filtered": "Filtered", + "latency": "Latency" + }, + "speedtest": { + "upload": "Upload", + "download": "Download", + "ping": "Ping" + }, + "portainer": { + "running": "Running", + "stopped": "Stopped", + "total": "Total" + }, + "traefik": { + "routers": "Routers", + "services": "Services", + "middleware": "Middleware" + }, + "navidrome": { + "nothing_streaming": "No Active Streams", + "please_wait": "Please Wait" + }, + "npm": { + "enabled": "Enabled", + "disabled": "Disabled", + "total": "Total" + }, + "coinmarketcap": { + "configure": "Configure one or more crypto currencies to track", + "1hour": "1 Hour", + "1day": "1 Day", + "7days": "7 Days", + "30days": "30 Days" + }, + "gotify": { + "apps": "Applications", + "clients": "Clients", + "messages": "Messages" + }, + "prowlarr": { + "enableIndexers": "Indexers", + "numberOfGrabs": "Grabs", + "numberOfQueries": "Queries", + "numberOfFailGrabs": "Fail Grabs", + "numberOfFailQueries": "Fail Queries" + }, + "jackett": { + "configured": "Configured", + "errored": "Errored" + }, + "strelaysrv": { + "numActiveSessions": "Sessions", + "numConnections": "Connections", + "dataRelayed": "Relayed", + "transferRate": "Rate" + }, + "mastodon": { + "user_count": "Users", + "status_count": "Posts", + "domain_count": "Domains" + }, + "authentik": { + "users": "Users", + "loginsLast24H": "Logins (24h)", + "failedLoginsLast24H": "Failed Logins (24h)" + }, + "proxmox": { + "mem": "MEM", + "cpu": "CPU", + "lxc": "LXC", + "vms": "VMs" + }, + "glances": { + "cpu": "CPU", + "mem": "MEM", + "wait": "Please wait" + }, + "quicklaunch": { + "bookmark": "Bookmark", + "service": "Service" + }, + "wmo": { + "0-day": "Sunny", + "0-night": "Clear", + "1-day": "Mainly Sunny", + "1-night": "Mainly Clear", + "2-day": "Partly Cloudy", + "2-night": "Partly Cloudy", + "3-day": "Cloudy", + "3-night": "Cloudy", + "45-day": "Foggy", + "45-night": "Foggy", + "48-day": "Foggy", + "48-night": "Foggy", + "51-day": "Light Drizzle", + "51-night": "Light Drizzle", + "53-day": "Drizzle", + "53-night": "Drizzle", + "55-day": "Heavy Drizzle", + "55-night": "Heavy Drizzle", + "56-day": "Light Freezing Drizzle", + "56-night": "Light Freezing Drizzle", + "57-day": "Freezing Drizzle", + "57-night": "Freezing Drizzle", + "61-day": "Light Rain", + "61-night": "Light Rain", + "63-day": "Rain", + "63-night": "Rain", + "65-day": "Heavy Rain", + "65-night": "Heavy Rain", + "66-day": "Freezing Rain", + "66-night": "Freezing Rain", + "67-day": "Freezing Rain", + "67-night": "Freezing Rain", + "71-day": "Light Snow", + "71-night": "Light Snow", + "73-day": "Snow", + "73-night": "Snow", + "75-day": "Heavy Snow", + "75-night": "Heavy Snow", + "77-day": "Snow Grains", + "77-night": "Snow Grains", + "80-day": "Light Showers", + "80-night": "Light Showers", + "81-day": "Showers", + "81-night": "Showers", + "82-day": "Heavy Showers", + "82-night": "Heavy Showers", + "85-day": "Snow Showers", + "85-night": "Snow Showers", + "86-day": "Snow Showers", + "86-night": "Snow Showers", + "95-day": "Thunderstorm", + "95-night": "Thunderstorm", + "96-day": "Thunderstorm With Hail", + "96-night": "Thunderstorm With Hail", + "99-day": "Thunderstorm With Hail", + "99-night": "Thunderstorm With Hail" + }, + "homebridge": { + "available_update": "System", + "updates": "Updates", + "update_available": "Update Available", + "up_to_date": "Up to Date", + "child_bridges": "Child Bridges", + "child_bridges_status": "{{ok}}/{{total}}" + }, + "watchtower": { + "containers_scanned": "Scanned", + "containers_updated": "Updated", + "containers_failed": "Failed" + }, + "autobrr": { + "approvedPushes": "Approved", + "rejectedPushes": "Rejected", + "filters": "Filters", + "indexers": "Indexers" + }, + "tubearchivist": { + "downloads": "Queue", + "videos": "Videos", + "channels": "Channels", + "playlists": "Playlists" + }, + "truenas": { + "load": "System Load", + "uptime": "Uptime", + "alerts": "Alerts", + "time": "{{value, number(style: unit; unitDisplay: long;)}}" + }, + "pyload": { + "speed": "Speed", + "active": "Active", + "queue": "Queue", + "total": "Total" + }, + "gluetun": { + "public_ip": "Public IP", + "region": "Region", + "country": "Country" + }, + "hdhomerun": { + "channels": "Channels", + "hd": "HD" + }, + "scrutiny": { + "passed": "Passed", + "failed": "Failed", + "unknown": "Unknown" + }, + "paperlessngx": { + "inbox": "Inbox", + "total": "Total" + } +} From c2230fb308c372edc083a17981544f5832a24acb Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 29 Nov 2022 13:26:35 -0800 Subject: [PATCH 206/300] Fix quick-launch z-index Closes #582 --- src/components/quicklaunch.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index f2c09db2..0427022d 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -112,13 +112,13 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear return ( <div className={classNames( - "relative z-10 ease-in-out duration-300 transition-opacity", + "relative z-20 ease-in-out duration-300 transition-opacity", hidden && !isOpen && "hidden", !hidden && isOpen && "opacity-100", !isOpen && "opacity-0", )} role="dialog" aria-modal="true"> <div className="fixed inset-0 bg-gray-500 bg-opacity-50" /> - <div className="fixed inset-0 z-10 overflow-y-auto"> + <div className="fixed inset-0 z-20 overflow-y-auto"> <div className="flex min-h-full min-w-full items-start justify-center text-center"> <dialog className="mt-[10%] min-w-[80%] max-w-[90%] md:min-w-[40%] rounded-md p-0 block font-medium text-theme-700 dark:text-theme-200 dark:hover:text-theme-300 shadow-md shadow-theme-900/10 dark:shadow-theme-900/20 bg-theme-50 dark:bg-theme-800"> <input placeholder="Search" className={classNames( From 4eabdc1e5ea0533fc6f8c1028434427d5f8a3fde Mon Sep 17 00:00:00 2001 From: Jason Fischer <jazzfisch@outlook.com> Date: Tue, 29 Nov 2022 20:11:50 -0800 Subject: [PATCH 207/300] Add Synology DiskStation widget closes #523 --- public/locales/en/common.json | 6 +++ src/widgets/components.js | 1 + src/widgets/diskstation/component.jsx | 41 ++++++++++++++++ src/widgets/diskstation/proxy.js | 70 +++++++++++++++++++++++++++ src/widgets/diskstation/widget.js | 14 ++++++ src/widgets/widgets.js | 2 + 6 files changed, 134 insertions(+) create mode 100644 src/widgets/diskstation/component.jsx create mode 100644 src/widgets/diskstation/proxy.js create mode 100644 src/widgets/diskstation/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index dbef3ed3..4273fff8 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -118,6 +118,12 @@ "leech": "Leech", "seed": "Seed" }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, "sonarr": { "wanted": "Wanted", "queued": "Queued", diff --git a/src/widgets/components.js b/src/widgets/components.js index 68f11476..606d8291 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -8,6 +8,7 @@ const components = { changedetectionio: dynamic(() => import("./changedetectionio/component")), coinmarketcap: dynamic(() => import("./coinmarketcap/component")), deluge: dynamic(() => import("./deluge/component")), + diskstation: dynamic(() => import("./diskstation/component")), docker: dynamic(() => import("./docker/component")), emby: dynamic(() => import("./emby/component")), gluetun: dynamic(() => import("./gluetun/component")), diff --git a/src/widgets/diskstation/component.jsx b/src/widgets/diskstation/component.jsx new file mode 100644 index 00000000..3a87eebc --- /dev/null +++ b/src/widgets/diskstation/component.jsx @@ -0,0 +1,41 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + const { widget } = service; + const { data: listData, error: listError } = useWidgetAPI(widget, "list"); + + if (listError) { + return <Container error={listError} />; + } + + const tasks = listData?.data?.tasks; + if (!tasks) { + return ( + <Container service={service}> + <Block label="diskstation.leech" /> + <Block label="diskstation.download" /> + <Block label="diskstation.seed" /> + <Block label="diskstation.upload" /> + </Container> + ); + } + + const rateDl = tasks.reduce((acc, task) => acc + (task?.additional?.transfer?.speed_download ?? 0), 0); + const rateUl = tasks.reduce((acc, task) => acc + (task?.additional?.transfer?.speed_upload ?? 0), 0); + const completed = tasks.filter((task) => task?.additional?.transfer?.size_downloaded === task?.size)?.length || 0; + const leech = tasks.length - completed || 0; + + return ( + <Container service={service}> + <Block label="diskstation.leech" value={t("common.number", { value: leech })} /> + <Block label="diskstation.download" value={t("common.bitrate", { value: rateDl })} /> + <Block label="diskstation.seed" value={t("common.number", { value: completed })} /> + <Block label="diskstation.upload" value={t("common.bitrate", { value: rateUl })} /> + </Container> + ); +} diff --git a/src/widgets/diskstation/proxy.js b/src/widgets/diskstation/proxy.js new file mode 100644 index 00000000..af767815 --- /dev/null +++ b/src/widgets/diskstation/proxy.js @@ -0,0 +1,70 @@ +import { formatApiCall } from "utils/proxy/api-helpers"; +import { httpProxy } from "utils/proxy/http"; +import createLogger from "utils/logger"; +import widgets from "widgets/widgets"; +import getServiceWidget from "utils/config/service-helpers"; + +const logger = createLogger("diskstationProxyHandler"); +const authApi = "{url}/webapi/auth.cgi?api=SYNO.API.Auth&version=2&method=login&account={username}&passwd={password}&session=DownloadStation&format=cookie" + +async function login(widget) { + const loginUrl = formatApiCall(authApi, widget); + const [status, contentType, data] = await httpProxy(loginUrl); + if (status !== 200) { + return [status, contentType, data]; + } + + const json = JSON.parse(data.toString()); + if (json?.success !== true) { + // from https://global.download.synology.com/download/Document/Software/DeveloperGuide/Package/DownloadStation/All/enu/Synology_Download_Station_Web_API.pdf + /* + Code Description + 400 No such account or incorrect password + 401 Account disabled + 402 Permission denied + 403 2-step verification code required + 404 Failed to authenticate 2-step verification code + */ + let message = "Authentication failed."; + if (json?.error?.code >= 403) message += " 2FA enabled."; + logger.warn("Unable to login. Code: %d", json?.error?.code); + return [401, "application/json", JSON.stringify({ code: json?.error?.code, message })]; + } + + return [status, contentType, data]; +} + +export default async function diskstationProxyHandler(req, res) { + const { group, service, endpoint } = req.query; + + if (!group || !service) { + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const widget = await getServiceWidget(group, service); + const api = widgets?.[widget.type]?.api; + if (!api) { + return res.status(403).json({ error: "Service does not support API calls" }); + } + + const url = formatApiCall(api, { endpoint, ...widget }); + let [status, contentType, data] = await httpProxy(url); + if (status !== 200) { + logger.debug("Error %d calling endpoint %s", status, url); + return res.status(status, data); + } + + const json = JSON.parse(data.toString()); + if (json?.success !== true) { + logger.debug("Logging in to DiskStation"); + [status, contentType, data] = await login(widget); + if (status !== 200) { + return res.status(status).end(data) + } + + [status, contentType, data] = await httpProxy(url); + } + + if (contentType) res.setHeader("Content-Type", contentType); + return res.status(status).send(data); +} diff --git a/src/widgets/diskstation/widget.js b/src/widgets/diskstation/widget.js new file mode 100644 index 00000000..71187425 --- /dev/null +++ b/src/widgets/diskstation/widget.js @@ -0,0 +1,14 @@ +import diskstationProxyHandler from "./proxy"; + +const widget = { + api: "{url}/webapi/DownloadStation/task.cgi?api=SYNO.DownloadStation.Task&version=1&method={endpoint}", + proxyHandler: diskstationProxyHandler, + + mappings: { + "list": { + endpoint: "list&additional=transfer", + }, + }, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 72417b77..24dd6e5f 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -5,6 +5,7 @@ import bazarr from "./bazarr/widget"; import changedetectionio from "./changedetectionio/widget"; import coinmarketcap from "./coinmarketcap/widget"; import deluge from "./deluge/widget"; +import diskstation from "./diskstation/widget"; import emby from "./emby/widget"; import gluetun from "./gluetun/widget"; import gotify from "./gotify/widget"; @@ -51,6 +52,7 @@ const widgets = { changedetectionio, coinmarketcap, deluge, + diskstation, emby, gluetun, gotify, From 33bd349e430e91441fc2d3a51eaeb0ae0010041e Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 28 Nov 2022 20:10:44 -0800 Subject: [PATCH 208/300] Add fallback to HTTP GET for ping --- src/pages/api/ping.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/pages/api/ping.js b/src/pages/api/ping.js index 79c7da0c..09934f06 100644 --- a/src/pages/api/ping.js +++ b/src/pages/api/ping.js @@ -15,11 +15,18 @@ export default async function handler(req, res) { }); } - const startTime = performance.now(); - const [status] = await httpProxy(pingURL, { + let startTime = performance.now(); + let [status] = await httpProxy(pingURL, { method: "HEAD" }); - const endTime = performance.now(); + let endTime = performance.now(); + + if (status >= 400 && status < 500) { + // try one more time as a GET in case HEAD is rejected for whatever reason + startTime = performance.now(); + [status] = await httpProxy(pingURL); + endTime = performance.now(); + } return res.status(200).json({ status, From 94678be85e1c3e0396c665d6fa667e6e947ca560 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 30 Nov 2022 00:46:35 -0800 Subject: [PATCH 209/300] retry ping > 500 too --- src/pages/api/ping.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/api/ping.js b/src/pages/api/ping.js index 09934f06..66eab281 100644 --- a/src/pages/api/ping.js +++ b/src/pages/api/ping.js @@ -21,7 +21,7 @@ export default async function handler(req, res) { }); let endTime = performance.now(); - if (status >= 400 && status < 500) { + if (status >= 400) { // try one more time as a GET in case HEAD is rejected for whatever reason startTime = performance.now(); [status] = await httpProxy(pingURL); From 039d3df7d806fd9fc602aaf5eef33cc774ac93f7 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 30 Nov 2022 09:35:18 -0800 Subject: [PATCH 210/300] Add token expiration, tweak error handling for npm --- src/widgets/npm/proxy.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/widgets/npm/proxy.js b/src/widgets/npm/proxy.js index ff15db62..d6499e58 100644 --- a/src/widgets/npm/proxy.js +++ b/src/widgets/npm/proxy.js @@ -20,12 +20,18 @@ async function login(loginUrl, username, password) { }); const status = authResponse[0]; - const data = JSON.parse(Buffer.from(authResponse[2]).toString()); + let data = authResponse[2]; - if (status === 200) { - cache.put(tokenCacheKey, data.token); + try { + data = JSON.parse(Buffer.from(authResponse[2]).toString()); + + if (status === 200) { + const expiration = new Date(data.expires) - Date.now(); + cache.put(tokenCacheKey, data.token, expiration - (5 * 60 * 1000)); // expiration -5 minutes + } + } catch (e) { + logger.error(`Error ${status} logging into npm`, authResponse[2]); } - return [status, data.token ?? data]; } @@ -51,8 +57,8 @@ export default async function npmProxyHandler(req, res) { if (!token) { [status, token] = await login(loginUrl, widget.username, widget.password); if (status !== 200) { - logger.debug(`HTTTP ${status} logging into npm api: ${data}`); - return res.status(status).send(data); + logger.debug(`HTTTP ${status} logging into npm api: ${token}`); + return res.status(status).send(token); } } From 98c8f2078dc3fc89210f959fbdb6a1223ee6f25c Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 30 Nov 2022 09:52:20 -0800 Subject: [PATCH 211/300] fix another react deps warning --- src/components/widgets/datetime/datetime.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/widgets/datetime/datetime.jsx b/src/components/widgets/datetime/datetime.jsx index f4c99de9..88b25e2d 100644 --- a/src/components/widgets/datetime/datetime.jsx +++ b/src/components/widgets/datetime/datetime.jsx @@ -15,15 +15,15 @@ const textSizes = { export default function DateTime({ options }) { const { text_size: textSize, format } = options; const { i18n } = useTranslation(); - const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); const [date, setDate] = useState(""); useEffect(() => { + const dateFormat = new Intl.DateTimeFormat(i18n.language, { ...format }); const interval = setInterval(() => { setDate(dateFormat.format(new Date())); }, 1000); return () => clearInterval(interval); - }, [date, setDate, dateFormat]); + }, [date, setDate, i18n.language, format]); return ( <div className="flex flex-col justify-center first:ml-0 ml-4"> From 1de017add9387a21262996fb62f079ff561d235e Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Wed, 30 Nov 2022 07:02:04 +0000 Subject: [PATCH 212/300] Translated using Weblate (French) Currently translated at 100.0% (254 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 457c967a..ceddd133 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -105,7 +105,7 @@ "pending": "En attente", "approved": "Demande", "available": "Disponible", - "processing": "Processing" + "processing": "En traitement" }, "sabnzbd": { "rate": "Débit", From 4bf9fa08dfb635f3537a3e6f5593bf7f35c793ec Mon Sep 17 00:00:00 2001 From: phlostically <phlostically@mailinator.com> Date: Tue, 29 Nov 2022 20:22:21 +0000 Subject: [PATCH 213/300] Translated using Weblate (Esperanto) Currently translated at 40.5% (103 of 254 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 186 +++++++++++++++++----------------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index e19718b3..26f56002 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -2,36 +2,36 @@ "widget": { "missing_type": "Missing Widget Type: {{type}}", "api_error": "API Error", - "information": "Information", - "status": "Status", + "information": "Informo", + "status": "Stato", "url": "URL", "raw_error": "Raw Error", "response_data": "Response Data" }, "weather": { - "current": "Current Location", + "current": "Aktuala loko", "allow": "Click to allow", "updating": "Updating", "wait": "Please wait" }, "search": { - "placeholder": "Search…" + "placeholder": "Serĉi…" }, "resources": { - "cpu": "CPU", - "total": "Total", - "free": "Free", - "used": "Used", - "load": "Load" + "cpu": "Ĉefprocesoro", + "total": "Totalo", + "free": "Libera", + "used": "Uzata", + "load": "Ŝarĝo" }, "unifi": { - "users": "Users", + "users": "Uzantoj", "uptime": "System Uptime", - "days": "Days", + "days": "Tagoj", "wan": "WAN", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", + "devices": "Aparatoj", "lan_devices": "LAN Devices", "wlan_devices": "WLAN Devices", "lan_users": "LAN Users", @@ -43,18 +43,18 @@ "docker": { "rx": "RX", "tx": "TX", - "mem": "MEM", - "cpu": "CPU", + "mem": "Memoro", + "cpu": "Ĉefprocesoro", "offline": "Offline", - "error": "Error", - "unknown": "Unknown" + "error": "Eraro", + "unknown": "Nekonata" }, "ping": { - "error": "Error", + "error": "Eraro", "ping": "Ping" }, "emby": { - "playing": "Playing", + "playing": "Ludante", "transcoding": "Transcoding", "bitrate": "Bitrate", "no_active": "No Active Streams" @@ -76,8 +76,8 @@ }, "plex": { "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "movies": "Filmoj", + "tv": "Televidprogramoj" }, "sabnzbd": { "rate": "Rate", @@ -86,23 +86,23 @@ }, "rutorrent": { "active": "Active", - "upload": "Upload", - "download": "Download" + "upload": "Alŝuto", + "download": "Elŝuto" }, "transmission": { - "download": "Download", - "upload": "Upload", + "download": "Elŝuto", + "upload": "Alŝuto", "leech": "Leech", "seed": "Seed" }, "qbittorrent": { - "download": "Download", - "upload": "Upload", + "download": "Elŝuto", + "upload": "Alŝuto", "leech": "Leech", "seed": "Seed" }, "deluge": { - "download": "Download", + "download": "Elŝuto", "upload": "Upload", "leech": "Leech", "seed": "Seed" @@ -110,23 +110,23 @@ "sonarr": { "wanted": "Wanted", "queued": "Queued", - "series": "Series" + "series": "Serio" }, "radarr": { "wanted": "Wanted", "missing": "Missing", "queued": "Queued", - "movies": "Movies" + "movies": "Filmoj" }, "lidarr": { "wanted": "Wanted", "queued": "Queued", - "albums": "Albums" + "albums": "Albumoj" }, "readarr": { "wanted": "Wanted", "queued": "Queued", - "books": "Books" + "books": "Libroj" }, "bazarr": { "missingEpisodes": "Missing Episodes", @@ -134,19 +134,19 @@ }, "ombi": { "pending": "Pending", - "approved": "Approved", - "available": "Available" + "approved": "Aprobita", + "available": "Havebla" }, "jellyseerr": { "pending": "Pending", - "approved": "Approved", - "available": "Available" + "approved": "Aprobita", + "available": "Havebla" }, "overseerr": { "pending": "Pending", "processing": "Processing", - "approved": "Approved", - "available": "Available" + "approved": "Aprobita", + "available": "Havebla" }, "pihole": { "queries": "Queries", @@ -155,8 +155,8 @@ }, "adguard": { "queries": "Queries", - "blocked": "Blocked", - "filtered": "Filtered", + "blocked": "Blokitaj", + "filtered": "Filtritaj", "latency": "Latency" }, "speedtest": { @@ -167,11 +167,11 @@ "portainer": { "running": "Running", "stopped": "Stopped", - "total": "Total" + "total": "Totalo" }, "traefik": { "routers": "Routers", - "services": "Services", + "services": "Servoj", "middleware": "Middleware" }, "navidrome": { @@ -185,15 +185,15 @@ }, "coinmarketcap": { "configure": "Configure one or more crypto currencies to track", - "1hour": "1 Hour", - "1day": "1 Day", - "7days": "7 Days", - "30days": "30 Days" + "1hour": "1 horo", + "1day": "1 tago", + "7days": "7 tagoj", + "30days": "30 tagoj" }, "gotify": { "apps": "Applications", - "clients": "Clients", - "messages": "Messages" + "clients": "Klientoj", + "messages": "Mesaĝoj" }, "prowlarr": { "enableIndexers": "Indexers", @@ -207,14 +207,14 @@ "errored": "Errored" }, "strelaysrv": { - "numActiveSessions": "Sessions", - "numConnections": "Connections", + "numActiveSessions": "Seancoj", + "numConnections": "Konektoj", "dataRelayed": "Relayed", "transferRate": "Rate" }, "mastodon": { - "user_count": "Users", - "status_count": "Posts", + "user_count": "Uzantoj", + "status_count": "Afiŝoj", "domain_count": "Domains" }, "authentik": { @@ -223,33 +223,33 @@ "failedLoginsLast24H": "Failed Logins (24h)" }, "proxmox": { - "mem": "MEM", - "cpu": "CPU", + "mem": "Memoro", + "cpu": "Ĉefprocesoro", "lxc": "LXC", "vms": "VMs" }, "glances": { - "cpu": "CPU", - "mem": "MEM", - "wait": "Please wait" + "cpu": "Ĉefprocesoro", + "mem": "Memoro", + "wait": "Bonvolu atendi" }, "quicklaunch": { "bookmark": "Bookmark", - "service": "Service" + "service": "Servo" }, "wmo": { - "0-day": "Sunny", - "0-night": "Clear", + "0-day": "Suna", + "0-night": "Sennuba", "1-day": "Mainly Sunny", "1-night": "Mainly Clear", - "2-day": "Partly Cloudy", - "2-night": "Partly Cloudy", - "3-day": "Cloudy", - "3-night": "Cloudy", - "45-day": "Foggy", - "45-night": "Foggy", - "48-day": "Foggy", - "48-night": "Foggy", + "2-day": "Nubeta", + "2-night": "Nubeta", + "3-day": "Nuba", + "3-night": "Nuba", + "45-day": "Nebula", + "45-night": "Nebula", + "48-day": "Nebula", + "48-night": "Nebula", "51-day": "Light Drizzle", "51-night": "Light Drizzle", "53-day": "Drizzle", @@ -262,20 +262,20 @@ "57-night": "Freezing Drizzle", "61-day": "Light Rain", "61-night": "Light Rain", - "63-day": "Rain", - "63-night": "Rain", - "65-day": "Heavy Rain", - "65-night": "Heavy Rain", - "66-day": "Freezing Rain", - "66-night": "Freezing Rain", - "67-day": "Freezing Rain", - "67-night": "Freezing Rain", + "63-day": "Pluvo", + "63-night": "Pluvo", + "65-day": "Pluvego", + "65-night": "Pluvego", + "66-day": "Frosta pluvo", + "66-night": "Frosta pluvo", + "67-day": "Frosta pluvo", + "67-night": "Frosta pluvo", "71-day": "Light Snow", "71-night": "Light Snow", - "73-day": "Snow", - "73-night": "Snow", - "75-day": "Heavy Snow", - "75-night": "Heavy Snow", + "73-day": "Neĝo", + "73-night": "Neĝo", + "75-day": "Neĝego", + "75-night": "Neĝego", "77-day": "Snow Grains", "77-night": "Snow Grains", "80-day": "Light Showers", @@ -288,15 +288,15 @@ "85-night": "Snow Showers", "86-day": "Snow Showers", "86-night": "Snow Showers", - "95-day": "Thunderstorm", - "95-night": "Thunderstorm", - "96-day": "Thunderstorm With Hail", - "96-night": "Thunderstorm With Hail", - "99-day": "Thunderstorm With Hail", - "99-night": "Thunderstorm With Hail" + "95-day": "Fulmotondro", + "95-night": "Fulmotondro", + "96-day": "Fulmotondro kun hajlo", + "96-night": "Fulmotondro kun hajlo", + "99-day": "Fulmotondro kun hajlo", + "99-night": "Fulmotondro kun hajlo" }, "homebridge": { - "available_update": "System", + "available_update": "Sistemo", "updates": "Updates", "update_available": "Update Available", "up_to_date": "Up to Date", @@ -311,13 +311,13 @@ "autobrr": { "approvedPushes": "Approved", "rejectedPushes": "Rejected", - "filters": "Filters", + "filters": "Filtriloj", "indexers": "Indexers" }, "tubearchivist": { "downloads": "Queue", "videos": "Videos", - "channels": "Channels", + "channels": "Kanaloj", "playlists": "Playlists" }, "truenas": { @@ -328,17 +328,17 @@ }, "pyload": { "speed": "Speed", - "active": "Active", + "active": "Aktiva", "queue": "Queue", "total": "Total" }, "gluetun": { "public_ip": "Public IP", - "region": "Region", - "country": "Country" + "region": "Regiono", + "country": "Lando" }, "hdhomerun": { - "channels": "Channels", + "channels": "Kanaloj", "hd": "HD" }, "scrutiny": { @@ -348,6 +348,6 @@ }, "paperlessngx": { "inbox": "Inbox", - "total": "Total" + "total": "Totalo" } } From 474f04157801455d91b81f78c6f5aef90f939159 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 214/300] Translated using Weblate (German) Currently translated at 87.2% (225 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index df105602..50bba398 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From d5ff929c70b69be3210c205b8fd590d2fa8502c7 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 215/300] Translated using Weblate (Spanish) Currently translated at 98.0% (253 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index dce9bf1a..bed3f90b 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -349,5 +349,11 @@ "upload": "Subida", "leech": "Leech", "seed": "Semilla" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From a8647db988855d4fd2dfa42ca876b8b808abadce Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:04 +0000 Subject: [PATCH 216/300] Translated using Weblate (French) Currently translated at 98.4% (254 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index ceddd133..3397e4dc 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -349,5 +349,11 @@ "upload": "Envoi", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ac9023ecdb7467d89bd1124a8f81ac67d013e3a1 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:04 +0000 Subject: [PATCH 217/300] Translated using Weblate (Portuguese) Currently translated at 44.5% (115 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index a010ed37..fe217640 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -360,5 +360,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c5acca3e5a5f2d7aa89a99505fda83e0a640e552 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:04 +0000 Subject: [PATCH 218/300] Translated using Weblate (Russian) Currently translated at 18.6% (48 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index 6f6f7215..a19e8953 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "seed": "Seed", + "leech": "Leech" } } From 323930c5d50a2fbe0a35e55c3b9e12f729d9a23e Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:04 +0000 Subject: [PATCH 219/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 65.1% (168 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 5824af50..7a83d93e 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 4efcedcee4ba1eea2aa557aa01972feb5b347d47 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:04 +0000 Subject: [PATCH 220/300] Translated using Weblate (Italian) Currently translated at 88.7% (229 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 5fa50f7b..03e51c06 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From fe39bb369561c2a555da502b921da5351a8dfc6d Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 221/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 30.6% (79 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 029af22e..8848cc43 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -349,5 +349,11 @@ "download": "Download", "upload": "Upload", "seed": "Seed" + }, + "diskstation": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" } } From e0789cb4b61ef8007810f2ecdb8406896cc2a6d4 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:04 +0000 Subject: [PATCH 222/300] Translated using Weblate (Vietnamese) Currently translated at 17.0% (44 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 783f024d..9e16846c 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ebb1e330a24927b70af7084b29dfa658afe169fc Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:05 +0000 Subject: [PATCH 223/300] Translated using Weblate (Dutch) Currently translated at 24.4% (63 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index 04d8f20d..ef315b38 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 70972d1b852cdcc96b6620b50bd9a7410d699561 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:05 +0000 Subject: [PATCH 224/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.4% (9 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index dc7b232e..34ab29e1 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From a3bf7e2da732cde8265af5c287e3c36276d26bf8 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:01 +0000 Subject: [PATCH 225/300] Translated using Weblate (Catalan) Currently translated at 50.7% (131 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 01f27b6d..8ad1f684 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -349,5 +349,11 @@ "download": "Download", "upload": "Upload", "leech": "Leech" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ff3e0bcbc8993525683cf2f818a0abe112500ad2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:02 +0000 Subject: [PATCH 226/300] Translated using Weblate (Polish) Currently translated at 92.2% (238 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index c37df7db..aa0159b6 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c1fd9559df1cc3a580cf44cc2067a2a147589209 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:00 +0000 Subject: [PATCH 227/300] Translated using Weblate (Swedish) Currently translated at 50.3% (130 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 04ac5683..72c44723 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -349,5 +349,11 @@ "leech": "Leech", "upload": "Upload", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 6225f3a6c1d851baf6d441ac37c162e443c0ff9b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:00 +0000 Subject: [PATCH 228/300] Translated using Weblate (Croatian) Currently translated at 96.5% (249 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index 3f230e88..e1933ea4 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 16979dfcc4793bbd2d74e83029a485c514dbe0f0 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:01 +0000 Subject: [PATCH 229/300] Translated using Weblate (Hungarian) Currently translated at 41.8% (108 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 6eb35db0..8737c2fb 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -349,5 +349,11 @@ "seed": "Seed", "upload": "Upload", "leech": "Leech" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 25c0502e02002b7ba9e1ee639375c4f668de98d6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:00 +0000 Subject: [PATCH 230/300] Translated using Weblate (Hebrew) Currently translated at 39.1% (101 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 3ecaab7d..5bea6cfe 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "upload": "Upload", + "leech": "Leech", + "download": "Download", + "seed": "Seed" } } From 5443c1e1cdec608eb35ac1c1115c84fe1dbc818a Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:01 +0000 Subject: [PATCH 231/300] Translated using Weblate (Romanian) Currently translated at 53.1% (137 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 12ae60b8..1fcad29a 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 77d523e2a4cfca47a298ada94a054130dc8bc499 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:02 +0000 Subject: [PATCH 232/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 45.3% (117 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index a7fa2154..4fa0d3fc 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 531b1a91babb37a70bca1d016b04843c4c8cd008 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:01 +0000 Subject: [PATCH 233/300] Translated using Weblate (Yue) Currently translated at 45.7% (118 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index 520bc943..a9b3d445 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 6da0ebd11b4cfba9485148a40713456465445e4c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 234/300] Translated using Weblate (Finnish) Currently translated at 47.6% (123 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 40c39bf0..51ae4db6 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -349,5 +349,11 @@ "leech": "Leech", "seed": "Seed", "download": "Download" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 65e3d503672b1b7cb02e13614cbe6bc942178fc2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:02 +0000 Subject: [PATCH 235/300] Translated using Weblate (Telugu) Currently translated at 84.1% (217 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 6f4351a6..7254966d 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -349,5 +349,11 @@ "download": "Download", "upload": "Upload", "leech": "Leech" + }, + "diskstation": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" } } From e238db9336501a48b287c38ec13594345c6a89b7 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 236/300] Translated using Weblate (Bulgarian) Currently translated at 17.8% (46 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index ff40f72a..0e5a5952 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "seed": "Seed", + "download": "Download", + "upload": "Upload", + "leech": "Leech" } } From 8e1b99ee32ba84c6046c8b0ae67fb7977d13b7ee Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:01 +0000 Subject: [PATCH 237/300] Translated using Weblate (Turkish) Currently translated at 89.5% (231 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 808a9439..8e1c445a 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 5b43b07e1f19b7ca86cfe4b1925dc3dec1882c57 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:02 +0000 Subject: [PATCH 238/300] Translated using Weblate (Serbian) Currently translated at 3.4% (9 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index a063bf04..a616fc63 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 585fe5fb1c454cf5d711c3d0b128c1b5dd156208 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:01 +0000 Subject: [PATCH 239/300] Translated using Weblate (Arabic) Currently translated at 17.0% (44 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 2f88b39d..6e52983d 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "leech": "Leech", + "seed": "Seed", + "download": "Download", + "upload": "Upload" } } From 2c717636a6a85f548cdca156525fcb5be535388c Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 240/300] Translated using Weblate (Czech) Currently translated at 87.2% (225 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index 4a50cfd5..e4917c5b 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -349,5 +349,11 @@ "leech": "Leech", "seed": "Seed", "download": "Download" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2725bcbbe157e3f6617a9941abd776827f2cebce Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:03 +0000 Subject: [PATCH 241/300] Translated using Weblate (Danish) Currently translated at 76.7% (198 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 1a56eee4..9a9f2ea4 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From a4e1a22783237e0a0c6eea427df02819cd36b7c2 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:05 +0000 Subject: [PATCH 242/300] Translated using Weblate (Malay) Currently translated at 98.0% (253 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index f6b6e9c6..a011501c 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -349,5 +349,11 @@ "upload": "Muat Naik", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "upload": "Upload", + "download": "Download", + "leech": "Leech", + "seed": "Seed" } } From 458b16ff6da01220c73e28ed1dc5b1fac7de7637 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:02 +0000 Subject: [PATCH 243/300] Translated using Weblate (Hindi) Currently translated at 3.4% (9 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 0b1b00dc..384cb92b 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -349,5 +349,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "diskstation": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 1a29c1fc8f005fe205f63411804f297052669a61 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Wed, 30 Nov 2022 17:57:02 +0000 Subject: [PATCH 244/300] Translated using Weblate (Esperanto) Currently translated at 39.9% (103 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 26f56002..431e0008 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -349,5 +349,11 @@ "paperlessngx": { "inbox": "Inbox", "total": "Totalo" + }, + "diskstation": { + "download": "Download", + "leech": "Leech", + "upload": "Upload", + "seed": "Seed" } } From 1aeb3a3b634374be05591eb77c8b7ebc4e6c8581 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 30 Nov 2022 20:52:30 -0800 Subject: [PATCH 245/300] Add a perfunctory key to <span> --- src/components/quicklaunch.jsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/quicklaunch.jsx b/src/components/quicklaunch.jsx index 0427022d..050de448 100644 --- a/src/components/quicklaunch.jsx +++ b/src/components/quicklaunch.jsx @@ -107,7 +107,8 @@ export default function QuickLaunch({servicesAndBookmarks, searchString, setSear function highlightText(text) { const parts = text.split(new RegExp(`(${searchString})`, 'gi')); - return <span>{parts.map(part => part.toLowerCase() === searchString.toLowerCase() ? <span className="bg-theme-300/10">{part}</span> : part)}</span>; + // eslint-disable-next-line react/no-array-index-key + return <span>{parts.map((part, i) => part.toLowerCase() === searchString.toLowerCase() ? <span key={`${searchString}_${i}`} className="bg-theme-300/10">{part}</span> : part)}</span>; } return ( From 7087ed80cc90b6ee4fcdbf6c1043b77c85a6a53a Mon Sep 17 00:00:00 2001 From: JigSawFr <JigSawFr@users.noreply.github.com> Date: Thu, 1 Dec 2022 12:40:19 +0100 Subject: [PATCH 246/300] Add flood widget --- public/locales/en/common.json | 6 ++++ src/widgets/components.js | 1 + src/widgets/flood/component.jsx | 53 ++++++++++++++++++++++++++++ src/widgets/flood/proxy.js | 61 +++++++++++++++++++++++++++++++++ src/widgets/flood/widget.js | 7 ++++ src/widgets/widgets.js | 2 ++ 6 files changed, 130 insertions(+) create mode 100644 src/widgets/flood/component.jsx create mode 100644 src/widgets/flood/proxy.js create mode 100644 src/widgets/flood/widget.js diff --git a/public/locales/en/common.json b/public/locales/en/common.json index 4273fff8..80ba5357 100644 --- a/public/locales/en/common.json +++ b/public/locales/en/common.json @@ -70,6 +70,12 @@ "bitrate": "Bitrate", "no_active": "No Active Streams" }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" + }, "changedetectionio": { "totalObserved": "Total Observed", "diffsDetected": "Diffs Detected" diff --git a/src/widgets/components.js b/src/widgets/components.js index 606d8291..b0752b62 100644 --- a/src/widgets/components.js +++ b/src/widgets/components.js @@ -11,6 +11,7 @@ const components = { diskstation: dynamic(() => import("./diskstation/component")), docker: dynamic(() => import("./docker/component")), emby: dynamic(() => import("./emby/component")), + flood: dynamic(() => import("./flood/component")), gluetun: dynamic(() => import("./gluetun/component")), gotify: dynamic(() => import("./gotify/component")), hdhomerun: dynamic(() => import("./hdhomerun/component")), diff --git a/src/widgets/flood/component.jsx b/src/widgets/flood/component.jsx new file mode 100644 index 00000000..0615154f --- /dev/null +++ b/src/widgets/flood/component.jsx @@ -0,0 +1,53 @@ +import { useTranslation } from "next-i18next"; + +import Container from "components/services/widget/container"; +import Block from "components/services/widget/block"; +import useWidgetAPI from "utils/proxy/use-widget-api"; + +export default function Component({ service }) { + const { t } = useTranslation(); + + const { widget } = service; + + const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents"); + + if (torrentError) { + return <Container error={torrentError} />; + } + + if (!torrentData) { + return ( + <Container service={service}> + <Block label="flood.leech" /> + <Block label="flood.download" /> + <Block label="flood.seed" /> + <Block label="flood.upload" /> + </Container> + ); + } + + let rateDl = 0; + let rateUl = 0; + let completed = 0; + let leech = 0; + + for (var torrent in torrentData.torrents) { + rateDl += torrentData.torrents[torrent].downRate; + rateUl += torrentData.torrents[torrent].upRate; + if(torrentData.torrents[torrent].status.includes('complete')){ + completed += 1; + } + if(torrentData.torrents[torrent].status.includes('downloading')){ + leech += 1; + } + } + + return ( + <Container service={service}> + <Block label="flood.leech" value={t("common.number", { value: leech })} /> + <Block label="flood.download" value={t("common.bitrate", { value: rateDl })} /> + <Block label="flood.seed" value={t("common.number", { value: completed })} /> + <Block label="flood.upload" value={t("common.bitrate", { value: rateUl })} /> + </Container> + ); +} diff --git a/src/widgets/flood/proxy.js b/src/widgets/flood/proxy.js new file mode 100644 index 00000000..adcebddc --- /dev/null +++ b/src/widgets/flood/proxy.js @@ -0,0 +1,61 @@ +import { formatApiCall } from "utils/proxy/api-helpers"; +import { httpProxy } from "utils/proxy/http"; +import getServiceWidget from "utils/config/service-helpers"; +import createLogger from "utils/logger"; + +const logger = createLogger("floodProxyHandler"); + +async function login(widget) { + logger.debug("flood is rejecting the request, logging in."); + const loginUrl = new URL(`${widget.url}/api/auth/authenticate`).toString(); + const loginHeaders = { + "Accept-Encoding": "application/json" + }; + if (widget.username && widget.password) { + loginHeaders.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}` + } + + const loginParams = { method: "POST", loginHeaders }; + + // eslint-disable-next-line no-unused-vars + const [status, contentType, data] = await httpProxy(loginUrl, loginParams); + return [status, data]; +} + +export default async function floodProxyHandler(req, res) { + const { group, service, endpoint } = req.query; + + if (!group || !service) { + logger.debug("Invalid or missing service '%s' or group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const widget = await getServiceWidget(group, service); + + if (!widget) { + logger.debug("Invalid or missing widget for service '%s' in group '%s'", service, group); + return res.status(400).json({ error: "Invalid proxy service type" }); + } + + const url = new URL(formatApiCall("{url}/api/{endpoint}", { endpoint, ...widget })); + const params = { method: "GET", headers: {} }; + + let [status, contentType, data] = await httpProxy(url, params); + if (status === 401) { + [status, data] = await login(widget); + + if (status !== 200) { + logger.error("HTTP %d logging in to flood. Data: %s", status, data); + return res.status(status).end(data); + } + + [status, contentType, data] = await httpProxy(url, params); + } + + if (status !== 200) { + logger.error("HTTP %d getting data from flood. Data: %s", status, data); + } + + if (contentType) res.setHeader("Content-Type", contentType); + return res.status(status).send(data); +} diff --git a/src/widgets/flood/widget.js b/src/widgets/flood/widget.js new file mode 100644 index 00000000..027ff344 --- /dev/null +++ b/src/widgets/flood/widget.js @@ -0,0 +1,7 @@ +import floodProxyHandler from "./proxy"; + +const widget = { + proxyHandler: floodProxyHandler, +}; + +export default widget; diff --git a/src/widgets/widgets.js b/src/widgets/widgets.js index 24dd6e5f..b3eaa885 100644 --- a/src/widgets/widgets.js +++ b/src/widgets/widgets.js @@ -7,6 +7,7 @@ import coinmarketcap from "./coinmarketcap/widget"; import deluge from "./deluge/widget"; import diskstation from "./diskstation/widget"; import emby from "./emby/widget"; +import flood from "./flood/widget"; import gluetun from "./gluetun/widget"; import gotify from "./gotify/widget"; import hdhomerun from "./hdhomerun/widget"; @@ -54,6 +55,7 @@ const widgets = { deluge, diskstation, emby, + flood, gluetun, gotify, hdhomerun, From 9d2f1ab8c8449224ab7264c108f4b7e7fcbe4e54 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 1 Dec 2022 06:36:51 -0800 Subject: [PATCH 247/300] Add default interval setting for coinmarketcap --- src/utils/config/service-helpers.js | 2 ++ src/widgets/coinmarketcap/component.jsx | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/utils/config/service-helpers.js b/src/utils/config/service-helpers.js index 15740d22..e0a9f23f 100644 --- a/src/utils/config/service-helpers.js +++ b/src/utils/config/service-helpers.js @@ -118,6 +118,7 @@ export function cleanServiceGroups(groups) { container, currency, // coinmarketcap widget symbols, + defaultinterval } = cleanedService.widget; cleanedService.widget = { @@ -129,6 +130,7 @@ export function cleanServiceGroups(groups) { if (currency) cleanedService.widget.currency = currency; if (symbols) cleanedService.widget.symbols = symbols; + if (defaultinterval) cleanedService.widget.defaultinterval = defaultinterval; if (type === "docker") { if (server) cleanedService.widget.server = server; diff --git a/src/widgets/coinmarketcap/component.jsx b/src/widgets/coinmarketcap/component.jsx index 90b91a5e..180ffe22 100644 --- a/src/widgets/coinmarketcap/component.jsx +++ b/src/widgets/coinmarketcap/component.jsx @@ -17,11 +17,12 @@ export default function Component({ service }) { { label: t("coinmarketcap.30days"), value: "30d" }, ]; - const [dateRange, setDateRange] = useState(dateRangeOptions[0].value); - const { widget } = service; const { symbols } = widget; const currencyCode = widget.currency ?? "USD"; + const interval = widget.defaultinterval ?? dateRangeOptions[0].value; + + const [dateRange, setDateRange] = useState(interval); const { data: statsData, error: statsError } = useWidgetAPI(widget, "v1/cryptocurrency/quotes/latest", { symbol: `${symbols.join(",")}`, From 97a3346ff63e1444c126e5025f9f559d2457bb70 Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Wed, 30 Nov 2022 19:00:45 +0000 Subject: [PATCH 248/300] Translated using Weblate (Spanish) Currently translated at 99.6% (257 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index bed3f90b..2c85b3fc 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -105,7 +105,7 @@ "pending": "Pendiente", "approved": "Aprobado", "available": "Disponible", - "processing": "Processing" + "processing": "Procesando" }, "sabnzbd": { "rate": "Tasa", @@ -139,7 +139,7 @@ "transmission": { "download": "Bajada", "upload": "Subida", - "leech": "Compañeros", + "leech": "Leech", "seed": "Semillas" }, "jackett": { @@ -164,7 +164,7 @@ "qbittorrent": { "download": "Bajada", "upload": "Subida", - "leech": "Compañeros", + "leech": "Leech", "seed": "Semillas" }, "mastodon": { @@ -351,9 +351,9 @@ "seed": "Semilla" }, "diskstation": { - "download": "Download", - "upload": "Upload", + "download": "Descargar", + "upload": "Cargar", "leech": "Leech", - "seed": "Seed" + "seed": "Semilla" } } From 0d28fe25f83e3695b52a0f41e7e170f7d5a2d73e Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Wed, 30 Nov 2022 18:39:02 +0000 Subject: [PATCH 249/300] Translated using Weblate (French) Currently translated at 100.0% (258 of 258 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 3397e4dc..bf512faf 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -351,8 +351,8 @@ "seed": "Seed" }, "diskstation": { - "download": "Download", - "upload": "Upload", + "download": "Réception", + "upload": "Envoi", "leech": "Leech", "seed": "Seed" } From 8a84eba232187327c704130cc7d0881393d5f7ad Mon Sep 17 00:00:00 2001 From: JigSawFr <JigSawFr@users.noreply.github.com> Date: Thu, 1 Dec 2022 20:55:14 +0100 Subject: [PATCH 250/300] fix(widgets): move flood auth from BASIC to raw json body --- src/widgets/flood/proxy.js | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/widgets/flood/proxy.js b/src/widgets/flood/proxy.js index adcebddc..6c7921cc 100644 --- a/src/widgets/flood/proxy.js +++ b/src/widgets/flood/proxy.js @@ -8,14 +8,19 @@ const logger = createLogger("floodProxyHandler"); async function login(widget) { logger.debug("flood is rejecting the request, logging in."); const loginUrl = new URL(`${widget.url}/api/auth/authenticate`).toString(); - const loginHeaders = { - "Accept-Encoding": "application/json" - }; - if (widget.username && widget.password) { - loginHeaders.Authorization = `Basic ${Buffer.from(`${widget.username}:${widget.password}`).toString("base64")}` - } - const loginParams = { method: "POST", loginHeaders }; + const loginParams = { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: null + }; + + if (widget.username && widget.password) { + loginParams.body = JSON.stringify({ + "username": widget.username, + "password": widget.password + }); + } // eslint-disable-next-line no-unused-vars const [status, contentType, data] = await httpProxy(loginUrl, loginParams); From 8c918f1ea60d6c94e02a085cf3aad9e16777b797 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:45 +0000 Subject: [PATCH 251/300] Translated using Weblate (German) Currently translated at 85.8% (225 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/de/ --- public/locales/de/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/de/common.json b/public/locales/de/common.json index 50bba398..76da6f02 100644 --- a/public/locales/de/common.json +++ b/public/locales/de/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ba44c0ae9da59effc4c113b4ea0b9b67179b2b36 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:45 +0000 Subject: [PATCH 252/300] Translated using Weblate (Spanish) Currently translated at 98.0% (257 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 2c85b3fc..80da36bf 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -355,5 +355,11 @@ "upload": "Cargar", "leech": "Leech", "seed": "Semilla" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 31e6c1fa8667919912bea120c29d18b5b2944cd6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:45 +0000 Subject: [PATCH 253/300] Translated using Weblate (French) Currently translated at 98.4% (258 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index bf512faf..1addd4fd 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -355,5 +355,11 @@ "upload": "Envoi", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 22dd4e5f776c0cfcdc8bdc30db204312ba2bd7f0 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:45 +0000 Subject: [PATCH 254/300] Translated using Weblate (Portuguese) Currently translated at 43.8% (115 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index fe217640..93058498 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -366,5 +366,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From d2f3098b2a8c394c3cb1e53538daa7495b537f0d Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:46 +0000 Subject: [PATCH 255/300] Translated using Weblate (Russian) Currently translated at 18.3% (48 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ru/ --- public/locales/ru/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ru/common.json b/public/locales/ru/common.json index a19e8953..1b7688ea 100644 --- a/public/locales/ru/common.json +++ b/public/locales/ru/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "seed": "Seed", "leech": "Leech" + }, + "flood": { + "upload": "Upload", + "download": "Download", + "leech": "Leech", + "seed": "Seed" } } From 2e6d760c534df1223357b8c15f6776899c16f4ff Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:46 +0000 Subject: [PATCH 256/300] Translated using Weblate (Chinese (Simplified)) Currently translated at 64.1% (168 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hans/ --- public/locales/zh-CN/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-CN/common.json b/public/locales/zh-CN/common.json index 7a83d93e..512fbcc1 100644 --- a/public/locales/zh-CN/common.json +++ b/public/locales/zh-CN/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" } } From 2a9c39532ae8807d533240d5ee432e28ce98f630 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:46 +0000 Subject: [PATCH 257/300] Translated using Weblate (Italian) Currently translated at 87.4% (229 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/it/ --- public/locales/it/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/it/common.json b/public/locales/it/common.json index 03e51c06..169e42bd 100644 --- a/public/locales/it/common.json +++ b/public/locales/it/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c72961573bd6a2b76e711cb837e4786ffa22da11 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:45 +0000 Subject: [PATCH 258/300] =?UTF-8?q?Translated=20using=20Weblate=20(Norwegi?= =?UTF-8?q?an=20Bokm=C3=A5l)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently translated at 30.1% (79 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nb_NO/ --- public/locales/nb-NO/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nb-NO/common.json b/public/locales/nb-NO/common.json index 8848cc43..8a6d7965 100644 --- a/public/locales/nb-NO/common.json +++ b/public/locales/nb-NO/common.json @@ -355,5 +355,11 @@ "download": "Download", "upload": "Upload", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 5de93bcad2d465e90f529d558a6c17d4d0e1b3e7 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:46 +0000 Subject: [PATCH 259/300] Translated using Weblate (Vietnamese) Currently translated at 16.7% (44 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/vi/ --- public/locales/vi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/vi/common.json b/public/locales/vi/common.json index 9e16846c..e01e4fd4 100644 --- a/public/locales/vi/common.json +++ b/public/locales/vi/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "seed": "Seed", + "leech": "Leech" } } From 0a7616f0f6986f56762fd3b2a3ebd88509cdcc83 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:46 +0000 Subject: [PATCH 260/300] Translated using Weblate (Dutch) Currently translated at 24.0% (63 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/nl/ --- public/locales/nl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/nl/common.json b/public/locales/nl/common.json index ef315b38..9a16f6d8 100644 --- a/public/locales/nl/common.json +++ b/public/locales/nl/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 7cae96a77b4eac167df623c5832936155b8bc29e Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:47 +0000 Subject: [PATCH 261/300] Translated using Weblate (Chinese (Traditional)) Currently translated at 3.4% (9 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/zh_Hant/ --- public/locales/zh-Hant/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/zh-Hant/common.json b/public/locales/zh-Hant/common.json index 34ab29e1..f760d795 100644 --- a/public/locales/zh-Hant/common.json +++ b/public/locales/zh-Hant/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c3305c2cd721989e7fe84881e9d8fd32738b5971 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:42 +0000 Subject: [PATCH 262/300] Translated using Weblate (Catalan) Currently translated at 50.0% (131 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ca/ --- public/locales/ca/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ca/common.json b/public/locales/ca/common.json index 8ad1f684..dcf1ca70 100644 --- a/public/locales/ca/common.json +++ b/public/locales/ca/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 2ff06d12b0ba7dfcb8c02844de74c4208f2e2426 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:44 +0000 Subject: [PATCH 263/300] Translated using Weblate (Polish) Currently translated at 90.8% (238 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index aa0159b6..4e17d14e 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 25c5f36a0c7f2835020cb5c8f096ec0303507586 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:41 +0000 Subject: [PATCH 264/300] Translated using Weblate (Swedish) Currently translated at 49.6% (130 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sv/ --- public/locales/sv/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sv/common.json b/public/locales/sv/common.json index 72c44723..e670291b 100644 --- a/public/locales/sv/common.json +++ b/public/locales/sv/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 45ba9c6961858c1782cde40390dec0e3fea14f93 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:41 +0000 Subject: [PATCH 265/300] Translated using Weblate (Croatian) Currently translated at 95.0% (249 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index e1933ea4..f7964938 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From faac4518f539ddf948211d954b10d08374512737 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:42 +0000 Subject: [PATCH 266/300] Translated using Weblate (Hungarian) Currently translated at 41.2% (108 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hu/ --- public/locales/hu/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hu/common.json b/public/locales/hu/common.json index 8737c2fb..6ad93d4a 100644 --- a/public/locales/hu/common.json +++ b/public/locales/hu/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From dcafcb983ed0ff591edf1bdd2c7298023fde1c71 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:42 +0000 Subject: [PATCH 267/300] Translated using Weblate (Hebrew) Currently translated at 38.5% (101 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/he/ --- public/locales/he/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/he/common.json b/public/locales/he/common.json index 5bea6cfe..53439ae0 100644 --- a/public/locales/he/common.json +++ b/public/locales/he/common.json @@ -355,5 +355,11 @@ "leech": "Leech", "download": "Download", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From f4e3cafa25adc4ce82392ce77ec70696a34ae505 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:42 +0000 Subject: [PATCH 268/300] Translated using Weblate (Romanian) Currently translated at 52.2% (137 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ro/ --- public/locales/ro/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ro/common.json b/public/locales/ro/common.json index 1fcad29a..6c2a635f 100644 --- a/public/locales/ro/common.json +++ b/public/locales/ro/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From d70c6184428084766df5d3a7b2cc4b78774a8984 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:43 +0000 Subject: [PATCH 269/300] Translated using Weblate (Portuguese (Brazil)) Currently translated at 44.6% (117 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt_BR/ --- public/locales/pt-BR/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/pt-BR/common.json b/public/locales/pt-BR/common.json index 4fa0d3fc..0bfa8ecc 100644 --- a/public/locales/pt-BR/common.json +++ b/public/locales/pt-BR/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From da75b7b0d3c6c0ea2dd3490529cc198a54711d72 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:42 +0000 Subject: [PATCH 270/300] Translated using Weblate (Yue) Currently translated at 45.0% (118 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/yue/ --- public/locales/yue/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/yue/common.json b/public/locales/yue/common.json index a9b3d445..80e3a788 100644 --- a/public/locales/yue/common.json +++ b/public/locales/yue/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From ce1be46c0ba14d77efbd831dddc97f54fb0b8c28 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:44 +0000 Subject: [PATCH 271/300] Translated using Weblate (Finnish) Currently translated at 46.9% (123 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fi/ --- public/locales/fi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/fi/common.json b/public/locales/fi/common.json index 51ae4db6..54ac45c4 100644 --- a/public/locales/fi/common.json +++ b/public/locales/fi/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 8eaa9425723ce65b40a4ef087465b1d75a1083f9 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:44 +0000 Subject: [PATCH 272/300] Translated using Weblate (Telugu) Currently translated at 82.8% (217 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/te/ --- public/locales/te/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/te/common.json b/public/locales/te/common.json index 7254966d..85effa8d 100644 --- a/public/locales/te/common.json +++ b/public/locales/te/common.json @@ -355,5 +355,11 @@ "download": "Download", "upload": "Upload", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 19e297e4c6220ad93cfcd74aa190cc8d236d6913 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:44 +0000 Subject: [PATCH 273/300] Translated using Weblate (Bulgarian) Currently translated at 17.5% (46 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/bg/ --- public/locales/bg/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/bg/common.json b/public/locales/bg/common.json index 0e5a5952..abbd3cca 100644 --- a/public/locales/bg/common.json +++ b/public/locales/bg/common.json @@ -355,5 +355,11 @@ "download": "Download", "upload": "Upload", "leech": "Leech" + }, + "flood": { + "leech": "Leech", + "seed": "Seed", + "download": "Download", + "upload": "Upload" } } From 98165bf9ddb499f9ccf99932d3da3a74c5af80a6 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:42 +0000 Subject: [PATCH 274/300] Translated using Weblate (Turkish) Currently translated at 88.1% (231 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/tr/ --- public/locales/tr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/tr/common.json b/public/locales/tr/common.json index 8e1c445a..5312035f 100644 --- a/public/locales/tr/common.json +++ b/public/locales/tr/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From bf1c67a7ac66001a5d3873d4bedaebb8acbb9301 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:43 +0000 Subject: [PATCH 275/300] Translated using Weblate (Serbian) Currently translated at 3.4% (9 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/sr/ --- public/locales/sr/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/sr/common.json b/public/locales/sr/common.json index a616fc63..6b03fa0f 100644 --- a/public/locales/sr/common.json +++ b/public/locales/sr/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "seed": "Seed", + "upload": "Upload", + "leech": "Leech" } } From 285ae970c8add0c86d0b2899e95b0e853114f74f Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:43 +0000 Subject: [PATCH 276/300] Translated using Weblate (Arabic) Currently translated at 16.7% (44 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ar/ --- public/locales/ar/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ar/common.json b/public/locales/ar/common.json index 6e52983d..cfe661e6 100644 --- a/public/locales/ar/common.json +++ b/public/locales/ar/common.json @@ -355,5 +355,11 @@ "seed": "Seed", "download": "Download", "upload": "Upload" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From c1473b404517dbaa9fbaa123d058ea3b9b572b1b Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:44 +0000 Subject: [PATCH 277/300] Translated using Weblate (Czech) Currently translated at 85.8% (225 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/cs/ --- public/locales/cs/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/cs/common.json b/public/locales/cs/common.json index e4917c5b..66da71bd 100644 --- a/public/locales/cs/common.json +++ b/public/locales/cs/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From f5ad46f1e18e677f4003ab09cfa93c5c73786c16 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:44 +0000 Subject: [PATCH 278/300] Translated using Weblate (Danish) Currently translated at 75.5% (198 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/da/ --- public/locales/da/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/da/common.json b/public/locales/da/common.json index 9a9f2ea4..fae5a68c 100644 --- a/public/locales/da/common.json +++ b/public/locales/da/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "leech": "Leech", + "download": "Download", + "upload": "Upload", + "seed": "Seed" } } From d8039031ca14e4dc6467a1ff7bf659fc82491950 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:46 +0000 Subject: [PATCH 279/300] Translated using Weblate (Malay) Currently translated at 96.5% (253 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/ms/ --- public/locales/ms/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/ms/common.json b/public/locales/ms/common.json index a011501c..5bb77f76 100644 --- a/public/locales/ms/common.json +++ b/public/locales/ms/common.json @@ -355,5 +355,11 @@ "download": "Download", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 8672998f08a20ae1d3142c62472c6dd50676d311 Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:43 +0000 Subject: [PATCH 280/300] Translated using Weblate (Hindi) Currently translated at 3.4% (9 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hi/ --- public/locales/hi/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/hi/common.json b/public/locales/hi/common.json index 384cb92b..e2f5091b 100644 --- a/public/locales/hi/common.json +++ b/public/locales/hi/common.json @@ -355,5 +355,11 @@ "upload": "Upload", "leech": "Leech", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From aaacf2ea4bc330d9544bce2564ed595284c7053a Mon Sep 17 00:00:00 2001 From: Anonymous <noreply@weblate.org> Date: Fri, 2 Dec 2022 00:46:43 +0000 Subject: [PATCH 281/300] Translated using Weblate (Esperanto) Currently translated at 39.3% (103 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/eo/ --- public/locales/eo/common.json | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/public/locales/eo/common.json b/public/locales/eo/common.json index 431e0008..c8a23676 100644 --- a/public/locales/eo/common.json +++ b/public/locales/eo/common.json @@ -355,5 +355,11 @@ "leech": "Leech", "upload": "Upload", "seed": "Seed" + }, + "flood": { + "download": "Download", + "upload": "Upload", + "leech": "Leech", + "seed": "Seed" } } From 01b55a17f1aafdd8c4312dfb321b6b9caee55259 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Thu, 1 Dec 2022 16:53:57 -0800 Subject: [PATCH 282/300] fix flood lint --- src/widgets/flood/component.jsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/widgets/flood/component.jsx b/src/widgets/flood/component.jsx index 0615154f..4676d798 100644 --- a/src/widgets/flood/component.jsx +++ b/src/widgets/flood/component.jsx @@ -31,16 +31,16 @@ export default function Component({ service }) { let completed = 0; let leech = 0; - for (var torrent in torrentData.torrents) { - rateDl += torrentData.torrents[torrent].downRate; - rateUl += torrentData.torrents[torrent].upRate; - if(torrentData.torrents[torrent].status.includes('complete')){ + Object.values(torrentData.torrents).forEach(torrent => { + rateDl += torrent.downRate; + rateUl += torrent.upRate; + if(torrent.status.includes('complete')){ completed += 1; } - if(torrentData.torrents[torrent].status.includes('downloading')){ + if(torrent.status.includes('downloading')){ leech += 1; } - } + }) return ( <Container service={service}> From 98cefe37d20264cc5eb45079614761a748fa97a5 Mon Sep 17 00:00:00 2001 From: Nonoss117 <nonoss117@gmail.com> Date: Fri, 2 Dec 2022 06:04:05 +0000 Subject: [PATCH 283/300] Translated using Weblate (French) Currently translated at 100.0% (262 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/fr/ --- public/locales/fr/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/fr/common.json b/public/locales/fr/common.json index 1addd4fd..34a15897 100644 --- a/public/locales/fr/common.json +++ b/public/locales/fr/common.json @@ -357,8 +357,8 @@ "seed": "Seed" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Récep.", + "upload": "Envoi", "leech": "Leech", "seed": "Seed" } From 57d12c32fc7fce799c2763157bd2574852a5eef6 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Sat, 3 Dec 2022 01:43:53 -0800 Subject: [PATCH 284/300] Hide docker memory stats when unsupported --- src/widgets/docker/component.jsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/widgets/docker/component.jsx b/src/widgets/docker/component.jsx index bdc49be3..9d3affd3 100644 --- a/src/widgets/docker/component.jsx +++ b/src/widgets/docker/component.jsx @@ -46,7 +46,9 @@ export default function Component({ service }) { return ( <Container service={service}> <Block label="docker.cpu" value={t("common.percent", { value: calculateCPUPercent(statsData.stats) })} /> - <Block label="docker.mem" value={t("common.bytes", { value: statsData.stats.memory_stats.usage })} /> + {statsData.stats.memory_stats.usage && + <Block label="docker.mem" value={t("common.bytes", { value: statsData.stats.memory_stats.usage })} /> + } {network && ( <> <Block label="docker.rx" value={t("common.bytes", { value: network.rx_bytes })} /> From 35a7ba77e3d890ec73b9edefb920648ec66561fa Mon Sep 17 00:00:00 2001 From: gallegonovato <fran-carro@hotmail.es> Date: Fri, 2 Dec 2022 17:32:49 +0000 Subject: [PATCH 285/300] Translated using Weblate (Spanish) Currently translated at 100.0% (262 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/es/ --- public/locales/es/common.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/public/locales/es/common.json b/public/locales/es/common.json index 80da36bf..1eaceaa4 100644 --- a/public/locales/es/common.json +++ b/public/locales/es/common.json @@ -357,8 +357,8 @@ "seed": "Semilla" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Descargar", + "upload": "Subir", "leech": "Leech", "seed": "Seed" } From 6045e532075605d3826eedbf7bfd5661222f4867 Mon Sep 17 00:00:00 2001 From: retmas-gh <github@oppai.ovh> Date: Sat, 3 Dec 2022 15:00:09 +0000 Subject: [PATCH 286/300] Translated using Weblate (Polish) Currently translated at 98.4% (258 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pl/ --- public/locales/pl/common.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/public/locales/pl/common.json b/public/locales/pl/common.json index 4e17d14e..c4accc5a 100644 --- a/public/locales/pl/common.json +++ b/public/locales/pl/common.json @@ -127,7 +127,7 @@ "pending": "Oczekiwane", "approved": "Zaakceptowane", "available": "Dostępne", - "processing": "Processing" + "processing": "Przetwarzane" }, "pihole": { "queries": "Zapytania", @@ -336,29 +336,29 @@ "ping": "Ping" }, "scrutiny": { - "passed": "Passed", - "failed": "Failed", - "unknown": "Unknown" + "passed": "Powodzenie", + "failed": "Niepowodzenie", + "unknown": "Nieznane" }, "paperlessngx": { - "inbox": "Inbox", - "total": "Total" + "inbox": "Skrzynka odbiorcza", + "total": "W sumie" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Pobieranie", + "upload": "Wysyłanie", "leech": "Leech", "seed": "Seed" }, "diskstation": { - "download": "Download", - "upload": "Upload", + "download": "Pobieranie", + "upload": "Wysyłanie", "leech": "Leech", "seed": "Seed" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Pobieranie", + "upload": "Wysyłanie", "leech": "Leech", "seed": "Seed" } From 1a9445384962c3ff3f398cb81b3954f27c34a068 Mon Sep 17 00:00:00 2001 From: Niklas <niklastasler@gmail.com> Date: Sun, 4 Dec 2022 19:33:15 +0100 Subject: [PATCH 287/300] Respect scrutiny device status threshold setting --- src/widgets/scrutiny/component.jsx | 43 ++++++++++++++++++++++++------ src/widgets/scrutiny/widget.js | 6 +++++ 2 files changed, 41 insertions(+), 8 deletions(-) diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx index 2e44d778..8bba3030 100644 --- a/src/widgets/scrutiny/component.jsx +++ b/src/widgets/scrutiny/component.jsx @@ -3,15 +3,39 @@ import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; export default function Component({ service }) { - const { widget } = service; - const { data: scrutinyData, error: scrutinyError } = useWidgetAPI(widget, "summary"); - - if (scrutinyError) { - return <Container error={scrutinyError} />; + // @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/shared/device-status.pipe.ts + const DeviceStatus = { + passed: 0, + failed_smart: 1, + failed_scrutiny: 2, + failed_both: 3 + } + + // @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/core/config/app.config.ts + const DeviceStatusThreshold = { + smart : 1, + scrutiny: 2, + both: 3 } - if (!scrutinyData) { + const thresholdStatusMapping = new Map([ + [DeviceStatusThreshold.smart, DeviceStatus.failed_smart], + [DeviceStatusThreshold.scrutiny, DeviceStatus.scrutiny], + [DeviceStatusThreshold.both, DeviceStatusThreshold.both] + ]) + + const { widget } = service; + + const { data: scrutinySettings, error: scrutinySettingsError } = useWidgetAPI(widget, "settings"); + const { data: scrutinyData, error: scrutinyError } = useWidgetAPI(widget, "summary"); + + if (scrutinyError || scrutinySettingsError) { + const finalError = scrutinyError ?? scrutinySettingsError; + return <Container error={finalError} />; + } + + if (!scrutinyData || !scrutinySettings) { return ( <Container service={service}> <Block label="scrutiny.passed" /> @@ -22,10 +46,11 @@ export default function Component({ service }) { } const deviceIds = Object.values(scrutinyData.data.summary); + const statusThreshold = scrutinySettings.settings.metrics.status_threshold; + const failed = deviceIds.filter(deviceId => [thresholdStatusMapping.get(statusThreshold), DeviceStatus.failed_both].includes(deviceId.device.device_status))?.length || 0; + const unknown = deviceIds.filter(deviceId => deviceId.device.device_status < DeviceStatus.passed || deviceId.device.device_status > DeviceStatus.failed_both)?.length || 0; const passed = deviceIds.filter(deviceId => deviceId.device.device_status === 0)?.length || 0; - const failed = deviceIds.filter(deviceId => deviceId.device.device_status > 0 && deviceId.device.device_status <= 3)?.length || 0; - const unknown = deviceIds.length - (passed + failed) || 0; return ( <Container service={service}> @@ -35,3 +60,5 @@ export default function Component({ service }) { </Container> ); } + + diff --git a/src/widgets/scrutiny/widget.js b/src/widgets/scrutiny/widget.js index 8af7e04e..0d2e6b5c 100644 --- a/src/widgets/scrutiny/widget.js +++ b/src/widgets/scrutiny/widget.js @@ -11,6 +11,12 @@ const widget = { "data", ] }, + settings: { + endpoint: "settings", + validate: [ + "settings", + ] + } }, }; From 3f79a2fdda7a7d60d51a05e698924d5bfe66b119 Mon Sep 17 00:00:00 2001 From: Niklas <niklastasler@gmail.com> Date: Sun, 4 Dec 2022 20:01:00 +0100 Subject: [PATCH 288/300] thresholdStatusMapping bugfix --- src/widgets/scrutiny/component.jsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx index 8bba3030..a9919c9d 100644 --- a/src/widgets/scrutiny/component.jsx +++ b/src/widgets/scrutiny/component.jsx @@ -21,8 +21,8 @@ export default function Component({ service }) { const thresholdStatusMapping = new Map([ [DeviceStatusThreshold.smart, DeviceStatus.failed_smart], - [DeviceStatusThreshold.scrutiny, DeviceStatus.scrutiny], - [DeviceStatusThreshold.both, DeviceStatusThreshold.both] + [DeviceStatusThreshold.scrutiny, DeviceStatus.failed_scrutiny], + [DeviceStatusThreshold.both, DeviceStatus.both] ]) const { widget } = service; From cbf72eedab97f82ed5c4aac7d0dceccb1d383818 Mon Sep 17 00:00:00 2001 From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Sun, 4 Dec 2022 15:33:51 -0800 Subject: [PATCH 289/300] fix missing passing condition --- src/widgets/scrutiny/component.jsx | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx index a9919c9d..00ebe5ed 100644 --- a/src/widgets/scrutiny/component.jsx +++ b/src/widgets/scrutiny/component.jsx @@ -14,16 +14,10 @@ export default function Component({ service }) { // @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/core/config/app.config.ts const DeviceStatusThreshold = { - smart : 1, + smart: 1, scrutiny: 2, both: 3 } - - const thresholdStatusMapping = new Map([ - [DeviceStatusThreshold.smart, DeviceStatus.failed_smart], - [DeviceStatusThreshold.scrutiny, DeviceStatus.failed_scrutiny], - [DeviceStatusThreshold.both, DeviceStatus.both] - ]) const { widget } = service; @@ -48,9 +42,9 @@ export default function Component({ service }) { const deviceIds = Object.values(scrutinyData.data.summary); const statusThreshold = scrutinySettings.settings.metrics.status_threshold; - const failed = deviceIds.filter(deviceId => [thresholdStatusMapping.get(statusThreshold), DeviceStatus.failed_both].includes(deviceId.device.device_status))?.length || 0; + const failed = deviceIds.filter(deviceId => (deviceId.device.device_status > 0 && statusThreshold === DeviceStatusThreshold.both) || [statusThreshold, DeviceStatus.failed_both].includes(deviceId.device.device_status))?.length || 0; const unknown = deviceIds.filter(deviceId => deviceId.device.device_status < DeviceStatus.passed || deviceId.device.device_status > DeviceStatus.failed_both)?.length || 0; - const passed = deviceIds.filter(deviceId => deviceId.device.device_status === 0)?.length || 0; + const passed = deviceIds.filter(deviceId => deviceId.device.device_status === 0 || (deviceId.device.device_status > statusThreshold && deviceId.device.device_status < DeviceStatus.failed_both))?.length || 0; return ( <Container service={service}> From 90cb395dc6f9be7606efd0265f4a77b295694c8b Mon Sep 17 00:00:00 2001 From: Niklas <niklastasler@gmail.com> Date: Mon, 5 Dec 2022 08:01:24 +0100 Subject: [PATCH 290/300] change calculation of passed devices --- src/widgets/scrutiny/component.jsx | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx index 00ebe5ed..707a991f 100644 --- a/src/widgets/scrutiny/component.jsx +++ b/src/widgets/scrutiny/component.jsx @@ -9,7 +9,10 @@ export default function Component({ service }) { passed: 0, failed_smart: 1, failed_scrutiny: 2, - failed_both: 3 + failed_both: 3, + + isFailed: function ( s ) { return s > this.passed && s <= this.failed_both}, + isUnknown: function ( s ) { return s < this.passed || s > this.failed_both} } // @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/core/config/app.config.ts @@ -37,14 +40,14 @@ export default function Component({ service }) { <Block label="scrutiny.unknown" /> </Container> ); - } + } const deviceIds = Object.values(scrutinyData.data.summary); const statusThreshold = scrutinySettings.settings.metrics.status_threshold; - - const failed = deviceIds.filter(deviceId => (deviceId.device.device_status > 0 && statusThreshold === DeviceStatusThreshold.both) || [statusThreshold, DeviceStatus.failed_both].includes(deviceId.device.device_status))?.length || 0; - const unknown = deviceIds.filter(deviceId => deviceId.device.device_status < DeviceStatus.passed || deviceId.device.device_status > DeviceStatus.failed_both)?.length || 0; - const passed = deviceIds.filter(deviceId => deviceId.device.device_status === 0 || (deviceId.device.device_status > statusThreshold && deviceId.device.device_status < DeviceStatus.failed_both))?.length || 0; + + const failed = deviceIds.filter(deviceId => (DeviceStatus.isFailed(deviceId.device.device_status) && statusThreshold === DeviceStatusThreshold.both) || [statusThreshold, DeviceStatus.failed_both].includes(deviceId.device.device_status))?.length || 0; + const unknown = deviceIds.filter(deviceId => DeviceStatus.isUnknown(deviceId.device.device_status))?.length || 0; + const passed = deviceIds.length - (failed + unknown); return ( <Container service={service}> @@ -52,7 +55,7 @@ export default function Component({ service }) { <Block label="scrutiny.failed" value={failed} /> <Block label="scrutiny.unknown" value={unknown} /> </Container> + ); -} - - + +} \ No newline at end of file From 0ce5311b5fb7f64d69d55894da345163175f8d6b Mon Sep 17 00:00:00 2001 From: Niklas <niklastasler@gmail.com> Date: Mon, 5 Dec 2022 08:13:41 +0100 Subject: [PATCH 291/300] fix lint errors --- src/widgets/scrutiny/component.jsx | 41 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/widgets/scrutiny/component.jsx b/src/widgets/scrutiny/component.jsx index 707a991f..0f769d9f 100644 --- a/src/widgets/scrutiny/component.jsx +++ b/src/widgets/scrutiny/component.jsx @@ -2,26 +2,26 @@ import Container from "components/services/widget/container"; import Block from "components/services/widget/block"; import useWidgetAPI from "utils/proxy/use-widget-api"; + +// @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/shared/device-status.pipe.ts +const DeviceStatus = { + passed: 0, + failed_smart: 1, + failed_scrutiny: 2, + failed_both: 3, + + isFailed(s){ return s > this.passed && s <= this.failed_both}, + isUnknown(s){ return s < this.passed || s > this.failed_both} +} + +// @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/core/config/app.config.ts +const DeviceStatusThreshold = { + smart: 1, + scrutiny: 2, + both: 3 +} + export default function Component({ service }) { - - // @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/shared/device-status.pipe.ts - const DeviceStatus = { - passed: 0, - failed_smart: 1, - failed_scrutiny: 2, - failed_both: 3, - - isFailed: function ( s ) { return s > this.passed && s <= this.failed_both}, - isUnknown: function ( s ) { return s < this.passed || s > this.failed_both} - } - - // @see https://github.com/AnalogJ/scrutiny/blob/d8d56f77f9e868127c4849dac74d65512db658e8/webapp/frontend/src/app/core/config/app.config.ts - const DeviceStatusThreshold = { - smart: 1, - scrutiny: 2, - both: 3 - } - const { widget } = service; const { data: scrutinySettings, error: scrutinySettingsError } = useWidgetAPI(widget, "settings"); @@ -58,4 +58,5 @@ export default function Component({ service }) { ); -} \ No newline at end of file +} + From 6de0205d0730960974961ee10e191a0892d82e96 Mon Sep 17 00:00:00 2001 From: Saxo_Broko <rascalxena@y7mail.com> Date: Tue, 6 Dec 2022 00:22:44 +1100 Subject: [PATCH 292/300] Linked weather providers and added an attributi... attribution for Open-Meteo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3dd0e794..b9023ae9 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ - Coin Market Cap, Mastodon - Information & Utility Widgets - System Stats (Disk, CPU, Memory) - - Weather via WeatherAPI.com or OpenWeatherMap + - Weather via [WeatherAPI.com](https://www.weatherapi.com/), [OpenWeatherMap](https://openweathermap.org/), or [Open-Meteo](https://open-meteo.com/) - Search Bar - Customizable - 21 theme colors with light and dark mode support From 656b818488ab4bf2d61e03d557e51c5265f54616 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 5 Dec 2022 08:52:45 -0800 Subject: [PATCH 293/300] Fix conditions map for openmeteo --- src/components/widgets/openmeteo/icon.jsx | 2 +- src/utils/weather/openmeteo-condition-map.js | 212 +++++++++++++++++++ 2 files changed, 213 insertions(+), 1 deletion(-) create mode 100644 src/utils/weather/openmeteo-condition-map.js diff --git a/src/components/widgets/openmeteo/icon.jsx b/src/components/widgets/openmeteo/icon.jsx index a2b01ba1..12d93fcb 100644 --- a/src/components/widgets/openmeteo/icon.jsx +++ b/src/components/widgets/openmeteo/icon.jsx @@ -1,4 +1,4 @@ -import mapIcon from "utils/weather/owm-condition-map"; +import mapIcon from "utils/weather/openmeteo-condition-map"; export default function Icon({ condition, timeOfDay }) { const IconComponent = mapIcon(condition, timeOfDay); diff --git a/src/utils/weather/openmeteo-condition-map.js b/src/utils/weather/openmeteo-condition-map.js new file mode 100644 index 00000000..06ed3d46 --- /dev/null +++ b/src/utils/weather/openmeteo-condition-map.js @@ -0,0 +1,212 @@ +import * as Icons from "react-icons/wi"; + +// see https://open-meteo.com/en/docs + +const conditions = [ + { + code: 1, + icon: { + day: Icons.WiDayCloudy, + night: Icons.WiNightAltCloudy, + }, + }, + { + code: 2, + icon: { + day: Icons.WiDayCloudy, + night: Icons.WiNightAltCloudy, + }, + }, + { + code: 3, + icon: { + day: Icons.WiDayCloudy, + night: Icons.WiNightAltCloudy, + }, + }, + { + code: 45, + icon: { + day: Icons.WiDayFog, + night: Icons.WiNightFog, + }, + }, + { + code: 48, + icon: { + day: Icons.WiDayFog, + night: Icons.WiNightFog, + }, + }, + { + code: 51, + icon: { + day: Icons.WiDaySprinkle, + night: Icons.WiNightAltSprinkle, + }, + }, + { + code: 53, + icon: { + day: Icons.WiDaySprinkle, + night: Icons.WiNightAltSprinkle, + }, + }, + { + code: 55, + icon: { + day: Icons.WiDaySprinkle, + night: Icons.WiNightAltSprinkle, + }, + }, + { + code: 56, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightAltSleet, + }, + }, + { + code: 57, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightAltSleet, + }, + }, + { + code: 61, + icon: { + day: Icons.WiDayShowers, + night: Icons.WiNightAltShowers, + }, + }, + { + code: 63, + icon: { + day: Icons.WiDayShowers, + night: Icons.WiNightAltShowers, + }, + }, + { + code: 65, + icon: { + day: Icons.WiDayShowers, + night: Icons.WiNightAltShowers, + }, + }, + { + code: 66, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightAltSleet, + }, + }, + { + code: 67, + icon: { + day: Icons.WiDaySleet, + night: Icons.WiNightAltSleet, + }, + }, + { + code: 71, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 73, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 75, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 77, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 80, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 81, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 82, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 85, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 86, + icon: { + day: Icons.WiDaySnow, + night: Icons.WiNightAltSnow, + }, + }, + { + code: 95, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightAltThunderstorm, + }, + }, + { + code: 96, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightAltThunderstorm, + }, + }, + { + code: 99, + icon: { + day: Icons.WiDayThunderstorm, + night: Icons.WiNightAltThunderstorm, + }, + }, +]; + +export default function mapIcon(weatherStatusCode, timeOfDay) { + const mapping = conditions.find((condition) => condition.code === weatherStatusCode); + console.log(weatherStatusCode, timeOfDay, mapping); + + if (mapping) { + if (timeOfDay === "day") { + return mapping.icon.day; + } + + if (timeOfDay === "night") { + return mapping.icon.night; + } + } + + return Icons.WiDaySunny; +} From 535a7d2f2d3f92235f1ddf5c5cebd9671a01b272 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 5 Dec 2022 09:41:19 -0800 Subject: [PATCH 294/300] Add optional tz --- src/pages/api/widgets/openmeteo.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/pages/api/widgets/openmeteo.js b/src/pages/api/widgets/openmeteo.js index e79931cb..37233645 100644 --- a/src/pages/api/widgets/openmeteo.js +++ b/src/pages/api/widgets/openmeteo.js @@ -1,8 +1,9 @@ import cachedFetch from "utils/proxy/cached-fetch"; export default async function handler(req, res) { - const { latitude, longitude, units, cache } = req.query; + const { latitude, longitude, units, cache, timezone } = req.query; const degrees = units === "imperial" ? "fahrenheit" : "celsius"; - const apiUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=sunrise,sunset¤t_weather=true&temperature_unit=${degrees}&timezone=auto`; + const timezeone = timezone ?? 'auto' + const apiUrl = `https://api.open-meteo.com/v1/forecast?latitude=${latitude}&longitude=${longitude}&daily=sunrise,sunset¤t_weather=true&temperature_unit=${degrees}&timezone=${timezeone}`; return res.send(await cachedFetch(apiUrl, cache)); } \ No newline at end of file From a7676c4daa700e5bbcb9b6ba25940f5d1e8baa84 Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 5 Dec 2022 09:41:54 -0800 Subject: [PATCH 295/300] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b9023ae9..586b4456 100644 --- a/README.md +++ b/README.md @@ -52,7 +52,7 @@ - Coin Market Cap, Mastodon - Information & Utility Widgets - System Stats (Disk, CPU, Memory) - - Weather via [WeatherAPI.com](https://www.weatherapi.com/), [OpenWeatherMap](https://openweathermap.org/), or [Open-Meteo](https://open-meteo.com/) + - Weather via [OpenWeatherMap](https://openweathermap.org/) or [Open-Meteo](https://open-meteo.com/) - Search Bar - Customizable - 21 theme colors with light and dark mode support From f89093a0672f989b8428f7ded34df4dd5129c29f Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Mon, 5 Dec 2022 09:57:32 -0800 Subject: [PATCH 296/300] Update openmeteo-condition-map.js --- src/utils/weather/openmeteo-condition-map.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/utils/weather/openmeteo-condition-map.js b/src/utils/weather/openmeteo-condition-map.js index 06ed3d46..9ae67365 100644 --- a/src/utils/weather/openmeteo-condition-map.js +++ b/src/utils/weather/openmeteo-condition-map.js @@ -196,7 +196,6 @@ const conditions = [ export default function mapIcon(weatherStatusCode, timeOfDay) { const mapping = conditions.find((condition) => condition.code === weatherStatusCode); - console.log(weatherStatusCode, timeOfDay, mapping); if (mapping) { if (timeOfDay === "day") { From 5d8b937e9cfa25ee35f2714416f7c21531c3fddf Mon Sep 17 00:00:00 2001 From: Milo Ivir <mail@milotype.de> Date: Mon, 5 Dec 2022 19:16:32 +0000 Subject: [PATCH 297/300] Translated using Weblate (Croatian) Currently translated at 97.7% (256 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/hr/ --- public/locales/hr/common.json | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/public/locales/hr/common.json b/public/locales/hr/common.json index f7964938..58539904 100644 --- a/public/locales/hr/common.json +++ b/public/locales/hr/common.json @@ -24,7 +24,7 @@ "available": "Dostupno", "pending": "Predstoji", "approved": "Odobreno", - "processing": "Processing" + "processing": "Obrada" }, "pihole": { "queries": "Upiti", @@ -345,20 +345,20 @@ "total": "Ukupno" }, "deluge": { - "download": "Download", - "upload": "Upload", + "download": "Preuzimanje", + "upload": "Prijenos", "leech": "Leech", "seed": "Seed" }, "diskstation": { - "download": "Download", - "upload": "Upload", + "download": "Preuzimanje", + "upload": "Prijenos", "leech": "Leech", "seed": "Seed" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Preuzimanje", + "upload": "Prijenos", "leech": "Leech", "seed": "Seed" } From 94af8044f11aae0cd128075cd4eabfe04440a4af Mon Sep 17 00:00:00 2001 From: Michael Shamoon <4887959+shamoon@users.noreply.github.com> Date: Tue, 6 Dec 2022 15:36:53 -0800 Subject: [PATCH 298/300] fix minor flood without a backend error --- src/widgets/flood/component.jsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/widgets/flood/component.jsx b/src/widgets/flood/component.jsx index 4676d798..80ad2b28 100644 --- a/src/widgets/flood/component.jsx +++ b/src/widgets/flood/component.jsx @@ -11,11 +11,11 @@ export default function Component({ service }) { const { data: torrentData, error: torrentError } = useWidgetAPI(widget, "torrents"); - if (torrentError) { - return <Container error={torrentError} />; + if (torrentError || !torrentData?.torrents) { + return <Container error={torrentError ?? {message: "No torrent data returned"}} />; } - if (!torrentData) { + if (!torrentData || !torrentData.torrents) { return ( <Container service={service}> <Block label="flood.leech" /> From 59cb7baf0b288f24ef23b8affdb7e50b4d33d2d3 Mon Sep 17 00:00:00 2001 From: Diogo Gaspar <diogogaspar932@gmail.com> Date: Wed, 7 Dec 2022 00:04:47 +0000 Subject: [PATCH 299/300] Translated using Weblate (Portuguese) Currently translated at 52.2% (137 of 262 strings) Translation: Homepage/Homepage Translate-URL: https://hosted.weblate.org/projects/homepage/homepage/pt/ --- public/locales/pt/common.json | 46 +++++++++++++++++------------------ 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/public/locales/pt/common.json b/public/locales/pt/common.json index 93058498..3cde6047 100644 --- a/public/locales/pt/common.json +++ b/public/locales/pt/common.json @@ -3,10 +3,10 @@ "missing_type": "Widget ausente: {{type}}", "api_error": "Erro da API", "status": "Status", - "information": "Information", - "url": "URL", + "information": "Informação", + "url": "Endereço URL", "raw_error": "Raw Error", - "response_data": "Response Data" + "response_data": "Dados da Resposta" }, "search": { "placeholder": "Pesquisar…" @@ -24,8 +24,8 @@ "mem": "Mem", "cpu": "CPU", "offline": "Desligado", - "error": "Error", - "unknown": "Unknown" + "error": "Erro", + "unknown": "Desconhecido" }, "emby": { "playing": "A reproduzir", @@ -150,7 +150,7 @@ "transmission": { "download": "Baixando", "upload": "Enviando", - "leech": "Sanguessugas", + "leech": "Leech", "seed": "Semeadores" }, "jackett": { @@ -201,25 +201,25 @@ "vms": "VMs" }, "unifi": { - "users": "Users", - "uptime": "System Uptime", - "days": "Days", + "users": "Utilizadores", + "uptime": "Tempo de Atividade do Sistema", + "days": "Dias", "wan": "WAN", - "lan_users": "LAN Users", - "wlan_users": "WLAN Users", + "lan_users": "Utilizadores LAN", + "wlan_users": "Utilizadores WLAN", "up": "UP", "down": "DOWN", - "wait": "Please wait", + "wait": "Por favor aguarde", "lan": "LAN", "wlan": "WLAN", - "devices": "Devices", - "lan_devices": "LAN Devices", - "wlan_devices": "WLAN Devices" + "devices": "Dispositivos", + "lan_devices": "Dispositivos LAN", + "wlan_devices": "Dispositivos WLAN" }, "plex": { - "streams": "Active Streams", - "movies": "Movies", - "tv": "TV Shows" + "streams": "Streams Ativas", + "movies": "Filmes", + "tv": "Series de TV" }, "glances": { "cpu": "CPU", @@ -227,8 +227,8 @@ "wait": "Please wait" }, "changedetectionio": { - "totalObserved": "Total Observed", - "diffsDetected": "Diffs Detected" + "totalObserved": "Total Observado", + "diffsDetected": "Diferenças Detetadas" }, "wmo": { "0-day": "Sunny", @@ -343,7 +343,7 @@ "hd": "HD" }, "ping": { - "error": "Error", + "error": "Erro", "ping": "Ping" }, "scrutiny": { @@ -368,8 +368,8 @@ "seed": "Seed" }, "flood": { - "download": "Download", - "upload": "Upload", + "download": "Descarregar", + "upload": "Carregar", "leech": "Leech", "seed": "Seed" } From 537fd0ac216b4a64fac1faef021bbfb20d7709a6 Mon Sep 17 00:00:00 2001 From: clay <clay@clbx.io> Date: Thu, 8 Dec 2022 00:05:33 -0500 Subject: [PATCH 300/300] Correct spelling of Authentik --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 586b4456..6409c2d2 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ - Service Integration - Sonarr, Radarr, Readarr, Prowlarr, Bazarr, Lidarr, Emby, Jellyfin, Tautulli (Plex) - Ombi, Overseerr, Jellyseerr, Jackett, NZBGet, SABnzbd, ruTorrent, Transmission, qBittorrent - - Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentic, Proxmox + - Portainer, Traefik, Speedtest Tracker, PiHole, AdGuard Home, Nginx Proxy Manager, Gotify, Syncthing Relay Server, Authentik, Proxmox - Information Providers - Coin Market Cap, Mastodon - Information & Utility Widgets