diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5643f52..509b57f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -87,6 +87,11 @@ jobs: done ls -la dist + - name: Web-flasher metadata (version.json + manifests, roll with release) + env: + TAG: ${{ steps.v.outputs.tag }} + run: python3 scripts/build/gen-flasher-meta.py "$TAG" dist "release-notes/$TAG.txt" + - name: Create / update the GitHub Release env: GH_TOKEN: ${{ github.token }} @@ -117,6 +122,7 @@ jobs: scp -i ~/.ssh/id_deploy "dist/$n.bin" "dist/$n-merged.bin" "$VPS:$REL/" scp -i ~/.ssh/id_deploy "dist/$n-merged.bin" "dist/$n.bin" "$VPS:$VPS_PATH/latest/" done + scp -i ~/.ssh/id_deploy dist/version.json dist/manifest-tdeck.json dist/manifest-heltec-v4-tft.json "$VPS:$VPS_PATH/latest/" $SSH "$VPS" "cd '$VPS_PATH/releases/TOUCH' && python3 -c \"import os,json; b=sorted(d for d in os.listdir('.') if d.startswith('beta_') and os.path.isdir(d)); open('index.json','w').write(json.dumps([{'name':x,'type':'dir'} for x in b], indent=2))\"" rm -f ~/.ssh/id_deploy echo "Published $TAG to wadamesh.com" diff --git a/deploy/site/index.html b/deploy/site/index.html index 500ae57..5ab2a82 100644 --- a/deploy/site/index.html +++ b/deploy/site/index.html @@ -245,6 +245,10 @@
Plug the device in over USB and flash it right here. Works in Chrome or Edge on desktop.
+Plug your T-Deck or Heltec V4 into your computer with a data cable.
Hit Install below, choose the serial port, and let it flash. It does a clean full install.
ESP32-S3 with CHSC6x touch.
-ESP32-S3 keyboard handheld.
-T-Deck not detected? Hold the trackball while tapping reset to force download mode.
@@ -379,6 +383,22 @@ We use no tracking, analytics, or advertising cookies. Our CDN and security prov try { if (!localStorage.getItem('wm-cookie-ack')) cbar.classList.add('show'); } catch(_) {} document.getElementById('cookieok').addEventListener('click', () => { cbar.classList.remove('show'); try { localStorage.setItem('wm-cookie-ack','1'); } catch(_) {} }); + // Live release version + "what's new" — read from the firmware host so the + // flasher always reflects the current build (the release pipeline updates + // version.json; no site redeploy needed per release). + fetch('https://firmware.wadamesh.com/latest/version.json', {cache:'no-store'}) + .then(r => r.ok ? r.json() : null) + .then(v => { + if (!v || !v.tag) return; + document.querySelectorAll('[data-wn-tag]').forEach(e => e.textContent = v.tag); + const notes = Array.isArray(v.notes) ? v.notes : []; + document.querySelectorAll('[data-wn-notes]').forEach(ul => { + ul.innerHTML = ''; + notes.forEach(n => { const li = document.createElement('li'); li.textContent = n; ul.appendChild(li); }); + }); + if (notes.length) document.querySelectorAll('[data-whatsnew]').forEach(b => b.hidden = false); + }).catch(()=>{}); +