* fix(tools): improve error diagnostics and actionable hints across install functions
- Add _diagnose_deb_failure() helper: extracts package metadata from failed .deb installs,
detects PostgreSQL version conflicts (e.g., postgresql-16-vchord with PG17 active),
lists unmet dependencies, and provides specific actionable hints
- Replace all 4 generic 'Both apt and dpkg installation failed' messages in
fetch_and_deploy_{codeberg,gh,gl}_release and fetch_and_deploy_from_url with
_diagnose_deb_failure() for targeted diagnostics
- install_packages_with_retry: on failure, check which packages are missing from
configured repos and name them with a distribution-specific hint
- upgrade_packages_with_retry: add hint about held-back packages / apt-cache policy
- setup_postgresql: when PGDG repo is unavailable for trixie/forky/sid, show which
distro PG version will be installed and warn that extension packages must match
- setup_deb822_repo: include GPG key URL and firewall hint in download failure message
- curl_download: add network/DNS hint to the failure message
- error_handler: add log-pattern analysis block after Node.js OOM detection that
scans the last 60 log lines for 5 common failure patterns and emits msg_warn hints:
* APT/dpkg dependency conflict (generic + PostgreSQL version mismatch)
* APT GPG/signature verification failure (sqv, KEYEXPIRED, NO_PUBKEY)
* Network/DNS failure (Could not resolve, Failed to fetch)
* APT lock held by another process
* Disk space exhaustion (ENOSPC)
* fix(tools): consolidate OS detection, add error hints, sort setup functions
- Replace all 13 manual /etc/os-release reads with get_os_info() across
prepare_repository_setup, setup_hwaccel, setup_java, setup_mysql,
setup_php, setup_postgresql, setup_clickhouse, install_packages_with_retry
- Add actionable Hint messages to 16 download/network failure paths:
adminer, composer, ffmpeg (x2), go, ghostscript, imagemagick, rbenv,
ruby-build, meilisearch-config, uv, yq, rust, apt-lock timeout,
mongodb GPG, php keyring
- Replace 6 silent 'apt install || true' with msg_warn for optional packages:
3x postgresql modules, ruby build deps, ssl-cert, docker-compose
- Sort all 'function setup_*' declarations into alphabetical order:
clickhouse moved to after adminer, docker moved to after composer,
meilisearch moved to after mariadb_db
* style(tools): unify all function declarations to name() { style
Remove 'function' keyword from 30 declarations to match the project convention
used in core.func, error_handler.func, and all other .func files (POSIX-compatible name() { syntax)
Instead of hard-failing when AVX is not present, detect whether the host
CPU supports AVX + AVX2 + MOVBE (x86-64-v3 microarchitecture level) and
select the appropriate upstream binary accordingly:
- iSponsorBlockTV-x86_64-linux → modern CPUs (AVX/AVX2/MOVBE)
- iSponsorBlockTV-x86_64-linux-v1 → any x86_64 CPU (fallback)
The same detection logic is applied in update_script() so updates
stay consistent with the initially installed binary type.
Fixes: https://github.com/community-scripts/ProxmoxVE/issues/14660
Upstream: dmunozv04/iSponsorBlockTV#463
* configure gateway during install for best chance of it not getting disabled
* add missing dbus-run-session on service
* add back chmod to .env file
* remove extra character
* add back mkdir for /root/.ironclaw
* remove erroneous msg blocks, service env values and tab in post completion gateway line
* increase default ram due to oom-killer logs during library scans and fix backup path checking
* fix ram value
* revert resource changes
* correct disk size
The Lounge v4.5.0 requires nodejs (>= 22.13.0), which is not available from Debian 13 default repos. Install Node.js 22 via NodeSource before deploying the thelounge-deb package in both install and update scripts.