diff --git a/viewer/index.html b/viewer/index.html
index cba252b..db41fe7 100644
--- a/viewer/index.html
+++ b/viewer/index.html
@@ -756,8 +756,10 @@ async function loadDate(date) {
const knownMissions = dateEntry && dateEntry.missions && dateEntry.missions.length
? dateEntry.missions
: null;
+ // BUG3b FIX: API data-dates uses #71-golrest but /api/missions uses _71-golrest — normalize for compare
+ const normalize = id => (id || '').replace(/^[#_]/, '').toLowerCase();
const missionsToFetch = knownMissions
- ? missions.filter(m => knownMissions.includes(m.id) || knownMissions.some(km => m.id.includes(km) || km.includes(m.id)))
+ ? missions.filter(m => knownMissions.some(km => normalize(m.id) === normalize(km)))
: missions;
const fetches = (missionsToFetch.length > 0 ? missionsToFetch : missions).map(async mission => {
@@ -1228,6 +1230,7 @@ async function loadSortieData(sortieId) {
const usvData = await usvResp.json();
renderUSV(usvData.signals);
showNoDataOverlay(false); // BUG2 FIX: hide overlay when data loaded
+ switchTab('usv'); // BUG1c FIX: auto-switch to USV tab where charts are rendered
}
prog.textContent = 'Chargement AUV…';
await loadAuvTabs(sortieId);