fix(slm): don't blank L1/L10 on percentile-less live-stream frames
The DRD stream carries Lp/Leq/Lmax but not the Ln percentiles (those come from DOD polling), so updateLiveMetrics/updateDashboardMetrics were overwriting the DOD-sourced L1/L10 values with '--' on every stream frame. Guard the value updates on `data.lnN != null` so a frame without the key leaves the existing value intact — mirrors the existing label guards. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -570,14 +570,17 @@ function updateLiveMetrics(data) {
|
|||||||
if (document.getElementById('live-lmax')) {
|
if (document.getElementById('live-lmax')) {
|
||||||
document.getElementById('live-lmax').textContent = data.lmax || '--';
|
document.getElementById('live-lmax').textContent = data.lmax || '--';
|
||||||
}
|
}
|
||||||
if (document.getElementById('live-ln1')) {
|
// Only update Ln values when the frame actually carries them. DRD stream
|
||||||
document.getElementById('live-ln1').textContent = data.ln1 || '--';
|
// frames omit percentiles (DOD-only), so without this guard a live stream
|
||||||
|
// would blank L1/L10 over the values rendered from the cached DOD snapshot.
|
||||||
|
if (data.ln1 != null && document.getElementById('live-ln1')) {
|
||||||
|
document.getElementById('live-ln1').textContent = data.ln1;
|
||||||
}
|
}
|
||||||
if (data.ln1_label && document.getElementById('live-ln1-label')) {
|
if (data.ln1_label && document.getElementById('live-ln1-label')) {
|
||||||
document.getElementById('live-ln1-label').textContent = data.ln1_label;
|
document.getElementById('live-ln1-label').textContent = data.ln1_label;
|
||||||
}
|
}
|
||||||
if (document.getElementById('live-ln2')) {
|
if (data.ln2 != null && document.getElementById('live-ln2')) {
|
||||||
document.getElementById('live-ln2').textContent = data.ln2 || '--';
|
document.getElementById('live-ln2').textContent = data.ln2;
|
||||||
}
|
}
|
||||||
if (data.ln2_label && document.getElementById('live-ln2-label')) {
|
if (data.ln2_label && document.getElementById('live-ln2-label')) {
|
||||||
document.getElementById('live-ln2-label').textContent = data.ln2_label;
|
document.getElementById('live-ln2-label').textContent = data.ln2_label;
|
||||||
|
|||||||
@@ -322,8 +322,10 @@ function updateDashboardMetrics(data) {
|
|||||||
document.getElementById('chart-lp').textContent = data.lp || '--';
|
document.getElementById('chart-lp').textContent = data.lp || '--';
|
||||||
document.getElementById('chart-leq').textContent = data.leq || '--';
|
document.getElementById('chart-leq').textContent = data.leq || '--';
|
||||||
document.getElementById('chart-lmax').textContent = data.lmax || '--';
|
document.getElementById('chart-lmax').textContent = data.lmax || '--';
|
||||||
document.getElementById('chart-ln1').textContent = data.ln1 || '--';
|
// Guard: DRD stream frames omit percentiles, so only overwrite when present
|
||||||
document.getElementById('chart-ln2').textContent = data.ln2 || '--';
|
// (else the live stream blanks L1/L10 over the cached DOD snapshot values).
|
||||||
|
if (data.ln1 != null) document.getElementById('chart-ln1').textContent = data.ln1;
|
||||||
|
if (data.ln2 != null) document.getElementById('chart-ln2').textContent = data.ln2;
|
||||||
if (data.ln1_label) document.getElementById('chart-ln1-label').textContent = data.ln1_label;
|
if (data.ln1_label) document.getElementById('chart-ln1-label').textContent = data.ln1_label;
|
||||||
if (data.ln2_label) document.getElementById('chart-ln2-label').textContent = data.ln2_label;
|
if (data.ln2_label) document.getElementById('chart-ln2-label').textContent = data.ln2_label;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user