mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-09-11 06:14:29 +00:00
fix(career): specific-tuning interstitial guard + 404-revert re-render (Toby F1/F2/F3)
F1 (HIGH): onGigSongLoading used `pref !== 'specific'` but production pref
is always 'specific:<name>' not bare 'specific' — guard was always true,
interstitial fired even when every gig song shared one tuning.
Fix: !pref.startsWith('specific:')
F2 (MEDIUM): JS test for specific-exemption used bare 'specific' (impossible
in production), giving false confidence. Updated to 'specific:E Standard',
which is the real production shape and correctly exercises the fixed guard.
F3 (MEDIUM): On 404-revert (_ppGigTuningPref → 'any'), poster was not
re-rendered so the stale pill from the previous successful booking stayed
highlighted while internal pref was already 'any'.
Fix: re-render overlay with gigPosterHTML(_ppGigProposal) before returning.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01H2bM5jSbMskpdxm2CmuQVj
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
2a455702b8
commit
c46b6484bf
@@ -1135,9 +1135,13 @@
|
||||
});
|
||||
if (!res.ok) {
|
||||
const err = await res.json().catch(() => ({}));
|
||||
// Tuning filter yielded no songs → revert to 'any' and notify
|
||||
// Tuning filter yielded no songs → revert to 'any', re-render poster, notify
|
||||
_ppGigTuningPref = 'any';
|
||||
lsSet(PP_TUNING_PREF_KEY, 'any');
|
||||
if (_ppGigProposal) {
|
||||
const overlay = $('pp-overlay');
|
||||
if (overlay) overlay.innerHTML = gigPosterHTML(_ppGigProposal);
|
||||
}
|
||||
if (window.fbNotify && typeof window.fbNotify.show === 'function') {
|
||||
try { window.fbNotify.show({ title: 'Tuning filter', message: (err && err.detail) || 'No songs match that tuning filter.', icon: '🎸' }); } catch (_) { /* */ }
|
||||
}
|
||||
@@ -1466,7 +1470,7 @@
|
||||
// Interstitial: pause before first song (or when tuning changes) for all
|
||||
// non-specific prefs, so the player has time to retune. "specific" is
|
||||
// excluded because every song already matches one fixed tuning.
|
||||
const needsInterstitial = pref !== 'specific' && (
|
||||
const needsInterstitial = !pref.startsWith('specific:') && (
|
||||
run.idx === 0 || tuningName !== _ppGigLastTuning
|
||||
);
|
||||
_ppGigLastTuning = tuningName;
|
||||
|
||||
Reference in New Issue
Block a user