@@ -245,60 +245,66 @@ static const char* const backupIndex =
245
245
" <input type='button' onclick=\" window.location.href='/settings/backup.json'\" class=btn value='Download' />"
246
246
" <h3>Restore</h3>" ;
247
247
248
- static const char * const updateSdIndex = R""""(
249
- <p>{description}</p>
250
- <h3>From Github (preferred)</h3>
251
- List also pre-releases<br><input type='checkbox' id='preReleases' onchange='selectFirmware()'>
252
- Ignore TLS Errors (see documentation)<br><input type='checkbox' id='ignoreSSL' onchange='selectFirmware()'>
253
- <script>
254
- let availableReleases;
255
- async function updateFirmwareList() {
256
- (await fetch('{releaseApiUrl}')).json().then(res => {
257
- availableReleases = res;
258
- selectFirmware();
259
- })
260
- }
261
- function selectFirmware() {
262
- const displayPreReleases = (document.getElementById('preReleases').checked == true);
263
- const ignoreSSL = (document.getElementById('ignoreSSL').checked == true);
264
- url = "";
265
- version = "";
266
- availableReleases.filter(r => displayPreReleases || !r.prerelease).forEach(release => {
267
- release.assets.filter(asset => asset.name.endsWith(".bin")).forEach(
268
- asset => {
269
- if (!url) {
270
- version = release.name;
271
- url = asset.browser_download_url;
272
- }
273
- }
274
- )
275
- }
276
- )
277
- if (url) {
278
- document.getElementById('version').value = "Update to " + version;
279
- document.getElementById('version').disabled = false;
280
- document.getElementById('downloadUrl').value = url;
281
- document.getElementById('directlink').href = url;
282
- } else {
283
- document.getElementById('version').value = "No version found";
284
- document.getElementById('version').disabled = true;
285
- document.getElementById('downloadUrl').value = "";
286
- document.getElementById('directlink').href = "";
287
- }
288
- if (ignoreSSL) {
289
- document.getElementById('unsafe').value = "1";
290
- } else {
291
- document.getElementById('unsafe').value = "0";
292
- }
293
- }
294
- updateFirmwareList();
295
- </script>
296
- <input type='hidden' name='downloadUrl' id='downloadUrl' value=''/>
297
- <input type='hidden' name='unsafe' id='unsafe' value='0'/>
298
- <input type='submit' name='version' id='version' class=btn value='Update' />
299
- If the upgrade via the button above does not work<br/><a id="directlink" href="">download firmware.bin</a><br/> and upload manually below.
300
- <h3>File Upload</h3>
301
- )"""" ;
248
+ static const char * const updateSdIndex =
249
+ " <p>{description}</p>\n "
250
+ " <h3>From Github (preferred)</h3>\n "
251
+ " List also pre-releases<br><input type='checkbox' id='preReleases' onchange='selectFirmware()'>\n "
252
+ " Ignore TLS Errors (see documentation)<br><input type='checkbox' id='ignoreSSL' onchange='selectFirmware()'>\n "
253
+ " <script>\n "
254
+ " let availableReleases;\n "
255
+ " async function updateFirmwareList() {\n "
256
+ " (await fetch('{releaseApiUrl}')).json().then(res => {\n "
257
+ " availableReleases = res;\n "
258
+ " selectFirmware();\n "
259
+ " })\n "
260
+ " }\n "
261
+ " function selectFirmware() {\n "
262
+ " const displayPreReleases = (document.getElementById('preReleases').checked == true);\n "
263
+ " const ignoreSSL = (document.getElementById('ignoreSSL').checked == true);\n "
264
+ " url = \"\" ;\n "
265
+ " version = \"\" ;\n "
266
+ " availableReleases.filter(r => displayPreReleases || !r.prerelease).forEach(release => {\n "
267
+ " release.assets.filter(asset => asset.name.endsWith(\" flash.bin\" ) "
268
+ #ifdef OBSCLASSIC
269
+ " || asset.name.endsWith(\" firmware.bin\" ) "
270
+ #else
271
+ " || asset.name.endsWith(\" firmware-obspro.bin\" ) "
272
+ #endif
273
+ " ).forEach(\n "
274
+ " release.assets.filter(asset => asset.name.endsWith(\" flash.bin\" ) asset.name.endsWith(\" firmware.bin\" )).forEach(\n "
275
+ " asset => {\n "
276
+ " if (!url) {\n "
277
+ " version = release.name;\n "
278
+ " url = asset.browser_download_url;\n "
279
+ " }\n "
280
+ " }\n "
281
+ " )\n "
282
+ " }\n "
283
+ " )\n "
284
+ " if (url) {\n "
285
+ " document.getElementById('version').value = \" Update to \" + version;\n "
286
+ " document.getElementById('version').disabled = false;\n "
287
+ " document.getElementById('downloadUrl').value = url;\n "
288
+ " document.getElementById('directlink').href = url;\n "
289
+ " } else {\n "
290
+ " document.getElementById('version').value = \" No version found\" ;\n "
291
+ " document.getElementById('version').disabled = true;\n "
292
+ " document.getElementById('downloadUrl').value = \"\" ;\n "
293
+ " document.getElementById('directlink').href = \"\" ;\n "
294
+ " }\n "
295
+ " if (ignoreSSL) {\n "
296
+ " document.getElementById('unsafe').value = \" 1\" ;\n "
297
+ " } else {\n "
298
+ " document.getElementById('unsafe').value = \" 0\" ;\n "
299
+ " }\n "
300
+ " }\n "
301
+ " updateFirmwareList();\n "
302
+ " </script>\n "
303
+ " <input type='hidden' name='downloadUrl' id='downloadUrl' value=''/>\n "
304
+ " <input type='hidden' name='unsafe' id='unsafe' value='0'/>\n "
305
+ " <input type='submit' name='version' id='version' class=btn value='Update' />\n "
306
+ " If the upgrade via the button above does not work<br/><a id=\" directlink\" href=\"\" >download firmware.bin</a><br/> and upload manually below.\n "
307
+ " <h3>File Upload</h3>" ;
302
308
303
309
// #########################################
304
310
// Config
0 commit comments