Skip to content

Commit fd26fac

Browse files
github-actions[bot]makepkg
authored andcommitted
firmware: update binaries for v2.1.0
1 parent 395da1b commit fd26fac

3 files changed

Lines changed: 20 additions & 58 deletions

File tree

154 KB
Binary file not shown.

website/public/firmware/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "SecureGen",
3-
"version": "v2.0.0",
3+
"version": "v2.1.0",
44
"new_install_prompt_erase": true,
55
"builds": [
66
{

website/src/pages/flash.astro

Lines changed: 19 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,6 @@ import Layout from '../layouts/Layout.astro';
3030

3131
<div class="divider"></div>
3232

33-
<label class="select-label" data-i18n="label.version">Firmware Version</label>
34-
<select id="version-select" class="select-input">
35-
<option disabled selected>Loading versions...</option>
36-
</select>
3733
<p id="version-info" class="select-description"></p>
3834

3935
<div class="divider"></div>
@@ -408,7 +404,7 @@ import Layout from '../layouts/Layout.astro';
408404
let selectedVersion = 'latest';
409405

410406
async function init() {
411-
await Promise.all([loadBoards(), loadReleases()]);
407+
await Promise.all([loadBoards(), loadLatestRelease()]);
412408
setupEventListeners();
413409
updateManifest();
414410
}
@@ -439,40 +435,16 @@ import Layout from '../layouts/Layout.astro';
439435
}
440436
}
441437

442-
async function loadReleases() {
438+
async function loadLatestRelease() {
443439
try {
444-
const response = await fetch(`https://api.github.com/repos/${REPO}/releases`);
445-
if (!response.ok) throw new Error('Failed to fetch releases');
446-
447-
releases = await response.json();
440+
const response = await fetch(`https://api.github.com/repos/${REPO}/releases/latest`);
441+
if (!response.ok) throw new Error('Failed to fetch latest release');
448442

449-
const versionSelect = document.getElementById('version-select');
450-
if (versionSelect && releases.length > 0) {
451-
const latestRelease = releases[0];
452-
const options = [
453-
`<option value="latest">Latest (${latestRelease.tag_name})</option>`
454-
];
455-
456-
releases.forEach(release => {
457-
const date = new Date(release.published_at);
458-
const formattedDate = date.toLocaleDateString('en-US', {
459-
day: 'numeric',
460-
month: 'short',
461-
year: 'numeric'
462-
});
463-
const label = `${release.tag_name} · ${formattedDate}${release.name ? ' · ' + release.name : ''}`;
464-
options.push(`<option value="${release.tag_name}">${label}</option>`);
465-
});
466-
467-
versionSelect.innerHTML = options.join('');
468-
updateVersionInfo();
469-
}
443+
const release = await response.json();
444+
releases = [release];
445+
updateVersionInfo();
470446
} catch (err) {
471-
console.error('Failed to load releases:', err);
472-
const versionSelect = document.getElementById('version-select');
473-
if (versionSelect) {
474-
versionSelect.innerHTML = '<option disabled>Failed to load versions</option>';
475-
}
447+
console.error('Failed to load latest release:', err);
476448
}
477449
}
478450

@@ -487,50 +459,40 @@ import Layout from '../layouts/Layout.astro';
487459
const versionInfo = document.getElementById('version-info');
488460
if (!versionInfo || releases.length === 0) return;
489461

490-
const release = selectedVersion === 'latest'
491-
? releases[0]
492-
: releases.find(r => r.tag_name === selectedVersion);
462+
const release = releases[0];
493463

494464
if (release) {
495465
const date = new Date(release.published_at);
496-
const formattedDate = date.toLocaleDateString('en-US', {
497-
day: 'numeric',
498-
month: 'short',
499-
year: 'numeric'
466+
const formattedDate = date.toLocaleDateString('en-US', {
467+
day: 'numeric',
468+
month: 'short',
469+
year: 'numeric'
500470
});
501471

502-
versionInfo.innerHTML = `
503-
Released ${formattedDate} ·
504-
<a href="https://github.com/${REPO}/releases/tag/${release.tag_name}" target="_blank" rel="noopener noreferrer">
505-
Release notes →
506-
</a>
507-
`;
472+
versionInfo.innerHTML = `${release.tag_name} · Released ${formattedDate} · <a href="https://github.com/${REPO}/releases/tag/${release.tag_name}" target="_blank" rel="noopener noreferrer">Release notes →</a>`;
508473
}
509474
}
510475

476+
// 🔧 RELEASE CHECKLIST: When releasing a new version, manifest.json
477+
// is updated automatically by the GitHub Actions workflow.
478+
// The cache-bust version below is set dynamically from the latest release tag.
511479
function updateManifest() {
512480
const flashButton = document.getElementById('flash-button');
513481
if (flashButton) {
514-
flashButton.setAttribute('manifest', '/SecureGen/firmware/manifest.json');
482+
const tag = releases[0]?.tag_name || 'latest';
483+
flashButton.setAttribute('manifest', `/SecureGen/firmware/manifest.json?v=${tag}`);
515484
}
516485
}
517486

518487
function setupEventListeners() {
519488
const boardSelect = document.getElementById('board-select');
520-
const versionSelect = document.getElementById('version-select');
521489

522490
boardSelect?.addEventListener('change', (e) => {
523491
const boardId = (e.target as HTMLSelectElement).value;
524492
selectedBoard = boards.find(b => b.id === boardId) || null;
525493
updateBoardDescription();
526494
updateManifest();
527495
});
528-
529-
versionSelect?.addEventListener('change', (e) => {
530-
selectedVersion = (e.target as HTMLSelectElement).value;
531-
updateVersionInfo();
532-
updateManifest();
533-
});
534496

535497
// Setup copy buttons
536498
document.querySelectorAll('.btn-copy').forEach(btn => {

0 commit comments

Comments
 (0)