From ebe0bf9431366edb4e7f39ab18d2c7194bf560c7 Mon Sep 17 00:00:00 2001 From: James Smith Date: Tue, 30 Dec 2025 15:26:23 +0000 Subject: [PATCH] Fix orbit track to use selected pass's satellite, not dropdown MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bug: Both files were fetching orbit data for the dropdown-selected satellite instead of the satellite from the selected pass. Fixes: - satellite_dashboard.html: updateRealTimePositions() now uses passes[selectedPass].satellite instead of selectedSatellite - index.html: updateRealTimePosition() now ensures the selected pass's satellite is included in the position request, and added includeTrack: true to get orbit data 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- templates/index.html | 12 ++++++++++-- templates/satellite_dashboard.html | 14 ++++++++++++-- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/templates/index.html b/templates/index.html index 4783a21..f90fbb1 100644 --- a/templates/index.html +++ b/templates/index.html @@ -8437,7 +8437,15 @@ } function updateRealTimePosition() { - const satellites = getSelectedSatellites(); + let satellites = getSelectedSatellites(); + + // Ensure selected pass's satellite is included in the request + if (selectedPass && selectedPass.satellite) { + if (!satellites.includes(selectedPass.satellite)) { + satellites = [selectedPass.satellite, ...satellites]; + } + } + if (satellites.length === 0) return; const lat = parseFloat(document.getElementById('obsLat').value); @@ -8446,7 +8454,7 @@ fetch('/satellite/position', { method: 'POST', headers: { 'Content-Type': 'application/json' }, - body: JSON.stringify({ lat, lon, satellites }) + body: JSON.stringify({ lat, lon, satellites, includeTrack: true }) }) .then(r => r.json()) .then(data => { diff --git a/templates/satellite_dashboard.html b/templates/satellite_dashboard.html index 55007a8..c516409 100644 --- a/templates/satellite_dashboard.html +++ b/templates/satellite_dashboard.html @@ -1344,7 +1344,17 @@ async function updateRealTimePositions() { const lat = parseFloat(document.getElementById('obsLat').value); const lon = parseFloat(document.getElementById('obsLon').value); - const satColor = satellites[selectedSatellite]?.color || '#00d4ff'; + + // Use satellite from selected pass, or fall back to dropdown selection + let targetSatellite = selectedSatellite; + let satColor = satellites[selectedSatellite]?.color || '#00d4ff'; + + if (selectedPass !== null && passes[selectedPass]) { + const pass = passes[selectedPass]; + // Use the satellite name from the pass (backend accepts names or NORAD IDs) + targetSatellite = pass.satellite; + satColor = pass.color || satColor; + } try { const response = await fetch('/satellite/position', { @@ -1353,7 +1363,7 @@ body: JSON.stringify({ latitude: lat, longitude: lon, - satellites: [selectedSatellite], + satellites: [targetSatellite], includeTrack: true }) });