Conversation
openwrt-ai
reviewed
Sep 19, 2026
openwrt-ai
left a comment
Collaborator
There was a problem hiding this comment.
Commit checks
- 2936c8c "luci-theme-footstrap: sync with release 0.14.13" — the body lists "uploads for the login background and the wallpaper pattern" among what this adds, but
fs-prefs.jsat the base already carriesuploadPattern,_sanitizeSvg,_downscale/BG_MAX_SIDEand thecgi-uploadPOST. The diff extracts them intofs-assets.jsand hardens the sanitiser; say extracted/hardened rather than added (same wording in the PR body).
Generated by Claude Code
VizzleTF
force-pushed
the
footstrap-sync-0.14.13
branch
from
September 19, 2026 05:04
2936c8c to
c6af4f4
Compare
openwrt-ai
reviewed
Sep 19, 2026
Appearance becomes a page of its own under System, replacing the tab the theme stapled onto luci-mod-system's form, and the reader's scroll position now survives a poll refill on every engine, Back included. Adds a fifth colourway, a movable content-width cap, Overview cards that collapse from the keyboard and meters that colour by their own reading. The wallpaper uploads move out of fs-prefs.js into their own module and the SVG sanitiser is hardened; the pattern is now served by a CGI handler with CSP 'none', sandbox and nosniff rather than a /www symlink a browser will run as a document. postinst and postrm no longer call `rpcd reload`, which could permanently drop an unrelated rpcd plugin. Signed-off-by: Ivan Kvashonkin <vizzlef@gmail.com>
VizzleTF
force-pushed
the
footstrap-sync-0.14.13
branch
from
September 19, 2026 20:17
c6af4f4 to
1268710
Compare
openwrt-ai
reviewed
Sep 20, 2026
Contributor
Author
|
@hnyman take a look please |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull request details
Description
Sync
luci-theme-footstrapwith its 0.14.13 release. The last sync was #8981; this carries ten releases of fixes and two features on top of it, in one commit.admin/system/footstrap, dispatched frommenu.dlike any other view. It replaces the tab the theme used to staple ontoluci-mod-system's form, and with it go the MutationObserver, the 5 s deadline and the sessionStorage return key that mounting needed.fs-assets.js, out offs-prefs.js, ~4 KB off every other page), and the SVG sanitiser is hardened — it now decides on the parsed document, closesxml:baseand a CSS hex-escape hidingurl(), and sanitizes where it used to refuse.Content-Security-Policy: default-src 'none'; sandboxandnosniff, instead of the/wwwsymlink it used to be — opened directly, that symlink was a same-origin document with the admin's session reachable from it. The handler takes no request input;uci-defaultsremoves the stale symlink. The login background stays a plain symlink: it has no extension, so uhttpd answersapplication/octet-stream, which a browser downloads rather than runs.forum, wearing the OpenWrt forum's scheme, and the content column's 1280 px cap is now the reader's to move.postinstandpostrmno longer callrpcd reload. A reload is a re-exec that re-dlopen()s every plugin, and one absent or mid-write at that moment is dropped for good — losingfilethat way silently removes System → Backup / Flash Firmware's "Reset to defaults" row. rpcd readsacl.d/*.jsonat login, so nothing here needed the reload; a session that predates the install is ended instead, and only when re-authenticating would actually grant it the theme's scope.TypedSectionheader clipping at 1024 px, a WireGuard key running past its box, a checkbox with a tooltip drawing a second dead switch, a foreign app'shidden lg:flexhiding on wide screens, and the Russian-only overflow faults a pseudo-localised sweep found.po/is untouched — Weblate owns it.Developed at https://github.com/VizzleTF/luci-theme-footstrap
Screenshot or video of changes (if applicable)
Maintainer (preferred)
@VizzleTF
Tested on
OpenWrt version: OpenWrt 25.12.4 (apk) and OpenWrt 24.10.8 (opkg), x86_64 containers
LuCI version: this branch, built with the x86_64 master and 24.10 SDKs
Web browser(s): Chromium 151, Firefox 145, WebKit/Safari 26