Skip to content

Ver 3.0.0

Choose a tag to compare

@WADPH WADPH released this 08 Feb 18:19
· 62 commits to main since this release
f84ec9e

Release Notes for major update for Wadboard Ver 3.0.0

This release consolidates Health monitoring, SSH/WOL improvements, and UI/UX modernization into a single update. It introduces a new public Health page with live host metrics, improves action feedback and authentication behavior, modernizes toolbars with icons, and adds persistent branding support.


Health Page & Host Metrics

A new public Health view is available at /health, designed to work on Termux (Android) and Ubuntu/Linux, showing live host metrics.

Highlights

  • New Health button in the toolbar.
  • New full-page public view at GET /health (no admin password required).
  • New public API endpoint GET /api/health returning host metrics in JSON.
  • Improved Health layout:
    • CPU tile is large (left column).
    • System on the right, Memory + Storage stacked below.
    • CPU Load moved to the tile footer.

New Routes / Endpoints

Frontend pages

  • GET /health — Health page (public, full-page)
  • GET / — Home page

Backend API

  • GET /api/health — Public host metrics (JSON)
  • Existing: GET /api/hostinfo (unchanged)

/api/health Payload (Key Fields)

  • system: hostname, platform, arch, release, uptimeSec
  • cpu:
    • usagePercent
    • loadavg (1 / 5 / 15)
    • cores
    • hint (when usage cannot be read)
  • memory: total / used / free / usedPercent
  • storage (alias disk): path, mount, total / used / free / usedPercent
  • network: ipv4
  • battery: best-effort + hint if unavailable

Termux / Android Notes

  • Storage mount selection priority:
    /storage/emulated/0 → /storage/emulated → /data/media/0 → /data/media → /
  • CPU usage:
    • Read from /proc/stat
    • If restricted, backend attempts su -c "cat /proc/stat"
    • On failure, usagePercent = null with explanatory hint
  • Battery metrics:
    • Uses termux-battery-status (requires termux-api package + Termux:API app)

Ubuntu / Linux Notes

  • Battery metrics:
    • Uses upower if available
    • Otherwise returns a hint suggesting installation

Health UI/UX

  • CPU ring shows only percentage.
  • Load averages shown in footer (Load 1 / 5 / 15).
  • Memory/Storage bars keep horizontal layout with footer-aligned text.
  • Auto-refresh interval: 10 seconds.

Implementation Notes

  • Frontend served as a static SPA:
    • express.static(frontend/)
    • / and /health return frontend/index.html for direct navigation

SSH Actions & Notifications

Highlights

  • SSH actions now support an optional password.
  • Action results/errors are shown as toast notifications with real error details.
  • Clear “Wrong admin password” messages in admin prompt and Settings.
  • Telegram battery alerts now trigger on each configured threshold (e.g. 30 → 15 → 5).

Added

  • SSH password field for WOL SSH actions.
  • Toast notification system.
  • Backend response field detail for richer error reporting.

Changed

  • Replaced browser alert(...) with toast notifications.
  • SSH execution behavior:
    • Uses sshpass when a password is provided.
    • Falls back to key-based SSH when no password is set.

Fixed

  • Telegram battery alerts trigger correctly across multiple thresholds, even if values are skipped between polls.
  • Admin password errors are now shown inline instead of silently clearing input.

Notes / Requirements

  • sshpass must be installed on the backend host to use password-based SSH.
  • If missing, the UI displays an error toast with details.

Compatibility

  • sshActions now support a pass field.
  • Existing configurations remain compatible.

UI / UX Modernization & Branding

Highlights

  • Toolbars modernized with Bootstrap Icons (theme-aware).
  • Health page toolbar behavior aligned with Home.
  • Fixed WOL edit UX.
  • Added persistent Brand mark text stored server-side.

UI / UX Changes

  • Replaced toolbar text buttons (Theme / Refresh / Health / Settings) with icon buttons.
  • Replaced Add button with a plus icon.
  • Health toolbar order: Theme → Refresh → Home → Settings.
  • Refresh buttons now use aria-busy and a spinning refresh icon.
  • Replaced Edit/Delete buttons with pencil/trash icons for:
    • Services
    • Quick Links
    • WOL
    • Device Maintenance (host actions)

Fixes

  • Editing an existing WOL task now correctly restores the saved WOL Type
    (Basic / MikroTik / WadESP-PowerSW) and shows the proper fields.

Settings: Brand Mark

  • New Brand mark setting:
    • Location: between Change admin password and Battery monitoring
    • Default: WELCOME
    • Limit: 40 characters
    • Basic XSS protection (sanitized, rendered via textContent)

Backend / Persistence

  • Brand text moved from localStorage to server-side storage:
    • Stored in backend/wadph-data.json as config.brandText
    • New API endpoints:
      • GET /api/brand-text (public)
      • PUT /api/brand-text (admin only)

Files Changed

  • backend/server.js
  • frontend/index.html
  • backend/wadph-data.json

Compatibility & Degradation

  • Works on Termux (Android) and Ubuntu/Linux (best-effort).
  • Graceful degradation:
    • Missing tools or permissions return hint fields in API responses.
    • UI displays hints instead of failing silently.