release: v2.12.0 - ISS SSTV decoder, update notifications, UI improvements

- Add ISS SSTV decoder mode with real-time tracking globe
- Add GitHub update notifications for new releases
- Enhance Meshtastic with QR codes and telemetry display
- Add new Space category for satellite modes
- Fix SoapySDR detection, dump1090 builds, and Flask compatibility
- Update version numbers and changelog

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Smittix
2026-01-29 22:45:28 +00:00
parent d28d371caf
commit 3a6bd3711e
8 changed files with 550 additions and 49 deletions

View File

@@ -1783,20 +1783,58 @@
</div>
</div>
<!-- ISS Tracking Map -->
<div class="sstv-map-row">
<div class="sstv-map-container">
<div id="sstvIssMap" class="sstv-iss-map"></div>
<div class="sstv-map-overlay">
<div class="sstv-map-info">
<span class="sstv-map-label">ISS</span>
<span class="sstv-map-coords"><span id="sstvIssLat">--.-</span>°, <span id="sstvIssLon">--.-</span>°</span>
<span class="sstv-map-alt">Alt: <span id="sstvIssAlt">---</span> km</span>
<!-- ISS Tracking Map + Countdown Row -->
<div class="sstv-top-row">
<!-- ISS Map -->
<div class="sstv-map-row">
<div class="sstv-map-container">
<div id="sstvIssMap" class="sstv-iss-map"></div>
<div class="sstv-map-overlay">
<div class="sstv-map-info">
<span class="sstv-map-label">ISS</span>
<span class="sstv-map-coords"><span id="sstvIssLat">--.-</span>°, <span id="sstvIssLon">--.-</span>°</span>
<span class="sstv-map-alt">Alt: <span id="sstvIssAlt">---</span> km</span>
</div>
</div>
<div class="sstv-pass-info">
<span class="sstv-pass-label">Next Pass:</span>
<span class="sstv-pass-value" id="sstvNextPass">Loading...</span>
</div>
</div>
<!-- Next Pass Countdown Panel -->
<div class="sstv-countdown-panel">
<div class="sstv-countdown-header">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width: 16px; height: 16px;">
<circle cx="12" cy="12" r="10"/>
<polyline points="12 6 12 12 16 14"/>
</svg>
<span>Next Pass</span>
</div>
<div class="sstv-countdown-body">
<div class="sstv-countdown-timer" id="sstvCountdownTimer">
<span class="sstv-countdown-value" id="sstvCountdownValue">--:--:--</span>
<span class="sstv-countdown-label" id="sstvCountdownLabel">Set location</span>
</div>
<div class="sstv-countdown-details">
<div class="sstv-countdown-detail">
<span class="sstv-detail-label">Start</span>
<span class="sstv-detail-value" id="sstvPassStart">--:--</span>
</div>
<div class="sstv-countdown-detail">
<span class="sstv-detail-label">Max El</span>
<span class="sstv-detail-value" id="sstvPassMaxEl">--°</span>
</div>
<div class="sstv-countdown-detail">
<span class="sstv-detail-label">Duration</span>
<span class="sstv-detail-value" id="sstvPassDuration">-- min</span>
</div>
<div class="sstv-countdown-detail">
<span class="sstv-detail-label">Direction</span>
<span class="sstv-detail-value" id="sstvPassDirection">--</span>
</div>
</div>
</div>
<div class="sstv-countdown-status" id="sstvCountdownStatus">
<span class="sstv-status-dot"></span>
<span>Waiting for pass data...</span>
</div>
</div>
</div>