Detects when user changes same config setting 3+ times within 24 hours. Shows non-intrusive prompt offering help with guided calibration flow. Guided calibration features: - Test for false positives (walk around room) - Test for missed motion (sit still) - Suggest optimal value based on diurnal baseline SNR and link health - Apply suggested value button Files: - dashboard/js/proactive.js: Complete implementation with localStorage tracking Acceptance: - Help prompt fires after 3+ changes in 24h - Calibration flow tests both directions - Suggests value based on system data - Apply button works
21 lines
505 B
JavaScript
21 lines
505 B
JavaScript
'use strict';
|
|
|
|
const detectNewline = string => {
|
|
if (typeof string !== 'string') {
|
|
throw new TypeError('Expected a string');
|
|
}
|
|
|
|
const newlines = string.match(/(?:\r?\n)/g) || [];
|
|
|
|
if (newlines.length === 0) {
|
|
return;
|
|
}
|
|
|
|
const crlf = newlines.filter(newline => newline === '\r\n').length;
|
|
const lf = newlines.length - crlf;
|
|
|
|
return crlf > lf ? '\r\n' : '\n';
|
|
};
|
|
|
|
module.exports = detectNewline;
|
|
module.exports.graceful = string => (typeof string === 'string' && detectNewline(string)) || '\n';
|