github ChesterGoodiny/luci-theme-proton2025 v1.4.2
v1.4.2 Proton2025 - Elegant Theme for LuCI

3 hours ago

Changes in version 1.4.2

Features

  • WebGL Fluid animation (PR #85 — author: @frenzydrive)

    • Added a new login background option based on Pavel Dobryakov's WebGL Fluid Simulation (MIT license)
    • Available alongside the existing Canvas 2D particle modes; selectable in the theme settings
    • Lazy-loads login-fluid.js only when Fluid is chosen, so other modes pay no runtime cost
    • Falls back to the static background image if WebGL is unavailable or fails to initialize
    • Integrated with the smoothness fix so Fluid runs at full frame rate on capable devices
  • Configurable temperature thresholds (PR #82 — author: @DoubleThePsycho)

    • Warm / Hot / Critical thresholds are now tunable instead of hardcoded 50 / 70 / 85 °C (defaults unchanged)
    • Stored in proton2025.settings, validated as whole numbers with 0 <= warm < hot < critical <= 150
    • Compact controls at the bottom of Status → Realtime → Temperature with dirty-state Save and Reset-to-defaults
    • Badges, chart threshold lines and summaries update live after saving, no reload needed
    • Exposed via luci.proton-temp getThresholds / setThresholds as a shared source for the future dashboard widget

Fixes

  • Login animation smoothness

    • Restored smoother motion after the previous optimization had reduced the login background animation to a less fluid, overly throttled state

    • Kept a reduced-frame fallback for low-power devices, but raised the target frame rate for modern hardware to recover visual smoothness

    • Preserved the lightweight performance profile so weaker routers and older browsers still remain stable

    • Adjusted the animation timing logic to balance responsiveness with the original fluid visual feel

  • White flash on login page and on submit

    • Added inline critical background-color style in <head> of sysauth.ut so the browser paints the correct dark/light background immediately, before external CSS loads

    • Eliminates the intermittent white flash of the login card when the Fluid animation is active and the user clicks login

    • Uses server-side serverTheme value so the inline style matches the resolved theme without waiting for JavaScript

    • On form submit the login page now dispatches a proton-login-freeze event that stops both Canvas 2D particles and WebGL Fluid loops, keeping the last frame and freeing the GPU for the next page paint

    • Covers keyboard/Enter/button submits plus a click backup for programmatic form.submit() (e.g. password-manager autofill), which skips the submit event

  • Port status cards with multiple networks (fixes #81, #83)

    • Constrained multi-network zone color segments to the narrow status stripe instead of allowing them to overflow the port card

    • Stacked segments within the stripe on desktop hover and mobile layouts

  • Settings synchronization without HTTP ubus (fixes #70 — reported and diagnosed by @ang3el7z)

    • Added uhttpd-mod-ubus as a runtime dependency and configure the standard /ubus endpoint during installation only when it is missing

    • Settings sync now checks HTTP status and response content type before parsing JSON, reporting a clear error instead of a misleading Unexpected token "<" message when a router returns an HTML 404 page

Build

  • Theme asset versioning
    • Increased the cache-busting asset version so updated UI scripts are reloaded by browsers after the animation adjustment

Authors

Pull Requests

  • #85 — Add WebGL fluid animation to login page

  • #82 — Add configurable temperature thresholds


Installation

One command over root SSH. The script detects the package manager
(apk or opkg), picks the matching asset from this release,
installs it and switches LuCI over to the theme.

wget -qO- https://raw.githubusercontent.com/ChesterGoodiny/luci-theme-proton2025/main/install.sh | sh

Removal

wget -qO- https://raw.githubusercontent.com/ChesterGoodiny/luci-theme-proton2025/main/uninstall.sh | sh

To install by hand, take the exact file name from the assets below:
.apk if command -v apk prints a path, .ipk otherwise.

Don't miss a new luci-theme-proton2025 release

NewReleases is sending notifications on new releases.