From 451f541342d7bc4efd089e160c07e8069e93642f Mon Sep 17 00:00:00 2001 From: MacRimi Date: Sat, 18 Jul 2026 21:09:40 +0200 Subject: [PATCH] new version 1.2.4 --- AppImage/app/layout.tsx | 2 + AppImage/components/health-status-modal.tsx | 37 +++ AppImage/components/login.tsx | 2 +- AppImage/components/proxmox-dashboard.tsx | 2 +- AppImage/components/pwa-install-prompt.tsx | 217 ++++++++++++++ AppImage/components/pwa-register.tsx | 45 ++- AppImage/components/release-notes-modal.tsx | 39 ++- AppImage/components/storage-overview.tsx | 2 +- AppImage/package.json | 2 +- AppImage/scripts/flask_health_routes.py | 7 + AppImage/scripts/health_monitor.py | 20 +- AppImage/scripts/health_persistence.py | 13 +- AppImage/scripts/notification_channels.py | 10 +- AppImage/scripts/notification_events.py | 146 +++++++++- AppImage/scripts/notification_templates.py | 12 +- CHANGELOG.md | 58 ++++ scripts/global/common-functions.sh | 214 +++++++++----- scripts/global/update-pve-safe.sh | 267 ++++++++++++++++++ scripts/utilities/proxmox_update.sh | 91 +++--- .../show-version-information/page.tsx | 2 +- web/data/changelog/es.md | 57 ++++ 21 files changed, 1069 insertions(+), 176 deletions(-) create mode 100644 AppImage/components/pwa-install-prompt.tsx create mode 100644 scripts/global/update-pve-safe.sh diff --git a/AppImage/app/layout.tsx b/AppImage/app/layout.tsx index 2dd4be27..3b664966 100644 --- a/AppImage/app/layout.tsx +++ b/AppImage/app/layout.tsx @@ -4,6 +4,7 @@ import { GeistSans } from "geist/font/sans" import { GeistMono } from "geist/font/mono" import { ThemeProvider } from "../components/theme-provider" import { PwaRegister } from "../components/pwa-register" +import { PwaInstallPrompt } from "../components/pwa-install-prompt" import { Suspense } from "react" import "./globals.css" @@ -48,6 +49,7 @@ export default function RootLayout({ + ) diff --git a/AppImage/components/health-status-modal.tsx b/AppImage/components/health-status-modal.tsx index 63ec84a9..c03cb6bb 100644 --- a/AppImage/components/health-status-modal.tsx +++ b/AppImage/components/health-status-modal.tsx @@ -32,6 +32,7 @@ import { FileText, RefreshCw, Shield, + Download, X, Clock, BellOff, @@ -39,6 +40,7 @@ import { Settings2, HelpCircle, } from "lucide-react" +import { ScriptTerminalModal } from "./script-terminal-modal" interface CategoryCheck { status: string @@ -122,6 +124,7 @@ export function HealthStatusModal({ open, onOpenChange, getApiUrl }: HealthStatu const [error, setError] = useState(null) const [dismissingKey, setDismissingKey] = useState(null) const [expandedCategories, setExpandedCategories] = useState>(new Set()) + const [showUpdateTerminal, setShowUpdateTerminal] = useState(false) const fetchHealthDetails = useCallback(async () => { setLoading(true) @@ -722,6 +725,23 @@ export function HealthStatusModal({ open, onOpenChange, getApiUrl }: HealthStatu No issues detected )} + {/* Only offer "Update Now" when the category is not + already OK — hiding it when there's nothing + pending prevents the operator from spawning a + terminal that would only report "System is + already up to date". */} + {key === "updates" && status?.toUpperCase() !== "OK" && ( +
+ +
+ )} )} @@ -848,6 +868,23 @@ export function HealthStatusModal({ open, onOpenChange, getApiUrl }: HealthStatu )} + { + setShowUpdateTerminal(false) + // Refresh health checks so the "System Updates" row updates + // (pending count / kernel version) without waiting for the + // next polling tick after the update finishes. + fetchHealthDetails().catch(() => {}) + }} + scriptPath="/usr/local/share/proxmenux/scripts/utilities/proxmox_update.sh" + scriptName="proxmox_update" + params={{ + EXECUTION_MODE: "web", + }} + title="Proxmox System Update" + description="Runs apt-get update + dist-upgrade and post-update cleanup on the host." + /> ) } diff --git a/AppImage/components/login.tsx b/AppImage/components/login.tsx index 94023370..e1d2d9d9 100644 --- a/AppImage/components/login.tsx +++ b/AppImage/components/login.tsx @@ -271,7 +271,7 @@ export function Login({ onLogin }: LoginProps) { -

ProxMenux Monitor v1.2.3

+

ProxMenux Monitor v1.2.4

) diff --git a/AppImage/components/proxmox-dashboard.tsx b/AppImage/components/proxmox-dashboard.tsx index 41cebcb9..95fd450b 100644 --- a/AppImage/components/proxmox-dashboard.tsx +++ b/AppImage/components/proxmox-dashboard.tsx @@ -836,7 +836,7 @@ export function ProxmoxDashboard() {