get_logs needs a unit from an allowlist (router-*, kea, unbound, networkd, nftables, ddclient, acme, sshd, kernel). API tokens are valid for 1, 7, 30 (default) or 90 days, or without limit. The overview and the Changes page say which token made the unapplied changes. options.json (router://options) no longer holds the options' source paths: they differ between builds of a release, so a router rebuilding itself offline had to build the file and failed (found by the update test). Web UI: panels flow into columns on wide screens and the width is no longer capped; on phones the navigation is a menu button; the Advanced page uses panels; VLAN dropdowns show their chosen names; the duplicate WireGuard heading is gone. basic: a subtest for wan -> local rules. SPECS.md is now the only document (decisions, how each part works, and what is not done yet); PLAN.md is gone. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AeFqV9dZrK6nipHkPfyM4F
17 lines
702 B
HTML
17 lines
702 B
HTML
{{define "content"}}
|
|
{{with .Data}}
|
|
{{if .Diff}}
|
|
<p>The saved settings differ from the confirmed (running) ones: <code>-</code> lines go away, <code>+</code> lines are new.
|
|
Nothing is applied until you press Apply.</p>
|
|
{{with .TokenEdit}}<p class="error">{{.}}</p>{{end}}
|
|
<pre class="log">{{.Diff}}</pre>
|
|
<div class="actions">
|
|
<form method="post" action="/apply"><input type="hidden" name="csrf" value="{{$.CSRF}}"><button>Apply</button></form>
|
|
<form method="post" action="/discard"><input type="hidden" name="csrf" value="{{$.CSRF}}"><button class="secondary">Discard changes</button></form>
|
|
</div>
|
|
{{else}}
|
|
<p>No changes: the saved settings are the confirmed ones.</p>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|