From f033fcfc0d9697e2124a850ff07072da2329795d Mon Sep 17 00:00:00 2001
From: Igor Scheller <igor.scheller@igorshp.de>
Date: Sun, 20 Feb 2022 16:12:30 +0100
Subject: [PATCH] treewide: Replace ` />` self closing html tags with `>`

---
 docs/site-example/i18n/de.po                     |  2 +-
 docs/site-example/i18n/en.po                     |  2 +-
 docs/site-example/i18n/fr.po                     |  2 +-
 .../files/lib/gluon/config-mode/www/index.html   |  8 ++++----
 .../lib/gluon/config-mode/view/theme/layout.html |  8 ++++----
 .../files/lib/gluon/status-page/view/layout.html |  6 +++---
 .../lib/gluon/status-page/view/status-page.html  | 16 ++++++++--------
 .../files/lib/gluon/status-page/www/index.html   |  8 ++++----
 .../gluon/config-mode/view/admin/upgrade.html    |  8 ++++----
 .../config-mode/view/admin/upgrade_confirm.html  | 12 ++++++------
 package/gluon-web-admin/i18n/de.po               |  4 ++--
 package/gluon-web-admin/i18n/fr.po               |  4 ++--
 package/gluon-web-admin/i18n/gluon-web-admin.pot |  2 +-
 .../lib/gluon/config-mode/model/admin/remote.lua |  2 +-
 .../gluon/config-mode/view/mesh-vpn-fastd.html   | 12 ++++++------
 .../files/lib/gluon/web/view/model/dynlist.html  |  2 +-
 .../files/lib/gluon/web/view/model/form.html     |  6 +++---
 .../files/lib/gluon/web/view/model/fvalue.html   |  2 +-
 .../files/lib/gluon/web/view/model/lvalue.html   |  4 ++--
 .../files/lib/gluon/web/view/model/value.html    |  2 +-
 .../lib/gluon/web/view/model/valuewrapper.html   |  2 +-
 package/gluon-web-wifi-config/i18n/de.po         |  6 +++---
 package/gluon-web-wifi-config/i18n/fr.po         |  4 ++--
 .../i18n/gluon-web-wifi-config.pot               |  2 +-
 .../config-mode/model/admin/wifi-config.lua      |  2 +-
 25 files changed, 64 insertions(+), 64 deletions(-)

diff --git a/docs/site-example/i18n/de.po b/docs/site-example/i18n/de.po
index 51b8e71cc..f2db6eef6 100644
--- a/docs/site-example/i18n/de.po
+++ b/docs/site-example/i18n/de.po
@@ -45,7 +45,7 @@ msgstr ""
 "selbstverständlich vertraulich behandelt und nicht weitergegeben."
 "</p>"
 "<div class=\"the-key\">"
-"# <%= pcdata(hostname) %><br />"
+"# <%= pcdata(hostname) %><br>"
 "<%= pubkey %>"
 "</div>"
 "<p>Dein Knoten startet gerade neu und wird anschließend versuchen, sich mit "
diff --git a/docs/site-example/i18n/en.po b/docs/site-example/i18n/en.po
index eef8bd08b..4f3938607 100644
--- a/docs/site-example/i18n/en.po
+++ b/docs/site-example/i18n/en.po
@@ -41,7 +41,7 @@ msgstr ""
 "\">keys@alpha-centauri.freifunk.net</a>. Of course, your e-mail address will "
 "be treated confidentially and will not be passed on.</p>"
 "<div class=\"the-key\">"
-" # <%= pcdata(hostname) %><br />"
+" # <%= pcdata(hostname) %><br>"
 "<%= pubkey %>"
 "</div>"
 "<p>Your node <em><%= pcdata(hostname) %></em> is currently rebooting and will "
diff --git a/docs/site-example/i18n/fr.po b/docs/site-example/i18n/fr.po
index ba0f43a45..e9c259f84 100644
--- a/docs/site-example/i18n/fr.po
+++ b/docs/site-example/i18n/fr.po
@@ -36,7 +36,7 @@ msgstr ""
 "body=<%= urlencode('# ' .. hostname .. '\n' .. pubkey) %>\">keys@alpha-centauri.freifunk.net</a>."
 "</p>"
 "<div class=\"the-key\">"
-" # <%= pcdata(hostname) %><br />"
+" # <%= pcdata(hostname) %><br>"
 "<%= pubkey %>"
 "</div>"
 
diff --git a/package/gluon-config-mode-core/files/lib/gluon/config-mode/www/index.html b/package/gluon-config-mode-core/files/lib/gluon/config-mode/www/index.html
index 8b29b2b4b..e42b9eedf 100644
--- a/package/gluon-config-mode-core/files/lib/gluon/config-mode/www/index.html
+++ b/package/gluon-config-mode-core/files/lib/gluon/config-mode/www/index.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
 <html lang="">
 	<head>
-		<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-		<meta http-equiv="Pragma" content="no-cache" />
-		<meta http-equiv="Expires" content="0" />
-		<meta http-equiv="refresh" content="0; URL=/cgi-bin/config" />
+		<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
+		<meta http-equiv="Pragma" content="no-cache">
+		<meta http-equiv="Expires" content="0">
+		<meta http-equiv="refresh" content="0; URL=/cgi-bin/config">
 	</head>
 	<body>
 	</body>
diff --git a/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html b/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html
index 47d66cb6f..865ec2aa8 100644
--- a/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html
+++ b/package/gluon-config-mode-theme/files/lib/gluon/config-mode/view/theme/layout.html
@@ -82,7 +82,7 @@ You may obtain a copy of the License at
 				end
 			%>
 		</ul>
-		<br style="clear:both" />
+		<br style="clear:both">
 		<%
 			subtree(append(prefix, name), node.nodes[name], ...)
 		%>
@@ -99,8 +99,8 @@ You may obtain a copy of the License at
 <!DOCTYPE html>
 <html lang="">
 	<head>
-		<meta charset="UTF-8" />
-		<link rel="stylesheet" type="text/css" media="screen" href="/static/gluon.css" />
+		<meta charset="UTF-8">
+		<link rel="stylesheet" type="text/css" media="screen" href="/static/gluon.css">
 		<title><%| hostname .. ((rnode and rnode.title) and ' - ' .. title(rnode) or '') %></title>
 	</head>
 	<body>
@@ -134,7 +134,7 @@ You may obtain a copy of the License at
 		<div id="maincontent">
 			<noscript>
 				<div class="errorbox">
-					<strong><%:JavaScript required!%></strong><br />
+					<strong><%:JavaScript required!%></strong><br>
 					<%:You must enable JavaScript in your browser or the web interface will not work properly.%>
 				</div>
 			</noscript>
diff --git a/package/gluon-status-page/files/lib/gluon/status-page/view/layout.html b/package/gluon-status-page/files/lib/gluon/status-page/view/layout.html
index 7b33bd93b..6b960207e 100644
--- a/package/gluon-status-page/files/lib/gluon/status-page/view/layout.html
+++ b/package/gluon-status-page/files/lib/gluon/status-page/view/layout.html
@@ -4,12 +4,12 @@
 <!DOCTYPE html>
 <html lang="">
 	<head>
-		<meta charset="utf-8" />
-		<meta name="viewport" content="width=device-width, user-scalable=no" />
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, user-scalable=no">
 
 		<title><%:Error%></title>
 
-		<link rel="stylesheet" href="/static/status-page.css" type="text/css" />
+		<link rel="stylesheet" href="/static/status-page.css" type="text/css">
 	</head>
 	<body>
 		<header>
diff --git a/package/gluon-status-page/files/lib/gluon/status-page/view/status-page.html b/package/gluon-status-page/files/lib/gluon/status-page/view/status-page.html
index 16fbaa5dc..703cf4367 100644
--- a/package/gluon-status-page/files/lib/gluon/status-page/view/status-page.html
+++ b/package/gluon-status-page/files/lib/gluon/status-page/view/status-page.html
@@ -111,7 +111,7 @@
 	end
 
 	local function statisticsTraffic(key)
-		return string.format('%s<br />%s<br />%s',
+		return string.format('%s<br>%s<br>%s',
 			statistics(key .. '/packets', 'packetsDiff'),
 			statistics(key .. '/bytes', 'bytesDiff'),
 			statistics(key .. '/bytes', 'bytes')
@@ -123,12 +123,12 @@
 <!DOCTYPE html>
 <html lang="">
 	<head>
-		<meta charset="utf-8" />
-		<meta name="viewport" content="width=device-width, user-scalable=no" />
+		<meta charset="utf-8">
+		<meta name="viewport" content="width=device-width, user-scalable=no">
 
 		<title><%| nodeinfo.hostname %> - <%:Status%></title>
 
-		<link rel="stylesheet" href="/static/status-page.css" type="text/css" />
+		<link rel="stylesheet" href="/static/status-page.css" type="text/css">
 	</head>
 	<body data-node-address="<%| http:getenv('SERVER_ADDR') %>"<%=
 		attr('data-translations', translations) ..
@@ -154,21 +154,21 @@
 					<%- end %>
 					<dt><%:Model%></dt><dd><%| nodeinfo.hardware.model %></dd>
 					<dt><%:Primary MAC address%></dt><dd><%| nodeinfo.network.mac %></dd>
-					<dt><%:IP address%></dt><dd><%= pcdata(table.concat(sorted(nodeinfo.network.addresses), '\n')):gsub('\n', '<br />') %></dd>
+					<dt><%:IP address%></dt><dd><%= pcdata(table.concat(sorted(nodeinfo.network.addresses), '\n')):gsub('\n', '<br>') %></dd>
 					<dt><%:Firmware%></dt><dd><%| nodeinfo.software.firmware.release %></dd>
 					<% if nodeinfo.network.mesh_vpn then -%>
 						<dt><%:Mesh VPN%></dt>
 						<dd>
 							<%| enabled(nodeinfo.network.mesh_vpn.enabled) %>
 							<% if nodeinfo.network.mesh_vpn.provider then -%>
-							<br /><%| nodeinfo.network.mesh_vpn.provider %>
+							<br><%| nodeinfo.network.mesh_vpn.provider %>
 							<%- end %>
 						</dd>
 						<% if nodeinfo.network.mesh_vpn.bandwidth_limit.enabled then -%>
 						<dt><%:Bandwidth limit%></dt>
 						<dd>
 							<% if nodeinfo.network.mesh_vpn.bandwidth_limit.ingress then -%>
-								â–¼ <%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.ingress*1000) %>/s <%:downstream%><br />
+								â–¼ <%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.ingress*1000) %>/s <%:downstream%><br>
 							<%- end %>
 							<% if nodeinfo.network.mesh_vpn.bandwidth_limit.egress then -%>
 								â–² <%| formatBits(nodeinfo.network.mesh_vpn.bandwidth_limit.egress*1000) %>/s <%:upstream%>
@@ -213,7 +213,7 @@
 					<tr><th><%:Load average%></th><td><%= statistics('loadavg', 'decimal') %></td></tr>
 					<tr><th><%:RAM%></th><td><%= statistics('memory', 'memory') %></td></tr>
 					<tr><th><%:Filesystem%></th><td><%= statistics('rootfs_usage', 'percent') %></td></tr>
-					<tr><th><%:Gateway%></th><td><%= statistics('gateway') %><br /><%= statistics('gateway_nexthop', 'neighbour') %></td></tr>
+					<tr><th><%:Gateway%></th><td><%= statistics('gateway') %><br><%= statistics('gateway_nexthop', 'neighbour') %></td></tr>
 				</table>
 
 				<h3><%:Clients%></h3>
diff --git a/package/gluon-status-page/files/lib/gluon/status-page/www/index.html b/package/gluon-status-page/files/lib/gluon/status-page/www/index.html
index b360a712c..03e08420d 100644
--- a/package/gluon-status-page/files/lib/gluon/status-page/www/index.html
+++ b/package/gluon-status-page/files/lib/gluon/status-page/www/index.html
@@ -1,10 +1,10 @@
 <!DOCTYPE html>
 <html lang="">
 	<head>
-		<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
-		<meta http-equiv="Pragma" content="no-cache" />
-		<meta http-equiv="Expires" content="0" />
-		<meta http-equiv="refresh" content="0; URL=/cgi-bin/status" />
+		<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
+		<meta http-equiv="Pragma" content="no-cache">
+		<meta http-equiv="Expires" content="0">
+		<meta http-equiv="refresh" content="0; URL=/cgi-bin/status">
 	</head>
 	<body>
 	</body>
diff --git a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade.html b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade.html
index 7778be4a6..6791c2c0d 100644
--- a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade.html
+++ b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade.html
@@ -26,7 +26,7 @@ $Id$
 				<%:Firmware image%>
 			</label>
 			<div class="gluon-value-field">
-				<input type="file" name="image" />
+				<input type="file" name="image">
 			</div>
 		</div>
 
@@ -36,14 +36,14 @@ $Id$
 			</label>
 
 			<div class="gluon-value-field">
-				<input id="keepcfg" type="checkbox" name="keepcfg" value="1" checked="checked" />
+				<input id="keepcfg" type="checkbox" name="keepcfg" value="1" checked="checked">
 				<label for="keepcfg"></label>
 			</div>
 		</div>
 	</div>
 
 	<div class="gluon-page-actions">
-		<input type="hidden" name="step" value="2" />
-		<input class="gluon-button gluon-button-submit" type="submit" value="<%:Upload image%>" />
+		<input type="hidden" name="step" value="2">
+		<input class="gluon-button gluon-button-submit" type="submit" value="<%:Upload image%>">
 	</div>
 </form>
diff --git a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade_confirm.html b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade_confirm.html
index 9733132fa..b45012efc 100644
--- a/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade_confirm.html
+++ b/package/gluon-web-admin/files/lib/gluon/config-mode/view/admin/upgrade_confirm.html
@@ -47,13 +47,13 @@ You may obtain a copy of the License at
 </p>
 <div class="gluon-page-actions">
   <form method="post" enctype="multipart/form-data" action="<%|url(request)%>" style="display:inline">
-    <input type="hidden" name="step" value="3" />
-    <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" />
-    <input class="gluon-button gluon-button-submit" type="submit" value="<%:Continue%>" />
+    <input type="hidden" name="step" value="3">
+    <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>">
+    <input class="gluon-button gluon-button-submit" type="submit" value="<%:Continue%>">
   </form>
   <form method="post" enctype="multipart/form-data" action="<%|url(request)%>" style="display:inline">
-    <input type="hidden" name="step" value="1" />
-    <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>" />
-    <input class="gluon-button gluon-button-reset" type="submit" value="<%:Cancel%>" />
+    <input type="hidden" name="step" value="1">
+    <input type="hidden" name="keepcfg" value="<%=keepconfig and "1" or "0"%>">
+    <input class="gluon-button gluon-button-reset" type="submit" value="<%:Cancel%>">
   </form>
 </div>
diff --git a/package/gluon-web-admin/i18n/de.po b/package/gluon-web-admin/i18n/de.po
index c6511012b..33b459a07 100644
--- a/package/gluon-web-admin/i18n/de.po
+++ b/package/gluon-web-admin/i18n/de.po
@@ -21,11 +21,11 @@ msgstr "Erweiterte Einstellungen"
 
 msgid ""
 "Alternatively, you can set a password to access your node. Please choose a "
-"secure password you don't use anywhere else.<br /><br />If you set an empty "
+"secure password you don't use anywhere else.<br><br>If you set an empty "
 "password, login via password will be disabled. This is the default."
 msgstr ""
 "Alternativ kannst du auch ein Passwort setzen. Wähle bitte ein sicheres "
-"Passwort, das du nirgendwo anders verwendest.<br /><br />Beim Setzen eines "
+"Passwort, das du nirgendwo anders verwendest.<br><br>Beim Setzen eines "
 "leeren Passworts wird der Login per Passwort gesperrt (dies ist die Standard-"
 "Einstellung)."
 
diff --git a/package/gluon-web-admin/i18n/fr.po b/package/gluon-web-admin/i18n/fr.po
index 4e16238d2..dcae406e4 100644
--- a/package/gluon-web-admin/i18n/fr.po
+++ b/package/gluon-web-admin/i18n/fr.po
@@ -21,12 +21,12 @@ msgstr "Paramètres avancés"
 
 msgid ""
 "Alternatively, you can set a password to access your node. Please choose a "
-"secure password you don't use anywhere else.<br /><br />If you set an empty "
+"secure password you don't use anywhere else.<br><br>If you set an empty "
 "password, login via password will be disabled. This is the default."
 msgstr ""
 "Alternativement, vous pouvez mettre un mot de passe pour accéder à votre "
 "nœud, Penseiz à choisir un mot de passe sûr, que vous n'utilisez nulle part "
-"ailleurs. <br /><br /> Si vous n'entrez pas de mot de passe, la connexion "
+"ailleurs. <br><br> Si vous n'entrez pas de mot de passe, la connexion "
 "par mot de passe sera désactivée. La connexion par mot de passe est "
 "désactivée par défaut."
 
diff --git a/package/gluon-web-admin/i18n/gluon-web-admin.pot b/package/gluon-web-admin/i18n/gluon-web-admin.pot
index 084182e54..48c5f2bb7 100644
--- a/package/gluon-web-admin/i18n/gluon-web-admin.pot
+++ b/package/gluon-web-admin/i18n/gluon-web-admin.pot
@@ -12,7 +12,7 @@ msgstr ""
 
 msgid ""
 "Alternatively, you can set a password to access your node. Please choose a "
-"secure password you don't use anywhere else.<br /><br />If you set an empty "
+"secure password you don't use anywhere else.<br><br>If you set an empty "
 "password, login via password will be disabled. This is the default."
 msgstr ""
 
diff --git a/package/gluon-web-admin/luasrc/lib/gluon/config-mode/model/admin/remote.lua b/package/gluon-web-admin/luasrc/lib/gluon/config-mode/model/admin/remote.lua
index 5d614acf9..226969c07 100644
--- a/package/gluon-web-admin/luasrc/lib/gluon/config-mode/model/admin/remote.lua
+++ b/package/gluon-web-admin/luasrc/lib/gluon/config-mode/model/admin/remote.lua
@@ -51,7 +51,7 @@ end
 
 local f_password = Form(translate("Password"), translate(
 	"Alternatively, you can set a password to access your node. Please choose a "
-	.. "secure password you don't use anywhere else.<br /><br />If you set an empty "
+	.. "secure password you don't use anywhere else.<br><br>If you set an empty "
 	.. "password, login via password will be disabled. This is the default."
 	), 'password'
 )
diff --git a/package/gluon-web-mesh-vpn-fastd/files/lib/gluon/config-mode/view/mesh-vpn-fastd.html b/package/gluon-web-mesh-vpn-fastd/files/lib/gluon/config-mode/view/mesh-vpn-fastd.html
index 5bb5f069d..e0ef55dd4 100644
--- a/package/gluon-web-mesh-vpn-fastd/files/lib/gluon/config-mode/view/mesh-vpn-fastd.html
+++ b/package/gluon-web-mesh-vpn-fastd/files/lib/gluon/config-mode/view/mesh-vpn-fastd.html
@@ -1,34 +1,34 @@
 <div class="gluon-value">
   <div class="gluon-value-title">
-    <input data-update="change" type="radio" value="security"<%= attr("id", id..'.1') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "security") and "checked") %> />
+    <input data-update="change" type="radio" value="security"<%= attr("id", id..'.1') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "security") and "checked") %>>
     <label<%= attr("for", id..'.1')%>></label>
   </div>
   <div class="gluon-value-field-long">
     <label<%= attr("for", id..'.1') %> class="gluon-value-title"><%:Security mode%></label>
-    <br />
+    <br>
     <%| translate(
         'In security mode, the mesh VPN uses an encrypted tunnel to connect to the VPN servers. ' ..
         'The encryption ensures that it is impossible for your internet access provider to see what ' ..
         'data is exchanged over your node.'
     ) %>
-    <br />
+    <br>
   </div>
   <div class="gluon-value-field-long-after"></div>
 </div>
 
 <div class="gluon-value gluon-value-last">
   <div class="gluon-value-title">
-    <input data-update="change" type="radio" value="performance"<%= attr("id", id..'.2') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "performance") and "checked") %> />
+    <input data-update="change" type="radio" value="performance"<%= attr("id", id..'.2') .. attr("name", id) .. attr("checked", ((self:cfgvalue() or self.default) == "performance") and "checked") %>>
     <label<%= attr("for", id..'.2')%>></label>
   </div>
   <div class="gluon-value-field-long">
     <label<%= attr("for", id..'.2') %> class="gluon-value-title"><%:Performance mode%></label>
-    <br />
+    <br>
     <%| translate(
         'In performance mode, no encryption is used. This usually allows for higher throughput, but the data exchanged over your node is not ' ..
         'protected against eavesdropping.'
     ) %>
-    <br />
+    <br>
   </div>
   <div class="gluon-value-field-long-after"></div>
 </div>
diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/dynlist.html b/package/gluon-web-model/files/lib/gluon/web/view/model/dynlist.html
index b0cd9d0ab..bbc65734f 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/dynlist.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/dynlist.html
@@ -15,6 +15,6 @@
 		attr("name", id) ..
 		attr("size", self.size) ..
 		attr("placeholder", self.placeholder)
-	%> /><br />
+	%>><br>
 <% end %>
 </div>
diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/form.html b/package/gluon-web-model/files/lib/gluon/web/view/model/form.html
index d222dde2c..6b35fe89a 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/form.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/form.html
@@ -1,5 +1,5 @@
 <form method="post" enctype="multipart/form-data" action="<%|url(request)%>" data-update="reset">
-	<input type="hidden" name="<%=id%>" value="1" />
+	<input type="hidden" name="<%=id%>" value="1">
 
 	<div class="gluon-form" id="form-<%=id%>">
 		<% if self.title and #self.title > 0 then %><h2 name="content"><%|self.title%></h2><% end %>
@@ -16,12 +16,12 @@
 	<%- if self.submit ~= false then %>
 		<input class="gluon-button gluon-button-submit" type="submit" value="
 			<%- if not self.submit then -%><%-:Save-%><%-else-%><%|self.submit%><%end-%>
-		" />
+		">
 	<% end %>
 	<%- if self.reset ~= false then %>
 		<input class="gluon-button gluon-button-reset" type="reset" value="
 			<%- if not self.reset then -%><%-:Reset-%><%-else-%><%|self.reset%><%end-%>
-		" />
+		">
 	<% end %>
 	</div>
 </form>
diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/fvalue.html b/package/gluon-web-model/files/lib/gluon/web/view/model/fvalue.html
index 5662df99d..a244bb024 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/fvalue.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/fvalue.html
@@ -1,5 +1,5 @@
 <input data-update="click change" type="checkbox" value="1"<%=
 	attr("id", id) .. attr("name", id) ..
 	attr("checked", self:cfgvalue() and "checked")
-%> />
+%>>
 <label<%= attr("for", id)%>></label>
diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/lvalue.html b/package/gluon-web-model/files/lib/gluon/web/view/model/lvalue.html
index e63d33eea..b01109047 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/lvalue.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/lvalue.html
@@ -1,5 +1,5 @@
 <%
-	local br = self.orientation == "horizontal" and '&#160;&#160;&#160;' or '<br />'
+	local br = self.orientation == "horizontal" and '&#160;&#160;&#160;' or '<br>'
 	local entries = self:entries()
 %>
 
@@ -35,7 +35,7 @@
 					attr("name", id) ..
 					attr("value", entry.key) ..
 					attr("checked", (self:cfgvalue() == entry.key) and "checked")
-				%> />
+				%>>
 				<label<%= attr("for", id.."."..entry.key)%>></label>
 				<%|entry.value%>
 			</label>
diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/value.html b/package/gluon-web-model/files/lib/gluon/web/view/model/value.html
index fc8b8de6b..250c8ce00 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/value.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/value.html
@@ -8,4 +8,4 @@
 	attr("maxlength", self.maxlength) ..
 	attr("data-type", self.datatype) ..
 	attr("data-optional", self.datatype and self.optional)
-%> />
+%>>
diff --git a/package/gluon-web-model/files/lib/gluon/web/view/model/valuewrapper.html b/package/gluon-web-model/files/lib/gluon/web/view/model/valuewrapper.html
index 1a1a63d15..b4a331e59 100644
--- a/package/gluon-web-model/files/lib/gluon/web/view/model/valuewrapper.html
+++ b/package/gluon-web-model/files/lib/gluon/web/view/model/valuewrapper.html
@@ -7,7 +7,7 @@
 	<%- end -%>
 	<% if self.subtemplate then include(self.subtemplate) end %>
 	<% if self.description and #self.description > 0 then -%>
-		<br />
+		<br>
 		<div class="gluon-value-description">
 			<%=self.description%>
 		</div>
diff --git a/package/gluon-web-wifi-config/i18n/de.po b/package/gluon-web-wifi-config/i18n/de.po
index d2ddeb8b1..f0883ad6f 100644
--- a/package/gluon-web-wifi-config/i18n/de.po
+++ b/package/gluon-web-wifi-config/i18n/de.po
@@ -56,15 +56,15 @@ msgstr "WLAN"
 msgid ""
 "You can enable or disable your node's client and mesh network SSIDs here. "
 "Please don't disable the mesh network without a good reason, so other nodes "
-"can mesh with yours.<br /><br />It is also possible to configure the WLAN "
+"can mesh with yours.<br><br>It is also possible to configure the WLAN "
 "adapters transmission power here. Please note that the transmission power "
 "values include the antenna gain where available, but there are many devices "
 "for which the gain is unavailable or inaccurate."
 msgstr ""
 "In diesem Abschnitt hast du die Möglichkeit, die SSIDs des Client- und des "
 "Mesh-Netzes zu aktivieren bzw. deaktivieren. Bitte lass die SSID des Mesh-"
-"Netzes aktiviert, damit sich andere Knoten mit deinem verbinden können.<br /"
-"><br />Außerdem kann hier die Sendeleistung des WLAN-Adapters konfiguriert "
+"Netzes aktiviert, damit sich andere Knoten mit deinem verbinden können.<br"
+"><br>Außerdem kann hier die Sendeleistung des WLAN-Adapters konfiguriert "
 "werden. Wenn möglich, ist in den Werten der Sendeleistung der Antennengewinn "
 "enthalten; diese Werte sind allerdings für viele Geräte nicht verfügbar oder "
 "fehlerhaft."
diff --git a/package/gluon-web-wifi-config/i18n/fr.po b/package/gluon-web-wifi-config/i18n/fr.po
index faf6d47d8..eb09694f4 100644
--- a/package/gluon-web-wifi-config/i18n/fr.po
+++ b/package/gluon-web-wifi-config/i18n/fr.po
@@ -51,14 +51,14 @@ msgstr "Wi-Fi"
 msgid ""
 "You can enable or disable your node's client and mesh network SSIDs here. "
 "Please don't disable the mesh network without a good reason, so other nodes "
-"can mesh with yours.<br /><br />It is also possible to configure the WLAN "
+"can mesh with yours.<br><br>It is also possible to configure the WLAN "
 "adapters transmission power here. Please note that the transmission power "
 "values include the antenna gain where available, but there are many devices "
 "for which the gain is unavailable or inaccurate."
 msgstr ""
 "Ici vous pouvez activer ou désactiver la SSID du client ou MESH. Pensez a "
 "laisser la SSID du MESH activée pour que les autres nœuds puissent se "
-"connecter. <br /><br />Ici vous pouvez aussi configurer la puissance "
+"connecter. <br><br>Ici vous pouvez aussi configurer la puissance "
 "d'émmission se votre Wi-Fi. Prenez note que les valeurs fournies pour la "
 "puissance de transmission prennent en compte les gains fournis par "
 "l'antenne, et que ces valeurs ne sont pas toujours disponibles ou exactes."
diff --git a/package/gluon-web-wifi-config/i18n/gluon-web-wifi-config.pot b/package/gluon-web-wifi-config/i18n/gluon-web-wifi-config.pot
index 19536e305..2af9b5f3a 100644
--- a/package/gluon-web-wifi-config/i18n/gluon-web-wifi-config.pot
+++ b/package/gluon-web-wifi-config/i18n/gluon-web-wifi-config.pot
@@ -42,7 +42,7 @@ msgstr ""
 msgid ""
 "You can enable or disable your node's client and mesh network SSIDs here. "
 "Please don't disable the mesh network without a good reason, so other nodes "
-"can mesh with yours.<br /><br />It is also possible to configure the WLAN "
+"can mesh with yours.<br><br>It is also possible to configure the WLAN "
 "adapters transmission power here. Please note that the transmission power "
 "values include the antenna gain where available, but there are many devices "
 "for which the gain is unavailable or inaccurate."
diff --git a/package/gluon-web-wifi-config/luasrc/lib/gluon/config-mode/model/admin/wifi-config.lua b/package/gluon-web-wifi-config/luasrc/lib/gluon/config-mode/model/admin/wifi-config.lua
index 13ac64346..49009eaf4 100644
--- a/package/gluon-web-wifi-config/luasrc/lib/gluon/config-mode/model/admin/wifi-config.lua
+++ b/package/gluon-web-wifi-config/luasrc/lib/gluon/config-mode/model/admin/wifi-config.lua
@@ -29,7 +29,7 @@ local f = Form(translate("WLAN"))
 f:section(Section, nil, translate(
 	"You can enable or disable your node's client and mesh network "
 	.. "SSIDs here. Please don't disable the mesh network without "
-	.. "a good reason, so other nodes can mesh with yours.<br /><br />"
+	.. "a good reason, so other nodes can mesh with yours.<br><br>"
 	.. "It is also possible to configure the WLAN adapters transmission power "
 	.. "here. Please note that the transmission power values include the antenna gain "
 	.. "where available, but there are many devices for which the gain is unavailable or inaccurate."
-- 
GitLab