<feed xmlns='http://www.w3.org/2005/Atom'>
<title>luci/themes/luci-theme-bootstrap/ucode/template, branch master</title>
<subtitle>Lua Configuration Interface (mirror)</subtitle>
<id>https://git.openwrt.org/project/luci/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/project/luci/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/'/>
<updated>2026-08-07T23:33:25Z</updated>
<entry>
<title>luci-theme-bootstrap: remove broken title class on &lt;body&gt;</title>
<updated>2026-08-07T23:33:25Z</updated>
<author>
<name>Packet Please</name>
</author>
<published>2026-08-07T16:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=084fae3db599bcf51e0c68b6f4ef37e49bd9b794'/>
<id>urn:sha1:084fae3db599bcf51e0c68b6f4ef37e49bd9b794</id>
<content type='text'>
When the bootstrap theme was first ported to ucode, the dispatched
menu.d title was intended to be added to the &lt;body&gt; CSS classes.

It never worked because it uses the wrong variable name.
It also doesn't seem useful and other themes don't do it.

So let's just remove it.

Signed-off-by: Packet Please &lt;pktpls@systemli.org&gt;
</content>
</entry>
<entry>
<title>themes: fix custom CSS via menu.d node</title>
<updated>2026-08-07T23:33:25Z</updated>
<author>
<name>Packet Please</name>
</author>
<published>2026-08-07T16:27:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=7c6d8ff7f8b894d1c8c3382af4b79b7cea68c709'/>
<id>urn:sha1:7c6d8ff7f8b894d1c8c3382af4b79b7cea68c709</id>
<content type='text'>
The themes have supported custom CSS via menu.d nodes since they
were first ported to ucode. There were two little problems though:

- The css property wasn't added to the node schema in luci.dispatcher.
- The themes used the wrong variable name.

The advantage is that the client will load the custom CSS right away,
instead of later when the view initializes. In my local development,
it has prevented visual flickering on page load.

Example menu.d entry:

    "falter": {
      "title": "Settings",
      "order": 5,
      "action": {
        "type": "view",
        "path": "falter/settings"
      },
      "css": "view/falter/falter.css"
    }

There are lots of potential users for this, since many Luci applications
inject their CSS via client-side JS. Even luci-mod-network does.

Signed-off-by: Packet Please &lt;pktpls@systemli.org&gt;
</content>
</entry>
<entry>
<title>luci-theme-bootstrap: handle null board info in container environments</title>
<updated>2026-06-28T00:00:03Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-26T23:46:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=cf114f96b632adb1ffa54587f7288b17a4d0d2f2'/>
<id>urn:sha1:cf114f96b632adb1ffa54587f7288b17a4d0d2f2</id>
<content type='text'>
ubus.call('system', 'board') returns null in minimal container
runtimes without procd. Subsequent accesses to boardinfo.hostname
and boardinfo.rootfs_type crash with 'left-hand side expression
is null'. Add null fallback to prevent the crash.

Fixes openwrt/luci#8726.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme-bootstrap: fix empty data-page when request path is empty</title>
<updated>2026-06-27T23:17:20Z</updated>
<author>
<name>Maxim Skokov</name>
</author>
<published>2026-06-27T13:17:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=ee0674fa8e6b77dbc25f9008134681fc455073b8'/>
<id>urn:sha1:ee0674fa8e6b77dbc25f9008134681fc455073b8</id>
<content type='text'>
When accessing LuCI via root URL or after login redirect,
ctx.request_path is empty and data-page attribute is blank.
Fall back to ctx.path which holds the resolved page route.

Fixes openwrt/luci#8534.

Signed-off-by: Maxim Skokov &lt;skokov.m020709@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-base: add authentication plugin mechanism</title>
<updated>2026-04-09T12:26:09Z</updated>
<author>
<name>Han Yiming</name>
</author>
<published>2026-01-29T09:23:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=4a308bab378851272d1795d14c624bc0a2250491'/>
<id>urn:sha1:4a308bab378851272d1795d14c624bc0a2250491</id>
<content type='text'>
This commit introduces a generic authentication plugin mechanism
to the LuCI dispatcher, enabling multi-factor authentication
(MFA/2FA) and other custom verification methods without
modifying core files.

This implementation integrates with the new plugin UI architecture
introduced in commit 617f364 (luci-mod-system: implement plugin UI
architecture), allowing authentication plugins to be managed
through the unified System &gt; Plugins interface.

Signed-off-by: Han Yiming &lt;moebest@outlook.jp&gt;
</content>
</entry>
<entry>
<title>luci-theme: remove LuCI from title, material changes</title>
<updated>2026-03-02T18:14:01Z</updated>
<author>
<name>Self-Hosting-Group</name>
</author>
<published>2026-03-02T00:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=e81c0637e275b5d65a81ded69b43118563803def'/>
<id>urn:sha1:e81c0637e275b5d65a81ded69b43118563803def</id>
<content type='text'>
- Remove `| LuCI` suffix from title tag
- Make material theme zoomable and remove legacy meta tags
- Unify viewport

Link: #8330
Signed-off-by: Self-Hosting-Group &lt;selfhostinggroup-git+openwrt@shost.ing&gt;
</content>
</entry>
<entry>
<title>luci-theme: html title: swap hostname &lt;-&gt; page title</title>
<updated>2026-02-09T21:14:59Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-02-09T21:13:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=ce358ad41132812612baf00217679971c8db0d91'/>
<id>urn:sha1:ce358ad41132812612baf00217679971c8db0d91</id>
<content type='text'>
hostname first to differentiate units from at-a-glance
browser tab view.

follow-up to 18d14980ddf7f85ab30ea971d5875f7d3a29353a

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme: html title: swap hostname &lt;-&gt; page title</title>
<updated>2026-02-09T17:08:38Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-02-09T17:08:38Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=18d14980ddf7f85ab30ea971d5875f7d3a29353a'/>
<id>urn:sha1:18d14980ddf7f85ab30ea971d5875f7d3a29353a</id>
<content type='text'>
hostname first to differentiate units from at-a-glance
browser tab view.

Closes #8308

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme: fix theme header title</title>
<updated>2026-01-21T21:39:04Z</updated>
<author>
<name>Paul Donald</name>
</author>
<published>2026-01-21T21:39:04Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=9fe1334fd5172111773a56894825983acdf9865a'/>
<id>urn:sha1:9fe1334fd5172111773a56894825983acdf9865a</id>
<content type='text'>
dispatched.title is sometimes null, especially where menu JSON
does not declare a title for a page.

Also, while we're here, wrap these in i18n tags, since the
JSON titles are often translated (they're included in po matter).

Closes #8222

Signed-off-by: Paul Donald &lt;newtwen+github@gmail.com&gt;
</content>
</entry>
<entry>
<title>luci-theme: add missing menu name to page `&lt;title&gt;`</title>
<updated>2025-12-03T20:47:13Z</updated>
<author>
<name>Self-Hosting-Group</name>
</author>
<published>2025-09-25T00:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/project/luci/commit/?id=d16ffa31130e1033101e84cc6a77171c32d47f4b'/>
<id>urn:sha1:d16ffa31130e1033101e84cc6a77171c32d47f4b</id>
<content type='text'>
Signed-off-by: Self-Hosting-Group &lt;selfhostinggroup-git+openwrt@shost.ing&gt;
</content>
</entry>
</feed>
