fix: use full timestamp as cache key in timezone conversion function

Co-authored-by: aider (gemini/gemini-3.1-pro-preview) <aider@aider.chat>
This commit is contained in:
Tanner
2026-08-25 23:21:45 +00:00
co-authored by aider
parent d049704e6e
commit 242e3148c7
+16 -28
View File
@@ -58,29 +58,18 @@ function useSensor(measurement, name, end, duration) {
const memoConvertTZ = (isDST, timeStr, format) => {
if (!timeStr) return '?';
let lookUp, result = null;
const date = timeStr.slice(5, 10);
const hours = timeStr.slice(11, 13);
const minutes = timeStr.slice(14, 16);
if (format === 'HH') {
lookUp = [isDST, hours, format];
} else {
lookUp = [isDST, date, format];
}
const lookUp = timeStr + format;
if (tzcache[lookUp] != undefined ) {
result = tzcache[lookUp];
} else {
result = moment(timeStr).tz('America/Edmonton').format(format);
tzcache[lookUp] = result;
return tzcache[lookUp];
}
let result = moment(timeStr).tz('America/Edmonton').format(format);
if (format === 'HH') {
return result + ':' + minutes;
} else {
return result;
const minutes = timeStr.slice(14, 16);
result = result + ':' + minutes;
}
tzcache[lookUp] = result;
return result;
};
const isDST = end.tz('America/Edmonton').isDST();
@@ -721,16 +710,15 @@ function MultiLineChart({title, measurement, dataKey, sensors, colors, end, dura
const memoConvertTZ = (isDST, timeStr, format) => {
if (!timeStr) return '?';
let lookUp, result = null;
const date = timeStr.slice(5, 10);
const hours = timeStr.slice(11, 13);
const minutes = timeStr.slice(14, 16);
if (format === 'HH') { lookUp = [isDST, hours, format]; }
else { lookUp = [isDST, date, format]; }
if (tzcache[lookUp] != undefined ) { result = tzcache[lookUp]; }
else { result = moment(timeStr).tz('America/Edmonton').format(format); tzcache[lookUp] = result; }
if (format === 'HH') { return result + ':' + minutes; }
else { return result; }
const lookUp = timeStr + format;
if (tzcache[lookUp] != undefined ) { return tzcache[lookUp]; }
let result = moment(timeStr).tz('America/Edmonton').format(format);
if (format === 'HH') {
const minutes = timeStr.slice(14, 16);
result = result + ':' + minutes;
}
tzcache[lookUp] = result;
return result;
};
const isDST = end.tz('America/Edmonton').isDST();