328 Commits
Author SHA1 Message Date
martino fa8f021ee9 fix(i18n): review Italian translations for 1.2.8 2026-11-02 01:09:21 +01:00
VAIO73 93e2161355 i18n: explain moving Docker image tags in Slovak 2026-11-01 15:14:27 +00:00
VAIO73 fa58d2f7fe i18n: use consistent Slovak ZFS pool notification terminology 2026-11-01 15:14:27 +00:00
VAIO73 7fe03d96f5 i18n: correct Slovak backup audit guidance 2026-11-01 15:14:27 +00:00
VAIO73 2c59356e66 i18n: clarify Slovak wording for all application containers 2026-11-01 15:14:27 +00:00
VAIO73 c68d57feb5 i18n: preserve the full pct create command in Slovak release notes 2026-11-01 15:14:27 +00:00
VAIO73 5395dd488a i18n: preserve the executable example in the Slovak app editor 2026-11-01 15:14:27 +00:00
VAIO73 ef1e6932b4 i18n: review Slovak release notes for version 1.2.8 2026-11-01 15:14:27 +00:00
VAIO73 aadd90810f i18n: translate Slovak hardware storage controller label 2026-11-01 15:14:27 +00:00
VAIO73 fc2a5ff4fe i18n: clarify Slovak storage display and disk exclusion settings 2026-11-01 15:14:27 +00:00
VAIO73 ff78912764 i18n: review Slovak storage controller and ZFS messages 2026-11-01 15:14:27 +00:00
MacRimi 624ff628bd fix(notifications): restore AI suggestions and explain backup failures 2026-11-01 13:20:13 +01:00
MacRimi ac2bd28d25 ProxMenux 1.2.8: release notes, changelog, image and version 2026-11-01 10:55:07 +01:00
MacRimi 52a9034676 fix(monitor): remove the idle disk note from Disk exclusions 2026-11-01 01:30:59 +01:00
ProxMenuxBot 81cc746e19 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: aa4adc3
Triggered by: push
2026-10-30 21:59:48 +00:00
MacRimi aa4adc34a9 fix(monitor): place the Secure Gateway template on an active storage 2026-10-30 22:58:12 +01:00
ProxMenuxBot dc823bc21b chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 72908e5
Triggered by: push
2026-10-30 20:50:19 +00:00
ProxMenuxBot 297a41d58a chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 668b557
Triggered by: push
2026-10-30 20:47:44 +00:00
MacRimiandGitHub 72908e55aa Merge pull request #562 from DrOwl/feature/disk-controller-mapping
Map storage devices to their PCI storage controller
2026-10-30 21:39:07 +01:00
DrOwlandClaude Opus 5.5 72491b2445 Show ZFS pool layout, scrub status and device health in Storage view
/api/storage now runs a single `zpool status -j --json-int -P` (OpenZFS
2.3+) for all pools and returns, per pool:
- top-level vdevs with type, raidz/draid parity, class (data, special,
  dedup, log, cache, spare), state and read/write/checksum errors
- member devices with path, resolved base disk, state, error counters,
  slow I/Os, and the spare-N/replacing-N they sit under while swapping
- scrub/resilver status (progress only while running), the pool's
  status/action text and data-error count
- fragmentation, capacity and dedup ratio from `zpool list`

This replaces the per-pool `zpool status` text loop whose result
(zfs_disks) was never used. Member paths (by-id, by-partlabel, wwn) are
resolved to base disks via sysfs rather than an lsblk call per device.
On ZFS without `-j`, pools report details_available: false and the UI
falls back to the existing basic card.

The ZFS pool card shows a layout summary (e.g. "RAIDZ2 | 5 disks |
Scrub finished ...") and opens a details dialog with the vdev tree,
per-device error counts, scrub/resilver progress, and links from each
member disk to its disk details dialog.

Tested against `zpool status -j` output from PVE 9 / OpenZFS 2.4.4:
mirror, raidz2, striped mirrors, single-disk pool, and a file-backed
degraded raidz1 with log, cache and spare devices.

Tests cover the `zpool status -j` -> Storage view shape against real
output from PVE 9 / OpenZFS 2.4.4 hosts (serials and WWNs replaced):
mirror, raidz2, single-disk pool, slow I/Os, and a degraded raidz1 with
log, cache and spare devices; plus a synthetic resilver with a spare
swapping in. Member path -> base disk resolution is tested against a
stubbed sysfs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:55:02 +00:00
DrOwlandClaude Opus 5.5 30034e7aa3 Map storage devices to their PCI storage controller
Each disk in /api/hardware now carries a controller_slot, resolved from
the disk's sysfs device path: the deepest PCI address in that path is the
controller (bridges sit above it), normalised to lspci's slot format so it
matches pci_devices[].slot directly. NVMe falls back to the controller's
own sysfs link when the namespace resolves to a subsystem with no PCI
parent; zvols and other virtual devices get None.

Hardware page:
- The disk dialog shows its storage controller (click through to the
  controller), and the PCI device dialog lists the disks attached to it.
- Storage controllers in the PCI Devices list get a badge with the
  number of attached disks.

Storage view:
- /api/storage returns controller_slot on each physical disk plus a
  controllers map (slot -> class, vendor, device, subsystem name,
  driver), built from the cached `lspci -vmm` output so the Storage view
  doesn't need the heavier /api/hardware enumeration.
- "Physical Disks & SMART Status" can group disks under their storage
  controller, with a header showing the controller name, slot, driver
  and disk count. Groups follow PCI slot order; disks with no resolvable
  controller are listed last. USB disks keep their own section.
- The disk details dialog shows the storage controller on the Overview
  tab.
- Grouping is opt-in via a new Storage Display card in Settings, stored
  per browser (localStorage) and synced across open views, following the
  existing nav-tab-order preference pattern. Off by default.

Also:
- Treat "IDE interface" as a storage controller, so SATA controllers left
  in BIOS IDE mode (e.g. Intel 7 Series, ata_piix) appear in pci_devices
  and disks behind them can be mapped.
- lspci prints "Device xxxx" when it has no subsystem name; that
  placeholder is ignored so the chip name is shown instead.
- Add the missing sdevice field to the PCIDevice type.

Tests cover the sysfs path -> controller slot rule against real paths
from two PVE 9 hosts (SAS HBA, AHCI SATA, SATA in BIOS IDE mode, USB
behind a hub, NVMe behind chipset bridges), the non-zero PCI domain case
(Intel VMD), the NVMe multipath fallback, and get_storage_controllers'
lspci parsing including the "Device xxxx" placeholder and driver lookup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 11:47:00 +00:00
ProxMenuxBot 5db3ae9c92 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 581eed6
Triggered by: push
2026-10-28 22:32:09 +00:00
VAIO73 65b10cea09 ui: compact the current ProxMenux version status 2026-10-28 17:30:44 +00:00
VAIO73 ba3fb1197f fix: read completed update results without a live terminal 2026-10-28 17:30:44 +00:00
VAIO73 889409de8d fix: preserve dated health results while update cache refreshes 2026-10-28 17:30:44 +00:00
VAIO73 43973e1d06 fix: clarify system update action and package plan 2026-10-28 17:30:44 +00:00
VAIO73 52cd21dcb1 feat: add guarded host restart and read-only ProxMenux version status 2026-10-28 17:30:44 +00:00
VAIO73 f40e0a53e1 Preserve host updates across sign-out and report pending kernel activation 2026-10-28 17:30:44 +00:00
MacRimi fc8c23fd66 feat(monitor): VM disk thresholds in Settings 2026-10-27 22:22:05 +01:00
MacRimi 4cefc0484b feat(post-install): rebuild Log2RAM with the journal and task logs kept on disk 2026-10-27 19:48:26 +01:00
MacRimiandGitHub 05cf4a40c3 Merge pull request #535 from f3rs3n/fix/italian-release-delta
fix(i18n): refine final Italian OCI and update messages
2026-10-26 22:36:24 +01:00
martino 01584b974a fix(i18n): refine final Italian OCI and update messages 2026-10-26 21:48:59 +01:00
VAIO73 80456679f1 i18n: polish the Slovak OCI release note 2026-10-26 19:03:00 +00:00
MacRimi be6ef0069b 1.2.7: IT-Tools installable, catalog categories and release notes
- IT-Tools has the template the menu installs from, so it is offered
  like the rest of the catalog.
- Every curated application is listed in categories.json, and OpenTask's
  template matches its recipe.
- The texts of the LXC update jobs read correctly in Spanish, German,
  French, Italian, Portuguese and Swedish.
- The release notes count 514 applications and credit PRs #526, #527,
  #529 and #530.
2026-10-26 17:21:24 +01:00
ProxMenuxBot ae809142f6 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: ba6f691
Triggered by: push
2026-10-26 15:58:38 +00:00
VAIO73 44ab9d506d fix: keep LXC updates running when the browser session ends 2026-10-26 07:57:20 +00:00
MacRimi af29bc9274 Release notes: the catalog lists 464 applications
The release notes, the changelog and What's New in Version 1.2.7 count
the hundred applications of PRs #524 and #525 and credit them, together
with the Italian review of PR #522 and the French field icons of PR #523.
2026-10-26 07:48:58 +01:00
martino 12f424911d fix(i18n): polish new Italian catalog messages 2026-10-25 23:41:36 +01:00
MacRimi 1ff63fa955 OCI catalog: keep the Gatus configuration and explain the Pocket ID address
- Gatus keeps config.yaml in a /config volume of its own, which can also
  be a host directory, and the installation writes it only when it is
  missing, so updates and recreations keep the endpoints added to it.
- The address Pocket ID is opened at says what it is for and that
  passkeys need HTTPS.
- The catalog categories are sorted again.
- The release notes count 364 applications and credit PR #521.
2026-10-25 20:49:55 +01:00
MacRimi bab512281c Release notes: the catalog lists 354 applications 2026-10-25 19:26:08 +01:00
MacRimi 3686d613e6 ProxMenux 1.2.7: release notes, changelog and version 2026-10-25 19:22:44 +01:00
MacRimi 5ece466d1e Merge commit 'refs/pull/516/head' of https://github.com/MacRimi/ProxMenux into HEAD
# Conflicts:
#	AppImage/messages/it/common.json
2026-10-23 17:50:12 +02:00
MacRimi b879adf54c i18n: update the six corrected descriptions in the other languages
- Translate the new Log2RAM, kexec, AMD, guest agent and backup descriptions into es, de, fr, pt and sv
2026-10-23 17:49:51 +02:00
martino e032d869ff fix(post-install): align optimization descriptions with existing behavior 2026-10-22 23:46:56 +02:00
martino 1f0c72b90b fix(i18n): refine new Italian TUI and Monitor messages 2026-10-22 22:28:20 +02:00
MacRimi d17c017ccf Thank you so much for this, merging it now. 2026-10-22 18:47:32 +02:00
ProxMenuxBot b3319268a7 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: 3298b55
Triggered by: push
2026-10-22 08:34:26 +00:00
VAIO73 61168b9abd Merge develop and preserve Slovak Monitor and CLI messages 2026-10-22 04:44:42 +00:00
MacRimi 203496f14f i18n: complete the other languages for the Slovak work
- Translate the new terminal and Monitor texts into es, de, fr, it, pt and sv
- Replace the machine fills of those new keys with reviewed translations
- Keep the complete terminal catalog check in CI
- Keep Machine learning in English in Spanish
- Fix the German Exit label
- Make the fallback tests use a locale without the keys
2026-10-22 00:09:54 +02:00
ProxMenuxBot 4ffbaa26d3 chore(i18n): auto-fill missing translations in messages/{locale}/common.json
Source: a5371b0
Triggered by: push
2026-10-21 21:40:53 +00:00