Просмотр исходного кода

Ignore cache on GIT hash change (new commit or release) (#1787)

* Add hash to all html, css, and js URLs

* Update build.yaml

* Update build.yaml

* .

* .

Co-authored-by: CaCO3 <caco@ruinelli.ch>
CaCO3 3 лет назад
Родитель
Сommit
798f1423c3

+ 8 - 4
.github/workflows/build.yaml

@@ -58,6 +58,10 @@ jobs:
       #run: echo "Testing... ${{ github.ref_name }}, ${{ steps.vars.outputs.sha_short }}" > ./sd-card/html/version.txt; mkdir -p ./code/.pio/build/esp32cam/; cd ./code/.pio/build/esp32cam/; echo "${{ steps.vars.outputs.sha_short }}" > firmware.bin; cp firmware.bin partitions.bin; cp firmware.bin bootloader.bin # Testing
       run: cd code; platformio run --environment esp32cam
 
+    - name: Set Hash in all Web UI files
+      run: cd sd-card/html; find . -type f -exec sed -i 's/$COMMIT_HASH/${{ steps.vars.outputs.sha_short }}/g' {} \;
+
+
     - name: Store generated files in cache
       uses: actions/cache@v3
       with:
@@ -65,7 +69,7 @@ jobs:
           ./code/.pio/build/esp32cam/firmware.bin
           ./code/.pio/build/esp32cam/partitions.bin
           ./code/.pio/build/esp32cam/bootloader.bin
-          ./sd-card/html/version.txt
+          ./sd-card/html/*
         key: ${{ github.run_number }}
 
 
@@ -91,7 +95,7 @@ jobs:
           ./code/.pio/build/esp32cam/firmware.bin
           ./code/.pio/build/esp32cam/partitions.bin
           ./code/.pio/build/esp32cam/bootloader.bin
-          ./sd-card/html/version.txt
+          ./sd-card/html/*
         key: ${{ github.run_number }}
 
     - name: Set Variables
@@ -149,7 +153,7 @@ jobs:
           ./code/.pio/build/esp32cam/firmware.bin
           ./code/.pio/build/esp32cam/partitions.bin
           ./code/.pio/build/esp32cam/bootloader.bin
-          ./sd-card/html/version.txt
+          ./sd-card/html/*
         key: ${{ github.run_number }}
 
     - name: Set Variables
@@ -202,7 +206,7 @@ jobs:
           ./code/.pio/build/esp32cam/firmware.bin
           ./code/.pio/build/esp32cam/partitions.bin
           ./code/.pio/build/esp32cam/bootloader.bin
-          ./sd-card/html/version.txt
+          ./sd-card/html/*
         key: ${{ github.run_number }}
 
     - name: Set Variables

+ 4 - 4
sd-card/html/backup.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Backup/Restore Configuration</title>
 <meta charset="utf-8">
 
@@ -40,9 +40,9 @@ input[type=number] {
 </body>
 
 
-<script type="text/javascript" src="common.js"></script>
-<script type="text/javascript" src="jszip.min.js"></script>
-<script type="text/javascript" src="FileSaver.min.js"></script>
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="jszip.min.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="FileSaver.min.js?v=$COMMIT_HASH"></script>
 <script>
 
 function startBackup() {  

+ 3 - 3
sd-card/html/data.html

@@ -30,7 +30,7 @@
                 font-size: small;
             }
         </style>
-        <script type="text/javascript" src="common.js"></script> 
+        <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
     </head>
     <body>
         <div class="box">
@@ -38,14 +38,14 @@
                 <button onClick="reload();">Reload</button>
                 <button onClick="window.open(getDomainname() + '/datafileact');">Show full data</button>
                 <button onClick="window.location.href = getDomainname() + '/fileserver/log/data/'">Show older data files</button>
-                <button onClick="window.location.href = 'graph.html'">Show graph</button>
+                <button onClick="window.location.href = 'graph.html?v=$COMMIT_HASH'">Show graph</button>
             </div>
             <div class="row content" id="data"><br><br><br><b>Loading Data file, please wait...</b></div>
             <div class="row footer">
                 <button onClick="reload();">Reload</button>
                 <button onClick="window.open(getDomainname() + '/datafileact');">Show full data</button>
                 <button onClick="window.location.href = getDomainname() + '/fileserver/log/data/'">Show older data files</button>
-                <button onClick="window.location.href = 'graph.html'">Show graph</button>
+                <button onClick="window.location.href = 'graph.html?v=$COMMIT_HASH'">Show graph</button>
             </div>
           </div>
     </body>

+ 7 - 7
sd-card/html/edit_alignment.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Make Alignment</title>
 <meta charset="utf-8"/>
 	
@@ -41,9 +41,9 @@ select {
 	font-size: 16px;
 }
 </style>	
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -95,9 +95,9 @@ select {
 	  </tr>  
 	</table>
 
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfigcommon.js"></script>
-<script type="text/javascript" src="readconfigparam.js"></script>  
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
 
 <script language="JavaScript">
         var canvas = document.getElementById('canvas'),

+ 7 - 7
sd-card/html/edit_analog.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <meta charset="utf-8"/>
 <title>Make Analog Alignment</title>
 
@@ -60,9 +60,9 @@ th, td {
     opacity: 0.4;
 }
 </style>
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -142,9 +142,9 @@ th, td {
     </table>	
 
 
-    <script type="text/javascript" src="common.js"></script> 
-    <script type="text/javascript" src="readconfigcommon.js"></script>
-    <script type="text/javascript" src="readconfigparam.js"></script>  
+    <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+    <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
+    <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
     
 <script language="JavaScript">
         var canvas = document.getElementById('canvas'),

+ 3 - 3
sd-card/html/edit_check.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <meta charset="utf-8"/>
 <title>Check</title>
 
@@ -50,8 +50,8 @@ p {font-size: 1em;}
     </tr>
 </table>
 
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfig.js"></script>  
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfig.js?v=$COMMIT_HASH"></script>  
  
 <script type="text/javascript">
     var domainname = getDomainname();

+ 6 - 6
sd-card/html/edit_config.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Edit Config</title>
 <meta charset="utf-8">
 
@@ -21,9 +21,9 @@ textarea {
 	font-size: 14px;
 }
 </style>
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -43,8 +43,8 @@ textarea {
 	</tr>
 </table>
 
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfigcommon.js"></script>  
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>  
  
 <script type="text/javascript">
 	var canvas = document.getElementById('canvas'),

+ 9 - 9
sd-card/html/edit_config_param.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Edit Config</title>
 <meta charset="utf-8">
 
@@ -72,9 +72,9 @@ textarea {
 }
 
 </style>
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -1368,7 +1368,7 @@ textarea {
 			</td>
 			<td class="description">
 				Time zone in POSIX syntax (Europe/Berlin = "CET-1CEST,M3.5.0,M10.5.0/3" - incl. daylight saving)<br>
-				Use this <a href=timezones.html target=_blank>table</a> to find the settings for your region. 
+				Use this <a href=timezones.html?v=$COMMIT_HASH target=_blank>table</a> to find the settings for your region. 
 			</td>
 		</tr>
 		<tr class="expert"  id="ex16">
@@ -1429,9 +1429,9 @@ textarea {
 
 </div>
 
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfigcommon.js"></script>  
-<script type="text/javascript" src="readconfigparam.js"></script>  
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
  
 <script type="text/javascript">
 	var canvas = document.getElementById('canvas'),
@@ -2083,7 +2083,7 @@ function doReboot() {
 
 function editConfigDirect() {
 	if (confirm("Did you save your changes?")) {
-		var stringota = getDomainname() + "/edit_config.html";
+		var stringota = getDomainname() + "/edit_config.html?v=$COMMIT_HASH";
 		window.location = stringota;
 		window.location.href = stringota;
 		window.location.assign(stringota);

+ 8 - 8
sd-card/html/edit_digits.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <meta charset="utf-8"/>
 <title>Make Digital Alignment</title>
 
@@ -51,9 +51,9 @@ th, td {
   padding: 5px 5px 5px 0px;
 }
 </style>
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -133,11 +133,11 @@ th, td {
 	  </tr>  
 	</table>
 
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfigcommon.js"></script>
-<script type="text/javascript" src="readconfigparam.js"></script>  
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
 
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
 
 <script language="JavaScript">
         var canvas = document.getElementById('canvas'),

+ 1 - 1
sd-card/html/edit_explain_0.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 7 - 7
sd-card/html/edit_explain_6.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -21,9 +21,9 @@ p {font-size: 1em;}
 
 
 </style>
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial">
@@ -44,9 +44,9 @@ p {font-size: 1em;}
         <button class="button" onclick="reboot()">Leave Setup Modus and Reboot to Normal modus</button>
     </p>
 
-    <script type="text/javascript" src="common.js"></script> 
-    <script type="text/javascript" src="readconfigparam.js"></script> 
-    <script type="text/javascript" src="readconfigcommon.js"></script> 
+    <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+    <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script> 
+    <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script> 
 
     <script type="text/javascript">
         var canvas = document.getElementById('canvas'),

+ 7 - 7
sd-card/html/edit_reference.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Make Reference</title>
 <meta charset="utf-8"/>
 	
@@ -30,9 +30,9 @@ table {
 	padding: 5px;
 }
 </style>
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -95,9 +95,9 @@ table {
 	</table>
 
 
-    <script type="text/javascript" src="common.js"></script> 
-    <script type="text/javascript" src="readconfigcommon.js"></script>  
-    <script type="text/javascript" src="readconfigparam.js"></script>  
+    <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+    <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>  
+    <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
     
     
 

+ 1 - 1
sd-card/html/explain_1.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 1 - 1
sd-card/html/explain_2.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 1 - 1
sd-card/html/explain_3.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 1 - 1
sd-card/html/explain_4.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 1 - 1
sd-card/html/explain_5.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 1 - 1
sd-card/html/explain_6.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">

+ 4 - 4
sd-card/html/file_server.html

@@ -1,8 +1,8 @@
 <html>
     <head>
-        <link href="/fileserver/html/firework.css" rel="stylesheet">
-        <script type="text/javascript" src="/fileserver/html/jquery-3.6.0.min.js"></script>  
-        <script type="text/javascript" src="/fileserver/html/firework.js"></script>
+        <link href="/firework.css?v=$COMMIT_HASH" rel="stylesheet">
+        <script type="text/javascript" src="/jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+        <script type="text/javascript" src="/firework.js?v=$COMMIT_HASH"></script>
         <style>
             #files_table {
                 font-family: Arial, Helvetica, sans-serif;
@@ -67,7 +67,7 @@
     </tr>
 </table>
 
-<script type="text/javascript" src="/fileserver/html/common.js"> 
+<script type="text/javascript" src="/common.js?v=$COMMIT_HASH"> 
 </script>            
 <script language="JavaScript">
 function setpath() {

+ 7 - 7
sd-card/html/graph.html

@@ -1,10 +1,10 @@
 <html>
     <head>
-    <script type="text/javascript" src='https://cdn.plot.ly/plotly-2.14.0.min.js'></script>
+    <script type="text/javascript" src='https://cdn.plot.ly/plotly-2.14.0.min.js?v=$COMMIT_HASH'></script>
 
-    <script type="text/javascript" src="common.js"></script> 
-    <script type="text/javascript" src="readconfigcommon.js"></script>  
-    <script type="text/javascript" src="readconfigparam.js"></script>  
+    <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+    <script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>  
+    <script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
 
     <style>
         textarea {
@@ -18,9 +18,9 @@
       el && eval(el.value);
     }
     </script>
-    <link href="firework.css" rel="stylesheet">
-    <script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-    <script type="text/javascript" src="firework.js"></script>
+    <link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+    <script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+    <script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
     </head>
     <body>
     <div id='chart'></div>

+ 25 - 25
sd-card/html/index.html

@@ -1,19 +1,19 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
-<link rel="stylesheet" href="style.css" type="text/css" >
+<link rel="stylesheet" href="style.css?v=$COMMIT_HASH" type="text/css" >
 
-<script type="text/javascript" src="common.js"></script>
-<script type="text/javascript" src="readconfigcommon.js"></script>
-<script type="text/javascript" src="readconfigparam.js"></script>
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>
 
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
-<script type="text/javascript" src="common.js"></script>
-<script type="text/javascript" src="firework.js"></script>
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 
 <script>
     async function loadPage(page) {
@@ -55,7 +55,7 @@
 <div class="main">
 
 <table style="border: none">
-  <tr><td style="padding-right: 10px;"><img src="favicon.ico"></td>
+  <tr><td style="padding-right: 10px;"><img src="favicon.ico?v=$COMMIT_HASH"></td>
     <td><h1 id="id_title"> Digitizer - AI on the edge</h1>
         <h2>An ESP32 all inclusive neural network recognition system for meter digitalization</h2>
     </td></tr>
@@ -63,36 +63,36 @@
 
 <div class="menu" onmouseover="resetMenu()">
   <ul>
-    <li><a href="#" onclick="loadPage('overview.html');">Overview</a></li>
+    <li><a href="#" onclick="loadPage('overview.html?v=$COMMIT_HASH');">Overview</a></li>
     <li><a>Settings <i class="arrow down"></i></a>
       <ul class="submenu">
-        <li><a href="#" onclick="loadPage('prevalue_set.html');">Set Previous Value</a></li>
-        <li><a href="#" onclick="loadPage('edit_config_param.html');">Configuration</a></li>
+        <li><a href="#" onclick="loadPage('prevalue_set.html?v=$COMMIT_HASH');">Set Previous Value</a></li>
+        <li><a href="#" onclick="loadPage('edit_config_param.html?v=$COMMIT_HASH');">Configuration</a></li>
         <li><a>Alignment <i class="arrow right"></i></a>
             <ul>
-                <li><a href="#" onclick="loadPage('edit_reference.html');">Reference Image</a></li>
-                <li><a href="#" onclick="loadPage('edit_alignment.html');">Alignment Marks</a></li>
+                <li><a href="#" onclick="loadPage('edit_reference.html?v=$COMMIT_HASH');">Reference Image</a></li>
+                <li><a href="#" onclick="loadPage('edit_alignment.html?v=$COMMIT_HASH');">Alignment Marks</a></li>
             </ul>
         </li>
         <li><a><strong>R</strong>egions <strong>O</strong>f <strong>I</strong>nterest <i class="arrow right"></i></a>
             <ul>
-                <li><a href="#" onclick="loadPage('edit_digits.html');">Digital ROIs</a></li>
-                <li><a href="#" onclick="loadPage('edit_analog.html');">Analog ROIs</a></li>
+                <li><a href="#" onclick="loadPage('edit_digits.html?v=$COMMIT_HASH');">Digital ROIs</a></li>
+                <li><a href="#" onclick="loadPage('edit_analog.html?v=$COMMIT_HASH');">Analog ROIs</a></li>
             </ul>
         </li>
       </ul>
 
     <li><a href="#" onclick="loadPage(getDomainname() + '/value?full');">Recognition</a></li>
-    <li><a href="#" onclick="loadPage('graph.html');">Data Graph</a></li>
+    <li><a href="#" onclick="loadPage('graph.html?v=$COMMIT_HASH');">Data Graph</a></li>
     <li><a href="#" onclick="loadPage(getDomainname() + '/fileserver/');">File Server</a></li>
     <li><a>System <i class="arrow down"></i></a>
         <ul class="submenu">
-            <li><a href="#" onclick="loadPage('backup.html');">Backup/Restore</a></li>
-            <li><a href="#" onclick="loadPage('ota_page.html');">OTA Update</a></li>
-            <li><a href="#" onclick="loadPage('log.html');">Log Viewer</a></li>
-            <li><a href="#" onclick="loadPage('data.html');">Data Viewer</a></li>
-            <li><a href="#" onclick="loadPage('reboot_page.html');">Reboot</a></li>
-            <li><a href="#" onclick="loadPage('info.html');">Info</a></li>
+            <li><a href="#" onclick="loadPage('backup.html?v=$COMMIT_HASH');">Backup/Restore</a></li>
+            <li><a href="#" onclick="loadPage('ota_page.html?v=$COMMIT_HASH');">OTA Update</a></li>
+            <li><a href="#" onclick="loadPage('log.html?v=$COMMIT_HASH');">Log Viewer</a></li>
+            <li><a href="#" onclick="loadPage('data.html?v=$COMMIT_HASH');">Data Viewer</a></li>
+            <li><a href="#" onclick="loadPage('reboot_page.html?v=$COMMIT_HASH');">Reboot</a></li>
+            <li><a href="#" onclick="loadPage('info.html?v=$COMMIT_HASH');">Info</a></li>
         </ul>
     </li>
   </ul>
@@ -107,8 +107,8 @@
   LoadFwVersion();
   LoadWebUiVersion();
 
-  if (getCookie("page") == "" || getCookie("page") == "reboot_page.html") {
-    document.cookie = "page=overview.html" + "; path=/";
+  if (getCookie("page") == "" || getCookie("page") == "reboot_page.html?v=$COMMIT_HASH") {
+    document.cookie = "page=overview.html?v=$COMMIT_HASH" + "; path=/";
   }
   console.log("Loading page: " + getCookie("page"));
   document.getElementById('maincontent').src = getCookie("page");

+ 1 - 1
sd-card/html/info.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Info</title>
 <meta charset="utf-8">
 

+ 1 - 1
sd-card/html/log.html

@@ -30,7 +30,7 @@
                 font-size: small;
             }
         </style>
-        <script type="text/javascript" src="common.js"></script> 
+        <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
     </head>
     <body>
         <div class="box">

+ 8 - 8
sd-card/html/ota_page.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-    <link rel="icon" href="favicon.ico" type="image/x-icon">
+    <link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
     <title>OTA Update</title>
     <meta charset="utf-8">
 
@@ -26,10 +26,10 @@
         }
     </style>
 
-    <link href="firework.css" rel="stylesheet">
-    <script type="text/javascript" src="jquery-3.6.0.min.js"></script>
-    <script type="text/javascript" src="common.js"></script>
-    <script type="text/javascript" src="firework.js"></script>
+    <link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+    <script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
+    <script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script>
+    <script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">
@@ -183,7 +183,7 @@
             xhttp.onreadystatechange = function() {
                 if (xhttp.readyState == 4) {
                     if (xhttp.status == 200) {
-                        document.cookie = "page=overview.html" + "; path=/"; // Make sure after the reboot we go to the overview page
+                        document.cookie = "page=overview.html?v=$COMMIT_HASH" + "; path=/"; // Make sure after the reboot we go to the overview page
 
                         if (xhttp.responseText.startsWith("reboot")) { // Reboot required
                             console.log("Upload completed, the device will now restart and install the update!");
@@ -201,8 +201,8 @@
 
                                 if (action_runtime > 10) { // After 10 seconds, start to check if we are up again
                                     /* Check if the device is up again and forward to index page if so */
-                                    fetch('reboot_page.html?' + Math.random(), {mode: 'no-cors'}).then(
-                                        r=>{parent.location.href=('index.html');}
+                                    fetch('reboot_page.html?v=$COMMIT_HASH&' + Math.random(), {mode: 'no-cors'}).then(
+                                        r=>{parent.location.href=('index.html?v=$COMMIT_HASH');}
                                     )
                                 }
 

+ 11 - 11
sd-card/html/overview.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Overview</title>
 <meta charset="utf-8">
 
@@ -68,9 +68,9 @@
 </table>
 
 
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfigcommon.js"></script> 
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script> 
 <script type="text/javascript">
 
 	function addZero(i) {
@@ -106,8 +106,8 @@
 		var h = addZero(d.getHours());
 		var m = addZero(d.getMinutes());
 		var s = addZero(d.getSeconds());
-		$('#img').html('<img src=' + getDomainname() + '/img_tmp/alg_roi.jpg?timestamp='+ timestamp +'" max-height:555px; display:block; margin-left:auto;  margin-right:auto;"></img>');
-		$('#timestamp').html("Last Page Refresh:" + (h + ":" + m + ":" + s));
+		$('#img').html?v=$COMMIT_HASH('<img src=' + getDomainname() + '/img_tmp/alg_roi.jpg?timestamp='+ timestamp +'" max-height:555px; display:block; margin-left:auto;  margin-right:auto;"></img>');
+		$('#timestamp').html?v=$COMMIT_HASH("Last Page Refresh:" + (h + ":" + m + ":" + s));
 	}
 
 
@@ -126,7 +126,7 @@
 		xhttp.onreadystatechange = function() {
 			if (this.readyState == 4 && this.status == 200) {
 				var _rsp = xhttp.responseText;
-				$('#statusflow').html("Status: " + _rsp);
+				$('#statusflow').html?v=$COMMIT_HASH("Status: " + _rsp);
 			}
 		}
 		xhttp.open("GET", url, true);
@@ -140,7 +140,7 @@
 		xhttp.onreadystatechange = function() {
 			if (this.readyState == 4 && this.status == 200) {
 				var _rsp = xhttp.responseText;
-				$('#cputemp').html("CPU Temperature: " +_rsp);
+				$('#cputemp').html?v=$COMMIT_HASH("CPU Temperature: " +_rsp);
 			}
 		}
 		xhttp.open("GET", url, true);
@@ -154,7 +154,7 @@
 		xhttp.onreadystatechange = function() {
 			if (this.readyState == 4 && this.status == 200) {
 				var _rsp = xhttp.responseText;
-				$('#rssi').html("RSSI: " + _rsp);
+				$('#rssi').html?v=$COMMIT_HASH("RSSI: " + _rsp);
 			}
 		}
 		xhttp.open("GET", url, true);
@@ -168,7 +168,7 @@
 		xhttp.onreadystatechange = function() {
 			if (this.readyState == 4 && this.status == 200) {
 				var _rsp = xhttp.responseText;
-				$('#uptime').html("Uptime: " + _rsp);
+				$('#uptime').html?v=$COMMIT_HASH("Uptime: " + _rsp);
 			}
 		}
 		xhttp.open("GET", url, true);
@@ -182,7 +182,7 @@
 		xhttp.onreadystatechange = function() {
 			if (this.readyState == 4 && this.status == 200) {
 				var _rsp = xhttp.responseText;
-				$('#round').html("(Round: " + _rsp + ")");
+				$('#round').html?v=$COMMIT_HASH("(Round: " + _rsp + ")");
 			}
 		}
 		xhttp.open("GET", url, true);

+ 7 - 7
sd-card/html/prevalue_set.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Set PreValue</title>
 <meta charset="utf-8">
 	
@@ -68,13 +68,13 @@ input[type=number] {
 
 </body></html>
 
-<link href="firework.css" rel="stylesheet">
-<script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-<script type="text/javascript" src="firework.js"></script>
+<link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+<script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
 
-<script type="text/javascript" src="common.js"></script> 
-<script type="text/javascript" src="readconfigcommon.js"></script>  
-<script type="text/javascript" src="readconfigparam.js"></script>  
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
+<script type="text/javascript" src="readconfigcommon.js?v=$COMMIT_HASH"></script>  
+<script type="text/javascript" src="readconfigparam.js?v=$COMMIT_HASH"></script>  
 
 <script type="text/javascript">
  	var domainname = getDomainname(); 

+ 2 - 2
sd-card/html/reboot_page.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>Reboot</title>
 <meta charset="utf-8">
 
@@ -18,7 +18,7 @@ p {font-size: 1em;}
 }
 </style>
 
-<script type="text/javascript" src="common.js"></script> 
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
 </head>
 
 <body style="font-family: arial; padding: 0px 10px;">

+ 16 - 16
sd-card/html/setup.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html style="width: fit-content">
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <title>AI on the edge</title>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -29,7 +29,7 @@ p {font-size: 1em;}
 <body style="font-family: arial">
 
 <table style="border: none">
-  <tr><td style="padding-right: 10px;"><img src="favicon.ico"></td>
+  <tr><td style="padding-right: 10px;"><img src="favicon.ico?v=$COMMIT_HASH"></td>
     <td><h1 id="id_title"> Digitizer - Initial Setup</h1>
         <h2>An ESP32 all inclusive neural network recognition system for meter digitalization</h2>
     </td></tr>
@@ -58,7 +58,7 @@ p {font-size: 1em;}
 
  
 
-<script type="text/javascript" src="common.js"></script> 
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
 <script type="text/javascript">
 	var canvas = document.getElementById('canvas'),
 		domainname = getDomainname(); 
@@ -83,53 +83,53 @@ function clickPrevious() {
 function LoadStep(){
    switch (aktstatu) {
       case 0:
-         document.getElementById('maincontent').src = '/edit_explain_0.html';
+         document.getElementById('maincontent').src = '/edit_explain_0.html?v=$COMMIT_HASH';
          document.getElementById('h_iframe_explain').style.display = "none";  
          document.getElementById("previous").disabled = true;
          document.getElementById("next").disabled = false;
          break;
       case 1:
-         document.getElementById('maincontent').src = '/edit_reference.html';
-         document.getElementById('explaincontent').src = '/explain_1.html';
+         document.getElementById('maincontent').src = '/edit_reference.html?v=$COMMIT_HASH';
+         document.getElementById('explaincontent').src = '/explain_1.html?v=$COMMIT_HASH';
          document.getElementById('h_iframe_explain').style.display = "";  
          document.getElementById("previous").disabled = false;
          document.getElementById("next").disabled = false;
          break;
       case 2:
-         document.getElementById('maincontent').src = '/edit_alignment.html';
-         document.getElementById('explaincontent').src = '/explain_2.html';
+         document.getElementById('maincontent').src = '/edit_alignment.html?v=$COMMIT_HASH';
+         document.getElementById('explaincontent').src = '/explain_2.html?v=$COMMIT_HASH';
          document.getElementById('h_iframe_explain').style.display = "";           
          document.getElementById("previous").disabled = false;
          document.getElementById("next").disabled = false;
 
          break;
       case 3:
-         document.getElementById('maincontent').src = '/edit_digits.html';
-         document.getElementById('explaincontent').src = '/explain_3.html';         
+         document.getElementById('maincontent').src = '/edit_digits.html?v=$COMMIT_HASH';
+         document.getElementById('explaincontent').src = '/explain_3.html?v=$COMMIT_HASH';         
          document.getElementById('h_iframe_explain').style.display = "";           
          document.getElementById("previous").disabled = false;
          document.getElementById("next").disabled = false;
 
          break;
       case 4:
-         document.getElementById('maincontent').src = '/edit_analog.html';
-         document.getElementById('explaincontent').src = '/explain_4.html';   
+         document.getElementById('maincontent').src = '/edit_analog.html?v=$COMMIT_HASH';
+         document.getElementById('explaincontent').src = '/explain_4.html?v=$COMMIT_HASH';   
          document.getElementById('h_iframe_explain').style.display = "";           
          document.getElementById("previous").disabled = false;
          document.getElementById("next").disabled = false;
 
          break;
       case 5:
-         document.getElementById('maincontent').src = '/edit_config_param.html?InitialSetup=true';
-         document.getElementById('explaincontent').src = '/explain_5.html';            
+         document.getElementById('maincontent').src = '/edit_config_param.html?v=$COMMIT_HASH?InitialSetup=true';
+         document.getElementById('explaincontent').src = '/explain_5.html?v=$COMMIT_HASH';            
          document.getElementById('h_iframe_explain').style.display = "";           
          document.getElementById("previous").disabled = false;
          document.getElementById("next").disabled = false;
 
          break; 
       case 6:
-         document.getElementById('maincontent').src = '/edit_explain_6.html';
-         document.getElementById('explaincontent').src = '/explain_6.html';            
+         document.getElementById('maincontent').src = '/edit_explain_6.html?v=$COMMIT_HASH';
+         document.getElementById('explaincontent').src = '/explain_6.html?v=$COMMIT_HASH';            
          document.getElementById('h_iframe_explain').style.display = "none";  
          document.getElementById("previous").disabled = false;
          document.getElementById("next").disabled = true;

+ 2 - 2
sd-card/html/test.html

@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<link rel="icon" href="favicon.ico" type="image/x-icon">
+<link rel="icon" href="favicon.ico?v=$COMMIT_HASH" type="image/x-icon">
 <meta charset="utf-8">
 </head>
 
@@ -10,7 +10,7 @@
   <div id="value"></div>
 </html>
 
-<script type="text/javascript" src="common.js"></script> 
+<script type="text/javascript" src="common.js?v=$COMMIT_HASH"></script> 
 
 <script type="text/javascript">
 	var domainname = getDomainname(); 

+ 4 - 4
sd-card/html/wlan_config.html

@@ -1,8 +1,8 @@
 <html>
     <head>
-        <link href="firework.css" rel="stylesheet">
-        <script type="text/javascript" src="jquery-3.6.0.min.js"></script>  
-        <script type="text/javascript" src="firework.js"></script>
+        <link href="firework.css?v=$COMMIT_HASH" rel="stylesheet">
+        <script type="text/javascript" src="jquery-3.6.0.min.js?v=$COMMIT_HASH"></script>  
+        <script type="text/javascript" src="firework.js?v=$COMMIT_HASH"></script>
     </head>
 <body>
     <table>
@@ -59,7 +59,7 @@ if (!file.name.includes("remote-setup")){
                     document.getElementById("status").innerText = "Status: Update completed!";
                     document.getElementById("doUpdate").disabled = true;
                     document.getElementById("newfile").disabled = false;
-                    document.cookie = "page=overview.html" + "; path=/"; // Make sure after the reboot we go to the overview page
+                    document.cookie = "page=overview.html?v=$COMMIT_HASH" + "; path=/"; // Make sure after the reboot we go to the overview page
     
                     if (xhttp.responseText.startsWith("reboot"))
                     {